/* Scroll is native. Only decorative layers move; reading and navigation stay stable. */
.scroll-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 90; pointer-events: none; }
.scroll-progress i { display: block; height: 100%; background: linear-gradient(90deg,#0b3d91,#60a5fa 65%,#d4a853); transform: scaleX(0); transform-origin: left; }
.chapter-rail { position: fixed; right: 18px; top: 50%; translate: 0 -50%; z-index: 64; display: grid; gap: 2px; }
.chapter-rail a { min-width: 34px; min-height: 36px; display: flex; align-items: center; justify-content: flex-end; position: relative; }
.chapter-rail i { width: 5px; height: 5px; border-radius: 50%; background: #71829a; box-shadow: 0 0 0 3px #f1f2f455; transition: scale .3s, background .3s; }
.chapter-rail [aria-current] i { background: var(--blue); scale: 1.6; box-shadow: 0 0 0 3px #e5e7eb; }
.chapter-rail span { position: absolute; right: 22px; padding: 4px 9px; font-size: 11px; white-space: nowrap; color: #182c48; background: #f1f2f4eb; border-radius: 4px; opacity: 0; translate: 5px 0; pointer-events: none; transition: opacity .2s, translate .2s; }
.chapter-rail a:is(:hover,:focus-visible) span { opacity: 1; translate: 0; }
.motion-toggle { position: fixed; left: 18px; bottom: 18px; z-index: 64; min-height: 38px; display: flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid #8290a647; border-radius: 22px; background: #f1f2f4e8; color: #243b5e; box-shadow: 0 3px 18px #142b4810; font-size: 10px; line-height: 1.3; }
.motion-toggle svg { width: 16px; height: 16px; }
.motion-toggle .play-symbol, .motion-toggle[aria-pressed=true] .pause-symbol { display: none; }
.motion-toggle[aria-pressed=true] .play-symbol { display: block; }
.motion-toggle:disabled { opacity: .85; cursor: default; }
.scroll-word { display: block; position: absolute; left: 2%; right: 2%; top: 14px; overflow: hidden; font-size: clamp(100px,19vw,300px); font-weight: 600; letter-spacing: -.08em; line-height: 1; color: #0b3d9109; pointer-events: none; user-select: none; translate: var(--word-x,0px) 0; }
.forge-section .scroll-word { color: #d4a8530c; }
body[data-page=home] .division-section { overflow: clip; }
body[data-page=home] .division-section > [data-reveal], body[data-page=home] .division-section > .atlas-visual, body[data-page=home] .division-section > .forge-visual { position: relative; z-index: 1; }
.scroll-light { position: absolute; width: 85%; aspect-ratio: 1.8; left: 12%; top: 0; background: radial-gradient(ellipse,#a8cfff36,transparent 65%); pointer-events: none; translate: var(--light-x,0px) var(--light-y,0px); }
.forge-section .scroll-light { background: radial-gradient(ellipse,#d4a8532c,transparent 65%); width: 100%; left: 0; }
@media (prefers-reduced-motion:no-preference) {
  html:not([data-motion-paused=true]) body[data-page=home] .hero-copy { translate: 0 var(--copy-y,0px); }
  html:not([data-motion-paused=true]) .scroll-scene .nexus-map > .sculpture { translate: 0 var(--art-y,0px); rotate: var(--art-angle,0deg); }
  html:not([data-motion-paused=true]) .scroll-scene .product-visual > div { translate: 0 var(--art-y,0px); rotate: var(--art-angle,0deg); }
  html:not([data-motion-paused=true]) .scroll-scene .case-art > div { translate: 0 var(--art-y,0px); scale: var(--art-scale,1); }
  html:not([data-motion-paused=true]) .scroll-scene .world-lines { translate: 0 var(--art-y,0px); rotate: var(--art-angle,0deg); }
  html:not([data-motion-paused=true]) .scroll-scene .agent-sphere { translate: 0 var(--art-y,0px); }
  html:not([data-motion-paused=true]) .scroll-scene .quote-geometry { translate: 0 var(--art-y,0px); scale: var(--art-scale,1); }
  html:not([data-motion-paused=true]) body[data-page=home] .door.reveal-ready { transform: translateY(55px) rotateX(5deg); transform-origin: center bottom; transition-duration: .85s; }
  html:not([data-motion-paused=true]) body[data-page=home] .door.reveal-ready.is-visible { transform: none; }
  html:not([data-motion-paused=true]) body[data-page=home] :is(.doors,.product-grid,.case-grid,.method-steps) > [data-reveal] { transition-delay: var(--reveal-delay,0ms); }
  html:not([data-motion-paused=true]) .architecture-layer::after, html:not([data-motion-paused=true]) .vault-front::before { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(110deg,transparent 20%,#ffffff38 45%,transparent 68%); opacity: var(--glint-alpha,0); }
}
html[data-motion-paused=true] { scroll-behavior: auto; }
html[data-motion-paused=true] body[data-page=home] .reveal-ready { opacity: 1; transform: none; transition: none; }
html[data-motion-paused=true] .hero .hero-copy > * { animation: none; }
html[data-motion-paused=true] .hero .hero-assembly > picture:not(.hero-plane) > img { animation: none; opacity: 1; }
html[data-motion-paused=true] .hero .hero-assembly > .hero-plane { display: none !important; }
html[data-motion-paused=true] :is(.scroll-word,.scroll-light) { translate: none; }
html.sculpture-open .motion-toggle, html.sculpture-open .chapter-rail { visibility: hidden; }
@media (max-width:1100px) { .chapter-rail { display: none; } }
@media (min-width:1101px) {
  .motion-toggle { min-width: 38px; gap: 0; justify-content: center; }
  .motion-toggle span { max-width: 0; opacity: 0; overflow: hidden; white-space: nowrap; }
  .motion-toggle:is(:hover,:focus-visible) { gap: 7px; }
  .motion-toggle:is(:hover,:focus-visible) span { max-width: 160px; opacity: 1; }
}
@media (max-width:700px) {
  .motion-toggle { left: 12px; bottom: 16px; max-width: 145px; font-size: 9px; padding: 8px 10px; }
  .scroll-word { top: 20px; font-size: 29vw; }
  .scroll-light { width: 145%; left: -20%; top: 15%; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.scroll-word,.scroll-light) { translate: none; }
  .chapter-rail :is(i,span) { transition: none; }
}
