/* Progressive interaction layer: content stays readable without JavaScript. */
:root{--motion-ease:cubic-bezier(.2,.75,.25,1);--scroll-progress:0}
.scroll-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,#087f83,#d5ef6b);transform:scaleX(var(--scroll-progress));transform-origin:left;z-index:100;pointer-events:none;box-shadow:0 1px 9px #087f8340}
.site-header{transition:box-shadow .3s,background .3s}.site-header.scrolled{background:#fffefbf5;box-shadow:0 7px 30px #102b4418}.site-header .brand-logo{transition:transform .3s}.brand:hover .brand-logo{transform:scale(1.035)}
.nav-dropdown[open] .mega-panel{animation:menu-enter .25s var(--motion-ease) both}.mobile-nav:not([hidden]){animation:mobile-enter .22s var(--motion-ease) both}.mega-links a{position:relative;overflow:hidden}.mega-links a::before{content:'↗';position:absolute;right:11px;top:12px;font-size:17px;color:var(--teal);opacity:0;transform:translate(-5px,5px);transition:opacity .2s,transform .2s}.mega-links a:hover::before,.mega-links a:focus-visible::before{opacity:1;transform:translate(0,0)}
.hero,.page-hero{isolation:isolate}.hero::before{content:'';position:absolute;left:-110px;bottom:0;width:370px;height:370px;background:radial-gradient(circle,#9ed8c52b,transparent 67%);border-radius:50%;pointer-events:none;animation:ambient-drift 12s ease-in-out infinite alternate;z-index:-1}.hero-copy h1{animation:hero-enter .8s var(--motion-ease) both}.hero-copy .lead{animation:hero-enter .8s .1s var(--motion-ease) both}.hero-copy .button-row{animation:hero-enter .8s .2s var(--motion-ease) both}.hero-photo>img{animation:photo-enter 1.1s var(--motion-ease) both}.photo-pill{animation:float-soft 5s ease-in-out infinite}.pulse{animation:pulse-soft 2.8s ease-out infinite}.page-hero h1,.page-hero .lead{animation:hero-enter .7s var(--motion-ease) both}.page-hero .lead{animation-delay:.1s}.page-hero::after{animation:ambient-drift 15s ease-in-out infinite alternate}
.motion-item.motion-pending{opacity:.015;transform:translateY(25px)}.motion-item.motion-show{animation:section-enter .7s var(--motion-ease) backwards;animation-delay:var(--reveal-delay,0ms)}
.btn{position:relative;overflow:hidden;transition:background .2s,transform .25s,box-shadow .25s,border-color .25s}.btn:active{transform:translateY(0) scale(.97)}.btn::before{content:'';position:absolute;inset:-50% auto -50% -55%;width:28%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,#ffffff35,transparent);pointer-events:none;transition:left .55s}.btn:hover::before,.btn:focus-visible::before{left:125%}.btn>span[aria-hidden]{transition:transform .2s}.btn:hover>span[aria-hidden]{transform:translate(2px,-2px)}.text-link{transition:gap .2s,color .2s}.text-link:hover{gap:13px}
.format-card,.product-card,.info-card,.support-card,.investment-grid article{transition:transform .3s var(--motion-ease),border-color .3s,box-shadow .3s;background-clip:padding-box}.product-card:hover,.info-card:hover,.support-card:hover,.investment-grid article:hover{transform:translateY(-6px);box-shadow:0 17px 34px #102b4410;border-color:#83bfb5}.format-card>img,.product-card>img,.gallery-grid img,.faq-photo{transition:transform .65s var(--motion-ease),filter .4s}.format-card:hover>img,.product-card:hover>img{transform:scale(1.025);filter:saturate(1.06)}.card-body .icon,.amenities .icon,.feature-strip .icon,.investment-grid .icon{transition:transform .3s,color .3s}.product-card:hover .icon,.investment-grid article:hover .icon{transform:translateY(-3px) rotate(-5deg);color:#13a195}.feature-strip>div:hover .icon,.amenities>div:hover .icon{transform:translateY(-3px)}
.age-tabs{position:relative}.age-tabs button{transition:background .25s,color .25s,box-shadow .25s,transform .25s}.age-tabs button[aria-selected=true]{box-shadow:0 6px 18px #087f8320;transform:translateY(-2px)}.age-panel.tab-changing{animation:tab-enter .32s var(--motion-ease) both}.faq-list details[open]>p{animation:tab-enter .25s var(--motion-ease) both}.faq-sign::after{transition:transform .2s}.form-card{transition:box-shadow .3s,border-color .3s}.form-card:focus-within{border-color:#92d0bd;box-shadow:0 0 0 4px #b6e0ce18,0 15px 45px #001a2630}.field input,.field textarea,.field select{transition:border-color .2s,box-shadow .2s,background .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal);background:#fbfefa;box-shadow:0 0 0 3px #087f8310}.email-preview:not([hidden]){animation:section-enter .35s var(--motion-ease) both}
.quick-view{margin-top:12px;display:inline-flex;align-items:center;gap:7px;background:#edf7f2;border:1px solid #cee5d9;color:#0b6470;font-size:11px;font-weight:750;padding:7px 11px;border-radius:6px;transition:background .2s,transform .2s}.quick-view:hover{background:#dff0e8;transform:translateY(-2px)}.image-zoom-trigger{display:block;width:100%;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;position:relative;overflow:hidden}.image-zoom-trigger::after{content:'View larger ↗';position:absolute;bottom:15px;right:15px;font-size:10px;font-weight:750;color:var(--ink);background:#fffffff0;border-radius:25px;padding:7px 12px;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .25s}.image-zoom-trigger:hover::after,.image-zoom-trigger:focus-visible::after{opacity:1;transform:translateY(0)}.image-zoom-trigger:hover img{transform:scale(1.045)}
.interaction-dialog{padding:0;border:1px solid #dae6dd;border-radius:18px;width:min(660px,calc(100vw - 36px));max-height:88dvh;overflow:auto;color:var(--ink);background:#fffdf9;box-shadow:0 25px 100px #00162655}.interaction-dialog::backdrop{background:#092739b8;backdrop-filter:blur(5px)}.interaction-dialog[open]{animation:dialog-enter .27s var(--motion-ease) both}.dialog-body{padding:35px}.dialog-body .eyebrow{font-size:10px}.dialog-body h2{font-size:31px;padding-right:28px;margin-bottom:17px}.dialog-body p{font-size:14px;line-height:1.85}.dialog-body ul{list-style:none;padding:0;margin:22px 0}.dialog-body li{font-size:13px;padding:11px 0 11px 24px;border-bottom:1px solid var(--line);position:relative}.dialog-body li::before{content:'✓';position:absolute;left:0;color:var(--teal)}.dialog-close{position:absolute;right:13px;top:13px;width:33px;height:33px;background:#fff;border:1px solid #dbe4df;border-radius:50%;font-size:23px;line-height:1;z-index:2;display:flex;align-items:center;justify-content:center}.dialog-close:hover{background:#e9f5ef}.dialog-body .btn{margin-top:8px}.image-dialog{width:min(1050px,calc(100vw - 32px));background:#fff}.image-dialog img{max-height:72dvh;object-fit:contain;width:100%;background:#edf4ef}.image-dialog .image-description{padding:18px 23px;font-size:13px;color:var(--muted)}.image-dialog .dialog-close{box-shadow:0 3px 16px #102b4420}.image-dialog .gallery-controls{display:flex;justify-content:space-between;align-items:center;padding:0 22px 18px;gap:15px}.gallery-controls button{border:1px solid #c7ded3;background:#f5faf7;color:var(--ink);border-radius:6px;padding:8px 13px;font-size:12px}.gallery-controls button:hover{background:#e0f1e8}.gallery-controls span{font-size:11px;color:var(--muted)}
.process-section .process-grid li{border-radius:8px;padding:10px;transition:background .25s,transform .25s}.process-section .process-grid li.is-selected{background:#ffffff0e;transform:translateY(-3px)}.step-number{cursor:pointer;transition:background .25s,box-shadow .25s,transform .25s;font-family:inherit}.step-number:hover,.step-number:focus-visible,.step-number[aria-pressed=true]{background:#d5ef6b;color:#102b44;border-color:#d5ef6b;box-shadow:0 0 0 5px #d5ef6b16;transform:scale(1.07)}.process-detail{background:#ffffff0c;border:1px solid #ffffff25;border-radius:10px;padding:23px 27px;margin:24px 0 0;min-height:100px}.process-detail h3{font-size:18px;color:#d5ef6b;margin-bottom:9px}.process-detail p{font-size:13px;color:#d0e2e3;line-height:1.85}.process-detail.is-changing{animation:tab-enter .3s var(--motion-ease)}.process-helper{text-align:center;font-size:11px!important;color:#b9d6d6!important;margin-top:15px!important}
.faq-search{max-width:920px;margin:0 auto 28px;background:#eff8f2;border:1px solid #d8e9df;padding:21px 24px;border-radius:12px}.faq-search label{font-size:12px;font-weight:750;display:block;margin-bottom:9px}.faq-search input{width:100%;background:#fff;border:1px solid #b9d5c7;border-radius:7px;padding:12px 14px;font-size:14px;color:var(--ink)}.faq-search p{font-size:11px;margin-top:8px}.faq-no-results{padding:20px;text-align:center;background:#f5faf7;border-radius:9px;font-size:13px}.back-top{transition:transform .25s,background .25s}.back-top:hover{transform:translateY(-4px);background:#0c5e69}
@keyframes section-enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-enter{from{opacity:.3;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes menu-enter{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}@keyframes mobile-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes tab-enter{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(13px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float-soft{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-soft{0%{box-shadow:0 0 0 0 #087f8320}70%{box-shadow:0 0 0 8px #087f8300}100%{box-shadow:0 0 0 0 #087f8300}}@keyframes ambient-drift{from{transform:translate(0,0)}to{transform:translate(18px,-15px)}}
@media(hover:none){.image-zoom-trigger::after{opacity:1;transform:none;font-size:9px;padding:6px 9px}.format-card:hover,.product-card:hover,.info-card:hover,.support-card:hover,.investment-grid article:hover{transform:none;box-shadow:none}.photo-pill{animation:none}}
@media(max-width:680px){.dialog-body{padding:29px 23px}.dialog-body h2{font-size:26px}.dialog-body p{font-size:13px}.dialog-body li{font-size:12px}.process-section .process-grid li{padding:0 0 25px 59px}.process-section .process-grid li.is-selected{background:transparent;transform:none}.process-detail{padding:20px;margin-top:20px}.process-detail h3{font-size:17px}.faq-search{padding:18px}.faq-search input{font-size:16px}.quick-view{font-size:10px;padding:7px 9px}.image-dialog .image-description{font-size:11px;padding:15px 19px}.image-dialog .gallery-controls{padding-inline:18px}.image-zoom-trigger::after{bottom:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.motion-item.motion-pending{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.process-section .process-grid li.is-selected{transform:none}}
@media print{.motion-item.motion-pending{opacity:1!important;transform:none!important}.scroll-progress,.quick-view,.interaction-dialog{display:none!important}}
