/* Motion follows the visitor. No intro, waiting screen or scroll interception. */
.hero-image{transform:none}
.cinematic-light{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;mix-blend-mode:screen;opacity:0}
.details-motion .cinematic-light.film-ready{opacity:.65}
.closing-section{overflow:hidden}.closing-section>.container{position:relative;z-index:1}.closing-section>.cinematic-light{z-index:0}
html:not(.details-motion) .cinematic-light{display:none}
.hero-ambient::before,.hero-ambient::after{animation:none;will-change:auto;transform:translate3d(var(--ambient-x,0px),var(--ambient-y,0px),0)}
.hero-ambient::after{transform:translate3d(calc(var(--ambient-x,0px) * -1),0,0)}
.site-header{position:fixed;transition:top .3s var(--motion-ease),background .3s,box-shadow .3s,border-color .3s}
.site-header::after{content:'';position:absolute;bottom:-1px;left:22px;right:22px;height:2px;border-radius:4px;pointer-events:none;background:linear-gradient(90deg,#f37139,#f3be8f);transform:scaleX(var(--page-progress,0));transform-origin:left;opacity:.85}
html:not(.details-motion) .site-header::after{display:none}
html:not(.details-motion) .hero-image,html:not(.details-motion) .feature-image img{transform:none!important}
html:not(.details-motion) .hero-ambient{display:none}
.details-motion .hero-image{transform:translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1));transform-origin:50% 50%}
.details-motion .feature-image img{transform:translate3d(0,var(--feature-shift,0px),0) scale(1.055);transition:none}
.details-motion .feature-image{overflow:hidden}
.details-motion .site-header nav a{transition:color .2s,background .2s}
.details-motion .site-header nav a:hover::after,.details-motion .site-header nav a:focus-visible::after{transform:scaleX(.45)}
.details-motion .site-header nav a[aria-current=location]::after{transform:scaleX(1)}
.details-motion .button-orange{position:relative;isolation:isolate;overflow:hidden}
.details-motion .button-orange::after{content:'';pointer-events:none;position:absolute;inset:-50% -120%;z-index:-1;background:linear-gradient(110deg,transparent 42%,#ffffff2e 50%,transparent 58%);transform:translateX(-35%);transition:transform .65s var(--motion-ease)}
.details-motion .button-orange:hover::after,.details-motion .button-orange:focus-visible::after{transform:translateX(35%)}
.details-motion .text-link .site-icon,.details-motion .rail-arrow .site-icon,.details-motion .hero-bottom a .site-icon,.details-motion .button .site-icon{transition:transform .32s var(--motion-ease)}
.details-motion .text-link:hover .site-icon,.details-motion .text-link:focus-visible .site-icon,.details-motion .rail-arrow:last-child:hover .site-icon{transform:translateX(3px)}
.details-motion .rail-arrow:first-of-type:hover .site-icon{transform:translateX(-3px)}
.details-motion .hero-bottom a:hover .site-icon{transform:translateY(3px)}
.details-motion .button:hover .site-icon{transform:translate(2px,-2px)}
.details-motion .category-card{--light-x:50%;--light-y:35%}
.details-motion .category-card::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(240px circle at var(--light-x) var(--light-y),#ffffff20,transparent 75%);opacity:0;transition:opacity .35s}
.details-motion .category-card:focus-visible::before{opacity:1}
@media(hover:hover) and (pointer:fine){.details-motion .category-card:hover::before{opacity:1}.details-motion .category-card h3{transition:transform .4s var(--motion-ease)}.details-motion .category-card:hover h3{transform:translateY(-3px)}}
.details-motion .steps-grid article{position:relative;transition-delay:var(--step-delay,0ms)}
.details-motion .steps-grid article::before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#f37139,#f3713900);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--motion-ease);transition-delay:var(--step-delay,0ms)}
.details-motion .steps-grid article.revealed::before{transform:scaleX(1)}
.details-motion .steps-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #f3713950;border-radius:50%;background:#f3713910}
.details-motion .faq-list summary span{transition:transform .28s var(--motion-ease)}
.details-motion .faq-list details[open] p{animation:detail-arrive .3s var(--motion-ease) both}
.details-motion dialog[open]{animation:dialog-arrive .24s var(--motion-ease) both}
.details-motion .drawer[open]{animation:drawer-arrive .28s var(--motion-ease) both}
.details-motion dialog[open]::backdrop{animation:backdrop-arrive .2s ease both}
.details-motion #mainNav.open{animation:detail-arrive .22s var(--motion-ease) both}
.details-motion .newsletter-section:focus-within{border-color:#ba805f;box-shadow:0 10px 35px #173d5208,0 0 0 3px #e58c4220}
.newsletter-section{transition:border-color .25s,box-shadow .25s}
.details-motion .section-heading .eyebrow::before{content:'';display:inline-block;width:22px;height:2px;vertical-align:middle;margin-right:10px;background:currentColor;opacity:.55;transform-origin:left;transform:scaleX(.25);transition:transform .6s var(--motion-ease)}
.details-motion .section-heading.revealed .eyebrow::before{transform:scaleX(1)}
@keyframes detail-arrive{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes dialog-arrive{from{opacity:.3;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes drawer-arrive{from{opacity:.5;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-ambient,.site-header::after{display:none}.hero-image,.feature-image img{transform:none!important}.site-header{transition:none}.motion-ready .reveal:not(.revealed){opacity:1;transform:none}}

/* v19: full product film; the scroll zoom affects both video and fallback image. */
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;pointer-events:none;opacity:0;transition:opacity .22s ease;transform-origin:50% 50%}
.details-motion .hero-film{transform:translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1))}.details-motion .hero-film.film-ready{opacity:1}
html:not(.details-motion) .hero-film{display:none}
@media(max-width:760px){.hero-film{object-position:65% center;filter:opacity(.7)}}
@media(prefers-reduced-motion:reduce){.hero-film{display:none}}
.details-motion .hero-image-wrap:has(.hero-film.film-ready) .hero-image{visibility:hidden}
