:root {
  color-scheme: dark;
  --black: #030507;
  --ink: #070b0f;
  --navy: #0b141d;
  --ivory: #e8e2d6;
  --muted: #8e918f;
  --gold: #b18a4b;
  --gold-hi: #e1c581;
  --line: rgba(213, 184, 119, .22);
  --cam-x: 0;
  --cam-y: 0;
  --cam-z: 0;
  --pointer-x: 50%;
  --pointer-y: 50%;
  --light: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--black);
  color: var(--ivory);
  font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
  line-height: 1.75;
}
button, a { color: inherit; font: inherit; }
a { text-decoration-thickness: 1px; }
button { padding: 0; }
::selection { background: #a37d40; color: white; }

.skip-link {
  position: fixed;
  z-index: 200;
  top: 1rem;
  left: 1rem;
  padding: .7rem 1rem;
  background: var(--ivory);
  color: #111;
  transform: translateY(-160%);
}
.skip-link:focus { transform: none; }

#dust-canvas {
  position: fixed;
  z-index: 10;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: calc(.2 + var(--light) * .5);
  mix-blend-mode: screen;
}
.cursor-orbit {
  position: fixed;
  z-index: 90;
  left: 0;
  top: 0;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(227, 199, 137, .42);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%, -50%, 0);
  transition: width .3s, height .3s, border-color .3s, opacity .3s;
}
.cursor-orbit::before, .cursor-orbit::after {
  content: "";
  position: absolute;
  background: var(--gold-hi);
}
.cursor-orbit::before { left: -4px; right: -4px; top: 50%; height: 1px; transform: scaleX(.22); }
.cursor-orbit::after { top: -4px; bottom: -4px; left: 50%; width: 1px; transform: scaleY(.22); }
.cursor-orbit i { position: absolute; inset: 9px; border: 1px solid rgba(227,199,137,.24); border-radius: 50%; }
body.has-pointer .cursor-orbit { opacity: 1; }
body.pointer-over-control .cursor-orbit { width: 58px; height: 58px; border-color: rgba(227,199,137,.75); }

.site-header {
  position: absolute;
  z-index: 30;
  top: 0;
  left: 0;
  width: 100%;
  height: 96px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(1.25rem, 4.5vw, 5rem);
  border-bottom: 1px solid rgba(255,255,255,.075);
  font-family: system-ui, sans-serif;
}
.brand { display: inline-flex; align-items: center; gap: 1rem; width: max-content; text-decoration: none; }
.brand svg { width: 36px; height: 36px; fill: none; stroke: var(--gold-hi); stroke-width: 1.2; filter: drop-shadow(0 0 12px rgba(205,166,87,.22)); }
.brand span { display: grid; gap: .1rem; line-height: 1; }
.brand b { font: 600 .72rem/1 system-ui,sans-serif; letter-spacing: .29em; }
.brand small { color: #777b7d; font: 500 .46rem/1 system-ui,sans-serif; letter-spacing: .23em; }
.edition { color: #6d7276; font-size: .56rem; letter-spacing: .22em; }
.about-link { justify-self: end; display: flex; align-items: center; gap: .9rem; color: #aeb0ad; font-size: .61rem; letter-spacing: .14em; text-decoration: none; }
.about-link i { position: relative; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; }
.about-link i::after { content:""; position:absolute; left:8px; top:14px; width:11px; height:1px; background:var(--gold-hi); transition:transform .3s; }
.about-link:hover i::after { transform: translateX(3px); }
.test-badge {
  position:fixed;
  z-index:95;
  right:clamp(1rem,2.5vw,2.8rem);
  bottom:1.1rem;
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.55rem .75rem;
  border:1px solid rgba(218,185,112,.25);
  background:rgba(3,7,10,.72);
  color:#8c9293;
  backdrop-filter:blur(12px);
  font:500 .49rem/1 system-ui,sans-serif;
  letter-spacing:.12em;
}
.test-badge b { color:#c7ae73; font-weight:600; letter-spacing:.18em; }

.hero {
  position: relative;
  z-index: 1;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 54% 34%, rgba(19,51,86,.72), transparent 43%),
    linear-gradient(118deg, #020407, #071322 48%, #030407);
}
.hero::after {
  content: "";
  position: absolute;
  z-index: 12;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 18vw 6vw rgba(0,0,0,.94);
}
.hero-noise {
  position: absolute;
  z-index: 11;
  inset: 0;
  pointer-events: none;
  opacity: .1;
  background-image:
    repeating-radial-gradient(circle at 17% 32%, transparent 0 1px, rgba(255,255,255,.08) 1.5px 2px, transparent 2.5px 4px),
    repeating-linear-gradient(98deg, transparent 0 79px, rgba(255,255,255,.015) 80px);
  background-size: 7px 7px, auto;
  mix-blend-mode: overlay;
}
.pointer-light {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle 26vw at var(--pointer-x) var(--pointer-y), rgba(203,173,108,.1), transparent 70%);
  opacity: calc(.25 + var(--light) * .5);
}
.cinematic-media {
  position:absolute;
  z-index:1;
  inset:-2.5%;
  overflow:hidden;
  pointer-events:none;
  background:#020305;
}
.cinematic-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(calc(.58 + var(--light) * .34)) saturate(calc(.78 + var(--light) * .24)) contrast(1.08);
  transform:scale(calc(1.035 + var(--light) * .012)) translate3d(calc(var(--cam-x) * -5px),calc(var(--cam-y) * -3px),0);
  transition:filter .25s linear;
  will-change:transform,filter;
}
.cinematic-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(1,3,5,.84) 0,rgba(1,3,5,.68) 19%,rgba(1,3,5,.14) 43%,transparent 68%),
    linear-gradient(180deg,rgba(0,0,0,.3),transparent 28%,transparent 68%,rgba(0,0,0,.54));
  opacity:calc(.94 - var(--light) * .25);
}
.cinematic-grade {
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 64% 41%,rgba(235,184,91,calc(var(--light) * .16)),transparent 23%),
    linear-gradient(115deg,rgba(3,10,17,.18),transparent 48%,rgba(49,20,7,.08));
  mix-blend-mode:screen;
}
.optical-overlay {
  position:absolute;
  z-index:4;
  top:11%;
  left:44%;
  width:37%;
  height:74%;
  overflow:visible;
  pointer-events:none;
  fill:none;
  stroke:#d7b66d;
  stroke-width:.08;
  stroke-dasharray:.5 1.1;
  opacity:calc(.025 + var(--light) * .16);
  filter:drop-shadow(0 0 7px rgba(223,184,101,.4));
}
.frame-lines { position: absolute; z-index: 20; inset: 112px clamp(1.2rem,2.5vw,2.8rem) 2.6rem; pointer-events: none; }
.frame-lines i { position: absolute; width: 38px; height: 38px; opacity: .55; }
.frame-lines i:nth-child(1) { left:0; top:0; border-left:1px solid var(--line); border-top:1px solid var(--line); }
.frame-lines i:nth-child(2) { right:0; top:0; border-right:1px solid var(--line); border-top:1px solid var(--line); }
.frame-lines i:nth-child(3) { left:0; bottom:0; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.frame-lines i:nth-child(4) { right:0; bottom:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }

.hero-copy {
  position: absolute;
  z-index: 18;
  left: clamp(1.6rem, 6.7vw, 7.5rem);
  top: 25%;
  width: min(38rem, 40vw);
  pointer-events: none;
  opacity: calc(1 - var(--light) * .35);
  transform: translate3d(calc(var(--cam-x) * -8px), calc(var(--cam-y) * -5px),0);
  transition: opacity .4s;
}
.kicker {
  display: flex;
  align-items: center;
  gap: .9rem;
  margin: 0 0 1.5rem;
  color: var(--gold-hi);
  font: 600 .61rem/1.4 system-ui,sans-serif;
  letter-spacing: .27em;
}
.kicker span { display:grid; place-items:center; width:24px; height:24px; border:1px solid rgba(220,188,119,.35); font-size:.52rem; letter-spacing:0; }
h1, h2 { margin: 0; font-weight: 400; line-height: 1.04; letter-spacing: -.045em; }
h1 { font-size: clamp(3.5rem, 6.4vw, 7.5rem); text-shadow: 0 10px 50px #000; }
h1 em, h2 em { color: var(--gold-hi); font-style: normal; }
h1 em { display:inline-block; white-space:nowrap; font-size:.82em; }
.hero-lead { margin: 2rem 0 0; color: #969a99; font-size: clamp(.84rem,1vw,.98rem); letter-spacing: .03em; }

.scene-stage {
  position: absolute;
  z-index: 16;
  inset: 0;
  pointer-events: none;
}
.scene-camera {
  position: relative;
  width: 100%;
  height: 100%;
  transform:none;
}
.scene-svg { display:none; }
.depth-back, .depth-symbol, .depth-main, .depth-front { transform-box: fill-box; transform-origin: center; }
.depth-back { transform: translate(calc(var(--cam-x) * -5px),calc(var(--cam-y) * -3px)); }
.depth-symbol { transform: translate(calc(var(--cam-x) * -1px),calc(var(--cam-y) * -1px)); }
.depth-main { transform: translate(calc(var(--cam-x) * 5px),calc(var(--cam-y) * 3px)); }
.depth-front { transform: translate(calc(var(--cam-x) * 10px),calc(var(--cam-y) * 6px)); }
.chamber-wall { opacity:.7; }
.vault-stars circle { fill:#e7c56d; opacity:calc(.3 + var(--light) * .6); filter:drop-shadow(0 0 5px #d9b15b); }
.arch { fill:none; stroke:#262a2a; stroke-linecap:round; filter:drop-shadow(0 22px 35px #000); }
.arch-outer { stroke-width:52; opacity:.48; }
.arch-mid { stroke-width:30; opacity:.7; }
.arch-inner { stroke:#3b3b37; stroke-width:16; opacity:.65; }
.portal-black { fill:#010203; stroke:#181c1e; stroke-width:3; }
.stained-glass { opacity:calc(.48 + var(--light) * .52); filter:brightness(calc(.78 + var(--light) * .62)) saturate(calc(.9 + var(--light) * .75)) drop-shadow(0 0 calc(4px + var(--light) * 22px) rgba(31,98,175,.52)); transition:opacity .4s; }
.glass-leading path { fill:none; stroke:#120c0a; stroke-width:9; stroke-linejoin:round; opacity:.92; }
.provident-eye > path:first-child { stroke:#e5b64f; stroke-width:8; }
.celestial circle:not(:first-child) { fill:#f6d879; filter:drop-shadow(0 0 4px #f2be4e); }
.portal-aura { opacity:calc(.025 + var(--light) * .82); transition:opacity .3s; filter:url(#goldGlow); }
.beam { fill:#f4d68f; opacity:calc(.005 + var(--light) * .18); mix-blend-mode:screen; transition:opacity .25s; }
.beam-core { opacity:calc(.005 + var(--light) * .28); filter:url(#fogNoise); }
.wall-marks path, .wall-marks circle { fill:none; stroke:#9b8253; stroke-width:1; }
.instruments { opacity:calc(.16 + var(--light) * .63); transition:opacity .4s; }
.geometry-ring, .geometry-axis { fill:none; stroke:#b59050; stroke-width:1; opacity:.24; }
.ring-a { stroke-dasharray:2 13; animation:ring-rotate 70s linear infinite; transform-origin:720px 444px; }
.ring-b { stroke-dasharray:70 18 2 18; animation:ring-rotate 48s linear infinite reverse; transform-origin:720px 444px; }
.geometry-axis { opacity:.09; }
.compass-mark { transform-origin:720px 260px; animation:tool-breathe 9s ease-in-out infinite; }
.square-mark { transform-origin:720px 550px; animation:square-float 11s ease-in-out infinite alternate; }
.pillars { opacity:calc(.74 + var(--light) * .26); transition:opacity .4s,filter .5s; }
.is-illuminated .pillars { filter:url(#deepShadow) brightness(1.09); }
.pillar { transform-box:fill-box; transform-origin:center bottom; transition:filter .4s; }
.shaft-detail path { fill:none; stroke:#181c1d; stroke-width:5; opacity:.31; }
.shaft-detail .stone-crack { stroke:#141718; stroke-width:2.2; opacity:.72; }
.engrave { fill:none; stroke:#242726; stroke-width:14; stroke-linecap:square; filter:drop-shadow(1px 1px 0 rgba(255,255,255,.16)); }
.pillar-right .engrave { fill:#252827; stroke:none; }
.pillar-id { fill:#c4b890; font:600 12px/1 system-ui,sans-serif; letter-spacing:6px; opacity:.54; }
.globe { filter:drop-shadow(0 20px 18px rgba(0,0,0,.76)); }
.globe ellipse,.globe > path:not(.land):not(.constellation) { fill:none; stroke:#d6c38f; stroke-width:1.5; opacity:.5; }
.globe .land { fill:#b8c8bd; opacity:.44; }
.globe .constellation { fill:none; stroke:#f1d278; stroke-width:1.5; opacity:.75; }
.globe circle:not(:first-child) { fill:#f5d67a; filter:drop-shadow(0 0 4px #d8a947); }
.altar { filter:drop-shadow(0 24px 19px rgba(0,0,0,.85)); opacity:calc(.7 + var(--light) * .3); }
.open-book { fill:#dfd6c2; stroke:#8b6a32; stroke-width:3; }
.candles path { fill:none; stroke:#d9cda9; stroke-width:9; }
.candles ellipse { fill:#ffc95c; filter:drop-shadow(0 0 10px #eaa632); animation:flame 2.2s ease-in-out infinite alternate; }
.floor path { fill:none; stroke:#4b4b43; stroke-width:1.1; opacity:.42; }
.floor > path:first-child { fill:url(#floorFade); stroke:none; opacity:1; }
.floor .mosaic-floor path { fill:#e3ded2; stroke:none; opacity:calc(.62 + var(--light) * .33); }
.floor .floor-grid { fill:none; stroke:#b9ad91; stroke-width:1.4; opacity:.38; }
.floor-light { fill:#c9a358; opacity:calc(.015 + var(--light) * .18); filter:url(#fogNoise); }
.threshold-gold { stroke:#d7b974 !important; opacity:calc(.2 + var(--light) * .8) !important; filter:url(#goldGlow); }
.fog { fill:#b9b7aa; opacity:calc(.025 + var(--light) * .11); mix-blend-mode:screen; pointer-events:none; }
.fog-a { animation:fog-drift 18s ease-in-out infinite alternate; }
.fog-b { animation:fog-drift 23s ease-in-out infinite alternate-reverse; }

.pillar-hit, .threshold {
  position:absolute;
  z-index:8;
  border:0;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
}
.pillar-hit { top:12%; width:13%; height:69%; outline:none; }
.pillar-hit-left { left:29.5%; }
.pillar-hit-right { right:12.5%; }
.pillar-hit::before {
  content:"";
  position:absolute;
  inset:4%;
  border:1px solid rgba(221,190,125,0);
  transition:border-color .35s,background .35s,box-shadow .35s;
}
.pillar-hit:hover::before, .pillar-hit:focus-visible::before { border-color:rgba(221,190,125,.52); background:linear-gradient(180deg,rgba(211,178,105,.035),transparent); box-shadow:inset 0 0 50px rgba(211,178,105,.035); }
.pillar-hit span { position:absolute; bottom:6%; font-family:system-ui,sans-serif; }
.hit-index { left:9%; color:#736a59; font-size:.56rem; }
.hit-name { right:9%; color:#c7b98f; font-size:.57rem; font-weight:600; letter-spacing:.26em; }
.pillar-hit i { position:absolute; left:9%; right:9%; bottom:3%; height:1px; background:linear-gradient(90deg,var(--gold-hi),transparent); transform:scaleX(.16); transform-origin:left; transition:transform .5s; }
.pillar-hit:hover i, .pillar-hit:focus-visible i { transform:scaleX(1); }
.threshold { top:17%; left:47%; width:20%; height:68%; outline:none; }
.threshold-ring { position:absolute; left:50%; top:33%; width:68px; height:68px; border:1px solid rgba(212,182,116,.18); border-radius:50%; transform:translate(-50%,-50%) scale(calc(.74 + var(--light) * .5)); opacity:calc(.25 + var(--light) * .65); transition:border-color .3s; }
.threshold-ring::before, .threshold-ring::after { content:""; position:absolute; border:1px solid rgba(212,182,116,.16); border-radius:50%; }
.threshold-ring::before { inset:9px; }
.threshold-ring::after { inset:-14px; border-style:dashed; animation:ring-rotate 20s linear infinite; }
.threshold-core { position:absolute; left:50%; top:33%; width:5px; height:5px; border-radius:50%; background:#e8ce8f; box-shadow:0 0 calc(12px + var(--light) * 42px) calc(var(--light) * 8px) #dfbd72; transform:translate(-50%,-50%); }
.threshold-copy { position:absolute; left:50%; bottom:4%; display:grid; gap:.35rem; width:max-content; text-align:center; transform:translateX(-50%); font-family:system-ui,sans-serif; }
.threshold-copy b { color:#cfbd93; font-size:.55rem; letter-spacing:.24em; }
.threshold-copy small { color:#60666a; font-size:.53rem; letter-spacing:.14em; }
.threshold:hover .threshold-ring, .threshold:focus-visible .threshold-ring { border-color:var(--gold-hi); }
.threshold:focus-visible { outline:none; }
.threshold:focus-visible .threshold-ring { border-color:var(--gold-hi); box-shadow:0 0 24px rgba(221,190,125,.22); }

.scene-meter {
  position:absolute;
  z-index:20;
  left:50%;
  bottom:4.3rem;
  display:flex;
  align-items:center;
  gap:.8rem;
  width:min(28rem,38vw);
  transform:translateX(-50%);
  color:#555c60;
  font:500 .48rem/1 system-ui,sans-serif;
  letter-spacing:.18em;
}
.scene-meter i { position:relative; flex:1; height:1px; background:rgba(255,255,255,.13); }
.scene-meter b { position:absolute; left:0; top:-1px; height:3px; width:calc(var(--light) * 100%); background:var(--gold-hi); box-shadow:0 0 12px rgba(222,187,111,.7); transition:width .15s linear; }
.interaction-note { position:absolute; z-index:20; left:clamp(1.6rem,6.7vw,7.5rem); bottom:4rem; display:flex; align-items:center; gap:.85rem; color:#666c70; font:500 .57rem/1 system-ui,sans-serif; letter-spacing:.16em; }
.interaction-note i { width:5px; height:5px; border:1px solid var(--gold-hi); transform:rotate(45deg); }
.scroll-cue { position:absolute; z-index:20; right:clamp(1.6rem,4.5vw,5rem); bottom:3.6rem; display:flex; align-items:center; gap:.9rem; color:#5e6468; font:500 .51rem/1 system-ui,sans-serif; letter-spacing:.2em; transform:rotate(90deg) translateX(100%); transform-origin:right center; }
.scroll-cue i { width:64px; height:1px; background:linear-gradient(90deg,#656a6c,transparent); }

.manifesto {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:clamp(3rem,8vw,10rem);
  min-height:100vh;
  padding:clamp(7rem,12vw,12rem) clamp(1.5rem,8vw,9rem);
  overflow:hidden;
  background:
    linear-gradient(rgba(245,239,225,.9),rgba(225,215,195,.94)),
    repeating-linear-gradient(0deg,transparent 0 5px,rgba(49,42,31,.08) 6px),
    repeating-linear-gradient(92deg,transparent 0 47px,rgba(61,48,31,.05) 48px);
  color:#121719;
}
.manifesto::before { content:""; position:absolute; width:46vw; aspect-ratio:1; right:-8vw; top:9rem; border:2px solid rgba(60,45,28,.07); transform:rotate(45deg); box-shadow:inset 0 0 0 4rem rgba(68,50,27,.018),inset 0 0 0 8rem rgba(68,50,27,.018); }
.engraving-plate { position:absolute; z-index:0; right:-3rem; top:2rem; width:min(52vw,50rem); color:#342b20; opacity:.075; mix-blend-mode:multiply; transform:rotate(1.5deg); }
.engraving-plate path { stroke-width:2; }
.engraving-plate .hatch { stroke-width:1; stroke-dasharray:7 3; }
.engraving-plate .serpent { stroke-width:8; }
.engraving-plate .small-stars { stroke-width:1.5; }
.engraving-plate .ground-lines { stroke-width:1; }
.section-number { position:absolute; right:-.03em; top:-.22em; color:rgba(14,21,24,.035); font:400 clamp(17rem,38vw,40rem)/1 Georgia,serif; letter-spacing:-.12em; }
.manifesto-head { position:relative; z-index:2; align-self:start; }
.manifesto .kicker, .instrument-section .kicker { color:#785c2c; }
.manifesto h2, .instrument-section h2 { font-size:clamp(3rem,6vw,7rem); }
.manifesto h2 em { color:#8a6834; }
.manifesto-copy { position:relative; z-index:2; padding-top:4.5rem; }
.large-copy { margin:0 0 2.3rem; font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.85; }
.manifesto-copy p:last-child { max-width:39rem; color:#565b5b; }
.evidence-ledger { position:relative; z-index:2; grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(3rem,7vw,7rem); border-top:1px solid rgba(20,25,27,.23); }
.evidence-ledger article { position:relative; min-height:21rem; padding:2rem clamp(1.1rem,2.5vw,2.7rem) 3rem; border-right:1px solid rgba(20,25,27,.18); }
.evidence-ledger article:first-child { border-left:1px solid rgba(20,25,27,.18); }
.ledger-meta { display:flex; justify-content:space-between; margin-bottom:4.5rem; font:600 .57rem/1 system-ui,sans-serif; letter-spacing:.16em; }
.ledger-meta b { color:#99988f; font-weight:500; }
.fact { color:#326248; }.reading { color:#8a6029; }.staging { color:#765066; }
.evidence-ledger h3 { margin:0 0 1rem; font-size:clamp(1.35rem,2vw,1.7rem); font-weight:400; }
.evidence-ledger p { margin:0; color:#555a59; font-size:.88rem; }
.evidence-ledger article > i { position:absolute; left:2.5rem; bottom:2rem; width:26px; height:1px; background:#8b6c36; transition:width .7s; }
.evidence-ledger article:hover > i { width:70px; }

.instrument-section {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  align-items:center;
  min-height:100vh;
  padding:clamp(7rem,10vw,10rem) clamp(1.5rem,8vw,9rem);
  overflow:hidden;
  background:
    radial-gradient(circle at 28% 45%,rgba(22,76,127,.42),transparent 36%),
    radial-gradient(circle at 28% 48%,#0c2341,#041126 52%,#020610 100%);
}
.instrument-section::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 49.9%,rgba(216,183,113,.13) 50%,transparent 50.1%); }
.instrument-visual { position:relative; display:grid; place-items:center; }
.instrument-visual::before { content:""; position:absolute; width:65%; aspect-ratio:1; border-radius:50%; background:rgba(195,157,82,.08); filter:blur(80px); }
.instrument-visual svg { position:relative; width:min(100%,48rem); overflow:visible; }
.orbit-lines { opacity:.2; stroke-dasharray:2 12; }
.orbit-lines circle:first-child { animation:ring-rotate 50s linear infinite; transform-origin:center; }
.study-tools { transform-origin:360px 360px; animation:study-float 8s ease-in-out infinite; }
.scan-dot { transform-origin:360px 360px; animation:scan 12s linear infinite; filter:drop-shadow(0 0 8px #d5b56e); }
.instrument-copy { max-width:40rem; padding-left:clamp(1rem,4vw,5rem); }
.instrument-copy p:not(.kicker) { color:#a2a6a4; }
.instrument-copy .caveat { margin-top:3rem; padding:1.4rem 0 0 1.3rem; border-top:1px solid rgba(255,255,255,.12); border-left:1px solid var(--gold); font-size:.82rem; }
.caveat b { display:block; margin-bottom:.45rem; color:#c7b487; font:600 .58rem/1 system-ui,sans-serif; letter-spacing:.18em; }

.disclaimer { position:relative; z-index:2; display:grid; grid-template-columns:.5fr 1.7fr auto; gap:3rem; align-items:start; padding:4rem clamp(1.5rem,8vw,9rem); border-top:1px solid rgba(255,255,255,.08); background:#020405; color:#7e8383; font:500 .68rem/1.8 system-ui,sans-serif; letter-spacing:.04em; }
.disclaimer span { color:#a98b53; font-size:.55rem; letter-spacing:.22em; }
.disclaimer p { max-width:55rem; margin:0; }
.disclaimer a { color:#c1b38f; text-decoration:none; letter-spacing:.12em; }
.disclaimer a i { margin-left:.5rem; font-style:normal; }

.reveal { opacity:0; transform:translateY(28px); transition:opacity 1s cubic-bezier(.2,.75,.2,1),transform 1s cubic-bezier(.2,.75,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
.evidence-ledger article:nth-child(2) { transition-delay:.1s; }
.evidence-ledger article:nth-child(3) { transition-delay:.2s; }

.panel-backdrop { position:fixed; z-index:100; inset:0; background:rgba(1,3,5,.76); backdrop-filter:blur(12px) saturate(.6); }
.symbol-panel { position:fixed; z-index:101; top:0; right:0; width:min(43rem,100%); height:100%; overflow:auto; padding:clamp(5.5rem,9vw,8rem) clamp(2rem,6vw,6rem) 4rem; border-left:1px solid rgba(211,180,112,.25); background:linear-gradient(145deg,#111b23,#071018 58%,#050a0e); box-shadow:-40px 0 120px #000; }
.symbol-panel[hidden],.panel-backdrop[hidden] { display:none; }
.symbol-panel.is-opening { animation:panel-in .75s cubic-bezier(.16,1,.3,1) both; }
.panel-rail { position:absolute; left:0; top:0; bottom:0; width:3rem; border-right:1px solid rgba(255,255,255,.06); }
.panel-rail span { position:absolute; top:0; left:0; right:0; height:20%; background:linear-gradient(#b5904e,transparent); opacity:.35; }
.panel-rail i { position:absolute; top:50%; left:50%; width:5px; height:5px; border:1px solid var(--gold); transform:translate(-50%,-50%) rotate(45deg); }
.panel-rail small { position:absolute; bottom:2rem; left:50%; width:max-content; color:#4e5559; font:500 .48rem/1 system-ui,sans-serif; letter-spacing:.2em; transform:rotate(-90deg) translateY(-50%); transform-origin:left top; }
.panel-close { position:absolute; top:2rem; right:2rem; width:48px; height:48px; border:1px solid rgba(255,255,255,.17); border-radius:50%; background:transparent; cursor:pointer; }
.panel-close span { position:absolute; left:14px; right:14px; top:23px; height:1px; background:#d5c7a3; transition:transform .3s; }
.panel-close span:first-child { transform:rotate(45deg); }.panel-close span:last-child{transform:rotate(-45deg);}
.panel-close:hover span:first-child,.panel-close:focus-visible span:first-child{transform:rotate(135deg)}
.panel-close:hover span:last-child,.panel-close:focus-visible span:last-child{transform:rotate(45deg)}
.panel-close:focus-visible { outline:1px solid var(--gold-hi); outline-offset:4px; }
.panel-index { margin:0 0 1rem; color:var(--gold-hi); font:600 .58rem/1 system-ui,sans-serif; letter-spacing:.28em; }
.symbol-panel h2 { font-size:clamp(4rem,8vw,7.5rem); }
.panel-subtitle { margin:.6rem 0 3rem; color:#969b99; font-size:.95rem; font-style:italic; }
.panel-rule { height:1px; margin:0 0 1.4rem; background:rgba(255,255,255,.11); }
.panel-rule i { display:block; width:0; height:1px; background:var(--gold-hi); animation:rule-draw 1.2s .3s cubic-bezier(.2,.8,.2,1) forwards; }
.panel-sections section { position:relative; display:grid; grid-template-columns:8rem 1fr; gap:1.5rem; padding:1.7rem 0; border-bottom:1px solid rgba(255,255,255,.09); }
.panel-sections h3 { margin:0; font:600 .58rem/1.4 system-ui,sans-serif; letter-spacing:.17em; }
.panel-sections p { margin:0; color:#b5b9b6; font-size:.88rem; }
body.panel-open { overflow:hidden; }
.noscript { position:fixed; z-index:200; bottom:0; width:100%; margin:0; padding:1rem; background:#8b6129; color:white; text-align:center; }

@keyframes ring-rotate { to { transform:rotate(360deg); } }
@keyframes tool-breathe { 0%,100%{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(1.2deg) translateY(-9px)} }
@keyframes square-float { from{transform:translateY(6px) rotate(-.6deg)}to{transform:translateY(-7px) rotate(.6deg)} }
@keyframes fog-drift { from{transform:translateX(-45px) scaleX(.92)}to{transform:translateX(55px) scaleX(1.08)} }
@keyframes study-float { 0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-14px) rotate(.5deg)} }
@keyframes scan { to{transform:rotate(360deg)} }
@keyframes panel-in { from{transform:translateX(100%);clip-path:inset(0 0 0 100%)}to{transform:none;clip-path:inset(0)} }
@keyframes rule-draw { to{width:100%} }
@keyframes flame { from{transform:scaleY(.88);opacity:.72}to{transform:scaleY(1.1);opacity:1} }

@media (max-width: 980px) {
  .site-header { grid-template-columns:1fr auto; height:78px; }
  .edition { display:none; }
  .hero { min-height:920px; }
  .hero-copy { top:13%; left:1.5rem; width:min(34rem,calc(100% - 3rem)); }
  h1 { font-size:clamp(3.2rem,11vw,5.8rem); }
  .scene-stage { inset:0; }
  .scene-camera { transform:none; }
  .frame-lines { inset:92px 1rem 1rem; }
  .scene-meter { bottom:3.5rem; width:52vw; }
  .interaction-note { left:1.5rem; bottom:2.2rem; }
  .scroll-cue { display:none; }
  .manifesto { grid-template-columns:1fr; min-height:auto; gap:3rem; }
  .manifesto-copy { padding-top:0; }
  .evidence-ledger { grid-template-columns:1fr; }
  .evidence-ledger article { min-height:auto; padding:2rem 1rem 4rem; border-left:1px solid rgba(20,25,27,.18); }
  .ledger-meta { margin-bottom:2.5rem; }
  .instrument-section { grid-template-columns:1fr; }
  .instrument-visual { order:2; }
  .instrument-copy { order:1; padding-left:0; }
  .disclaimer { grid-template-columns:1fr; gap:1.2rem; }
}

@media (max-width: 580px) {
  .site-header { height:66px; padding:0 1rem; }
  .brand { gap:.65rem; }.brand svg{width:28px;height:28px}.brand b{font-size:.58rem}.brand small{display:none}
  .about-link span { display:none; }
  .test-badge { right:.75rem; bottom:.75rem; gap:.45rem; padding:.45rem .55rem; }
  .test-badge b { font-size:.44rem; }
  .test-badge span { font-size:.43rem; }
  .hero { min-height:820px; }
  .hero-copy { top:11%; }
  .hero-copy .kicker { margin-bottom:1rem; }
  .hero-lead { margin-top:1.1rem; max-width:17rem; font-size:.75rem; }
  .cinematic-media { inset:-1.5%; }
  .cinematic-media img { object-position:center; filter:brightness(calc(.5 + var(--light) * .38)) saturate(calc(.75 + var(--light) * .3)) contrast(1.08); }
  .cinematic-media::after { background:linear-gradient(180deg,rgba(1,3,5,.76) 0,rgba(1,3,5,.42) 24%,transparent 47%,rgba(0,0,0,.38) 100%); opacity:calc(.9 - var(--light) * .22); }
  .optical-overlay { top:31%; left:20%; width:60%; height:50%; }
  .scene-stage { inset:0; }
  .pillar-hit { top:24%; width:24%; height:58%; }
  .pillar-hit-left { left:0; }
  .pillar-hit-right { right:0; }
  .hit-index { display:none; }
  .hit-name { right:4%; font-size:.48rem; }
  .pillar-hit i { left:4%; right:4%; }
  .threshold { top:33%; left:33%; width:34%; height:51%; }
  .threshold-copy b { font-size:.46rem; }
  .threshold-copy small { display:none; }
  .threshold-ring { width:48px; height:48px; }
  .scene-meter { left:50%; bottom:4rem; width:65vw; }
  .interaction-note { left:50%; bottom:1.9rem; transform:translateX(-50%); width:max-content; font-size:.5rem; }
  .frame-lines { inset:78px .7rem .7rem; }
  .manifesto,.instrument-section { padding:5.8rem 1.35rem; }
  .manifesto h2,.instrument-section h2 { font-size:clamp(2.8rem,14vw,4.6rem); }
  .large-copy { font-size:1.08rem; }
  .section-number { font-size:18rem; }
  .engraving-plate { width:115vw; right:-45vw; top:13rem; opacity:.055; }
  .instrument-visual svg { width:115%; max-width:none; }
  .disclaimer { padding:3rem 1.35rem; }
  .symbol-panel { padding:5.5rem 1.5rem 3rem 3.5rem; }
  .panel-rail { width:2.3rem; }
  .panel-close { top:1.2rem; right:1.2rem; }
  .panel-sections section { grid-template-columns:1fr; gap:.7rem; }
}

@media (pointer:coarse) {
  .cursor-orbit { display:none; }
  .pillar-hit::before { border-color:rgba(221,190,125,.14); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .scene-camera,.depth-back,.depth-symbol,.depth-main,.depth-front,.hero-copy { transform:none !important; }
  .cursor-orbit,#dust-canvas { display:none; }
  .reveal { opacity:1; transform:none; }
}

/* Single-screen ritual stage */
html, body { width:100%; height:100%; overflow:hidden; }
main { height:100%; }
.hero { width:100%; height:100dvh; min-height:0; }
.manifesto, .instrument-section, .disclaimer, .scroll-cue { display:none !important; }
.about-link { border:0; background:transparent; cursor:pointer; }
.site-header { height:clamp(68px,9vh,96px); }
.test-badge { top:calc(clamp(68px,9vh,96px) + 1rem); bottom:auto; }

.hero-copy { top:24%; width:min(35rem,38vw); }
.hero-copy h1 { font-size:clamp(3.3rem,5.8vw,6.8rem); }
.hero-lead { max-width:31rem; }

.ascent-axis {
  position:absolute;
  z-index:17;
  left:57%;
  top:18%;
  width:44px;
  height:58%;
  pointer-events:none;
  transform:translateX(-50%);
}
.ascent-axis::before {
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(transparent,rgba(198,163,91,.22) 14%,rgba(198,163,91,.22) 86%,transparent);
}
.ascent-axis span {
  position:absolute;
  left:50%;
  bottom:0;
  width:2px;
  height:calc(var(--ascent, 0) * 100%);
  background:linear-gradient(0deg,#8c622c,#f2d89c 75%,#fff6d1);
  box-shadow:0 0 9px #d7aa55,0 0 32px rgba(232,190,105,.72);
  transform:translateX(-50%);
  transition:height 1.2s cubic-bezier(.16,1,.3,1);
}
.ascent-axis i {
  position:absolute;
  left:50%;
  width:7px;
  height:7px;
  border:1px solid rgba(211,178,105,.4);
  border-radius:50%;
  background:#05080b;
  transform:translate(-50%,50%);
  transition:background .7s,box-shadow .7s,transform .7s;
}
.ascent-axis i:nth-of-type(1){bottom:0}.ascent-axis i:nth-of-type(2){bottom:20%}.ascent-axis i:nth-of-type(3){bottom:40%}
.ascent-axis i:nth-of-type(4){bottom:60%}.ascent-axis i:nth-of-type(5){bottom:80%}.ascent-axis i:nth-of-type(6){bottom:100%}
.ascent-axis i.is-awake { background:#f0d28e; box-shadow:0 0 10px #e9bc61,0 0 34px rgba(223,177,83,.78); transform:translate(-50%,50%) scale(1.45); }

.ritual-tools {
  position:absolute;
  z-index:14;
  left:40%;
  top:10%;
  width:34vw;
  max-width:530px;
  height:76%;
  overflow:visible;
  pointer-events:none;
  fill:none;
  stroke:#d0aa62;
  stroke-width:.8;
  opacity:calc(.04 + var(--ascent, 0) * .2);
  filter:drop-shadow(0 0 8px rgba(213,170,81,.42));
  transition:opacity 1s,transform 1.2s cubic-bezier(.16,1,.3,1);
}
.tool-orbit { stroke-dasharray:1 10; transform-origin:210px 210px; }
.orbit-a { animation:ring-rotate 72s linear infinite; }
.orbit-b { stroke-dasharray:42 12 2 12; animation:ring-rotate 51s linear infinite reverse; }
.tool-axis { opacity:.28; stroke-dasharray:2 9; }
.floating-compass { transform-origin:210px 102px; animation:tool-breathe 9s ease-in-out infinite; }
.floating-compass path { stroke-width:3; }
.floating-square { transform-origin:210px 274px; animation:square-float 12s ease-in-out infinite alternate; }
.floating-square path:first-child { stroke-width:3; }
.floating-square path:last-child { opacity:.28; }

.owl-flight {
  position:absolute;
  z-index:23;
  left:52%;
  top:53%;
  width:clamp(90px,12vw,190px);
  overflow:visible;
  pointer-events:none;
  opacity:0;
  fill:#050608;
  stroke:#d5b66f;
  stroke-width:1.1;
  filter:drop-shadow(0 8px 14px #000) drop-shadow(0 0 8px rgba(232,193,111,.3));
}
.owl-flight circle { fill:#f1cd77; stroke:none; filter:drop-shadow(0 0 5px #e9aa38); }
.owl-flight.is-flying { animation:owl-launch 5.4s cubic-bezier(.2,.65,.2,1) both; }
.owl-flight.is-flying .owl-wing-left { transform-origin:100% 55%; animation:wing-left .42s ease-in-out 11 alternate; }
.owl-flight.is-flying .owl-wing-right { transform-origin:0 55%; animation:wing-right .42s ease-in-out 11 alternate; }

.relic-controls {
  position:absolute;
  z-index:27;
  right:clamp(1.2rem,3.2vw,3.8rem);
  top:40%;
  display:grid;
  gap:1rem;
}
.relic-controls::before {
  content:"UNREGISTERED MARKS";
  position:absolute;
  right:3.5rem;
  top:50%;
  width:max-content;
  color:#555d61;
  font:500 .43rem/1 system-ui,sans-serif;
  letter-spacing:.24em;
  transform:rotate(-90deg) translateY(-50%);
  transform-origin:right top;
}
.relic-controls button {
  position:relative;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(218,185,112,.19);
  border-radius:50%;
  background:rgba(2,5,8,.32);
  color:#706d64;
  cursor:pointer;
  backdrop-filter:blur(5px);
  transition:border-color .35s,color .35s,transform .35s,box-shadow .35s;
}
.relic-controls button i { position:absolute; inset:7px; border:1px dotted rgba(212,180,109,.2); border-radius:50%; }
.relic-controls button span { font:500 .48rem/1 Georgia,serif; }
.relic-controls button:hover,.relic-controls button:focus-visible,.relic-controls button[aria-pressed="true"] { color:#efd48f; border-color:#cba65d; box-shadow:0 0 24px rgba(211,169,80,.2); transform:scale(1.12); outline:none; }
.relic-caption {
  position:absolute;
  z-index:24;
  right:clamp(5rem,9vw,10rem);
  bottom:3.7rem;
  max-width:28rem;
  color:#656c6e;
  font:.56rem/1.6 system-ui,sans-serif;
  letter-spacing:.12em;
  text-align:right;
}
.phase-readout {
  position:absolute;
  z-index:24;
  right:clamp(1.2rem,3.2vw,3.8rem);
  bottom:4rem;
  display:grid;
  justify-items:end;
  gap:.15rem;
  color:#555c60;
  font:500 .43rem/1 system-ui,sans-serif;
  letter-spacing:.16em;
}
.phase-readout b { color:#c6a760; font:400 1.6rem/1 Georgia,serif; letter-spacing:0; }

.effect-echo .threshold-ring { animation:echo-rings 1.25s ease-out 3; }
.effect-mirror .optical-overlay { transform:rotateY(180deg) scale(1.04); opacity:.32; transition:transform 1.4s cubic-bezier(.16,1,.3,1),opacity .6s; }
.effect-stars .ritual-tools { opacity:.38; transform:rotate(9deg) scale(1.07); }
.effect-stars .cinematic-grade { background:radial-gradient(circle at 60% 28%,rgba(236,208,144,.2),transparent 28%),linear-gradient(115deg,rgba(3,10,17,.18),transparent 48%,rgba(49,20,7,.08)); }

@keyframes owl-launch {
  0% { opacity:0; transform:translate3d(-2vw,16vh,0) scale(.28) rotate(-7deg); }
  12% { opacity:.92; }
  42% { opacity:1; transform:translate3d(-7vw,-12vh,0) scale(.72) rotate(6deg); }
  74% { opacity:.86; transform:translate3d(8vw,-43vh,0) scale(.48) rotate(-4deg); }
  100% { opacity:0; transform:translate3d(22vw,-78vh,0) scale(.12) rotate(9deg); }
}
@keyframes wing-left { from{transform:rotate(22deg)}to{transform:rotate(-25deg)} }
@keyframes wing-right { from{transform:rotate(-22deg)}to{transform:rotate(25deg)} }
@keyframes echo-rings { 0%{box-shadow:0 0 0 0 rgba(222,188,110,.35)}100%{box-shadow:0 0 0 58px rgba(222,188,110,0)} }

@media (max-width: 980px) {
  .hero { height:100dvh; min-height:0; }
  .hero-copy { top:15%; width:min(32rem,62vw); }
  .hero-copy h1 { font-size:clamp(3rem,8vw,5.4rem); }
  .ritual-tools { left:34%; width:52vw; }
  .ascent-axis { left:57%; }
  .relic-caption { display:none; }
  .interaction-note { bottom:1.6rem; }
  .scene-meter { bottom:3.8rem; }
  .phase-readout { bottom:1.5rem; }
}

@media (max-width: 580px) {
  .site-header { height:66px; }
  .test-badge { top:76px; right:.7rem; bottom:auto; }
  .hero { height:100dvh; min-height:0; }
  .hero-copy { top:12%; left:1.25rem; width:72vw; }
  .hero-copy h1 { font-size:clamp(2.6rem,12vw,4rem); line-height:1.02; }
  .hero-lead { margin-top:1rem; max-width:70vw; font-size:.68rem; line-height:1.8; }
  .kicker { margin-bottom:.75rem; font-size:.48rem; }
  .ritual-tools { left:25%; top:20%; width:72vw; height:62%; }
  .ascent-axis { left:50%; top:31%; height:43%; }
  .owl-flight { left:41%; top:56%; width:100px; }
  .relic-controls { right:.65rem; top:38%; gap:.7rem; }
  .relic-controls::before { display:none; }
  .relic-controls button { width:34px; height:34px; }
  .scene-meter { bottom:4rem; width:58vw; }
  .scene-meter span { display:none; }
  .interaction-note { left:1.2rem; bottom:1.15rem; width:68vw; transform:none; font-size:.45rem; line-height:1.5; }
  .phase-readout { right:.75rem; bottom:1rem; }
  .threshold { top:31%; left:34%; width:32%; height:45%; }
  .threshold-copy { bottom:-5%; }
  .pillar-hit { top:27%; height:49%; }
}

@media (prefers-reduced-motion: reduce) {
  .owl-flight.is-flying { opacity:.78; transform:translate3d(8vw,-34vh,0) scale(.42); }
  .ascent-axis span { transition:none; }
}
