:root{
--bg:#14100c;--panel:#1d1712;--panel2:#171209;--line:#33291f;--line2:#241c14;
--ink:#f0e6d2;--dim:#a2917a;--dim2:#6f6252;--cream:#f7f0e0;
--amber:#d8a24a;--burnt:#b4553a;--rye:#8aa86a;
--mono:ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;
--serif:Georgia,"Iowan Old Style","Palatino Linotype",serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.65;
background-image:radial-gradient(900px 500px at 15% -5%,rgba(216,162,74,.07),transparent 60%),
radial-gradient(700px 400px at 90% 0%,rgba(180,85,58,.06),transparent 55%),
linear-gradient(rgba(216,162,74,.022) 1px,transparent 1px),
linear-gradient(90deg,rgba(216,162,74,.022) 1px,transparent 1px);
background-size:100% 100%,100% 100%,34px 34px,34px 34px}
a{color:var(--amber);text-decoration:none}
a:hover{text-decoration:underline}
code,kbd{font-family:var(--mono);font-size:.86em;background:#231b13;padding:1px 5px;border:1px solid var(--line)}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}

/* ---- HUD ---- */
.hud{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;
padding:11px 22px;background:rgba(18,14,10,.94);border-bottom:1px solid var(--line);
backdrop-filter:blur(9px);font-family:var(--mono);font-size:11.5px;letter-spacing:.08em}
.hud .brand{display:flex;align-items:center;gap:10px;color:var(--cream);font-weight:700;letter-spacing:.12em}
.hud .mark{width:15px;height:15px;background:linear-gradient(180deg,var(--amber),var(--burnt));
clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);box-shadow:0 0 12px rgba(216,162,74,.45)}
.hud .metrics{display:flex;flex-wrap:wrap;gap:6px 22px;margin-left:auto;color:var(--dim2);text-transform:uppercase}
.hud .metrics b{color:var(--amber);font-weight:700}
.hud nav{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--dim);text-transform:uppercase;width:100%}
.hud nav a{color:var(--dim)}
.hud nav a[aria-current]{color:var(--amber);border-bottom:1px dotted var(--amber)}

/* ---- ticker ---- */
.ticker{overflow:hidden;border-bottom:1px solid var(--line);background:#100c08;padding:7px 0}
.ticker div{display:inline-block;white-space:nowrap;font-family:var(--mono);font-size:11px;letter-spacing:.16em;
color:var(--dim);animation:slide 52s linear infinite}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker div{animation:none}}

/* ---- hero ---- */
.hero{display:flex;flex-wrap:wrap;gap:34px 54px;align-items:center;padding:clamp(34px,6vw,74px) 0 clamp(26px,4vw,48px)}
.hero .copy{flex:1 1 460px;min-width:0}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--burnt);text-transform:uppercase}
h1{font-size:clamp(40px,6.2vw,76px);line-height:.94;letter-spacing:-.02em;margin:14px 0 10px;font-weight:400}
h1 em{font-style:normal;color:var(--amber);display:block}
.acronym{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--dim);margin-bottom:18px}
.lead{font-size:19px;color:#dcceb4;max-width:46ch}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:11px 18px;
border:1px solid var(--amber);background:transparent;color:var(--amber);cursor:pointer}
.btn:hover{background:rgba(216,162,74,.12)}
.btn.alt{border-color:var(--line);color:var(--dim)}
.btn.alt:hover{background:rgba(216,162,74,.06);color:var(--ink)}

/* ---- vessel ---- */
.vessel{flex:0 0 320px;height:320px;position:relative;margin:0 auto;perspective:900px}
.vessel .ring{position:absolute;left:50%;top:50%;transform-style:preserve-3d}
.vessel .solid{position:absolute;left:50%;top:50%;width:310px;height:310px;margin:-155px 0 0 -155px;overflow:visible}
.vessel .ring{border:1px solid rgba(216,162,74,.42);border-radius:50%}
.vessel .ring:nth-child(1){width:304px;height:304px;margin:-152px 0 0 -152px;animation:gyreA 19s linear infinite}
.vessel .ring:nth-child(2){width:226px;height:226px;margin:-113px 0 0 -113px;
border-color:rgba(216,162,74,.3);animation:gyreB 13s linear infinite}
.vessel .ring:nth-child(3){width:150px;height:150px;margin:-75px 0 0 -75px;
border-color:rgba(180,85,58,.5);animation:gyreC 9s linear infinite}
@keyframes gyreA{0%{transform:rotateX(74deg) rotateZ(0)}100%{transform:rotateX(74deg) rotateZ(360deg)}}
@keyframes gyreB{0%{transform:rotateY(72deg) rotateZ(360deg)}100%{transform:rotateY(72deg) rotateZ(0)}}
@keyframes gyreC{0%{transform:rotateX(34deg) rotateY(48deg) rotateZ(0)}100%{transform:rotateX(34deg) rotateY(48deg) rotateZ(360deg)}}
@media (prefers-reduced-motion:reduce){.vessel .ring{animation:none}}

/* ---- sections ---- */
section{padding:clamp(28px,4vw,52px) 0;border-top:1px solid var(--line2)}
.sechead{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:18px}
.badge{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
color:var(--amber);border:1px solid var(--line);padding:3px 8px}
h2{font-size:clamp(26px,3.4vw,40px);font-weight:400;line-height:1.1}
h2 span{color:var(--amber)}
h3{font-size:20px;font-weight:400;margin:0 0 6px;color:var(--cream)}
p{margin:0 0 12px;color:#dccfb6}
.grid2{display:flex;flex-wrap:wrap;gap:26px 44px}
.grid2 .prose{flex:1 1 520px;min-width:0}
.grid2 .side{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:14px}
.eq{background:#100c08;border-left:3px solid var(--amber);border-right:1px solid var(--line);
padding:20px 22px;margin:20px 0;font-family:var(--mono);font-size:13.5px;line-height:1.85;color:#e6d6b6;
overflow-x:auto;white-space:pre}
.eq::before{content:"EQUATION TRACE REF // CBI-" attr(data-ref);display:block;font-size:10px;letter-spacing:.18em;
color:var(--dim2);margin-bottom:10px}
.stat{background:var(--panel);border:1px solid var(--line);padding:15px 17px}
.stat .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim2)}
.stat .val{font-family:var(--mono);font-size:27px;color:var(--amber);margin:6px 0 5px;letter-spacing:-.01em}
.stat .desc{font-size:14px;color:var(--dim);line-height:1.5}

/* ---- apparatus ---- */
.rack{background:var(--panel);border:1px solid var(--line)}
.rack-head{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:11px 16px;
border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--rye);box-shadow:0 0 9px var(--rye)}
.rack-grid{display:flex;flex-wrap:wrap}
.controls{flex:1 1 340px;padding:20px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px}
.slider label{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:11px;
letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:9px}
.slider label b{color:var(--amber);font-weight:700}
input[type=range]{width:100%;accent-color:var(--amber);background:transparent}
.term{flex:1 1 340px;padding:18px;font-family:var(--mono);font-size:12px;line-height:1.8;
background:#0c0906;min-height:230px}
.term div{color:#8fa87e}
.term div.warn{color:var(--amber)}
.term div .t{color:var(--dim2)}
.pipeline{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}
.node{flex:1 1 210px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--burnt);padding:15px 16px}
.node .n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--burnt)}
.node h3{margin:7px 0 6px}
.node p{font-size:14.5px;color:var(--dim);margin:0}

/* ---- tables, lists ---- */
table{width:100%;border-collapse:collapse;font-size:15px}
th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
color:var(--dim2);padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:10px;border-bottom:1px solid var(--line2);color:#d8cab2}
td.mono{font-family:var(--mono);font-size:13px;color:var(--dim)}
ul.plain{list-style:none}
ul.plain li{padding:11px 0;border-bottom:1px solid var(--line2)}
ul.plain li b{font-family:var(--mono);font-size:12px;color:var(--amber);display:block;letter-spacing:.06em}
footer{border-top:1px solid var(--line);padding:26px 0 40px;font-family:var(--mono);font-size:11.5px;
letter-spacing:.06em;color:var(--dim2);line-height:2}
footer a{color:var(--dim)}
