.reading-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 60; pointer-events: none; }
.reading-progress > span:first-child { display: block; width: 100%; height: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; }
.reading-horse { position: absolute; top: 1px; left: 0; width: 1.8rem; height: 1.35rem; color: var(--gold); opacity: 0; }
.reading-horse.is-reading { opacity: 1; }
.horse { fill: currentColor; width: 100%; height: 100%; overflow: visible; }
.horse-far { opacity: 0.55; }
.horse-body { transform-origin: center; }
.horse-leg { transform-box: view-box; }
.horse-leg--hind-near,.horse-leg--hind-far { transform-origin: 76px 97px; }
.horse-leg--front-near,.horse-leg--front-far { transform-origin: 155px 103px; }
.horse-shin { transform-box: fill-box; transform-origin: center top; }
.horse-tail { transform-origin: 65px 78px; }
.herd { position: absolute; inset: 0; pointer-events: none; }
.herd-horse { position: absolute; left: -12rem; bottom: -0.5rem; width: 8rem; height: 6rem; color: var(--gold); }
.hero-light { position: absolute; z-index: -2; right: -8%; top: -30%; width: 50%; height: 130%; pointer-events: none; opacity: 0; background: linear-gradient(112deg,transparent 35%,#edbe7636 48%,transparent 65%); transform: rotate(5deg); }
.hero-dust { position: absolute; right: 0; bottom: 0; width: 43%; height: 36%; z-index: -1; pointer-events: none; overflow: hidden; }
.hero-dust i,.track-dust i { position: absolute; bottom: 0; left: calc(var(--i) * 8%); width: 3px; height: 3px; border-radius: 50%; background: var(--gold); opacity: 0; }
.track-dust { position: absolute; inset: 55% 0 0; pointer-events: none; overflow: hidden; }
.leather-light { position: absolute; inset: 0; opacity: 0; background: linear-gradient(110deg,transparent 30%,#ffe0a024 50%,transparent 70%); pointer-events: none; }
@keyframes line-enter { from { opacity: 0; transform: translateY(0.2em); } to { opacity: 1; transform: none; } }
@keyframes light-pass { 0%,100% { opacity: 0.25; transform: translateX(-12%) rotate(5deg); } 50% { opacity: 0.7; transform: translateX(8%) rotate(5deg); } }
@keyframes dust-float { 0% { opacity: 0; transform: translate(0,0) scale(0.4); } 25% { opacity: 0.65; } 100% { opacity: 0; transform: translate(-2rem,-6rem) scale(1.3); } }
@keyframes horse-travel { from { transform: translateX(-12rem); } to { transform: translateX(calc(100vw + 12rem)); } }
@keyframes horse-bob { 0%,100% { transform: translateY(-3px) rotate(-1deg); } 50% { transform: translateY(2px) rotate(1deg); } }
@keyframes fore-swing { 0%,100% { rotate: 27deg; } 25% { rotate: -30deg; } 50% { rotate: -45deg; } 75% { rotate: 20deg; } }
@keyframes hind-swing { 0%,100% { rotate: -28deg; } 25% { rotate: 30deg; } 50% { rotate: 40deg; } 75% { rotate: -24deg; } }
@keyframes fore-fold { 0%,100% { rotate: -15deg; } 30% { rotate: -88deg; } 60% { rotate: -18deg; } 80% { rotate: 5deg; } }
@keyframes hind-fold { 0%,100% { rotate: 30deg; } 35% { rotate: -35deg; } 65% { rotate: -8deg; } 80% { rotate: 32deg; } }
@keyframes tail-flow { 0%,100% { rotate: -5deg; } 50% { rotate: 5deg; } }
@media (prefers-reduced-motion: no-preference) {
  [data-effects="on"] .hero-line { animation: line-enter 700ms var(--ease-out) both; animation-delay: calc(var(--line) * 95ms); }
  [data-effects="on"] [data-scene].scene-visible .hero-light { animation: light-pass 4s ease-in-out 1; }
  [data-effects="on"] [data-scene].scene-visible .hero-dust i,[data-effects="on"] [data-scene].scene-visible .track-dust i { animation: dust-float 5s linear 1; animation-delay: calc(var(--i) * -0.37s); }
  [data-effects="on"] [data-scene].scene-visible .leather-light { animation: light-pass 4s ease-in-out 1; }
  [data-effects="on"] .herd.is-running .horse-body { animation: horse-bob 760ms ease-in-out infinite; }
  [data-effects="on"] .herd.is-running .horse-leg--front-near,[data-effects="on"] .herd.is-running .horse-leg--front-far { animation: fore-swing 760ms ease-in-out infinite; }
  [data-effects="on"] .herd.is-running .horse-leg--hind-near,[data-effects="on"] .herd.is-running .horse-leg--hind-far { animation: hind-swing 760ms ease-in-out infinite; }
  [data-effects="on"] .herd.is-running .horse-shin--front { animation: fore-fold 760ms ease-in-out infinite; }
  [data-effects="on"] .herd.is-running .horse-shin--hind { animation: hind-fold 760ms ease-in-out infinite; }
  [data-effects="on"] .herd.is-running .horse-leg--front-far,[data-effects="on"] .herd.is-running .horse-leg--front-far .horse-shin { animation-delay: -130ms; }
  [data-effects="on"] .herd.is-running .horse-leg--hind-far,[data-effects="on"] .herd.is-running .horse-leg--hind-far .horse-shin { animation-delay: -110ms; }
  [data-effects="on"] .herd.is-running .horse-tail { animation: tail-flow 760ms ease-in-out infinite; }
  [data-effects="on"] .herd.is-running .herd-horse { animation: horse-travel 4s linear both; animation-delay: calc(var(--runner) * 250ms); }
  [data-effects="on"] [data-reveal] .stitched-heading::after { transform: scaleX(0); transition: transform 900ms var(--ease-out); }
  [data-effects="on"] [data-reveal].is-visible .stitched-heading::after { transform: scaleX(1); }
  [data-effects="on"] [data-tilt] { transition: transform 170ms ease-out; }
}
[data-effects="off"] *,[data-effects="off"] *::before,[data-effects="off"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
[data-effects="off"] [data-reveal] { opacity: 1 !important; transform: none !important; }
[data-effects="off"] [data-parallax],[data-effects="off"] [data-magnetic],[data-effects="off"] [data-tilt] { transform: none !important; }
[data-effects="off"] .hero-light,[data-effects="off"] .hero-dust,[data-effects="off"] .track-dust,[data-effects="off"] .leather-light,[data-effects="off"] .herd,[data-effects="off"] .reading-horse { display: none; }
[data-effects="off"] .brand-marquee__track { width: 100%; }
[data-effects="off"] .brand-marquee ul { width: 100%; flex-wrap: wrap; justify-content: center; gap: 0.6rem 2rem; }
[data-effects="off"] .brand-marquee ul[aria-hidden] { display: none; }
[data-effects="off"] .stitched-heading::after { transform: none !important; }
:root[data-effects="off"] { view-transition-name: none; scroll-behavior: auto; }
@media (max-width: 40rem) { .hero-dust i:nth-child(n+6),.track-dust i:nth-child(n+6) { display: none; } }

@keyframes brand-drift { to { transform: translateX(-50%); } }
@media(prefers-reduced-motion:no-preference) {
 [data-effects="on"] .brand-marquee__track { animation: brand-drift 65s linear infinite; }
 [data-effects="on"] .brand-marquee:hover .brand-marquee__track,[data-effects="on"] .brand-marquee:focus-within .brand-marquee__track { animation-play-state:paused; }
}

.scene-paused *, .scene-paused *::before, .scene-paused *::after { animation-play-state:paused!important; }
