/* Motion supplements the site's existing reveal system. Content stays visible without JS. */
.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;z-index:80;pointer-events:none;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#82927b,#b1795b);will-change:transform}
body.motion-on .motion-stagger.reveal > *{transition:opacity .58s ease,transform .7s cubic-bezier(.2,.65,.2,1);transition-delay:var(--motion-delay,0ms)}
body.motion-on .motion-stagger.reveal:not(.visible) > *{opacity:0;transform:translate3d(0,18px,0)}
body.motion-on .motion-stagger.reveal.visible > *{opacity:1;transform:none}
body.motion-on .motion-photo img{transform:scale(1.055);transition:transform 1.35s cubic-bezier(.2,.65,.2,1);will-change:transform}
body.motion-on .motion-photo.is-in-view img{transform:scale(1)}
body.motion-on .home-hero-content > .eyebrow,
body.motion-on .home-hero-content > h1,
body.motion-on .home-hero-content > p,
body.motion-on .home-hero-content > .actions{animation:motion-enter .85s both cubic-bezier(.2,.65,.2,1)}
body.motion-on .home-hero-content > h1{animation-delay:.14s}
body.motion-on .home-hero-content > h1 em{display:block;animation:motion-enter .82s .33s both}
body.motion-on .home-hero-content > p{animation-delay:.31s}
body.motion-on .home-hero-content > .actions{animation-delay:.47s}
body.motion-on .home-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 80% 40%,rgba(238,215,165,.13),transparent 44%);animation:motion-light 9s ease-in-out infinite alternate}
@keyframes motion-enter{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes motion-light{from{opacity:.25;transform:translateX(-2%)}to{opacity:.75;transform:translateX(2%)}}
.offer-grid .offer:focus-within{outline:2px solid var(--olive,#69745f);outline-offset:3px}
body.motion-on .offer-grid .offer{transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease,border-color .3s ease}
@media(hover:hover) and (pointer:fine){body.motion-on .offer-grid .offer:hover,body.motion-on .offer-grid .offer:focus-within{transform:translateY(-5px);background-color:rgba(255,255,255,.52);box-shadow:0 15px 34px rgba(28,38,29,.09);border-top-color:var(--olive,#69745f)}body.motion-on .card-grid .card{transition:background-color .3s ease,transform .3s ease}body.motion-on .card-grid .card:hover,body.motion-on .card-grid .card:focus-within{background-color:rgba(255,255,255,.1);transform:translateY(-3px)}}
.sound-mark{display:inline-flex;align-items:center;justify-content:center;gap:3px;height:19px;margin-right:3px;vertical-align:middle}
.sound-mark i{display:block;width:2px;height:15px;border-radius:2px;background:currentColor;transform-origin:center;animation:motion-wave 1.25s ease-in-out infinite}
.sound-mark i:nth-child(2){animation-delay:.16s}.sound-mark i:nth-child(3){animation-delay:.32s}.sound-mark i:nth-child(4){animation-delay:.48s}
@keyframes motion-wave{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
@media(max-width:700px){body.motion-on .motion-photo img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}body.motion-on .motion-stagger.reveal > *,body.motion-on .motion-photo img,body.motion-on .home-hero-content > *,body.motion-on .home-hero-content > h1 em{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.sound-mark i{animation:none!important}body.motion-on .home-hero::after{animation:none!important}}
