:root{--motion-emphasized:cubic-bezier(.16,1,.3,1);--motion-gentle:cubic-bezier(.22,1,.36,1)}

/* Final motion polish: deliberate, restrained, and accessibility-aware. */
.home-hero::before{animation:finalGlow 8.5s var(--motion-gentle) infinite alternate}
.home-ambient span{animation-duration:24s}
.home-mark{animation:finalMarkIn .68s var(--motion-emphasized) both,finalMarkFloat 6.8s ease-in-out .8s infinite}
.home-wordmark{animation:finalWordmarkFloat 8.2s ease-in-out 1.05s infinite}
.home-wordmark span:first-child{animation:finalWordLeft .74s var(--motion-emphasized) .06s both}
.home-wordmark em{animation:finalWordRight .82s var(--motion-emphasized) .14s both}
.home-tagline{animation:finalRise .68s var(--motion-emphasized) .24s both}
.home-actions{animation:finalRise .68s var(--motion-emphasized) .32s both}
.home-proof{animation:finalRise .68s var(--motion-emphasized) .40s both}
.home-card{transition:transform .28s var(--motion-emphasized),border-color .28s var(--motion-emphasized),box-shadow .28s var(--motion-emphasized),background-color .28s var(--motion-emphasized)}
.home-card-link span{transition:transform .22s var(--motion-emphasized)}

.hero{display:grid;align-items:center;min-height:clamp(430px,62vh,700px)}
.hero>.wrap{justify-content:center}
.hero::before{animation:finalGlow 8.5s var(--motion-gentle) infinite alternate}
.hero .eyebrow{animation:finalRise .58s var(--motion-emphasized) .04s both}
.hero .display{animation:none!important;max-width:11ch;margin-inline:auto;text-align:center}
.hero .display span{display:block;opacity:0;will-change:transform,opacity,filter}
.hero .display span:first-child{animation:finalHeroLineOne .72s var(--motion-emphasized) .10s both}
.hero .display span:nth-child(2){animation:finalHeroLineTwo .78s var(--motion-emphasized) .17s both}
.hero .lede{animation:finalRise .66s var(--motion-emphasized) .28s both}
.hero-mark{animation:finalMarkIn .68s var(--motion-emphasized) .06s both,finalMarkFloat 6.8s ease-in-out .8s infinite}

.reveal{transition-duration:.68s!important;transition-timing-function:var(--motion-emphasized)!important}
.stagger>*{transition-duration:.62s!important;transition-timing-function:var(--motion-emphasized)!important}
.craft,.voice,.reading,.panel{transition-duration:.28s!important;transition-timing-function:var(--motion-emphasized)!important}

@keyframes finalGlow{from{opacity:.72;transform:scale(.985)}to{opacity:1;transform:scale(1.025)}}
@keyframes finalMarkIn{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes finalMarkFloat{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}42%{transform:translate3d(0,-5px,0) rotate(.7deg)}58%{transform:translate3d(0,-6px,0) rotate(.9deg)}}
@keyframes finalWordmarkFloat{0%,100%{transform:translate3d(0,0,0)}46%{transform:translate3d(0,-3px,0)}58%{transform:translate3d(0,-4px,0)}}
@keyframes finalWordLeft{from{opacity:0;transform:translate3d(-.22em,14px,0)}to{opacity:1;transform:translate3d(-.14em,0,0)}}
@keyframes finalWordRight{from{opacity:0;transform:translate3d(.38em,16px,0)}to{opacity:1;transform:translate3d(.28em,0,0)}}
@keyframes finalRise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes finalHeroLineOne{from{opacity:0;filter:blur(4px);transform:translate3d(-12px,18px,0) scale(.985)}to{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}}
@keyframes finalHeroLineTwo{from{opacity:0;filter:blur(4px);transform:translate3d(12px,18px,0) scale(.985)}to{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}}

@media (hover:hover) and (pointer:fine){.home-card:hover,.craft:hover,.voice:hover,.reading:hover,.panel:hover{transform:translateY(-3px)}}

@media (max-width:560px){.hero{min-height:auto}.hero .display{max-width:100%}.home-ambient span{animation-duration:28s}}

@media (prefers-reduced-motion:reduce){:root:not([data-motion=no]) .home-hero::before,:root:not([data-motion=no]) .home-ambient span,:root:not([data-motion=no]) .home-mark,:root:not([data-motion=no]) .home-wordmark,:root:not([data-motion=no]) .home-wordmark span,:root:not([data-motion=no]) .home-wordmark em,:root:not([data-motion=no]) .home-tagline,:root:not([data-motion=no]) .home-actions,:root:not([data-motion=no]) .home-proof,:root:not([data-motion=no]) .hero::before,:root:not([data-motion=no]) .hero .eyebrow,:root:not([data-motion=no]) .hero .display span,:root:not([data-motion=no]) .hero .lede,:root:not([data-motion=no]) .hero-mark{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}:root:not([data-motion=no]) .reveal,:root:not([data-motion=no]) .stagger>*{transition:none!important;transform:none!important;filter:none!important;opacity:1!important}}
html[data-motion=reduce] .home-hero::before,html[data-motion=reduce] .home-ambient span,html[data-motion=reduce] .home-mark,html[data-motion=reduce] .home-wordmark,html[data-motion=reduce] .home-wordmark span,html[data-motion=reduce] .home-wordmark em,html[data-motion=reduce] .home-tagline,html[data-motion=reduce] .home-actions,html[data-motion=reduce] .home-proof,html[data-motion=reduce] .hero::before,html[data-motion=reduce] .hero .eyebrow,html[data-motion=reduce] .hero .display span,html[data-motion=reduce] .hero .lede,html[data-motion=reduce] .hero-mark{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}
html[data-motion=reduce] .reveal,html[data-motion=reduce] .stagger>*{transition:none!important;transform:none!important;filter:none!important;opacity:1!important}
