/* =====================================================================
   cirKITry v4 — engineering bench identity
   Loaded last. Dark, LED-lit workbench; orange = live current, blue = trace.
   ===================================================================== */
/* v6: Bricolage removed (see v6-type.css) */
/* v6: Martian Mono removed (see v6-type.css) */
:root{
  --bg:#0B0D11; --bg-raised:#12161D; --bg-sunk:#08090C; --bg-hi:#181D26;
  --ink:#EEF2F7; --ink-2:#A7B1C2; --ink-3:#8A94A6;
  --line:#232A36; --line-2:#2F3848;
  --orange:#FF7A00; --orange-hi:#FF9533; --blue:#0A7CFF; --blue-text:#4C9DFF; --on-accent:#0B0D11;
  --yellow:var(--orange); --surface:var(--bg); --muted:var(--ink-2);
  --font-mono:"Martian Mono",var(--font-mono);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --grid-dot:radial-gradient(#ffffff12 1px,transparent 1.2px);
  color-scheme:dark;
}
html{background:var(--bg)}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-variation-settings:"opsz" 14;line-height:1.6}
h1,h2,h3{font-variation-settings:"opsz" 96;letter-spacing:-.035em;font-weight:760}
p{color:inherit}
a{text-underline-offset:.2em}
::selection{background:var(--orange);color:var(--on-accent)}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

/* ---------- Brand / logo ---------- */
.brand__logo{display:block;height:auto;width:clamp(124px,12vw,150px)}
.site-header .brand{display:flex;align-items:center;padding-block:6px}
.brand--footer .brand__logo{width:min(100%,640px)}

/* ---------- Header ---------- */
.site-header{background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line);color:var(--ink)}
.main-nav a{color:var(--ink-2);transition:color .2s}
.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--ink)}

/* ---------- Buttons ---------- */
.button--yellow,.button--primary{background:var(--orange);color:var(--on-accent);border-color:var(--orange)}
.button--yellow:hover,.button--primary:hover{background:var(--orange-hi);box-shadow:0 0 0 1px var(--orange),0 8px 28px -8px #ff7a0080}
.button--secondary{color:var(--ink);border-color:var(--line-2)}
.button--secondary:hover{border-color:var(--ink-2)}
.text-link{color:var(--ink)}

/* ---------- Hero: from blue slab to lit bench ---------- */
.kinetic-hero{background:
  radial-gradient(60% 70% at 72% 46%,#0a7cff33 0,#0a7cff10 45%,transparent 70%),
  radial-gradient(40% 50% at 70% 50%,#ff7a0014 0,transparent 60%),
  var(--bg);border-bottom:1px solid var(--line)}
.hero-type h1{text-transform:none;font-size:clamp(3.6rem,7.4vw,6rem);line-height:.9;letter-spacing:-.04em;font-weight:780}
.hero-type h1 em{color:var(--orange)}
.hero-type .eyebrow{color:var(--ink-2)}
.hero-summary{color:var(--ink-2);font-size:1.08rem;max-width:34ch}
.orbit-wires path:first-child{stroke:#1d2b49}
.hero-schematic{stroke:#4c9dff26}
.hero-instrument{border-top-color:var(--line-2);color:var(--ink-2)}
.hero-instrument>a{color:var(--ink)}
.rocker{background:#1a2130;border-color:var(--line-2)}

/* ---------- Signal lab: active stage is "live" (orange) ---------- */
.lab-stage.is-active{background:var(--orange);color:var(--on-accent)}
.lab-stage.is-active>span{color:#3a2208}
.lab-stage.is-active>i{background:var(--on-accent);border-color:var(--on-accent);box-shadow:none}
.lab-sequencer::before{background:var(--orange)}
.lab-stage:hover:not(.is-active){background:var(--bg-hi)}

/* ---------- Orange drench band (Get involved) ---------- */
.section-tone--yellow{background:var(--orange);color:var(--on-accent)}
.section-tone--yellow :is(h1,h2,h3,p,a,span,label,.eyebrow,.text-link){color:var(--on-accent)}
.section-tone--yellow .v2-involved__text,.section-tone--yellow .v2-donation>p{opacity:1;color:#2b1803}
.section-tone--yellow .v2-donation__button{background:var(--bg);color:var(--orange)}
.section-tone--yellow .v2-donation__button:hover{background:#000}
.section-tone--yellow .v2-donation__button *{color:inherit}
.section-tone--yellow .v2-patch-panel{border-color:#0b0d1155}
.section-tone--yellow :focus-visible{outline-color:var(--on-accent)}

/* ---------- Partnership visual: dark plate, blue drawing ---------- */
.media-frame--partner{--media-accent:var(--blue-text);background:var(--bg-raised);border:1px solid var(--line)}
.media-frame--partner .media-placeholder,.media-frame--partner .media-placeholder:before{background-color:var(--bg-raised)}
.media-frame--partner .media-placeholder{color:var(--blue)}
.media-frame--partner .media-placeholder__caption{color:var(--ink)}
.v2-partnership__outline{border-color:var(--line-2)}
/* Text on orange fills is always dark (7:1); old header rules painted the label light */
.button--yellow :is(span,svg),.button--primary :is(span,svg),.header-donate :is(span,svg){color:var(--on-accent)}
/* Blue band (team contact): dark panel lit by blue, so text stays AA */
.team-contact.section-tone--blue{background:radial-gradient(70% 140% at 0% 0%,#0a7cff38,transparent 62%),var(--bg-raised);border-block:1px solid var(--line)}
.team-contact .team-contact__text{color:var(--ink-2)}
.live-impact.section-tone--blue{background:radial-gradient(60% 160% at 100% 0%,#0a7cff33,transparent 60%),var(--bg-raised);color:var(--ink);border-block:1px solid var(--line)}
.live-impact strong{color:var(--orange)}
/* Sheet-driven blocks: blue fills carry dark text (4.9:1), blue text uses the lighter tint */
.live-event__date{background:var(--blue);color:var(--on-accent)}
.live-event__date *{color:inherit}
.live-member__initial{background:var(--blue);color:var(--on-accent)}
.live-event__meta,.live-member__role{color:var(--blue-text)}
