@font-face{font-family:Sora;src:url('assets/fonts/sora.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Figtree;src:url('assets/fonts/figtree.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Martian Mono';src:url('assets/fonts/martian-mono.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{
  --p-bg:#000000;--p-surface:#101010;--p-ink:#e9e8e0;--p-muted:#969da4;
  --p-accent:#d99b55;--p-accent-ink:#000000;--p-action:#d99b55;--p-action-ink:#000000;
  --p-inv-bg:#e9e8e0;--p-inv-surface:#d4d3cb;--p-inv-ink:#000000;--p-inv-muted:#3c3b39;
  --p-inv-accent:#000000;--p-inv-accent-ink:#e9e8e0;--p-inv-action:#000000;--p-inv-action-ink:#e9e8e0;
  --font-display:'Sora',sans-serif;--font-text:'Figtree',sans-serif;--font-mono:'Martian Mono',monospace;
  --display-weight:400;--display-tracking:-.035em;--display-tracking-xl:-.045em;--ly-scale:.9;
  --g-main:#000;--ink:#e9e8e0;--muted:#969da4;--action:#d99b55;--line:#252723;
  --gut:clamp(24px,5.6vw,96px);--nav:88px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:#000;scroll-behavior:auto}
body{margin:0;background:#000;color:var(--ink);font:400 17px/1.65 var(--font-text);min-width:0}
.home #main{overflow-x:clip}
.home{isolation:isolate}
.interior{padding-bottom:44px}
.skip-link{position:absolute;top:-100px;left:0;z-index:10;padding:12px 16px;background:#e9e8e0;color:#000}
.skip-link:focus{top:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;padding:12px 24px;border:1px solid var(--action);border-radius:4px;cursor:pointer;font:400 14px var(--font-mono)}
.btn--primary{background:var(--action);color:#000}
.btn:disabled{opacity:.5;cursor:default}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{width:calc(100% - 2*var(--gut));max-width:1440px;margin-inline:auto}
.space-header{position:relative;height:88px;display:flex;align-items:center;justify-content:space-between;z-index:5}
.wordmark{display:inline-flex;align-items:center;gap:12px;font:400 19px/1.2 var(--font-display);letter-spacing:-.055em;min-height:44px;white-space:nowrap}
.wordmark-period{color:var(--action);margin-left:-11px}
.orbit-mark{width:23px;height:23px;border:1px solid #b5b9a8;border-radius:50%;position:relative;margin-right:4px}
.orbit-mark:before{content:'';position:absolute;width:31px;height:10px;left:-5px;top:5px;border:1px solid var(--action);border-radius:50%;transform:rotate(-35deg)}
.orbit-mark:after{content:'';position:absolute;inset:7px;border-radius:50%;background:var(--action)}
.header-links{display:flex;gap:32px;font:400 13px var(--font-mono);color:#b6b8ae}
.header-links a{min-height:44px;display:inline-flex;align-items:center;position:relative}
.header-links a:after{content:'';position:absolute;bottom:8px;left:0;right:0;height:1px;background:var(--action);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.header-links a:hover:after,.header-links a[aria-current]:after{transform:scaleX(1)}
.header-links a:hover,.header-links a[aria-current]{color:var(--ink)}
.space-hero{position:relative;isolation:isolate;height:clamp(520px,calc(100svh - 220px),680px);padding:0;overflow:visible;background:transparent}
.hero-content{height:100%;position:relative;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,2fr);gap:32px;align-items:center;padding-block:8px}
.hero-copy{position:relative;z-index:2;min-width:0;display:flex;flex-direction:column;gap:20px}
.hero-text{position:relative;z-index:2}
.space-hero .hero-text{pointer-events:none;width:100%}
.hero-text a{pointer-events:auto}
.eyebrow{font:400 12px/1.5 var(--font-mono);color:#a7aa9f;margin:0 0 28px;display:flex;align-items:center;gap:10px}
h1,h2,h3{font-family:var(--font-display);font-weight:400;color:var(--ink);letter-spacing:-.04em}
.space-hero h1{font-size:clamp(42px,4.2vw,64px);line-height:1.04;letter-spacing:-.065em;margin:0}
.wilds{color:#d99b55}
.scene-area{position:relative;z-index:1;min-width:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:16px;translate:0 24px}
.solar-stage{position:relative;width:100%;height:100%;min-width:0;container-type:size}
.solar-stage iframe{display:block;border:0;width:100%;height:100%;background:transparent;opacity:.94;transform:scale(1.5);transform-origin:50% calc(50% + 8px)}
.solar-clock{position:absolute;left:50%;translate:-50% 0;white-space:nowrap;font:400 12px/1.6 var(--font-mono);color:#969da4}
#solar-elapsed{color:var(--action)}
.supernova{position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none}
.supernova-disc{position:absolute;border-radius:50%;transform:translate(-50%,-50%);will-change:transform,opacity}
.scene-sidebar{position:relative;z-index:4;width:76px}
.music-box{position:relative;display:flex;flex-direction:column;align-items:flex-end;width:200px;margin:24px 0 0 -124px;padding-top:16px;border-top:1px solid var(--line);font:700 14px/1.5 var(--font-mono);-webkit-text-stroke:.3px currentColor}
.music-title{color:var(--action);font:900 18px/1.5 var(--font-mono);-webkit-text-stroke:.35px currentColor}
.music-song{width:100%;min-height:36px;padding:8px 0;border:0;background:transparent;color:var(--muted);font:inherit;text-align:right;cursor:pointer}
.music-song:hover,.music-song[aria-pressed=true]{color:var(--action)}
.music-song[aria-pressed=true]::before{content:'▶ ';font-size:8px}
#music-status{color:var(--action);font-size:9px;text-align:right}
.scene-button:disabled{opacity:.4;cursor:default}
.starfield{position:fixed;inset:0;width:100%;height:100svh;z-index:-1;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}
.scene-controls{position:relative;z-index:4;width:100px;margin-left:-24px;display:flex;flex-direction:column;align-items:stretch;gap:12px;white-space:nowrap}
.scene-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#a1a69b;background:#080a08;border:1px solid #272a25;border-radius:4px;min-height:44px;padding:0 12px;font:700 14px var(--font-mono);-webkit-text-stroke:.3px currentColor;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.scene-button:hover{color:#e9e8e0;border-color:#666b5d;background:#11140f}
.scene-button[aria-pressed=true]{color:#d99b55}
.destinations{display:grid;grid-template-columns:minmax(0,1fr);position:relative;z-index:3}
.destination{position:relative;border-top:1px solid #3a3b33;padding:14px 26px 14px 0;display:flex;flex-direction:column;gap:8px;min-height:80px;transition:border-color .18s}
.destination:hover{border-color:var(--action)}
.destination-label{font:400 11px var(--font-mono);display:flex;gap:16px;align-items:center;color:#b8bbae}
.destination-label>span{color:#777e6f}
.destination-motto{font:400 clamp(16px,1.35vw,21px)/1.45 var(--font-display);letter-spacing:-.035em;max-width:92%}
.destination-arrow{position:absolute;right:0;top:50%;translate:0 -50%;color:#b7b9ae;font-size:22px;transition:transform .18s,color .18s}
.destination:hover .destination-arrow{transform:translate(3px,-3px);color:var(--action)}
.space-footer{position:fixed;inset:auto 20px 8px;z-index:5;min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#858c80;font:400 11px/1.5 var(--font-mono);pointer-events:none}
.space-footer nav{display:flex;gap:24px}
.space-footer a{display:inline-flex;align-items:center;min-height:28px;pointer-events:auto}
.space-footer a:hover{color:#e9e8e0}
.space-footer .credit{margin-left:0}
.page-hero{height:auto;min-height:0;padding:64px 0 56px;background:#000}
.page-hero .hero-text{padding:0}
.back-link{font:400 12px var(--font-mono);color:#a9ae9f;display:inline-flex;gap:10px;align-items:center;min-height:44px;margin-bottom:40px}
.back-link:hover{color:var(--action)}
.page-hero .eyebrow{color:var(--action);margin-bottom:20px}
.page-hero h1{max-width:1000px;font-size:clamp(38px,5.1vw,76px);line-height:1.17;margin:0;letter-spacing:-.055em}
.page-content{padding:32px 0 96px;max-width:1100px;min-height:30svh}
.page-content h2{font-size:28px;line-height:1.3;margin:48px 0 24px}
.page-content h3{font-size:22px;margin:32px 0 16px}
.page-content p{max-width:65ch;margin:0 0 24px;color:#c4c7bc}
.page-content ul{padding-left:20px;margin:0 0 32px}
.page-content li{padding:5px 0;color:#c4c7bc}
.page-content a{color:#d7af79;text-decoration:underline;text-underline-offset:5px}
.page-content strong{font-weight:400;color:#e9e8e0}
.musicals-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:48px;max-width:1440px}
.musicals-content>h2{grid-column:1/-1;margin-top:0}
.musicals-content>h3{grid-row:2;font:400 14px var(--font-mono);color:var(--action);padding-bottom:20px;border-bottom:1px solid var(--line)}
.musicals-content>ul{grid-row:3;list-style:none;padding:0}
.musicals-content li{padding:12px 0;line-height:1.4;font-size:20px}
.musicals-content em{font-style:normal}
.credits-content{padding-top:80px}
.credits-content h1{font-size:48px;margin-bottom:40px}
:focus-visible{outline:2px solid var(--action);outline-offset:5px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
