/* Scroll changes depth and composition; the document keeps native scrolling. */
.landing main { overflow-x: clip; }
.landing main, .landing .site-footer { position: relative; z-index: 1; }
.landing .scroll-atmosphere { position: fixed; inset: 0; z-index: 0; overflow: clip; pointer-events: none; opacity: 0; }
.motion-ready .landing .scroll-atmosphere { opacity: 1; }
.scroll-atmosphere::before { content: ""; position: absolute; left: 30%; top: 12%; width: 80vw; height: 75vh; background: radial-gradient(ellipse, #7060db10 0%, #4e3a7d08 38%, transparent 70%); translate: calc(var(--page-motion, 0) * -28vw) calc(var(--page-motion, 0) * 24vh); }
.scroll-atmosphere canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .85; mask-image: linear-gradient(90deg, transparent 8%, #0008 37%, #000 68%); }
.motion-ready .landing [data-parallax] { translate: var(--parallax-x, 0px) var(--parallax-y, 0px); rotate: var(--parallax-rotate, 0deg); scale: var(--parallax-scale, 1); }
.motion-ready .landing [data-parallax].is-motion-visible { will-change: translate, rotate, scale; }
.motion-ready .landing svg [data-parallax] { transform-box: fill-box; transform-origin: center; }
.motion-ready .landing .hero-copy, .motion-ready .landing .hero-art { transform-origin: center; }
.motion-ready .landing .hero-art { perspective: 1000px; }
.motion-ready .landing .orbital-lines { transform-origin: 302px 278px; }
.motion-ready .landing .nav-shell { scale: var(--header-scale, 1); }
.motion-ready .landing .site-header { translate: 0 var(--header-lift, 0px); }
.landing .scroll-position { position: fixed; z-index: 70; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #9f91ff, #84e8c0); transform-origin: left; scale: var(--page-motion, 0) 1; opacity: .7; pointer-events: none; }
.landing .scroll-rail { position: relative; display: grid; grid-template-columns: 1fr 1fr; height: 64px; margin-block: 30px 4px; border-block: 1px solid #a99bff13; background: linear-gradient(90deg, #a47b2605, transparent 45%, #8974ee09); overflow: hidden; }
.landing .scroll-rail-half { position: relative; min-width: 0; display: flex; align-items: center; overflow: hidden; }
.landing .scroll-rail-half::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #07080c 0, transparent 12%, transparent 88%, #07080c 100%); }
.landing .scroll-rail-private { border-left: 1px solid #c4b6ff42; box-shadow: -9px 0 24px #a38bff15; }
.landing .scroll-rail-label { position: absolute; z-index: 1; left: 8%; top: 6px; color: #bca475; font: 8px var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
.landing .scroll-rail-private .scroll-rail-label { color: #b0a0f1; }
.landing .scroll-rail-track { display: flex; align-items: center; gap: 26px; flex: none; padding: 15px 50px 0; color: #b3a17d; font: 10px var(--font-mono); white-space: nowrap; }
.landing .scroll-rail-private .scroll-rail-track { color: #b3a3e4; }
.landing .scroll-rail-track i { width: 3px; height: 3px; border: 1px solid currentColor; border-radius: 50%; opacity: .5; }
.landing .rail-redaction { display: inline-block; width: 77px; height: 9px; border-radius: 3px; background: linear-gradient(90deg, #8e7fb744, #9f91ff66); }
.landing .rail-redaction-short { width: 45px; }
.motion-ready .landing .scroll-rail-track { translate: var(--rail-offset, 0px) 0; will-change: translate; }
.motion-ready .landing .visibility-panels, .motion-ready .landing .extension-art { perspective: 1100px; }
.motion-ready .landing .visibility-panel { transform-origin: 50% 80%; }
.motion-ready .landing .protocol-status { background: linear-gradient(100deg, #07080cf2, #07080cc7 72%, #07080c55); }
.motion-ready .landing .disclosure-copy, .motion-ready .landing .extension-copy { text-shadow: 0 1px 12px #07080c, 0 0 25px #07080c; }
.motion-ready .landing .extension-card { transform-origin: 50% 90%; }
.landing .closing-section { position: relative; }
.motion-ready .landing .disclosure-visual { overflow: visible; }
.motion-ready .landing .scope-diagram { overflow: clip; }
.motion-ready .landing .provider-map { position: relative; }
.motion-ready .landing .provider-map::before { content: ""; position: absolute; left: 23px; top: 72px; bottom: 64px; width: 1px; background: linear-gradient(#9f91ff80, #84e8c04d); transform-origin: top; scale: 1 var(--provider-line, 0); opacity: .5; }
.motion-ready .landing .provider-node { position: relative; z-index: 1; background-color: #101119; }
.motion-ready .landing .closing-section::before { content: ""; position: absolute; z-index: -1; inset: -80px 0; background: radial-gradient(ellipse, #8d70f417, transparent 66%); scale: var(--closing-glow, .7); opacity: var(--closing-opacity, 0); pointer-events: none; }
@media (max-width: 899px) {
  .landing .scroll-rail { height: 56px; margin-block: 25px 0; }
  .landing .scroll-rail-track { gap: 18px; font-size: 8px; padding-left: 28px; }
  .landing .scroll-rail-label { font-size: 7px; left: 20px; }
  .scroll-atmosphere canvas { opacity: .38; mask-image: linear-gradient(90deg, transparent 0%, #0009 50%, #000 100%); }
}
@media (prefers-reduced-motion: reduce) {
  .landing .scroll-atmosphere, .landing .scroll-position { display: none; }
  .landing [data-parallax], .landing .scroll-rail-track { translate: none !important; rotate: none !important; scale: none !important; }
  .landing .provider-map::before, .landing .closing-section::before { display: none; }
}
