/* A visible, restrained motion system with one consistent pause control. */
.rail-track{animation:rail 34s linear infinite}
.practice-rail:hover .rail-track{animation-play-state:running}
.hero-orbit{animation:jgdOrbit 28s linear infinite}
.hero-film-mark{animation:jgdFloat 7s ease-in-out infinite}
.hero-grid{animation:ambientGrid 24s linear infinite}
.scroll-cue:after{animation:scrollLine 2.4s ease-in-out infinite}
.motion-toggle{min-height:44px;letter-spacing:.03em;font-size:.7rem}
.motion-toggle:before{content:"";width:6px;height:6px;border-radius:50%;background:#e4d0aa;box-shadow:0 0 10px rgba(228,208,170,.65)}
.motion-toggle[aria-pressed="true"]:before{background:#a7a7a7;box-shadow:none}
.js .motion-arrival{animation:contentArrival .75s cubic-bezier(.22,.61,.36,1) both}
.discovery-detail>[data-practice-detail]:not([hidden]){animation:detailArrival .35s ease both}
.reading-progress{display:block;position:fixed;inset:0 0 auto;height:2px;z-index:1000;pointer-events:none;background:linear-gradient(90deg,#8d713f,#e4d0aa);transform:scaleX(var(--reading-progress,0));transform-origin:left;animation:none}
@keyframes ambientGrid{to{background-position:95px 95px}}
@keyframes contentArrival{from{opacity:.35;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes detailArrival{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
body.motion-paused .hero-orbit,body.motion-paused .hero-film-mark,body.motion-paused .hero-grid,body.motion-paused .rail-track,body.motion-paused .scroll-cue:after,body.motion-paused .hero-film-mark:after{animation-play-state:paused!important}
body.motion-paused .motion-arrival,body.motion-paused [data-practice-detail]{animation:none!important;opacity:1;transform:none}
body.motion-paused .reading-progress{display:none}
body.page-inactive .hero-orbit,body.page-inactive .hero-film-mark,body.page-inactive .hero-grid,body.page-inactive .rail-track{animation-play-state:paused!important}
@media(max-width:650px){.rail-track{animation-duration:44s}.rail-track span{padding-inline:22px}.hero-grid{opacity:.08}}
@media(prefers-reduced-motion:reduce){.hero-orbit,.hero-film-mark,.hero-grid,.rail-track,.scroll-cue:after,.hero-film-mark:after,.js .motion-arrival,[data-practice-detail]{animation:none!important}.motion-toggle,.reading-progress{display:none!important}}
