/* Motion is an enhancement: no initial opacity:0 or hidden content. */
#scroll-progress{position:fixed;inset:0 0 auto;z-index:90;height:2px;background:var(--gold,#a6976c);transform:scaleX(0);transform-origin:left;pointer-events:none}
[data-parallax]{translate:0 var(--parallax-y,0px)}
.hero-line{display:block;overflow:clip;padding-bottom:.1em;margin-bottom:-.1em}
.hero-line>[data-hero-reveal]{display:block}
[data-magnetic]{translate:var(--magnetic-x,0px) var(--magnetic-y,0px)}
.footer-orbit[data-magnetic]{transition:translate .55s cubic-bezier(.19,1,.22,1),background .4s,border-color .4s}
.footer-orbit.is-magnetic-active{transition-duration:.22s,.4s,.4s}
[data-ribbon] .marquee-track{animation-play-state:paused}
[data-ribbon].is-ribbon-running:not(.is-paused) .marquee-track{animation-play-state:running}
[data-ribbon]:hover .marquee-track,[data-ribbon]:focus-within .marquee-track{animation-play-state:paused!important}
[data-ribbon-toggle]{font:inherit;cursor:pointer}
[data-ribbon-toggle]:disabled{cursor:default}
.service-visual [data-service-image]{transition:opacity .75s ease,transform 1.15s cubic-bezier(.19,1,.22,1)}
.gallery-navigation{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:18px}
.gallery-navigation button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line,#ccd7dd);border-radius:3px;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background .35s,border-color .35s,color .35s}
.gallery-navigation button:is(:hover,:focus-visible){background:var(--navy,#122d43);border-color:var(--navy,#122d43);color:#fff}
.gallery-navigation svg{width:21px;height:21px;transition:translate .45s cubic-bezier(.19,1,.22,1)}
.gallery-previous svg{rotate:180deg}
.gallery-next:is(:hover,:focus-visible) svg{translate:2px 0}
.gallery-previous:is(:hover,:focus-visible) svg{translate:-2px 0}
.gallery-count{min-width:56px;text-align:center;font-size:11px;letter-spacing:.14em;font-variant-numeric:tabular-nums}
/* The v3 choreography uses visible CSS baselines and one entrance per section. */
.story-image{overflow:clip}
.has-motion-rule{position:relative}
.motion-rule{position:absolute;inset:0 0 auto;height:1px;background:var(--gold,#b3a17b);transform-origin:left center;opacity:0;pointer-events:none}
.footer-opening>.motion-rule{top:auto;bottom:0;background:#cfba8b}
.scroll-accent{rotate:var(--accent-turn,0deg);transform-origin:center;will-change:auto}
.chapter-copy{transition:translate .8s cubic-bezier(.19,1,.22,1)}
.gallery-open>span{transition:translate .55s cubic-bezier(.19,1,.22,1),background .35s,color .35s}
.chapter-card:focus-visible .chapter-copy{translate:0 -7px}
.chapter-card:focus-visible img:not(.preserve-subject){transform:scale(1.055)}
.gallery-open:focus-visible img{transform:scale(1.035)}
.gallery-open:focus-visible>span{translate:2px -2px}
.chapter-card:focus-visible .chapter-link>span{transform:translate(3px,-3px)}
@media(hover:hover) and (pointer:fine){.chapter-card:hover .chapter-copy{translate:0 -7px}.gallery-open:hover>span{translate:2px -2px}}
.motion-reduced [data-parallax],.motion-reduced [data-magnetic]{translate:none!important}
.motion-reduced .marquee-track{animation-play-state:paused!important}
.motion-reduced .scroll-accent{rotate:none!important}
.motion-reduced .chapter-copy,.motion-reduced .gallery-open>span,.motion-reduced .gallery-navigation svg{translate:none!important}
.motion-reduced .chapter-card img,.motion-reduced .gallery-open img,.motion-reduced .chapter-link>span{transform:none!important}
.motion-reduced *,.motion-reduced *::before,.motion-reduced *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.scroll-accent{rotate:none!important}.chapter-copy,.gallery-open>span,.gallery-navigation svg{translate:none!important}.chapter-card img,.gallery-open img,.chapter-link>span{transform:none!important}html{scroll-behavior:auto!important}[data-parallax],[data-magnetic]{translate:none!important}*,*::before,*::after{animation:none!important;transition:none!important}.marquee-track{animation-play-state:paused!important}}
@media print{.motion-rule{display:none}.scroll-accent{rotate:none!important}.chapter-copy,.gallery-open>span{translate:none!important}#scroll-progress,.gallery-navigation,[data-ribbon-toggle]{display:none!important}[data-parallax],[data-magnetic]{translate:none!important}}
