
:root{
  --void:#0A0814; --deep:#141130; --deep2:#1E1A42;
  --line:#2E2857; --line-soft:#1C1838;
  --text:#EDE8F2; --muted:#9A93B8; --dim:#6E6790;
  --brass:#E8B558; --brass-hi:#F7DFA8; --brass-lo:#8E6C31;
  --amp:0;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--text);font-family:"Newsreader",Georgia,serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:"Syne",Arial,sans-serif;font-weight:800;margin:0;letter-spacing:-.02em;line-height:1.04;text-wrap:balance}
.lbl{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-lo)}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* boot */
#boot{position:fixed;inset:0;z-index:200;background:var(--void);display:grid;place-items:center;text-align:center}
#boot.done{opacity:0;pointer-events:none;transition:opacity .5s}
#bootline{font-family:"Syne",sans-serif;font-weight:800;font-size:clamp(19px,4.3vw,44px);white-space:nowrap}
#bootline span{display:inline-block;transition:opacity .28s,transform .38s cubic-bezier(.6,-.4,.3,1.4),margin .38s}
#bootline span.gone{opacity:0;transform:translateY(-14px) scale(.4);margin-left:-.36em;margin-right:-.36em}
#bootline span.keep{color:var(--brass-hi)}
#bootdot{opacity:0;transition:opacity .2s .25s;color:var(--brass)}
#bootdot.on{opacity:1}
#bootsil{width:70px;margin:26px auto 0;opacity:0;transition:opacity .3s}
#bootsil.on{opacity:1}
#bootsil img{width:100%;display:block;image-rendering:pixelated;filter:brightness(0) saturate(100%) invert(72%) sepia(60%) saturate(480%) hue-rotate(348deg)}

/* header */
header{position:fixed;top:24px;left:0;right:0;z-index:90;display:flex;align-items:center;gap:20px;padding:16px 28px;background:linear-gradient(180deg,rgba(10,8,20,.92),rgba(10,8,20,0))}
header .logo{height:17px}header .logo img{height:100%;display:block}
nav{display:flex;gap:20px;margin-left:auto;align-items:center}
nav a.nv{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .2s}
nav a.nv:hover{color:var(--brass-hi)}
.snd{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);padding:7px 11px;border-radius:2px;color:var(--muted)}
.snd:hover{border-color:var(--brass-lo);color:var(--brass)}
.snd[data-on="1"]{border-color:var(--brass);color:var(--brass-hi);background:rgba(232,181,88,.12)}
.join{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--brass);color:#150F04;padding:8px 14px;border-radius:2px}
.join:hover{background:var(--brass-hi)}
@media(max-width:900px){nav .hideSm{display:none}}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden}
#hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .scrim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(10,8,20,.30),rgba(10,8,20,.88) 76%),linear-gradient(180deg,rgba(10,8,20,.88),rgba(10,8,20,.22) 35%,rgba(10,8,20,.95))}
.hero .grain{position:absolute;inset:0;pointer-events:none;opacity:.3;mix-blend-mode:overlay;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px)}
.hero .inner{position:relative;text-align:center;padding:118px 28px 150px;width:100%}

/* the silhouette is a window into the moving visualizer — always aligned */
.sil{position:relative;width:min(224px,42vw);margin:0 auto 28px;aspect-ratio:480/620}
.sil .halo{position:absolute;inset:-26%;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,rgba(232,181,88,calc(.07 + var(--amp)*.34)),transparent 62%),radial-gradient(ellipse at 50% 48%,rgba(10,8,20,.68),transparent 70%);transition:background .1s linear}
.sil .win{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:var(--m);mask-image:var(--m);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.sil .win video{width:100%;height:100%;object-fit:cover;filter:brightness(1.14) saturate(1.4) contrast(1.22)}
.sil .edge{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:var(--m);mask-image:var(--m);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;box-shadow:inset 0 0 0 200px rgba(232,181,88,calc(var(--amp)*.16))}

.hero h1{font-size:clamp(36px,7vw,84px);letter-spacing:-.045em}
.hero h1 .sub{display:block;font-size:clamp(12px,1.4vw,16px);font-weight:600;letter-spacing:.36em;color:var(--brass);margin-bottom:16px;text-transform:uppercase}
.thesis{color:var(--muted);max-width:38ch;margin:24px auto 0;font-size:clamp(16px,1.7vw,19px);line-height:1.55}
.thesis b{color:var(--text);font-weight:500;font-style:normal}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.btn{font-family:"JetBrains Mono",monospace;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:14px 22px;border-radius:2px;border:1px solid var(--brass);color:var(--brass-hi);transition:background .2s,color .2s}
.btn:hover{background:var(--brass);color:#150F04}
.btn.solid{background:var(--brass);color:#150F04}.btn.solid:hover{background:var(--brass-hi)}
.btn.ghost{border-color:var(--line);color:var(--muted)}.btn.ghost:hover{background:rgba(255,255,255,.05);color:var(--text)}
.scrollcue{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:8px}
.scrollcue i{width:1px;height:26px;background:linear-gradient(180deg,var(--brass-lo),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

section{padding:92px 0;border-top:1px solid var(--line-soft)}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:32px}
.sechead h2{font-size:clamp(24px,3vw,38px)}
.sechead .rt{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.sechead a.ig{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--brass);border-bottom:1px solid rgba(232,181,88,.4)}

/* archive */
.archive{background:linear-gradient(180deg,rgba(30,26,66,.5),transparent)}
.arcbox{border:1px solid rgba(232,181,88,.3);background:linear-gradient(180deg,rgba(232,181,88,.06),rgba(232,181,88,.015));padding:38px 34px}
.arcbox h2{font-size:clamp(26px,3.4vw,42px);margin:12px 0 14px}
.arcbox p.pitch{color:var(--muted);max-width:52ch;margin:0 0 26px}
.arclist{list-style:none;margin:0 0 26px;padding:0;font-family:"JetBrains Mono",monospace;font-size:13px}
.arclist li{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid rgba(232,181,88,.14)}
.arclist li .n{color:var(--brass-lo);width:26px;flex:0 0 auto}
.arclist li .t{flex:1;min-width:0}
.arclist li .act{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);border:1px solid rgba(232,181,88,.35);padding:6px 10px;border-radius:2px;white-space:nowrap}
.arclist li .act:hover{background:rgba(232,181,88,.14)}
.arclist li .st{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.arclist li.locked .t{color:var(--dim)}
.arcform{display:flex;gap:10px;flex-wrap:wrap;max-width:520px}
.arcform input{flex:1 1 250px;background:rgba(10,8,20,.6);border:1px solid var(--line);color:var(--text);font-family:"JetBrains Mono",monospace;font-size:13px;padding:14px;border-radius:2px}
.arcform input::placeholder{color:var(--dim)}
.arcform input:focus{border-color:var(--brass-lo);outline:none}
.arcnote{margin-top:14px;font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--dim);line-height:1.7}

.rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(206px,1fr));gap:18px}
.card{background:var(--deep);border:1px solid var(--line-soft);overflow:hidden;transition:border-color .2s,transform .2s;display:flex;flex-direction:column}
.card:hover{border-color:var(--brass-lo);transform:translateY(-3px)}
.card .art{aspect-ratio:1;background-size:cover;background-position:center;position:relative}
.card .meta{padding:14px 15px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .nm{font-family:"Syne",sans-serif;font-weight:700;font-size:15px;line-height:1.2}
.card .dt{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.card .row{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.card .row a,.card .row button{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:6px 8px;border-radius:2px}
.card .row .p{color:var(--brass);border-color:rgba(232,181,88,.4)}
.card .row a:hover,.card .row button:hover{color:var(--brass-hi);border-color:var(--brass-lo)}
.card.play-on{border-color:var(--brass)}
.card.dim{opacity:.45}

.pending{border:1px dashed var(--line);padding:24px;text-align:center;color:var(--dim);font-family:"JetBrains Mono",monospace;font-size:12px;line-height:1.9}
.pending b{color:var(--brass);font-weight:400}

/* lightbox */
#lb{position:fixed;inset:0;z-index:150;background:rgba(6,4,12,.94);display:none;place-items:center;padding:40px 20px}
#lb.on{display:grid}
#lb .box{position:relative;max-width:min(94vw,820px);width:100%}
#lb video{width:100%;max-height:78vh;display:block;background:#000;border:1px solid var(--line)}
#lb .yt{position:relative;width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line)}
#lb .yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
#lb .fallback{position:absolute;inset:0;display:none;place-items:center;text-align:center;padding:24px;font-family:"JetBrains Mono",monospace;font-size:12px;line-height:1.9;color:var(--dim)}
#lb .fallback a{color:var(--brass);border-bottom:1px solid rgba(232,181,88,.4)}
#lb .x{position:absolute;top:-38px;right:0;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
#lb .x:hover{color:var(--brass-hi)}
#lb .cap{margin-top:12px;font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--dim);letter-spacing:.08em}

/* dock */
#dock{position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;align-items:center;gap:16px;padding:12px 20px;background:rgba(10,8,20,.95);border-top:1px solid var(--line);backdrop-filter:blur(8px);transform:translateY(110%);transition:transform .45s cubic-bezier(.2,.8,.3,1)}
#dock.on{transform:translateY(0)}
#dock .pp{width:38px;height:38px;border:1px solid var(--brass);border-radius:50%;color:var(--brass-hi);display:grid;place-items:center;font-size:12px;flex:0 0 auto}
#dock .pp:hover{background:rgba(232,181,88,.16)}
#dock .info{min-width:0;flex:0 0 auto;max-width:210px}
#dock .tt{font-family:"Syne",sans-serif;font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dock .ss{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#viz{flex:1;height:30px;display:flex;align-items:flex-end;gap:2px;min-width:50px}
#viz i{flex:1;background:linear-gradient(180deg,var(--brass),var(--brass-lo));height:2px;border-radius:1px;transition:height .07s linear}
#dock .dsp{display:flex;gap:8px;flex:0 0 auto}
#dock .dsp a{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:6px 8px;border-radius:2px}
#dock .dsp a:hover{color:var(--brass-hi);border-color:var(--brass-lo)}
@media(max-width:760px){#dock .dsp{display:none}#dock .info{flex:1;max-width:none}#viz{display:none}}

footer{padding:56px 0 120px;border-top:1px solid var(--line-soft);color:var(--dim)}
footer p{font-size:14.5px;max-width:62ch}
footer .socials{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
footer .socials a{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
footer .socials a:hover{color:var(--brass-hi)}
.draftbar{position:fixed;top:0;left:0;right:0;z-index:120;background:var(--brass);color:#150F04;font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:5px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---- real-site additions ---- */
.igrail{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.igpost{background:var(--deep);border:1px solid var(--line-soft);overflow:hidden;display:block;transition:border-color .2s,transform .2s}
.igpost:hover{border-color:var(--brass-lo);transform:translateY(-3px)}
.igpost .igart{aspect-ratio:1;overflow:hidden;background:#141130}
.igpost .igart img{width:100%;height:100%;object-fit:cover;display:block}
.igpost .igcap{padding:13px 14px 15px;font-size:14px;line-height:1.45;color:var(--muted)}
footer{padding:44px 0 60px}
footer .fnav,footer .fsoc{display:flex;gap:18px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
footer .fnav{margin-bottom:16px}
footer .fnav a{color:var(--muted)}footer .fnav a:hover{color:var(--brass-hi)}
footer .fsoc a{color:var(--dim)}footer .fsoc a:hover{color:var(--brass)}
footer .fnote{color:var(--muted);margin:22px 0 6px;font-size:15px}
footer .fnote a{color:var(--brass);border-bottom:1px solid rgba(232,181,88,.4)}
footer .fcp{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);margin:0}
