/* Motion is progressive: content remains visible without JavaScript. */
:root{--ease-flow:cubic-bezier(.22,1,.36,1)}
body{padding-top:88px}.site-header{position:fixed;inset:0 0 auto;height:88px;transition:height .4s var(--ease-flow),background .4s,box-shadow .4s,border-color .4s;isolation:isolate}.site-header.is-scrolled{height:72px;background:#071522f5;box-shadow:0 5px 25px #03121a18;border-bottom-color:#ffffff14}.header-inner{transition:padding .4s var(--ease-flow)}.site-header .logo{transition:transform .4s var(--ease-flow)}.site-header.is-scrolled .logo{transform:scale(.96);transform-origin:left center}.main-nav a{position:relative;padding:8px 0;transition:color .25s}.main-nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-flow)}.main-nav a:hover:after,.main-nav a[aria-current]:after{transform:scaleX(1)}.button,.header-cta{transition:transform .3s var(--ease-flow),background .25s,box-shadow .3s}.button:hover,.header-cta:hover{transform:translateY(-3px);box-shadow:0 8px 25px #06292818}.button:active,.header-cta:active{transform:translateY(0);box-shadow:none}.button>span,.text-link>span,.header-cta>span{transition:transform .35s var(--ease-flow)}.button:hover>span,.text-link:hover>span,.header-cta:hover>span{transform:translate(3px,-3px)}.hero-content>.eyebrow{animation:hero-enter .85s var(--ease-flow) both}.hero-content>h1{animation:hero-enter 1s .1s var(--ease-flow) both}.hero-content>h2{animation:hero-enter 1s .2s var(--ease-flow) both}.hero-description{animation:hero-enter 1s .28s var(--ease-flow) both}.hero-buttons{animation:hero-enter 1s .36s var(--ease-flow) both}.hero-bottom{animation:fade-enter 1s .65s both}.hero-photo{animation:hero-photo-enter 1.7s var(--ease-flow) both}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-flow) var(--reveal-delay,0ms),transform .8s var(--ease-flow) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}.platform-image.reveal{transform:translate(35px,12px)}.platform-image.reveal.is-visible{transform:translate(0,0)}.scenario-tab strong,.scenario-tab .icon,.tab-plus{transition:color .3s,transform .4s var(--ease-flow)}.scenario-tab:hover .tab-icon{transform:translateX(3px)}.tab-icon{transition:transform .3s var(--ease-flow)}.flow-illustration{transition:background-color .65s}.fountain-art{transform-origin:center bottom;transition:opacity .6s}.fountain-art i{transition:height .7s var(--ease-flow),transform .7s var(--ease-flow),background .6s}.rule-panel[data-state="0"] .fountain-art i:first-child,.rule-panel[data-state="0"] .fountain-art i:nth-child(7){height:48%}.rule-panel[data-state="1"] .fountain-art i{height:35%}.rule-panel[data-state="2"] .fountain-art i{height:90%}.resource-lines>i{transform-origin:bottom;transition:background .3s;animation:bar-enter .8s var(--ease-flow) both}.resource-item:hover .resource-lines>i{background:#52bda9}.project-open{transition:background .3s,transform .4s var(--ease-flow)}.project:hover .project-open{background:var(--teal);transform:rotate(45deg)}.project:hover .project-open>span{transform:rotate(-45deg);display:block}.project-photo>img{transition:transform .9s var(--ease-flow),filter .5s}.project:hover .project-photo>img{transform:scale(1.045);filter:saturate(1.08)}.protocols>span{transition:color .3s,transform .35s var(--ease-flow)}.protocols:hover>span{color:#297d75}.protocols:hover>span:last-child{transform:translate(4px,-4px)}.language[open]>div{animation:dropdown-enter .25s var(--ease-flow) both}.language summary>span{transition:transform .25s}.language[open] summary>span{transform:rotate(180deg)}.language a{transition:background .2s,color .2s}.language a:hover{background:#ffffff08}.faq summary>span{transition:transform .3s var(--ease-flow)}.contact-form input,.contact-form textarea{transition:border-color .3s,background .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:#119c8b;background:#ffffff4a}.success,.error{animation:hero-enter .4s var(--ease-flow)}.menu-toggle span{transition:transform .35s var(--ease-flow)}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero-bottom>a>span{transition:border-color .3s,transform .3s}.hero-bottom>a:hover>span{transform:translateY(3px);border-color:var(--teal)}
@keyframes hero-enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-enter{from{opacity:0}to{opacity:1}}@keyframes hero-photo-enter{from{opacity:.55;transform:scale(1.045)}to{opacity:.92;transform:scale(1)}}@keyframes dropdown-enter{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-enter{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .2s ease both}::view-transition-new(root){animation:page-in .4s var(--ease-flow) both}.site-header{view-transition-name:site-header}::view-transition-group(site-header){animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}@keyframes page-out{to{opacity:0;transform:translateY(-5px)}}@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){body{padding-top:76px}.site-header{height:76px}.site-header.is-scrolled{height:66px}.main-nav{display:flex;position:absolute;top:100%;left:0;right:0;background:#071522;padding:22px 5%;flex-direction:column;align-items:flex-start;gap:18px;border-top:1px solid #ffffff18;opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none;transition:opacity .3s,transform .4s var(--ease-flow),visibility .3s}.menu-open .main-nav{top:100%;opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.main-nav a{font-size:17px;transform:translateY(-6px);transition:transform .4s var(--ease-flow),color .2s}.menu-open .main-nav a{transform:translateY(0)}.mobile-contact{display:block}.menu-open .main-nav a:nth-child(2){transition-delay:25ms}.menu-open .main-nav a:nth-child(3){transition-delay:50ms}.menu-open .main-nav a:nth-child(4){transition-delay:75ms}.menu-open .main-nav a:nth-child(5){transition-delay:100ms}.menu-open .main-nav a:nth-child(6){transition-delay:125ms}}
@media(max-width:640px){body{padding-top:70px}.site-header{height:70px}.site-header.is-scrolled{height:62px}.hero-photo{animation-name:hero-photo-mobile}.reveal{transform:translateY(18px)}.platform-image.reveal{transform:translateY(18px)}.menu-open .main-nav{top:100%}.hero{max-height:calc(100svh - 70px)}@keyframes hero-photo-mobile{from{opacity:.4;transform:scale(1.04)}to{opacity:.66;transform:scale(1)}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.reveal.is-visible,.platform-image.reveal{opacity:1;transform:none}.site-header.is-scrolled .logo{transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}.hero-photo{opacity:.92}.hero-content>*{opacity:1;transform:none}@media(max-width:640px){.hero-photo{opacity:.66}}}
