:root {
  --ice: #bfe3f0;
  --ice-pale: #e9f8fb;
  --frost: #f7fdff;
  --glacial: #14507a;
  --deep: #062c48;
  --abyss: #031c2d;
  --orange: #ff6422;
  --mono: 'JetBrains Mono', monospace;
  --display: 'Sora', sans-serif;
  --hairline: rgba(20, 80, 122, .22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ice-pale); }
body { margin: 0; min-width: 320px; overflow-x: clip; color: var(--deep); background: var(--ice-pale); font-family: var(--display); }
button, a { font: inherit; }
a { color: inherit; }
::selection { color: white; background: var(--orange); }

.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 12px 16px; color: #fff; background: var(--deep); transform: translateY(-150%); transition: transform .2s; }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.grain { position: fixed; inset: 0; z-index: 80; opacity: .045; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 34px; color: var(--deep); border-bottom: 1px solid rgba(20,80,122,.18); background: rgba(231,247,251,.83); backdrop-filter: blur(18px); }
.facility-mark { display: flex; width: max-content; gap: 10px; align-items: center; text-decoration: none; font: 700 9px/1.1 var(--mono); letter-spacing: .17em; }
.mark-number { display: grid; width: 42px; height: 42px; place-items: center; color: white; background: var(--glacial); font: 700 16px var(--mono); letter-spacing: -.08em; clip-path: polygon(0 0,85% 0,100% 35%,100% 100%,15% 100%,0 65%); }
.site-header nav { display: flex; gap: 38px; }
.site-header nav a { position: relative; padding: 16px 2px; text-decoration: none; font: 600 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.site-header nav a::after { position: absolute; right: 0; bottom: 9px; left: 0; height: 2px; content: ''; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.site-header nav a:hover::after { transform: scaleX(1); }
.cold-status { justify-self: end; display: flex; align-items: center; gap: 8px; font: 600 10px var(--mono); letter-spacing: .06em; }
.cold-status span { color: rgba(6,44,72,.6); }
.cold-status i { width: 7px; height: 7px; border-radius: 50%; background: #21a86b; box-shadow: 0 0 0 5px rgba(33,168,107,.12); }

.core-rig { position: fixed; z-index: 20; top: 104px; right: 3vw; bottom: 28px; width: clamp(310px, 27vw, 420px); pointer-events: none; }
.depth-head { position: absolute; top: 0; right: 0; left: 0; z-index: 4; padding: 10px 12px 14px; border: 1px solid rgba(255,255,255,.25); color: white; background: rgba(3,38,61,.52); box-shadow: 0 10px 26px rgba(3,28,45,.12); backdrop-filter: blur(10px); text-shadow: 0 1px 10px rgba(3,28,45,.55); }
.depth-head .eyebrow { display: block; margin-bottom: 2px; font: 600 8px var(--mono); letter-spacing: .15em; opacity: .75; }
.depth-head strong { display: block; font: 300 clamp(34px,4vw,62px)/1 var(--mono); letter-spacing: -.07em; font-variant-numeric: tabular-nums; }
.depth-head strong small { font: 500 12px var(--mono); letter-spacing: 0; }
.depth-head div { display: flex; justify-content: space-between; margin-top: 6px; font: 600 9px var(--mono); letter-spacing: .08em; }
.core-stage { position: absolute; top: 104px; right: 100px; bottom: 52px; left: 33px; }
.ice-core { position: absolute; inset: 0 26% 0 25%; overflow: hidden; border: 1px solid rgba(255,255,255,.68); border-radius: 49% 51% 46% 54% / 2% 2% 2% 2%; background:
  linear-gradient(90deg,rgba(7,54,86,.36),rgba(221,252,255,.7) 15%,rgba(126,207,232,.5) 43%,rgba(255,255,255,.92) 56%,rgba(42,128,175,.58) 74%,rgba(2,46,76,.45)),
  linear-gradient(180deg,#cfedf5,#68afd0 47%,#1b648f 100%);
  box-shadow: inset 11px 0 18px rgba(255,255,255,.44), inset -14px 0 22px rgba(4,49,80,.32), 0 0 40px rgba(179,231,245,.45), 0 20px 45px rgba(4,41,65,.25);
}
.core-cap { position: absolute; z-index: 4; top: -7px; left: 4%; width: 92%; height: 18px; border-radius: 50%; background: rgba(235,253,255,.83); box-shadow: 0 2px 8px rgba(13,74,109,.25); }
.core-bands { position: absolute; inset: 0; background: repeating-linear-gradient(180deg,transparent 0 7px,rgba(4,54,88,.22) 8px,rgba(255,255,255,.26) 9px,transparent 11px 19px); background-position-y: var(--band-offset, 0px); opacity: .86; }
.core-bands::after { position: absolute; inset: 0; content: ''; background: repeating-linear-gradient(180deg, transparent 0 52px, rgba(2,34,55,.28) 53px 55px, rgba(244,253,255,.35) 56px 58px); }
.core-caustic { position: absolute; inset: -30% -80%; background: linear-gradient(100deg,transparent 39%,rgba(255,255,255,.48) 46%,transparent 53%); animation: shimmer 5s ease-in-out infinite; }
.core-bubbles { position: absolute; inset: 0; opacity: .46; background-image: radial-gradient(circle at 22% 8%,#fff 0 1px,transparent 2px),radial-gradient(circle at 74% 14%,#fff 0 2px,transparent 3px),radial-gradient(circle at 38% 31%,#fff 0 1px,transparent 2px),radial-gradient(circle at 70% 58%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 32% 76%,#fff 0 2px,transparent 3px); background-size: 51px 73px,67px 91px,43px 61px,79px 87px,57px 105px; }
@keyframes shimmer { 0%,100% { transform: translateX(-13%) skewX(-8deg); } 50% { transform: translateX(17%) skewX(5deg); } }
.depth-scale { position: absolute; inset: 0 auto 0 0; display: flex; flex-direction: column; justify-content: space-between; color: rgba(255,255,255,.74); font: 500 7px var(--mono); }
.depth-scale::after { position: absolute; top: 4px; bottom: 4px; left: 27px; width: 1px; content: ''; background: repeating-linear-gradient(to bottom,rgba(255,255,255,.55) 0 1px,transparent 1px 10px); }
.event-layer { position: absolute; inset: 0; pointer-events: none; }
.event { position: absolute; z-index: 6; top: var(--p); left: 51%; display: flex; width: max-content; min-height: 36px; align-items: center; padding: 0 0 0 28px; border: 0; color: white; background: none; cursor: pointer; pointer-events: auto; font: 650 8px var(--mono); letter-spacing: .07em; text-transform: uppercase; text-shadow: 0 1px 6px var(--deep); }
.event::before { position: absolute; left: -8px; width: 29px; height: 1px; content: ''; background: var(--orange); box-shadow: 0 0 8px rgba(255,100,34,.8); }
.event::after { position: absolute; left: -10px; width: 4px; height: 4px; border-radius: 50%; content: ''; background: white; }
.event span { padding: 4px 6px; background: rgba(4,44,71,.62); }
.event-popover { position: absolute; z-index: 9; top: 45%; left: -30px; width: 230px; padding: 14px; color: var(--deep); background: rgba(242,253,255,.96); border-left: 3px solid var(--orange); box-shadow: 0 12px 28px rgba(3,28,45,.23); pointer-events: auto; font: 500 9px/1.6 var(--mono); }
.event-popover b { display: block; margin-bottom: 3px; color: var(--glacial); }
.chart-shell { position: absolute; top: 105px; right: 0; bottom: 52px; width: 90px; overflow: hidden; border-left: 1px solid rgba(255,255,255,.27); background: rgba(3,37,59,.16); }
#co2Chart { width: 100%; height: 100%; display: block; }
.chart-label { position: absolute; z-index: 2; top: 8px; right: 7px; color: white; text-align: right; font: 500 8px var(--mono); }
.chart-label span { display: block; font-size: 14px; font-weight: 700; }
.chart-axis { position: absolute; inset: auto 4px 5px; display: flex; justify-content: space-between; color: rgba(255,255,255,.82); font: 600 7px var(--mono); }
.rig-note { position: absolute; right: 0; bottom: 0; margin: 0; color: rgba(255,255,255,.8); font: 500 7px var(--mono); letter-spacing: .15em; }

main { position: relative; z-index: 5; }
.section-panel { position: relative; min-height: 110vh; padding: 160px max(6vw,40px) 100px; overflow: hidden; }
.hero { min-height: 1080px; height: 100vh; color: var(--deep); background:
  radial-gradient(circle at 70% 33%,rgba(255,255,255,.72),transparent 28%),
  linear-gradient(115deg,#f1fcfe 0%,#b8e3f0 48%,#3e89b2 77%,#0c3f62 100%); }
.hero::before { position: absolute; inset: 0; content: ''; background-image: linear-gradient(rgba(20,80,122,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(20,80,122,.1) 1px,transparent 1px); background-size: 84px 84px; mask-image: linear-gradient(90deg,#000,transparent 72%); }
.hero-code { position: absolute; top: 116px; left: 6vw; font: 500 9px var(--mono); letter-spacing: .17em; }
.hero-title-wrap { position: relative; z-index: 2; width: 62%; margin-top: 8vh; }
.kicker,.section-index { margin: 0 0 24px; font: 650 10px var(--mono); letter-spacing: .2em; }
.hero h1 { margin: 0; font: 700 clamp(72px,10vw,154px)/.78 var(--display); letter-spacing: -.085em; }
.hero h1 span { color: transparent; -webkit-text-stroke: 1.5px var(--glacial); }
.hero-intro { width: 480px; max-width: 72%; margin: 44px 0 0 26%; font-size: 17px; line-height: 1.7; }
.hero-intro strong { color: var(--glacial); }
.hero-meta { position: absolute; bottom: 55px; left: 6vw; display: flex; gap: 46px; font: 500 8px/1.6 var(--mono); letter-spacing: .12em; }
.hero-meta b { font-size: 11px; }
.descend-cue { position: absolute; right: calc(3vw + clamp(310px,27vw,420px) + 45px); bottom: 48px; display: flex; gap: 12px; align-items: center; padding: 12px 0; text-decoration: none; font: 600 9px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.descend-cue i { width: 32px; height: 32px; border: 1px solid var(--glacial); border-radius: 50%; }
.descend-cue i::after { display: block; width: 5px; height: 5px; margin: 10px auto; border-right: 1px solid var(--glacial); border-bottom: 1px solid var(--glacial); content: ''; transform: rotate(45deg); animation: drop 1.8s infinite; }
@keyframes drop { 0%{transform:translateY(-2px) rotate(45deg);opacity:0} 50%{opacity:1} 100%{transform:translateY(7px) rotate(45deg);opacity:0} }
.door-stencil { position: absolute; top: 34%; right: -1%; color: rgba(255,255,255,.11); font: 800 110px/.8 var(--display); letter-spacing: -.1em; transform: rotate(90deg); }

.split-left { padding-right: calc(34vw + 70px); }
.split-right { padding-left: calc(30vw + 35px); padding-right: calc(30vw + 80px); }
.section-copy { position: relative; z-index: 3; max-width: 700px; }
.section-copy h2 { max-width: 690px; margin: 0 0 32px; font: 550 clamp(40px,5.1vw,78px)/1.02 var(--display); letter-spacing: -.055em; }
.section-copy > p:not(.section-index) { max-width: 590px; font-size: 16px; line-height: 1.75; }
.section-index.orange { color: var(--orange); }
.descent { color: #dff5fb; background: linear-gradient(125deg,#0d466b,#276f98 55%,#0a3959); }
.descent::after,.saw-room::after,.ash-layer::after,.bubble-lab::after,.interstadial::after,.archive::after { position: absolute; inset: 0; content: ''; pointer-events: none; background: linear-gradient(100deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size: 21px 100%; opacity: .4; }
.metric-grid { display: grid; grid-template-columns: 1fr 1fr; max-width: 590px; margin: 50px 0 0; border-top: 1px solid rgba(255,255,255,.3); border-left: 1px solid rgba(255,255,255,.3); }
.metric-grid div { padding: 18px; border-right: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); }
.metric-grid dt { margin-bottom: 10px; font: 500 8px var(--mono); letter-spacing: .14em; opacity: .7; }
.metric-grid dd { margin: 0; font: 500 22px var(--mono); }
.field-note { position: absolute; bottom: 9%; left: 47%; width: 320px; padding: 26px; color: var(--deep); background: var(--ice); box-shadow: 14px 14px 0 rgba(1,31,50,.24); font: 500 12px/1.65 var(--mono); transform: rotate(-2deg); }
.field-note span,.field-note b { display: block; font-size: 8px; letter-spacing: .12em; }
.field-note span { margin-bottom: 12px; color: var(--orange); }.field-note b { margin-top: 16px; }

.saw-room { color: var(--deep); background: linear-gradient(110deg,#d9f1f7,#f8feff 65%,#9dcfe0); }
.protocol { max-width: 670px; margin: 45px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--hairline); }
.protocol li { display: grid; grid-template-columns: 58px 1fr; padding: 19px 0; border-bottom: 1px solid var(--hairline); }
.protocol li > span { color: var(--orange); font: 600 11px var(--mono); }
.protocol b { font: 700 10px var(--mono); letter-spacing: .12em; }.protocol p { margin: 6px 0 0; font-size: 12px; line-height: 1.55; }
.saw-visual { position: absolute; top: 16%; left: 5vw; width: 27vw; aspect-ratio: 1; }
.saw-ring { position: absolute; inset: 0; border: 2px solid rgba(20,80,122,.35); border-radius: 50%; box-shadow: inset 0 0 0 24px rgba(20,80,122,.05),inset 0 0 0 25px rgba(20,80,122,.25); }
.saw-ring::after { position: absolute; inset: 13%; border: 1px dashed rgba(20,80,122,.45); border-radius: 50%; content: ''; animation: spin 14s linear infinite; }
@keyframes spin { to { transform: rotate(1turn); } }
.cut-core { position: absolute; top: 43%; left: -14%; width: 124%; height: 14%; border-radius: 50px; background: linear-gradient(#effeff,#86c7de,#dff8fc); box-shadow: 0 14px 24px rgba(20,80,122,.2); transform: rotate(-9deg); }
.saw-visual span { position: absolute; right: 0; bottom: 10%; font: 600 9px var(--mono); }

.ash-layer { color: #e7f8fc; background: linear-gradient(130deg,#072f4a,#124f75 54%,#082b42); }
.ash-layer::before { position: absolute; top: 54%; right: 0; left: 0; height: 9px; content: ''; background: linear-gradient(90deg,#3d2d28,var(--orange) 35%,#231e1d 72%,#84513d); box-shadow: 0 0 24px rgba(255,100,34,.35); transform: rotate(-1deg); }
.sample-ticket { display: grid; grid-template-columns: 1fr 1fr; max-width: 590px; margin-top: 44px; border: 1px solid rgba(207,241,249,.25); }
.sample-ticket div { padding: 18px; border: 1px solid rgba(207,241,249,.18); }
.sample-ticket span,.sample-ticket b { display: block; font-family: var(--mono); }.sample-ticket span { margin-bottom: 7px; font-size: 7px; letter-spacing: .13em; opacity: .7; }.sample-ticket b { font-size: 12px; }
.ash-scan { position: absolute; right: 6vw; bottom: 10%; width: 27vw; aspect-ratio: 1.45; overflow: hidden; border: 1px solid rgba(255,255,255,.35); background: radial-gradient(circle,#e2f6f9 0 1px,transparent 2px) 0 0/14px 14px,rgba(2,27,42,.66); }
.ash-scan i { position: absolute; top: var(--y); left: var(--x); width: 22px; height: 8px; border: 1px solid var(--orange); transform: rotate(var(--r)) skewX(-20deg); box-shadow: 0 0 12px rgba(255,100,34,.5); }
.scanline { position: absolute; z-index: 2; top: 0; bottom: 0; width: 1px; background: var(--orange); box-shadow: 0 0 12px var(--orange); animation: scan 4s ease-in-out infinite alternate; }
@keyframes scan { from{left:5%}to{left:95%} }
.ash-scan b { position: absolute; bottom: 10px; left: 12px; font: 500 7px var(--mono); letter-spacing: .1em; }

.bubble-lab { color: var(--deep); background: linear-gradient(120deg,#aedce9,#effbfe 72%,#93cbdc); }
.bubble-lab::before { position: absolute; right: 31vw; bottom: 2%; content: 'AIR / 91.4 KA'; color: rgba(20,80,122,.055); font: 750 clamp(68px,9vw,140px)/.8 var(--display); letter-spacing: -.08em; writing-mode: vertical-rl; transform: rotate(180deg); }
.air-result { max-width: 560px; margin-top: 40px; padding: 24px; border: 1px solid rgba(20,80,122,.28); background: rgba(245,253,255,.48); }
.air-result > span { font: 600 8px var(--mono); letter-spacing: .12em; }.air-result strong { display: block; margin: 15px 0; font: 400 46px var(--mono); letter-spacing: -.06em; }.air-result small { font-size: 10px; letter-spacing: 0; }.air-result p { margin-bottom: 0; font: 500 9px var(--mono); }
.result-bar { height: 5px; background: rgba(20,80,122,.16); }.result-bar i { display: block; width: 43%; height: 100%; background: var(--orange); }
.bubble-chamber { position: absolute; top: 23%; left: 6vw; width: 25vw; height: 470px; }
.chamber-glass { position: absolute; inset: 40px 10% 0; overflow: hidden; border: 2px solid rgba(20,80,122,.36); border-radius: 46% 46% 18% 18%; background: linear-gradient(90deg,rgba(255,255,255,.5),rgba(61,143,181,.12),rgba(255,255,255,.66)); box-shadow: inset 16px 0 24px rgba(255,255,255,.7),inset -12px 0 18px rgba(20,80,122,.13),0 24px 40px rgba(20,80,122,.15); }
.chamber-glass::before { position: absolute; top: 0; left: 10%; width: 80%; height: 24px; border: 8px solid var(--glacial); border-width: 6px 0; content: ''; }
.ice-sample { position: absolute; right: 20%; bottom: 26px; left: 20%; height: 34%; border-radius: 8px 8px 20px 20px; background: linear-gradient(135deg,#f4feff,#76bcd5); box-shadow: inset 0 0 25px white; }
.fizz i { position: absolute; bottom: 35%; left: var(--x); width: var(--s); height: var(--s); border: 1px solid rgba(20,80,122,.7); border-radius: 50%; animation: fizz var(--d) ease-out infinite; animation-delay: var(--delay); }
@keyframes fizz { from{transform:translate(0,0);opacity:0}20%{opacity:1}to{transform:translate(var(--drift),-220px);opacity:0} }
.valve { position: absolute; top: 0; left: 43%; width: 14%; height: 60px; border: 10px solid var(--glacial); border-width: 0 10px; }.valve::before { position: absolute; top: 0; left: -18px; width: 52px; height: 8px; content: ''; background: var(--orange); }
.chamber-label { position: absolute; right: -10%; bottom: -35px; padding: 12px; color: white; background: var(--glacial); font: 500 8px/1.6 var(--mono); }

.interstadial { color: #e8f8fc; background: linear-gradient(125deg,#0c4569,#17618a 57%,#062c47); }
.isotope-plot { position: relative; max-width: 600px; margin-top: 50px; border: 1px solid rgba(255,255,255,.26); background: rgba(2,30,48,.2); }
.isotope-plot svg { display: block; width: 100%; }.grid { fill:none;stroke:rgba(255,255,255,.1);stroke-width:1 }.plot-line { fill:none;stroke:#dff8fc;stroke-width:3 }.plot-shadow { fill:none;stroke:rgba(255,100,34,.35);stroke-width:12;filter:blur(7px) }.isotope-plot > span,.isotope-plot > b { position:absolute;font:500 7px var(--mono); }.isotope-plot > span:first-of-type{left:5px;bottom:5px}.isotope-plot > span:nth-of-type(2){left:5px;top:5px}.isotope-plot > b{top:38%;right:9%;color:var(--orange);letter-spacing:.08em}
.quote-block { position: absolute; right: 6vw; bottom: 9%; width: 27vw; padding: 30px; border-top: 1px solid var(--orange); font: 300 22px/1.45 var(--display); }
.quote-block span { display: block; margin-bottom: 15px; color: var(--orange); font: 600 7px var(--mono); letter-spacing: .14em; }

.archive { color: var(--deep); background: linear-gradient(120deg,#d4eef5,#edfafd 65%,#90c8da); }
.rack-stats { display: flex; gap: 32px; margin-top: 50px; }.rack-stats div { padding-left: 15px; border-left: 2px solid var(--orange); }.rack-stats b,.rack-stats span { display: block; }.rack-stats b { font: 400 25px var(--mono); }.rack-stats span { margin-top: 5px; font: 500 7px var(--mono); text-transform: uppercase; }
.rack-visual { position: absolute; top: 20%; left: 5vw; width: 27vw; padding: 14px; border: 1px solid rgba(20,80,122,.28); background: rgba(234,250,253,.42); box-shadow: 0 24px 50px rgba(20,80,122,.16); }
.rack-head { display: flex; justify-content: space-between; margin-bottom: 12px; font: 600 8px var(--mono); letter-spacing: .08em; }.rack-head b { color:#12825a; }
.rack-grid { height: 390px; background: repeating-linear-gradient(0deg,rgba(20,80,122,.26) 0 1px,transparent 1px 32px),repeating-linear-gradient(90deg,rgba(20,80,122,.26) 0 1px,transparent 1px 25%); }
.rack-grid::after { display: block; width: 25%; height: 32px; margin: 192px 0 0 50%; content: ''; background: var(--orange); box-shadow: 0 0 20px rgba(255,100,34,.35); }
.rack-pick { position: absolute; right: -20px; bottom: 22%; padding: 12px; color: white; background: var(--glacial); font: 500 7px/1.5 var(--mono); }

.bedrock { min-height: 105vh; display: grid; place-items: center start; padding-right: 42vw; color: white; background: linear-gradient(125deg,#041e30,#061725 60%,#020d15); }
.bedrock::before { position: absolute; inset: 0; content: ''; opacity: .55; background-image: radial-gradient(ellipse at 10% 40%,#173c51 0 3%,transparent 3.5%),radial-gradient(ellipse at 35% 20%,#123347 0 5%,transparent 5.5%),radial-gradient(ellipse at 60% 80%,#102c3e 0 6%,transparent 6.5%),radial-gradient(ellipse at 85% 55%,#193a4e 0 4%,transparent 4.5%); background-size: 170px 130px,230px 190px,280px 240px,190px 160px; }
.bedrock-content { position: relative; z-index: 3; max-width: 720px; }.bedrock h2 { margin: 0; font: 550 clamp(48px,6vw,94px)/.98 var(--display); letter-spacing: -.06em; }.bedrock p:not(.section-index) { max-width: 540px; margin: 35px 0; font-size: 16px; line-height: 1.75; color: #c8e6ef; }
.return-link { display: inline-flex; gap: 40px; align-items: center; min-height: 48px; color: white; text-decoration: none; border-bottom: 1px solid var(--orange); font: 600 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.return-link span{font-size:18px;color:var(--orange)}

footer { position: relative; z-index: 30; display: grid; grid-template-columns: auto 1fr auto; min-height: 170px; align-items: center; gap: 28px; padding: 35px 6vw; color: #d9f2f8; background: #031521; border-top: 1px solid rgba(255,255,255,.12); }
.footer-mark { display: flex; align-items: baseline; gap: 5px; font: 700 10px var(--mono); }.footer-mark b{font-size:28px;color:var(--orange)}
footer p { font: 500 9px var(--mono); letter-spacing: .08em; } footer nav { display: flex; gap: 22px; } footer a { min-height: 44px; display: flex; align-items: center; font: 500 9px var(--mono); text-decoration: none; border-bottom: 1px solid transparent; } footer a:hover { border-color: var(--orange); }

.reveal { opacity: 0; transform: translateY(20px); animation: reveal .75s cubic-bezier(.2,.8,.2,1) forwards; }.hero .reveal:nth-child(2){animation-delay:.12s}.hero .reveal:nth-child(3){animation-delay:.25s}.hero .reveal:nth-child(4){animation-delay:.38s}.hero .reveal:nth-child(5){animation-delay:.52s}
@keyframes reveal { to { opacity:1;transform:none } }
.reveal-scroll { opacity: 0; transform: translateY(32px); transition: opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1); }.reveal-scroll.in-view{opacity:1;transform:none}

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; }.site-header nav{display:none}.cold-status{grid-column:2}.core-rig{width:250px;right:2vw}.core-stage{right:65px;left:18px}.chart-shell{width:58px}.depth-head strong{font-size:38px}.split-left{padding-right:310px}.split-right{padding-left:6vw;padding-right:310px}.saw-visual,.bubble-chamber,.rack-visual{display:none}.ash-scan{position:relative;right:auto;bottom:auto;width:100%;max-width:420px;margin-top:40px}.quote-block{position:relative;right:auto;bottom:auto;width:100%;max-width:500px;margin-top:45px}.hero-title-wrap{width:68%}.hero h1{font-size:clamp(72px,12vw,110px)}.descend-cue{display:none}
}

@media (min-width: 1051px) {
  .split-right .section-copy h2 { font-size: clamp(42px,4.25vw,66px); }
}

@media (max-width: 700px) {
  .site-header { height: 68px; grid-template-columns: 1fr; padding: 0 16px; background: rgba(232,248,251,.94); }.facility-mark{min-height:44px;font-size:8px}.mark-number{width:38px;height:38px}.cold-status{display:none}.grain{opacity:.035}
  .site-header nav { position: absolute; z-index: 60; top: 0; right: 8px; bottom: auto; left: auto; width: 174px; height: 68px; display: grid; grid-template-columns: repeat(3,1fr); gap: 0; color: var(--deep); background: transparent; border: 0; box-shadow: none; backdrop-filter: none; transition: opacity .25s,transform .25s; }
  .site-header nav a { min-height: 44px; display: grid; place-items: center; padding: 0; border-right: 1px solid rgba(20,80,122,.14); font-size: 6px; }.site-header nav a:last-child{border-right:0}.site-header nav a::after{display:none}.footer-in-view .site-header nav{opacity:0;pointer-events:none;transform:translateY(-8px)}
  .core-rig { z-index: 35; top: 78px; right: 12px; bottom: auto; width: 102px; height: 154px; padding: 8px; border: 1px solid rgba(255,255,255,.46); background: rgba(8,57,87,.82); backdrop-filter: blur(14px); box-shadow: 0 12px 25px rgba(3,28,45,.2); }
  .depth-head { inset: 8px 8px auto; padding: 0 0 8px; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; }.depth-head .eyebrow{font-size:5px}.depth-head strong{font-size:21px}.depth-head strong small{font-size:7px}.depth-head div{font-size:5px}.core-stage{top:70px;right:56px;bottom:8px;left:8px}.ice-core{inset:0 5px 0 13px}.depth-scale{display:none}.event-layer,.event-popover{display:none}.chart-shell{top:70px;right:8px;bottom:8px;width:41px}.chart-label{top:3px;font-size:5px}.chart-label span{font-size:8px}.chart-axis,.rig-note{display:none}
  .section-panel { min-height: 940px; padding: 130px 22px 90px; }.hero{height:auto;min-height:900px;padding-top:100px;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.8),transparent 24%),linear-gradient(155deg,#effbfd,#b8e3f0 56%,#2d77a0 100%)}.hero::before{background-size:48px 48px}.hero-code{top:88px;left:22px;font-size:6px}.hero-title-wrap{width:100%;margin-top:13vh}.kicker{font-size:8px;max-width:230px;line-height:1.6}.hero h1{font-size:clamp(62px,19.6vw,78px);line-height:.84;letter-spacing:-.09em}.hero-intro{width:auto;max-width:80%;margin:35px 0 0;font-size:14px}.hero-meta{right:22px;bottom:30px;left:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.door-stencil{display:none}
  .split-left,.split-right{padding-right:22px;padding-left:22px}.section-copy h2{font-size:38px;padding-right:76px}.section-copy > p:not(.section-index){font-size:14px;line-height:1.7;padding-right:46px}.section-index{font-size:8px}.metric-grid{margin-right:42px}.metric-grid dd{font-size:14px}.field-note{position:relative;bottom:auto;left:auto;width:calc(100% - 50px);margin:60px 0 0;padding:20px}.protocol{margin-right:45px}.protocol li{grid-template-columns:40px 1fr}.ash-layer::before{top:61%}.sample-ticket{grid-template-columns:1fr;margin-right:45px}.ash-scan{width:calc(100% - 45px);margin-top:30px}.air-result{margin-right:45px}.air-result strong{font-size:34px}.isotope-plot{margin-right:45px}.quote-block{width:calc(100% - 45px);font-size:18px}.rack-stats{display:grid;grid-template-columns:1fr 1fr;margin-right:45px}.bedrock{min-height:930px;padding-right:65px}.bedrock h2{font-size:48px;padding-right:0}.bedrock p:not(.section-index){font-size:14px}.bubble-lab::before{right:18px;font-size:72px}
  footer{grid-template-columns:1fr;gap:6px;padding:32px 22px}footer nav{flex-direction:column;gap:0}footer a{width:max-content}footer p{margin:4px 0}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } .reveal-scroll{opacity:1;transform:none}
}

/* Pass 2: the instrument becomes the governing spatial system. */
.site-header { box-shadow: 0 10px 35px rgba(16,76,111,.055); animation: header-commission .7s cubic-bezier(.2,.8,.2,1) both; }
.core-rig { animation: rig-commission 1.15s .18s cubic-bezier(.16,1,.3,1) both; transition: opacity .35s ease, transform .55s cubic-bezier(.16,1,.3,1); }
@keyframes header-commission { from { transform: translateY(-100%); } }
@keyframes rig-commission { from { opacity: 0; transform: translateY(22px); clip-path: inset(0 0 100% 0); } to { opacity: 1; transform: none; clip-path: inset(0); } }

.depth-head { padding: 11px 13px 10px; background: linear-gradient(110deg,rgba(3,32,51,.82),rgba(11,63,91,.58)); border-color: rgba(223,249,253,.42); box-shadow: 0 16px 36px rgba(2,26,42,.2),inset 0 1px rgba(255,255,255,.18); }
.depth-head .depth-meta { margin-top: 5px; }
.depth-head .drill-phase { margin: 8px -13px -10px; padding: 6px 13px; border-top: 1px solid rgba(255,255,255,.22); background: rgba(1,24,39,.22); color: #dff7fb; font-size: 7px; }
.core-stage { top: 124px; }
.chart-shell { top: 125px; background: linear-gradient(90deg,rgba(3,37,59,.08),rgba(3,37,59,.3)); }
.chart-shell::before { position: absolute; z-index: 1; inset: 0; content: ''; pointer-events: none; background: repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 1px,transparent 1px 20%); }
.ice-core { border-color: rgba(243,254,255,.88); border-radius: 50% / 1.5%; background:
  linear-gradient(90deg,rgba(2,39,65,.58),rgba(215,250,255,.76) 13%,rgba(61,153,193,.5) 30%,rgba(247,255,255,.96) 48%,rgba(124,211,234,.7) 61%,rgba(13,80,119,.66) 83%,rgba(1,34,58,.65)),
  linear-gradient(180deg,#e4f8fb 0%,#82c9df 43%,#1a668f 100%);
  box-shadow: inset 13px 0 15px rgba(255,255,255,.5),inset -13px 0 19px rgba(2,36,60,.42),0 12px 34px rgba(3,41,66,.22); }
.ice-core::before { position: absolute; z-index: 2; inset: 0; content: ''; opacity: .62; background: linear-gradient(92deg,transparent 20%,rgba(255,255,255,.8) 22%,transparent 25% 62%,rgba(255,255,255,.34) 64%,transparent 67%),repeating-linear-gradient(176deg,transparent 0 76px,rgba(1,43,70,.24) 77px 79px,transparent 80px 131px); mix-blend-mode: screen; }
.ice-core::after { position: absolute; z-index: 3; inset: 0; content: ''; opacity: .42; background: linear-gradient(101deg,transparent 0 32%,rgba(255,255,255,.72) 34% 36%,transparent 38% 100%); transform: translateX(calc((var(--progress, 0) - .5) * 16%)); }
.core-bands { opacity: .94; filter: contrast(1.14); }
.core-cap { height: 20px; background: radial-gradient(ellipse at 50% 25%,#fff 0,#d7f4f8 44%,#4c9fc2 100%); }
.core-caustic { opacity: .72; animation-duration: 6.5s; }
.drill-cursor { position: absolute; z-index: 8; top: calc(var(--progress, 0) * 100%); right: 1%; left: 15%; height: 1px; pointer-events: none; background: linear-gradient(90deg,transparent,var(--orange) 22% 69%,rgba(255,255,255,.9) 70% 100%); box-shadow: 0 0 11px rgba(255,100,34,.85); transform: translateY(-50%); transition: top .12s linear; }
.drill-cursor i { position: absolute; top: -4px; left: 33%; width: 8px; height: 8px; border: 1px solid white; background: var(--orange); transform: rotate(45deg); }
.drill-cursor span { position: absolute; top: -10px; right: 2px; padding: 4px 5px; color: white; background: rgba(2,37,59,.88); font: 600 6px var(--mono); letter-spacing: .12em; white-space: nowrap; transform: translateY(-100%); }
.event { opacity: .42; transition: opacity .25s,filter .25s,transform .25s; }
.event.is-passed { opacity: .78; }
.event.is-active { opacity: 1; filter: drop-shadow(0 0 7px rgba(255,100,34,.72)); transform: translateX(5px); }
.event.is-active span { background: var(--orange); }
.rig-note::before { content: '↓  '; color: var(--orange); font-size: 11px; }
.page-hidden * { animation-play-state: paused !important; }

.hero { background: radial-gradient(circle at 69% 27%,rgba(255,255,255,.92),transparent 21%),linear-gradient(116deg,#f4fdff 0%,#bfe8f2 44%,#4f99bc 72%,#0b3b5c 100%); }
.hero::after { position: absolute; inset: auto 0 0; height: 36%; content: ''; opacity: .2; background: repeating-linear-gradient(176deg,transparent 0 42px,rgba(255,255,255,.55) 43px 44px,transparent 45px 89px); mask-image: linear-gradient(90deg,#000,transparent 72%); }
.hero-title-wrap { z-index: 3; }
.hero h1 { text-wrap: balance; text-shadow: 0 1px rgba(255,255,255,.2); }
.hero h1 span { -webkit-text-stroke-width: 1.25px; }
.hero-seal { position: absolute; z-index: 3; bottom: 51px; left: 47%; display: grid; grid-template-columns: repeat(3,auto); border: 1px solid rgba(6,44,72,.28); font: 650 7px var(--mono); letter-spacing: .12em; }
.hero-seal span { padding: 8px 11px; border-right: 1px solid rgba(6,44,72,.28); }
.hero-seal span:last-child { border-right: 0; color: #fff; background: var(--glacial); }
.section-copy h2 { text-wrap: balance; }
.descent { background: radial-gradient(circle at 18% 72%,rgba(108,194,220,.24),transparent 22%),linear-gradient(128deg,#082f4d,#1d628c 53%,#062a43); }
.ash-layer { background: radial-gradient(circle at 80% 24%,rgba(70,142,174,.2),transparent 20%),linear-gradient(130deg,#04283f,#0f4b70 54%,#051f31); }
.interstadial { background: radial-gradient(circle at 23% 69%,rgba(78,170,201,.18),transparent 22%),linear-gradient(125deg,#083c5e,#135a82 57%,#04243b); }
.air-result { box-shadow: 16px 18px 0 rgba(20,80,122,.055); }
.release-air { min-height: 46px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 20px; padding: 0 14px; border: 0; color: white; background: var(--glacial); cursor: pointer; font: 650 8px var(--mono); letter-spacing: .11em; text-transform: uppercase; transition: background .25s,transform .25s; }
.release-air:hover { background: var(--deep); transform: translateY(-2px); }
.release-air span { color: var(--orange); font-size: 14px; }
.release-status { display: block; margin-top: 10px; color: rgba(6,44,72,.7); font: 600 7px var(--mono); letter-spacing: .09em; }
.bubble-chamber.is-releasing { filter: drop-shadow(0 0 24px rgba(255,255,255,.86)); }
.bubble-chamber.is-releasing .fizz i { animation-duration: .72s; border-color: var(--orange); box-shadow: 0 0 7px rgba(255,100,34,.5); }
.bubble-chamber.is-releasing .valve::before { animation: valve-pulse .45s ease-in-out 4 alternate; }
@keyframes valve-pulse { to { transform: translateX(10px); filter: brightness(1.35); } }
.bedrock-content { padding-top: 30px; }
.bedrock h2 { text-wrap: balance; }
footer { z-index: 40; }

@media (min-width: 701px) and (max-width: 1050px) {
  .saw-room,.bubble-lab,.archive { min-height: 1280px; }
  .saw-visual { display: block; top: auto; bottom: 7%; left: 7vw; width: 225px; opacity: .78; }
  .bubble-chamber { display: block; top: auto; bottom: 5%; left: 7vw; width: 230px; height: 360px; opacity: .82; }
  .rack-visual { display: block; top: auto; bottom: 5%; left: 6vw; width: 230px; opacity: .82; }
  .rack-grid { height: 280px; }
  .hero-seal { left: 6vw; bottom: 95px; }
  .event { left: 43%; width: 145px; font-size: 6.5px; }
  .event span { width: 100%; white-space: normal; line-height: 1.35; }
}

@media (max-width: 700px) {
  .core-rig { top: 68px; right: 0; bottom: 0; width: 44px; height: auto; padding: 0; clip-path: none; animation: none; border: 0; border-left: 1px solid rgba(213,246,252,.5); background: linear-gradient(90deg,rgba(4,43,69,.08),rgba(6,55,84,.3)); box-shadow: -9px 0 24px rgba(2,37,59,.08); backdrop-filter: blur(5px); }
  .depth-head { top: 10px; right: 7px; left: auto; width: 106px; padding: 7px 8px 6px; border: 1px solid rgba(255,255,255,.45); background: rgba(3,43,68,.9); }
  .depth-head .eyebrow { font-size: 5px; }
  .depth-head strong { font-size: 22px; }
  .depth-head strong small { font-size: 7px; }
  .depth-head .depth-meta { font-size: 5px; }
  .depth-head .drill-phase { margin: 5px -8px -6px; padding: 4px 8px; font-size: 4.5px; }
  .depth-head .drill-phase span:last-child { display: none; }
  .core-stage { top: 102px; right: 0; bottom: 8px; left: 0; }
  .ice-core { inset: 0 9px; border-radius: 50% / .8%; box-shadow: inset 5px 0 7px rgba(255,255,255,.5),inset -5px 0 8px rgba(2,36,60,.35),0 0 13px rgba(191,233,243,.38); }
  .core-cap { height: 8px; top: -2px; }
  .depth-scale,.event-layer,.event-popover,.chart-shell,.rig-note { display: none; }
  .drill-cursor { right: 3px; left: 3px; }
  .drill-cursor i { left: 44%; width: 6px; height: 6px; top: -3px; }
  .drill-cursor span { display: none; }
  .footer-in-view .core-rig { opacity: 0; transform: translateX(100%); }
  .section-panel { padding-right: 62px; }
  .hero { min-height: 940px; padding-right: 48px; }
  .hero-title-wrap { margin-top: 15vh; }
  .hero h1 { font-size: clamp(59px,17.9vw,70px); line-height: .86; }
  .hero-intro { max-width: 100%; padding-right: 10px; }
  .hero-meta { right: 60px; }
  .hero-seal { right: 62px; bottom: 126px; left: 22px; grid-template-columns: repeat(3,1fr); }
  .hero-seal span { padding: 7px 6px; text-align: center; font-size: 5px; }
  .split-left,.split-right { padding-right: 62px; }
  .section-copy h2 { padding-right: 0; font-size: 37px; }
  .section-copy > p:not(.section-index) { padding-right: 0; }
  .metric-grid,.protocol,.sample-ticket,.air-result,.isotope-plot,.rack-stats { margin-right: 0; }
  .field-note { width: 100%; }
  .ash-scan,.quote-block { width: 100%; }
  .saw-room,.bubble-lab,.archive { min-height: 1160px; }
  .saw-visual { position: relative; top: auto; left: auto; display: block; width: 100%; max-width: 270px; margin: 70px auto 0; opacity: .78; }
  .bubble-chamber { position: relative; top: auto; left: auto; display: block; width: 100%; height: 310px; margin: 70px 0 0; }
  .chamber-label { right: 0; bottom: -25px; }
  .rack-visual { position: relative; top: auto; left: auto; display: block; width: 100%; margin: 70px 0 0; }
  .rack-grid { height: 280px; }
  .rack-pick { right: -8px; }
  .bedrock { min-height: 940px; padding-right: 62px; place-items: start; padding-top: 150px; }
  .bedrock-content { padding-top: 0; }
  .bedrock h2 { font-size: 45px; line-height: 1; }
}

/* Pass 3: optical band inspection and final art direction. */
.core-rig { animation-fill-mode: backwards; }
html {
  scrollbar-color: var(--orange) #0a3855;
  scrollbar-width: thin;
}
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: #0a3855; }
::-webkit-scrollbar-thumb { border: 2px solid #0a3855; background: var(--orange); }
::-webkit-scrollbar-thumb:hover { background: #ff8a56; }
body {
  font-optical-sizing: auto;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
p { text-wrap: pretty; }
.depth-head, .metric-grid, .sample-ticket, .air-result, .rack-stats, .band-scan-panel {
  font-variant-numeric: tabular-nums slashed-zero;
}

.cold-start {
  position: fixed;
  inset: 0;
  z-index: 200;
  overflow: hidden;
  pointer-events: none;
  animation: cold-start-clear 1.35s cubic-bezier(.76,0,.24,1) forwards;
}
.cold-start::before,.cold-start::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50.2%;
  content: '';
  background:
    linear-gradient(90deg,rgba(255,255,255,.52),transparent 20% 80%,rgba(1,43,70,.22)),
    repeating-linear-gradient(0deg,transparent 0 46px,rgba(6,69,103,.16) 47px 48px),
    linear-gradient(135deg,#e8f9fc,#83c6dd);
  box-shadow: inset 0 0 70px rgba(255,255,255,.62);
}
.cold-start::before { left: 0; border-right: 1px solid rgba(255,255,255,.85); animation: cold-door-left 1.05s .22s cubic-bezier(.76,0,.24,1) forwards; }
.cold-start::after { right: 0; border-left: 1px solid rgba(6,56,87,.3); animation: cold-door-right 1.05s .22s cubic-bezier(.76,0,.24,1) forwards; }
.cold-start div {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  min-width: 250px;
  gap: 8px;
  padding: 18px 24px;
  color: white;
  background: rgba(3,44,71,.88);
  border-top: 2px solid var(--orange);
  box-shadow: 0 22px 50px rgba(3,28,45,.22);
  font: 600 8px var(--mono);
  letter-spacing: .16em;
  transform: translate(-50%,-50%);
  animation: cold-label .65s .1s ease forwards;
}
.cold-start b { font-size: 10px; }
@keyframes cold-door-left { to { transform: translateX(-101%); } }
@keyframes cold-door-right { to { transform: translateX(101%); } }
@keyframes cold-label { 70%,100% { opacity: 0; transform: translate(-50%,-58%); } }
@keyframes cold-start-clear { 99% { visibility: visible; } 100% { visibility: hidden; } }

.ice-core-trigger {
  position: absolute;
  z-index: 5;
  inset: 0 26% 0 25%;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50% / 1.5%;
  appearance: none;
  color: inherit;
  background: transparent;
  cursor: crosshair;
  pointer-events: auto;
}
.ice-core-trigger .ice-core { inset: 0; }
.ice-core-trigger:focus-visible { outline-offset: 6px; }
.ice-core-trigger:hover .ice-core { filter: saturate(1.12) brightness(1.05); box-shadow: inset 13px 0 15px rgba(255,255,255,.58),inset -13px 0 19px rgba(2,36,60,.42),0 0 30px rgba(218,250,255,.82); }
.ice-core::after {
  transform: translateX(calc((var(--probe, var(--progress, .5)) - .5) * 42%));
  transition: transform .22s cubic-bezier(.16,1,.3,1);
}
.core-rig.is-scanning .ice-core { filter: saturate(1.16) brightness(1.08); box-shadow: inset 13px 0 15px rgba(255,255,255,.64),inset -13px 0 19px rgba(2,36,60,.42),0 0 38px rgba(221,251,255,.95); }
.core-rig.is-scanning .core-bands { animation: band-inspection .75s cubic-bezier(.16,1,.3,1); }
@keyframes band-inspection { 35% { filter: contrast(1.75) brightness(1.25); transform: scaleY(1.025); } }

.band-scan-panel {
  position: absolute;
  z-index: 15;
  top: 50%;
  right: calc(100% + 12px);
  width: 296px;
  padding: 12px;
  color: #eafaff;
  border: 1px solid rgba(220,250,255,.62);
  border-top: 3px solid var(--orange);
  background: linear-gradient(145deg,rgba(2,31,50,.97),rgba(10,73,105,.93));
  box-shadow: 0 25px 70px rgba(2,25,41,.38),inset 0 1px rgba(255,255,255,.14);
  pointer-events: auto;
  transform: translateY(-50%);
  animation: scan-panel-in .48s cubic-bezier(.16,1,.3,1) both;
}
.band-scan-panel[hidden] { display: none; }
@keyframes scan-panel-in { from { opacity: 0; transform: translate(-18px,-50%); } }
.scan-panel-head { display: flex; min-height: 44px; align-items: center; justify-content: space-between; font: 650 7px var(--mono); letter-spacing: .15em; }
.scan-panel-head button { width: 44px; height: 44px; padding: 0; border: 1px solid rgba(224,250,255,.36); color: white; background: rgba(255,255,255,.06); cursor: pointer; font: 300 22px/1 var(--display); transition: color .2s,background .2s,transform .25s; }
.scan-panel-head button:hover { color: var(--deep); background: var(--orange); transform: rotate(90deg); }
.band-magnification { position: relative; height: 96px; overflow: hidden; border: 1px solid rgba(219,249,254,.35); background: linear-gradient(90deg,#0d5c87,#bcebf4 17%,#f6ffff 48%,#68b5d2 69%,#093d62); }
.band-magnification::before { position: absolute; inset: 0; content: ''; background: repeating-linear-gradient(178deg,transparent 0 9px,rgba(2,38,64,.45) 10px 12px,rgba(255,255,255,.55) 13px,transparent 14px 22px); }
.band-magnification::after { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; content: ''; background: var(--orange); box-shadow: 0 0 12px var(--orange); animation: optical-pass 2.2s ease-in-out infinite alternate; }
.band-magnification i { position: absolute; z-index: 2; width: 7px; height: 7px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; }
.band-magnification i:nth-child(1){left:13%;top:19%}.band-magnification i:nth-child(2){left:72%;top:38%;width:4px;height:4px}.band-magnification i:nth-child(3){left:42%;top:65%;width:10px;height:10px}.band-magnification i:nth-child(4){left:86%;top:72%}
.band-magnification b { position:absolute;z-index:3;right:7px;bottom:6px;font:600 6px var(--mono);letter-spacing:.1em}.band-magnification b::after{content:'63× / POLARISED'}
@keyframes optical-pass { from { transform: translateX(-92px); } to { transform: translateX(92px); } }
.scan-primary { display: flex; align-items: end; justify-content: space-between; padding: 16px 2px 13px; border-bottom: 1px solid rgba(220,250,255,.24); }
.scan-primary span { font: 600 8px var(--mono); letter-spacing: .1em; }
.scan-primary b { font: 350 21px var(--mono); letter-spacing: -.06em; }
.band-scan-panel dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
.band-scan-panel dl div { padding: 11px 2px; border-bottom: 1px solid rgba(220,250,255,.18); }
.band-scan-panel dt { margin-bottom: 5px; color: #85c9df; font: 550 6px var(--mono); letter-spacing: .1em; }
.band-scan-panel dd { margin: 0; font: 600 9px var(--mono); }
.band-scan-panel > p { margin: 11px 0 0; color: var(--orange); font: 600 6px var(--mono); letter-spacing: .1em; }

.descent::after,.saw-room::after,.ash-layer::after,.bubble-lab::after,.interstadial::after,.archive::after {
  opacity: .42;
  background-image: linear-gradient(100deg,rgba(255,255,255,.055) 1px,transparent 1px),radial-gradient(circle at 70% 30%,rgba(255,255,255,.22) 0 1px,transparent 1.5px);
  background-size: 21px 100%,53px 71px;
  mix-blend-mode: soft-light;
}
.saw-room { background: radial-gradient(circle at 17% 35%,rgba(97,184,212,.34),transparent 24%),radial-gradient(circle at 76% 72%,#fff 0,transparent 23%),linear-gradient(110deg,#c9eaf2,#f8feff 65%,#8bc4d8); }
.saw-room::before,.archive::before { position: absolute; inset: 0; content: ''; pointer-events: none; opacity: .3; background: linear-gradient(124deg,transparent 0 37%,rgba(20,80,122,.2) 37.1% 37.2%,transparent 37.3% 61%,rgba(255,255,255,.75) 61.1% 61.2%,transparent 61.3%); }
.bubble-lab { background: radial-gradient(circle at 13% 76%,rgba(255,255,255,.9),transparent 20%),radial-gradient(circle at 68% 28%,rgba(110,196,220,.28),transparent 26%),linear-gradient(120deg,#9ed4e3,#f1fcfe 72%,#7bbbd0); }
.archive { background: radial-gradient(circle at 78% 20%,rgba(255,255,255,.85),transparent 22%),radial-gradient(circle at 22% 75%,rgba(75,163,194,.22),transparent 26%),linear-gradient(120deg,#c6e9f2,#edfafd 65%,#7fbed3); }

.facility-mark,.return-link,.guide-back,footer a { transition: color .22s ease,transform .3s cubic-bezier(.16,1,.3,1),border-color .22s,background-color .22s; }
.facility-mark .mark-number { transition: background .22s,clip-path .35s cubic-bezier(.16,1,.3,1); }
.facility-mark:hover { color: var(--glacial); transform: translateY(-1px); }
.facility-mark:hover .mark-number { background: var(--orange); clip-path: polygon(0 0,100% 0,88% 50%,100% 100%,0 100%,12% 50%); }
.event span { transition: background .22s,color .22s,box-shadow .22s; }
.event:hover span,.event:focus-visible span { background: var(--orange); box-shadow: 0 0 16px rgba(255,100,34,.42); }
.return-link:hover { gap: 52px; color: var(--orange); }
.guide-back:hover { background: var(--deep); transform: translateY(-3px); }
footer a:hover { color: white; transform: translateY(-2px); }
.release-air:active,.guide-back:active,.scan-panel-head button:active { transform: translateY(1px) scale(.98); }

.hero-code { animation-delay: .82s; }
.hero .kicker { animation-delay: .94s; }
.hero h1.reveal { animation-delay: 1.03s; animation-duration: .9s; }
.hero-intro { animation-delay: 1.18s; }
.hero-meta { animation-delay: 1.28s; }
.hero-seal { animation-delay: 1.34s; }
.descend-cue { animation-delay: 1.42s; }

@media (max-width: 1050px) {
  .band-scan-panel { width: 264px; }
}

@media (max-width: 700px) {
  ::-webkit-scrollbar { width: 5px; }
  .ice-core-trigger { inset: 0; min-width: 44px; margin: 0; }
  .ice-core-trigger .ice-core { inset: 0 9px; }
  .ice-core-trigger:hover .ice-core { filter: none; }
  .band-scan-panel { top: 88px; right: calc(100% + 14px); width: calc(100vw - 82px); padding: 10px; transform: none; animation-name: scan-panel-mobile; }
  @keyframes scan-panel-mobile { from { opacity: 0; transform: translateX(16px); } }
  .band-magnification { height: 78px; }
  .scan-primary { padding: 12px 2px 10px; }
  .band-scan-panel dl div { padding: 9px 2px; }
  .cold-start div { min-width: 220px; padding: 15px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .cold-start { display: none; }
  .band-magnification::after { animation: none; }
  .ice-core::after { transition: none; }
  .band-scan-panel { animation: none; }
}
