@font-face{font-family:Space;src:url("assets/fonts/space-grotesk-regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Space;src:url("assets/fonts/space-grotesk-semibold.ttf") format("truetype");font-weight:600;font-display:swap}
:root{
  --ink:#07121d;--navy:#0c1c2b;--ivory:#e7e2d4;--gold:#d0bd8c;--muted:#a9b6c0;--line:#e7e2d414;
  --gutter:clamp(22px,5vw,88px);
  font-family:Space,Arial,sans-serif;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:108px;
  background:var(--ink);color:var(--ivory)
}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--ivory);overflow-x:clip}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,summary{font:inherit;color:inherit;cursor:pointer}
button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
img{display:block;max-width:100%;height:auto}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
h1,h2,p{margin:0}
h1,h2{font-weight:400;letter-spacing:-.045em}
em{font-style:normal;color:var(--gold)}
::selection{background:var(--gold);color:var(--ink)}
[hidden]{display:none!important}
.symbols,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:fixed;top:12px;left:16px;z-index:80;padding:12px 14px;background:var(--ivory);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.eyebrow{font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}
.section-pad{padding:108px var(--gutter)}
.text-link{display:inline-flex;gap:16px;align-items:center;font-size:15px}
.arrow-circle{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e7e2d438;border-radius:50%;transition:background .25s,color .25s,transform .25s}
.arrow-circle svg{width:18px;height:18px}
.text-link:hover .arrow-circle{background:var(--ivory);color:var(--ink);transform:translateX(3px)}

.site-header{position:fixed;inset:0 0 auto;z-index:40;padding:18px var(--gutter) 14px;background:linear-gradient(#07121df2,#07121dcc 72%,#07121d00)}
.site-header.is-scrolled{background:#07121df0;backdrop-filter:blur(16px);box-shadow:0 1px #e7e2d414}
.header-bar{display:flex;align-items:center;gap:22px}
.brand{display:block;width:108px;line-height:0;flex:none}
.brand svg,.footer-wordmark svg,.hero-wordmark{stroke:none;color:var(--ivory)}
.brand svg{width:100%;height:32px}
.site-header nav{display:flex;align-items:center;gap:22px;font-size:13px;color:var(--muted)}
.site-header nav a:hover{color:var(--ivory)}
.header-pair{margin-left:auto;font:12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.03em;color:var(--ivory);white-space:nowrap}
.header-pair:hover{color:var(--gold)}
.token-access{flex:none;border:1px solid #d0bd8ca8;color:var(--gold);padding:8px 12px;font-size:12px;letter-spacing:.12em;min-height:36px;display:inline-flex;align-items:center}
.token-access:hover{background:var(--gold);color:var(--ink)}
.motion-toggle{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 10px;border:1px solid var(--line);background:transparent;font:11px/1 ui-monospace,monospace;letter-spacing:.08em}
.motion-toggle:hover{border-color:#e7e2d455}
.motion-icon{color:var(--gold);font-size:13px}
.menu-toggle{width:40px;height:40px;border:0;background:none;padding:8px;flex:none}
.menu-toggle span{display:block;height:1px;margin:6px 0;background:currentColor;transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

.signal-world{position:relative;height:100svh;background:var(--ink)}
.signal-anchor{position:absolute;top:62%;width:1px;height:1px}
.signal-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:
  radial-gradient(ellipse 46% 42% at 68% 48%,#1a3a4d55,transparent 70%),
  var(--ink)}
.signal-scene{position:absolute;inset:0}
#signal-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.signal-fallback{position:absolute;inset:8% 4% 12% 28%;width:auto;height:auto;stroke-width:3}
.scene-ready .signal-fallback{display:none}
.fallback-base{stroke:#8ea8b6;opacity:.45}
.fallback-pulse{stroke:#e4d3a6;stroke-width:5;stroke-dasharray:16 84;stroke-dashoffset:100;animation:trace 9s linear infinite;filter:drop-shadow(0 0 6px #e4d3a666)}
.scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#07121d 0%,#07121de8 30%,#07121d00 58%)}
.hero-copy{position:relative;z-index:2;max-width:640px;padding:128px 0 0 var(--gutter)}
.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;color:#b7c3cc}
.signal-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #d0bd8c88;animation:beacon 2.8s ease-in-out infinite}
.hero-mark{margin:22px 0 18px}
.hero-wordmark{display:block;width:min(460px,42vw);height:auto;aspect-ratio:256/72}
h1{font-size:clamp(52px,6vw,92px);line-height:.92;max-width:11ch}
.dek{max-width:34ch;margin-top:22px;font-size:18px;line-height:1.45;color:#c5cec6}
.hero-pairline{margin-top:28px;font-size:clamp(16px,1.5vw,22px);letter-spacing:.01em;color:#f3ecdc}
.hero-copy .text-link{margin-top:28px}
.study-hud{position:absolute;z-index:2;right:var(--gutter);bottom:92px;width:min(280px,34vw)}
.study-index{font:11px/1.4 ui-monospace,monospace;letter-spacing:.14em;color:#d9d3c4}
.study-line{margin-top:10px;min-height:2.6em;font-size:14px;line-height:1.45;color:var(--muted)}
.study-metrics{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font:11px/1 ui-monospace,monospace;letter-spacing:.12em;color:var(--gold)}
.phase-rail{margin-top:12px;height:2px;background:#e7e2d422;transform-origin:left}
.phase-rail span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.phase-scale{display:flex;justify-content:space-between;gap:8px;margin:10px 0 0;padding:0;list-style:none;font:10px/1 ui-monospace,monospace;letter-spacing:.12em;color:#7f8e99}
.phase-scale .is-active{color:var(--ivory)}
.hero-foot{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid var(--line)}
.scroll-cue{display:flex;align-items:center;gap:12px;font:11px/1 ui-monospace,monospace;letter-spacing:.14em;color:#c5cec6}
.scroll-track{position:relative;width:1px;height:28px;background:#e7e2d433;overflow:hidden}
.scroll-track i{position:absolute;left:0;top:-12px;width:1px;height:12px;background:var(--gold);animation:scroll-mark 1.8s ease-in-out infinite}
.honest{font-size:12px;color:#8fa0ab}

.section-top{display:flex;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid var(--line);margin-bottom:48px;color:#8ea0ab}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
.section-heading h2,.access-copy h2,.community h2{font-size:clamp(40px,5vw,76px);line-height:.96}
.section-heading p{max-width:34ch;font-size:16px;line-height:1.55;color:var(--muted)}
.exploration-layout{display:grid;grid-template-columns:.82fr 1.45fr;gap:5vw;align-items:start}
.exploration-tab{width:100%;text-align:left;background:none;border:0;border-top:1px solid #e7e2d422;padding:26px 0;display:grid;grid-template-columns:36px 1fr;gap:8px;color:#8ea0ab}
.exploration-tab:last-of-type{border-bottom:1px solid #e7e2d422}
.exploration-tab[aria-selected=true]{color:var(--ivory)}
.exploration-tab strong{display:block;font-size:clamp(20px,2vw,30px);font-weight:400;letter-spacing:-.04em}
.exploration-tab small{display:block;margin-top:8px;font:10px/1.4 ui-monospace,monospace;letter-spacing:.12em}
.tab-number{font:11px/1 ui-monospace,monospace;padding-top:8px}
.index-note{margin-top:22px;max-width:28ch;font-size:13px;line-height:1.5;color:#8ea0ab}
.exploration-panel{animation:panel-in .45s ease}
.film-poster,.build-visual,.atlas-visual{position:relative;display:block;aspect-ratio:1.5;overflow:hidden}
.film-poster{background:#102433;color:var(--ivory)}
.film-art{position:absolute;inset:0}
.film-art svg{width:100%;height:100%;stroke-width:1.2}
.film-art g{transform-origin:60% 40%;animation:ink-drift 16s ease-in-out infinite}
.film-top,.visual-label{position:absolute;top:22px;left:22px;z-index:1;color:#d5d0c4}
.film-title{position:absolute;left:7%;top:34%;font-size:clamp(32px,3.4vw,58px);line-height:1;letter-spacing:-.045em}
.play-control{position:absolute;left:22px;bottom:22px;display:flex;align-items:center;gap:12px;font-size:14px}
.play-circle{width:46px;height:46px;border:1px solid #e7e2d466;border-radius:50%;display:grid;place-items:center}
.play-circle svg{width:14px;height:14px;fill:currentColor;stroke:none;margin-left:2px}
.film-poster:hover .play-circle{background:var(--ivory);color:var(--ink)}
.film-credit{position:absolute;right:22px;bottom:34px;color:#c9d0d4}
.panel-caption{display:flex;justify-content:space-between;gap:24px;margin-top:16px;font-size:14px;line-height:1.5;color:#c5cec6}
.panel-caption span{color:#8ea0ab;text-align:right;max-width:24ch}
.build-visual{background:#d5dbd8;color:#1c2c36}
.object-study{width:100%;height:100%}
.object-cube{transform-origin:50% 42%;animation:object-float 8s ease-in-out infinite}
.study-label{position:absolute;left:22px;bottom:20px;z-index:1}
.atlas-visual img{width:100%;height:100%;object-fit:cover;object-position:72% 50%}
.atlas-scan{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#d0bd8c22 49%,#f3ecdc55 50%,transparent 51%);animation:scan 7s ease-in-out infinite;mix-blend-mode:screen}

.archive{background:#081018}
.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0;padding:0;list-style:none}
.archive-grid a{position:relative;display:block;overflow:hidden;background:#07121d;aspect-ratio:1.35}
.archive-grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.archive-grid a:hover img,.community-art:hover img{transform:scale(1.04)}
.archive-grid span,.archive-caption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:28px 16px 14px;background:linear-gradient(transparent,#07121de6);font:11px/1 ui-monospace,monospace;letter-spacing:.12em}

.access{background:
  radial-gradient(ellipse 40% 50% at 80% 40%,#1a334455,transparent 70%),
  #07121d}
.access-layout,.community-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center}
.access-note{max-width:46ch;margin-top:22px;font-size:16px;line-height:1.55;color:var(--muted)}
.mint{margin-top:26px}
.mint-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}
.mint-address,.mint-copy{border:1px solid var(--line);border-radius:0;background:transparent}
.mint-address{padding:10px 12px;min-height:44px;max-width:100%;text-align:left}
.mint-address code,.mint-code{font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0}
.mint-full{display:none;word-break:break-all}
.mint-address:hover .mint-full,.mint-address:focus-visible .mint-full,.mint-address[aria-expanded=true] .mint-full{display:inline}
.mint-address:hover .mint-trunc,.mint-address:focus-visible .mint-trunc,.mint-address[aria-expanded=true] .mint-trunc{display:none}
.mint-copy{padding:10px 14px;min-height:44px;color:var(--gold);font-size:12px;letter-spacing:.12em}
.mint-copy:hover,.mint-copy.is-copied{background:var(--gold);color:var(--ink)}
.mint-code{user-select:all;word-break:break-all}
.access-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}
.solid-link{display:inline-flex;align-items:center;gap:18px;padding:14px 18px;background:var(--ivory);color:var(--ink);font-size:14px}
.solid-link:hover{background:var(--gold)}
.solid-link svg{width:16px;height:16px}
.subtle-link{font-size:14px;color:#c5cec6}
.subtle-link:hover{color:var(--gold)}
.specimen{margin:0;border:1px solid var(--line);background:#0b1824}
.specimen img{width:100%;aspect-ratio:1;object-fit:cover}
.specimen figcaption{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;color:#c5cec6;font-size:13px}
.token-details{margin-top:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.token-details summary{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:15px;list-style:none}
.token-details summary::-webkit-details-marker{display:none}
.token-details summary span{font-size:22px;transition:transform .2s}
.token-details[open] summary span{transform:rotate(45deg)}
.details-content{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;padding-bottom:22px}
.details-content dl{margin:0}
.details-content dl>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.details-content dt{color:#8ea0ab}
.details-content dd{margin:0;text-align:right}
.details-content .mint-row{flex-direction:column;align-items:flex-start;gap:6px}
.details-content .mint-row dd{text-align:left;max-width:none}
.details-content p{font-size:13px;line-height:1.6;color:#8ea0ab}

.community{background:#0a1622}
.community-copy p{max-width:36ch;margin:18px 0 28px;font-size:17px;line-height:1.5;color:var(--muted)}
.open-note{display:block;margin-top:18px;color:#8ea0ab;font-size:13px}
.community-art{position:relative;display:block;overflow:hidden;min-height:320px}
.community-art img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.15;transition:transform .8s ease}

.footer{padding-top:72px;padding-bottom:28px;background:#050d16}
.footer-wordmark{display:block}
.footer-wordmark svg{width:min(100%,920px);height:auto;aspect-ratio:256/72}
.footer-wordmark:hover{color:var(--gold)}
.footer-line{margin:28px 0;color:#8ea0ab;font-size:15px}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid var(--line);color:#8ea0ab;font-size:12px}

dialog{width:min(1080px,92vw);max-height:92svh;padding:0;border:1px solid #e7e2d433;background:#0b1824;color:var(--ivory)}
dialog::backdrop{background:#03080fd4}
.dialog-top,.film-dialog-caption,.gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px}
.dialog-top{border-bottom:1px solid var(--line)}
.dialog-close{width:44px;height:44px;border:0;background:none;display:grid;place-items:center}
.film-frame{aspect-ratio:16/9;background:#000}
.film-frame iframe{width:100%;height:100%;border:0}
.film-dialog-caption h2{font-size:22px}
.film-dialog-caption p,.gallery-footer p{color:#c5cec6;font-size:14px}
.gallery-stage{display:grid;place-items:center;height:min(68svh,760px);padding:12px}
.gallery-stage img{max-height:100%;object-fit:contain}
.gallery-footer button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none;display:grid;place-items:center}
.gallery-footer button:hover{background:var(--ivory);color:var(--ink)}
.gallery-prev svg{transform:rotate(180deg)}

@keyframes trace{to{stroke-dashoffset:-180}}
@keyframes beacon{50%{opacity:.35}}
@keyframes scroll-mark{to{transform:translateY(40px)}}
@keyframes ink-drift{50%{transform:rotate(4deg) scale(1.04)}}
@keyframes object-float{50%{transform:translateY(-10px)}}
@keyframes scan{0%,100%{transform:translateX(-40%)}50%{transform:translateX(40%)}}
@keyframes panel-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.motion-on .hero-copy,.motion-on .study-hud{animation:panel-in .8s ease both}
.js.motion-on [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js.motion-on [data-reveal].is-revealed{opacity:1;transform:none}
:root[data-motion=off] *,:root[data-motion=off] *::before,:root[data-motion=off] *::after{animation-play-state:paused!important}
.motion-off [data-reveal]{opacity:1;transform:none}
:root[data-motion=off] .exploration-panel{animation:none}
@media(prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}
  :root:not([data-motion=on]) *,:root:not([data-motion=on]) *::before,:root:not([data-motion=on]) *::after{animation:none!important;transition:none!important}
}
@media(max-width:1100px){
  .header-pair{flex-basis:100%;order:6;margin-left:0;white-space:normal}
  .hero-wordmark{width:min(420px,70vw)}
  .study-hud{width:min(240px,42vw)}
  .section-heading{flex-direction:column;align-items:flex-start}
  .exploration-layout,.access-layout,.community-layout,.details-content{grid-template-columns:1fr;gap:28px}
}
@media(max-width:760px){
  :root{scroll-padding-top:132px}
  .header-bar{flex-wrap:wrap;gap:12px}
  .brand{margin-right:auto}
  .js .site-header nav{display:none}
  .js .site-header nav.is-open{display:flex;position:absolute;top:108px;left:16px;right:16px;flex-direction:column;align-items:flex-start;gap:16px;padding:18px;background:#10202c;border:1px solid var(--line)}
  .header-pair{font-size:12px}
  .motion-toggle{padding-inline:8px}
  .hero-copy{padding-top:132px;max-width:none;padding-right:var(--gutter)}
  h1{font-size:clamp(44px,12vw,64px)}
  .dek{font-size:16px}
  .hero-pairline{font-size:16px}
  .study-hud{left:var(--gutter);right:var(--gutter);bottom:72px;width:auto}
  .study-line{min-height:0;font-size:13px}
  .phase-scale{display:none}
  .scrim{background:linear-gradient(#07121df2 0%,#07121de6 30%,#07121d66 46%,transparent 64%)}
  .hero-foot{align-items:flex-start;flex-direction:column;gap:8px}
  .honest{font-size:11px}
  .section-pad{padding:72px var(--gutter)}
  .section-top{flex-direction:column;gap:6px}
  .exploration-index{display:grid;grid-template-columns:1fr 1fr 1fr}
  .exploration-tab{padding:14px 8px 14px 0;min-height:72px}
  .exploration-tab small,.index-note{display:none}
  .exploration-tab strong{font-size:14px}
  .film-title{font-size:34px}
  .panel-caption{flex-direction:column}
  .panel-caption span{text-align:left}
  .archive-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .film-dialog-caption{flex-direction:column;align-items:flex-start}
}
@media(max-width:380px){
  .token-access{padding-inline:8px}
  h1{font-size:40px}
  .hero-pairline{font-size:14px}
}
