/* V15 — motion art direction: no dependencies; progressively enhanced, WCAG reduced-motion safe */
:root{--motion-ease:cubic-bezier(.18,.72,.19,1)}
body{overflow-x:clip}
.premium-scene{--scene-shift:0px;--scene-scale:1.04;--scene-sweep:-60%;--scene-progress:0;position:relative;isolation:isolate;overflow:hidden;border-block:1px solid #202920;background:#080a07;display:block;padding:0!important;min-height:0;aspect-ratio:3/1}
.scene-image-wrap,.scene-image-wrap picture{position:absolute;inset:0;display:block;overflow:hidden}
.scene-image{width:100%;height:100%;display:block;object-fit:cover;transform:translate3d(0,var(--scene-shift),0) scale(var(--scene-scale));transform-origin:center;backface-visibility:hidden}
.scene-sweep{position:absolute;inset:0;pointer-events:none;background:linear-gradient(95deg, transparent 40%,rgba(234,255,112,.13) 49.7%,rgba(234,255,112,.04) 50.3%,transparent 60%);opacity:.54;transform:translate3d(var(--scene-sweep),0,0);mix-blend-mode:screen}
.premium-scene--sound .scene-sweep{opacity:.38}
.premium-scene--walk .scene-sweep{opacity:.68;background:linear-gradient(95deg,transparent 39%,rgba(234,255,112,.05) 47%,rgba(234,255,112,.19) 50%,rgba(234,255,112,.04) 53%,transparent 61%)}
.scene-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(234,255,112,.17);overflow:hidden}
.scene-progress span{display:block;height:100%;width:100%;background:#eaff70;transform:scaleX(var(--scene-progress));transform-origin:left center}
.scene-mobile-label{display:none}
@media(max-width:640px){
 .premium-scene{aspect-ratio:1.95/1;max-width:100%;overflow:hidden}
 .scene-image{object-position:center}
 .scene-mobile-label{display:flex;position:absolute;left:14px;right:14px;top:12px;justify-content:space-between;gap:8px;color:#eaff70;font:700 8px/1.3 var(--mono);letter-spacing:.10em;pointer-events:none;text-shadow:0 1px 8px #000}
 .scene-mobile-label span:last-child{opacity:.85}
 .scene-sweep{opacity:.28}
}
/* Progressive reveal - default HTML remains visible if JS not running */
@media(prefers-reduced-motion:no-preference){
 html.premium-ready .hero .hero-top{animation:premium-fade .86s .06s var(--motion-ease) both}
 html.premium-ready .hero .hero-subject{animation:premium-title 1.12s .20s cubic-bezier(.11,.79,.17,1) both}
 @keyframes premium-fade{from{opacity:.25;translate:0 15px}to{opacity:1;translate:0 0}}
 @keyframes premium-title{from{opacity:.35;clip-path:inset(0 0 25% 0);translate:0 44px}to{opacity:1;clip-path:inset(0 0 0 0);translate:0 0}}
 html.premium-ready .inter-hero h1{animation:premium-title 1s .07s var(--motion-ease) both}
 html.premium-ready [data-reveal]{transition-duration:.88s;transition-timing-function:var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
 html.premium-ready [data-reveal="side"]{translate:-38px 0}
 html.premium-ready .spec-row[data-reveal="side"]:nth-of-type(2){translate:38px 0}
 html.premium-ready .method-route>div[data-reveal]{scale:.94;transition:translate .9s var(--motion-ease),opacity .9s var(--motion-ease),scale .9s var(--motion-ease)}
 html.premium-ready .method-route>div.is-seen{scale:1}
 html.premium-ready .timeline>div[data-reveal]{translate:0 22px}
 .premium-inline-scene .visual-art svg{transition:filter .5s ease}
 .premium-inline-scene[data-scene="camera"] .visual-art svg{filter:drop-shadow(0 0 15px rgba(234,255,112,.06))}
 .premium-inline-scene[data-scene="mixer"] .visual-art svg{filter:drop-shadow(0 0 10px rgba(234,255,112,.08))}
}
/* Motion scene JS vars set on scroll; compositor-friendly transforms */
.premium-inline-scene{--scene-shift:0px;--scene-scale:1;--scene-sweep:-60%;--scene-progress:0}
.premium-inline-scene .visual-art{transform:translate3d(0,var(--scene-shift),0)!important;will-change:auto}
.premium-inline-scene[data-scene="camera"] .visual-art svg{transform:scale(var(--scene-scale))!important;transform-origin:center;transition:transform .08s linear}
.premium-inline-scene[data-scene="timeline"] .visual-art svg{transform:translate3d(calc(var(--scene-shift) * .1),0,0)!important}
.premium-inline-scene[data-scene="mixer"] .visual-art svg{transform:translate3d(0,calc(var(--scene-shift) * .2),0)!important;transform-origin:center}
.premium-inline-scene .timeline-playhead,.premium-inline-scene .timeline-playcap{transform:translate3d(calc(var(--scene-progress) * 150px),0,0);transform-origin:center}
.premium-inline-scene[data-scene="mixer"]:after{content:"";position:absolute;pointer-events:none;top:10%;bottom:12%;left:calc(var(--scene-progress) * 78% + 8%);width:1px;background:linear-gradient(transparent,rgba(234,255,112,.32),transparent);opacity:.55}
/* A clear, consistent and tappable mobile nav */
@media(max-width:1030px){.site-header .mobile-nav{display:block!important}.mobile-nav summary{display:flex!important;align-items:center;justify-content:center;min-width:74px;min-height:48px;padding:12px 10px!important;white-space:nowrap;font-size:13px!important;font-weight:800!important;cursor:pointer}.mobile-nav[open] nav{position:fixed;left:0;right:0;bottom:0;top:var(--mobile-header-height,95px);overflow:auto;z-index:180;background:#f3f1ea;padding:24px 26px 45px;box-shadow:0 18px 30px #0003}.mobile-nav nav a{display:block;padding:12px 0;font-size:clamp(17px,2vw,21px)}}
@media(max-width:750px){.header-inner{grid-template-columns:115px minmax(0,1fr) auto!important}.mobile-nav{grid-column:3!important}.mobile-nav[open] nav{top:var(--mobile-header-height,82px)}.header-cta{display:none!important}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .scene-image,.scene-sweep,.premium-inline-scene .visual-art,.premium-inline-scene .visual-art svg{transform:none!important;translate:0!important;transition:none!important;animation:none!important}
 .scene-sweep{display:none!important}.scene-progress{display:none!important}
 .premium-scene,.premium-inline-scene{--scene-scale:1!important;--scene-shift:0px!important}
 html.premium-ready .hero .hero-top,html.premium-ready .hero .hero-subject,html.premium-ready .inter-hero h1{animation:none!important;clip-path:none!important}
}
/* Nav overlay must be viewport-fixed, not constrained by a blurred sticky ancestor. */
@media(max-width:1030px){
 .site-header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(243,241,234,.985)!important}
 .mobile-nav[open] nav{position:fixed!important;top:var(--mobile-header-height,95px)!important;left:0!important;right:0!important;bottom:0!important;height:calc(100dvh - var(--mobile-header-height,95px))!important;min-height:280px;overflow-y:auto;overscroll-behavior:contain}
}
/* Preserve original brand image when available; graceful typography if remote legacy asset fails. */
.brand.brand-fallback img{display:none!important}
.brand.brand-fallback .logo-text{position:static;z-index:auto;opacity:1;display:block;pointer-events:auto;color:var(--ink);font:800 clamp(12px,1.2vw,17px)/1.1 var(--sans);letter-spacing:-.035em}
.foot-brand.brand-fallback .logo-text{color:#f3f1ea}
@media(max-width:750px){.brand.brand-fallback .logo-text{font-size:11.5px;line-height:1.1}}
/* No transient horizontal scrolling during opposing specialty-row entrances. */
.specialties{overflow:clip}
html.premium-ready .spec-row[data-reveal="side"].is-seen{translate:0 0!important}
@media(max-width:750px){
 html.premium-ready .spec-row[data-reveal="side"]{translate:0 16px}
 html.premium-ready .spec-row[data-reveal="side"]:nth-of-type(2){translate:0 16px}
 html.premium-ready .spec-row[data-reveal="side"].is-seen{translate:0 0!important}
}
/* Progressive cross-page editorial transition in browsers supporting same-origin View Transitions. */
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation:ois-page-out .23s cubic-bezier(.2,.5,.2,1) both}
 ::view-transition-new(root){animation:ois-page-in .42s cubic-bezier(.15,.73,.2,1) both}
 @keyframes ois-page-out{to{opacity:.65;transform:translateY(-8px)}}
 @keyframes ois-page-in{from{opacity:.6;transform:translateY(15px)}to{opacity:1;transform:none}}
 .btn-hi:active,.temario-feature-link:active{transform:scale(.985)}
}
