:root{
  /* foundry — single dark theme, committed */
  --ground:#141110;      /* warm brown-black, not neutral black */
  --panel:#1C1815;       /* lifted sections + console chassis */
  --panel2:#211C18;      /* hover lift */
  --seam:rgba(234,228,216,.1);
  --seam2:rgba(234,228,216,.18);
  /* text on ground / panel */
  --text:#EAE4D8;        /* headings, primary — 14.8:1 / 13.9:1 */
  --body:#C6BEB1;        /* running text — 10.2:1 / 9.6:1 */
  --dim:#9A9184;         /* meta, secondary — 6.1:1 / 5.7:1 */
  --faint:#857D70;       /* decoration + large only — 4.6:1 / 4.3:1 */
  /* ore, heated */
  --ember:#E28B3B;       /* the accent — 7.2:1 / 6.7:1 */
  --hot:#F2A85C;         /* active glow — 9.4:1 / 8.8:1 */
  --ore:#B08442;         /* the mark, settled state — 5.6:1 / 5.2:1 */
  --ok:#8FAE8B;          /* live / deployed — 7.7:1 / 7.2:1 */
  /* type */
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  /* measure + layout */
  --measure-lead:58ch;
  --maxw:1160px;
  --gutter:clamp(20px,4.5vw,32px);
}
*{box-sizing:border-box;margin:0;padding:0}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html{color-scheme:dark}
body{font-family:var(--sans);color:var(--body);background:var(--ground);line-height:1.6;-webkit-font-smoothing:antialiased}
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
::selection{background:var(--ember);color:var(--ground)}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:50;background:var(--ember);color:var(--ground);padding:12px 18px;font-weight:600;font-size:.9rem;text-decoration:none}
.skip:focus{left:0}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* type */
h1,h2{font-family:var(--serif);font-weight:600;line-height:1.05;letter-spacing:-.01em;color:var(--text);text-wrap:balance}
h1{font-size:clamp(2.5rem,5.6vw,4.5rem)}
h2{font-size:clamp(1.8rem,3.8vw,2.9rem)}
h3{font-family:var(--serif);font-weight:600;font-size:1.25rem;line-height:1.3;letter-spacing:-.01em;color:var(--text)}
p{max-width:60ch}
.eyebrow,.foot-h{font-family:var(--mono);font-weight:500;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ember)}
.lead{font-size:clamp(1.02rem,1.6vw,1.28rem);color:var(--dim);max-width:var(--measure-lead);margin-top:.6em}
.hero .lead{max-width:50ch}
.signature{font-family:var(--serif);font-style:italic;font-size:1.45rem;color:var(--ember);margin-top:1.2em}
.motto{font-family:var(--serif);font-style:italic;color:var(--ember)}

/* nav */
nav.site{position:sticky;top:0;z-index:20;background:rgba(20,17,16,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--seam)}
nav .container{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:1.02rem;color:var(--text);text-decoration:none}
.navlinks{display:flex;align-items:center;gap:32px}
.navlinks a{color:var(--dim);text-decoration:none;font-size:.94rem}
.navlinks a:hover,.navlinks a[aria-current]{color:var(--text)}
.navlinks a.btn,.navlinks a.btn:hover{color:var(--ground)}
.nav-t,.nav-burger{display:none}
button.nav-burger{background:none;border:0;padding:0;color:inherit}

/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-weight:600;font-size:.94rem;letter-spacing:.02em;padding:14px 28px;border:1px solid var(--text);background:var(--text);color:var(--ground);text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.btn:hover{background:var(--ember);border-color:var(--ember);color:var(--ground)}
.btn.ghost{background:transparent;color:var(--text)}
.btn.ghost:hover{background:var(--text);color:var(--ground)}
.arrow{font-weight:600;color:var(--text);text-decoration:none;border-bottom:1px solid var(--ember);padding-bottom:3px}
.arrow:hover{color:var(--hot)}

/* status chips */
.chip{display:inline-block;font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px 5px;border:1px solid var(--ember);color:var(--ember)}
.chip--live{border-color:var(--ok);color:var(--ok)}

/* sections */
section{padding:clamp(68px,9.5vw,128px) 0;border-top:1px solid var(--seam)}
section:first-of-type{border-top:0}
section[id]{scroll-margin-top:80px}
.strap{padding:clamp(46px,7vw,78px) 0}
.lift{background:var(--panel)}
.cta-row{display:flex;align-items:center;gap:26px;margin-top:40px;flex-wrap:wrap}
.proof-line{margin-top:34px;font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

/* hero + console */
.hero{padding-top:clamp(48px,6vw,84px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,4.5vw,60px);align-items:start}
.hero h1{margin-top:.35em}
.console{background:var(--panel);border:1px solid var(--seam2)}
.con-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--seam);font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.con-head .run{color:var(--ember)}
.con-head button{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;background:none;border:1px solid var(--seam2);color:var(--dim);padding:5px 10px;cursor:pointer}
.con-head button:hover{color:var(--text);border-color:var(--dim)}
.stages{padding:6px 0}
.stage{display:grid;grid-template-columns:26px 30px minmax(88px,auto) 1fr;gap:12px;align-items:baseline;padding:8px 16px;font-family:var(--mono);font-size:.78rem}
.lamp{width:9px;height:9px;border-radius:50%;background:var(--faint);opacity:.4;align-self:center;justify-self:center}
.stage.run .lamp{background:var(--hot);opacity:1;box-shadow:0 0 10px rgba(242,168,92,.7)}
.stage.done .lamp{background:var(--ore);opacity:1}
@media(prefers-reduced-motion:no-preference){
  @keyframes lamp-pulse{50%{opacity:.45}}
  .stage.run .lamp{animation:lamp-pulse 1.1s ease-in-out infinite}
}
.stage .no{color:var(--faint)}
.stage .nm{color:var(--dim);letter-spacing:.06em}
.stage.run .nm,.stage.done .nm{color:var(--text)}
.stage .log{color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.stage.run .log{color:var(--ember)}
.con-foot{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border-top:1px solid var(--seam);font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.con-foot .out{color:var(--ok)}
.con-caption{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:12px}

/* pillars */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--seam);border:1px solid var(--seam);margin-top:56px}
.grid-3>div{background:var(--ground);padding:38px 32px}
.lift .grid-3>div{background:var(--panel)}
.grid-3 h3{margin-bottom:14px}
.grid-3 p{color:var(--dim);font-size:.98rem}

/* crew line */
.crew{margin:30px 0 36px;color:var(--faint);font-size:.98rem;letter-spacing:.03em;line-height:2.1}
.crew b{font-family:var(--serif);font-weight:600;color:var(--text);font-style:normal}

/* build records */
.records{margin-top:46px;display:grid;gap:24px}
.rec{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);border:1px solid var(--seam2);background:var(--panel);text-decoration:none;color:inherit;transition:border-color .2s ease}
.rec:hover{border-color:var(--ember)}
.rec-main{padding:clamp(24px,3.2vw,40px)}
.rec-name{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.05;color:var(--text)}
.rec-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ember);margin-top:10px}
.rec-desc{color:var(--dim);margin-top:16px;font-size:.96rem;max-width:46ch}
.rec-meta{border-left:1px solid var(--seam);padding:clamp(24px,3.2vw,40px);font-family:var(--mono);font-size:.74rem;display:grid;align-content:start;gap:12px}
.rec-meta>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed var(--seam);padding-bottom:10px}
.rec-meta dt{color:var(--dim);letter-spacing:.1em;text-transform:uppercase}
.rec-meta dd{color:var(--text);text-align:right}
.rec-meta .st-beta{color:var(--hot)}
.rec-meta .st-live{color:var(--ok)}
.rec--open{background:transparent;border-style:dashed}
.rec--open .rec-name{font-style:italic;font-weight:400;color:var(--dim);font-size:1.4rem}

/* product halls (works) */
.hall-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,5vw,76px);align-items:center;padding-left:max(var(--gutter),calc((100% - var(--maxw))/2))}
.hall--flip .hall-inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr);padding-left:0;padding-right:max(var(--gutter),calc((100% - var(--maxw))/2))}
.hall--flip .hall-media{order:-1}
.hall-copy{max-width:600px}
.hall h2{margin-top:.45em;max-width:16ch}
.hall-eyebrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.featlist{list-style:none;margin-top:38px;border-top:1px solid var(--seam2);max-width:48ch}
.featlist li{padding:15px 0;border-bottom:1px solid var(--seam);font-size:.96rem;color:var(--dim)}
.featlist li b{font-family:var(--serif);font-weight:600;font-size:1.08rem;color:var(--text);margin-right:2px}
.hall-meta{margin-top:26px;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.hall-meta b{color:var(--ember);font-weight:500}
.shot{position:relative;border:1px solid var(--seam2);background:var(--panel);aspect-ratio:16/10;overflow:hidden}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot-ph{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;background:repeating-linear-gradient(45deg,rgba(234,228,216,.04) 0 12px,transparent 12px 24px)}
.shot-ph span{font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;color:var(--dim);max-width:34ch}
.kruler{position:relative;display:flex;justify-content:space-between;align-items:center;height:9px;margin-top:22px;padding:0 2px}
.kruler::before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--seam2)}
.kruler i{width:7px;height:7px;background:var(--ember);transform:rotate(45deg)}
@media(prefers-reduced-motion:no-preference){
  @keyframes kpulse{0%,88%,100%{opacity:1}44%{opacity:.25}}
  .kruler i{animation:kpulse 5.6s ease-in-out infinite}
  .kruler i:nth-child(2){animation-delay:.7s}
  .kruler i:nth-child(3){animation-delay:1.4s}
  .kruler i:nth-child(4){animation-delay:2.1s}
  .kruler i:nth-child(5){animation-delay:2.8s}
}

/* audiences */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:54px}
.aud h3{margin-bottom:12px}
.aud p{color:var(--dim);font-size:.98rem}
.aud .tag{display:block;margin-top:14px;color:var(--ember);font-style:italic;font-family:var(--serif)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--seam);border:1px solid var(--seam)}
.stats--3{grid-template-columns:repeat(3,1fr)}
.stat{background:var(--ground);padding:32px 26px}
.lift .stat{background:var(--panel)}
.stat .n{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:600;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}
.stat .l{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-top:10px}

/* table (quarry crew) */
.ctable{width:100%;border-collapse:collapse;margin-top:50px;font-size:1rem}
.ctable td,.ctable th{border-top:1px solid var(--seam);padding:22px 14px;vertical-align:top;text-align:left}
.ctable tr:first-child td,.ctable tr:first-child th{border-top:none}
.ctable .num{font-family:var(--mono);font-size:.8rem;color:var(--faint);width:52px;font-variant-numeric:tabular-nums}
.ctable .who{font-family:var(--serif);font-weight:600;font-size:1.25rem;color:var(--text);width:200px}
.ctable .what{color:var(--dim)}
.ctable+p{margin-top:44px;color:var(--dim)}

/* footer */
footer{background:var(--ground);color:var(--dim);padding:72px 0 40px;font-size:.92rem;border-top:1px solid var(--seam2)}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-bottom:1px solid var(--seam);padding-bottom:42px}
.foot-h{margin-bottom:18px}
footer a{color:var(--dim);text-decoration:none;display:block;margin:9px 0}
footer a:hover{color:var(--text)}
.boiler{margin-top:34px;max-width:62ch;color:var(--faint);font-style:italic;font-family:var(--serif);font-size:1.05rem}
.copy{margin-top:18px;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--faint)}

@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .grid-3,.aud{grid-template-columns:1fr}
  .stats,.stats--3{grid-template-columns:repeat(2,1fr)}
  .foot-cols{grid-template-columns:1fr}
  .ctable .who{width:auto}
  .ctable .num{display:none}
  /* nav — checkbox toggle, zero JS */
  .nav-t{display:block;position:absolute;opacity:0;pointer-events:none}
  .nav-t:focus-visible+.nav-burger{outline:2px solid var(--ember);outline-offset:2px}
  .nav-burger{display:grid;place-items:center;width:44px;height:44px;cursor:pointer}
  .nav-burger span{width:22px;height:2px;background:var(--text);position:relative;transition:background-color .2s ease}
  .nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--text);transition:transform .2s ease}
  .nav-burger span::before{top:-7px}
  .nav-burger span::after{top:7px}
  .navlinks{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:6px var(--gutter) 22px;background:var(--ground);border-bottom:1px solid var(--seam2)}
  .navlinks a{padding:15px 2px;border-top:1px solid var(--seam);font-size:1.02rem}
  .navlinks a.btn{margin-top:14px;text-align:center;padding:14px}
  .nav-t:checked~.navlinks,.nav-open .navlinks{display:flex}
  .nav-t:checked~.nav-burger span,.nav-open .nav-burger span{background:transparent}
  .nav-t:checked~.nav-burger span::before,.nav-open .nav-burger span::before{transform:translateY(7px) rotate(45deg)}
  .nav-t:checked~.nav-burger span::after,.nav-open .nav-burger span::after{transform:translateY(-7px) rotate(-45deg)}
  /* records */
  .rec{grid-template-columns:1fr}
  .rec-meta{border-left:0;border-top:1px solid var(--seam)}
  /* halls */
  .hall-inner,.hall--flip .hall-inner{grid-template-columns:1fr;gap:34px;padding:0 var(--gutter)}
  .hall--flip .hall-media{order:0}
}
