/* BLOCK THE CHAIN — site.css v7.0 FOUNDATION · contract: STYLE_GUIDE.md · ONE accent, everything themed
   Layers: 1 tokens · 2 base · 3 logo · 4 type · 5 shell (topbar/footer) · 6 buttons · 7 primitives · 8 hero · 9 theme panel · 10 light · 11 reduced motion · 12 styleguide helpers
   Sections (trust, services, packages, …) are appended per approved step. */

/* ===== 1 · TOKENS ===== */
:root{
  --color-primary:#1E90FF;--color-primary-rgb:30,144,255;
  --color-primary-2:#2E6BFF;--color-primary-2-rgb:46,107,255;--color-primary-3:#0044FF;--color-primary-3-rgb:0,68,255;
  --color-grad:linear-gradient(135deg,var(--color-primary),var(--color-primary-2),var(--color-primary-3));--color-grad-h:linear-gradient(90deg,var(--color-primary),var(--color-primary-2),var(--color-primary-3));
  --button-primary-text:#050607;
  --bg-page:#05060a;--bg2:#0a0c10;--bg3:#101218;
  --text:#f4f7fb;--text-2:rgba(255,255,255,.72);--text-3:rgba(255,255,255,.52);--text-4:rgba(255,255,255,.46);
  --border-subtle:rgba(255,255,255,.08);--border-strong:rgba(255,255,255,.14);
  --card-radius:14px;--control-radius:10px;
  --color-success:#70D49A;--color-success-rgb:112,212,154;
  --wordmark-glow:0 0 18px rgba(var(--color-primary-rgb),.35),0 0 36px rgba(var(--color-primary-rgb),.18);
  --f-display:'Orbitron',sans-serif;--f-body:'Inter',sans-serif;--f-mono:'JetBrains Mono',ui-monospace,monospace;
  --ease-out:cubic-bezier(.2,.6,.2,1);
  --container:1160px;--pad-x:clamp(16px,4vw,32px);
  --chamfer:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}

/* ===== 2 · BASE ===== */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{background:var(--bg-page);color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:rgba(var(--color-primary-rgb),.35)}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#000}
::-webkit-scrollbar-thumb{background:rgba(var(--color-primary-rgb),.25);border-radius:6px;border:2px solid #000}
::-webkit-scrollbar-thumb:hover{background:rgba(var(--color-primary-rgb),.5)}
a{color:inherit}
svg{display:block}
.skip{position:absolute;left:-999px;top:8px;z-index:999;background:var(--color-primary);color:var(--button-primary-text);padding:8px 14px;border-radius:8px;font-weight:600}
.skip:focus{left:8px}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x)}
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");animation:grain 1.2s steps(3) infinite}
@keyframes grain{0%{transform:translate(0,0)}33%{transform:translate(-14px,9px)}66%{transform:translate(11px,-13px)}100%{transform:translate(0,0)}}
.progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:80;background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.25),var(--color-primary));box-shadow:0 0 10px rgba(var(--color-primary-rgb),.5);pointer-events:none}

/* ===== 3 · LOGO (inline <use>, themed via currentColor) ===== */
.logo{color:var(--color-primary);fill:currentColor;filter:drop-shadow(0 0 10px rgba(var(--color-primary-rgb),.35))}
svg .wm{fill:var(--text)}
.logo-lockup{height:38px;width:auto;aspect-ratio:1000/285}
.logo-knot{width:clamp(180px,20vw,260px);aspect-ratio:472/469}

/* ===== 4 · TYPE ===== */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--color-primary)}
.eyebrow::before{content:"";width:28px;height:1px;background:linear-gradient(90deg,var(--color-primary),transparent)}
.eyebrow .num{color:var(--text-3)}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400}
.sec{font-size:clamp(26px,3.6vw,44px);line-height:1.12;letter-spacing:.01em;margin-top:14px}
.th{color:var(--color-primary);text-shadow:var(--wordmark-glow)}
.sec-lead{color:var(--text-2);font-size:clamp(15px,1.2vw,17.5px);max-width:64ch;margin-top:16px;line-height:1.7}
.sec-lead b{color:var(--text);font-weight:600}
.mono{font-family:var(--f-mono)}
.label{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.note{margin-top:16px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--text-3);line-height:1.7}
.note b{color:var(--color-primary);font-weight:600}
.block{padding:clamp(56px,7vw,96px) 0;position:relative}
.block+.block{border-top:1px solid var(--border-subtle)}

/* ===== 5 · SHELL ===== */
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,4vw,48px);background:rgba(5,6,10,0);transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.topbar.scrolled{background:rgba(5,6,10,.82);backdrop-filter:blur(14px) saturate(1.2);border-bottom-color:var(--border-subtle)}
.brand{display:flex;align-items:center;text-decoration:none;line-height:1}
.nav{display:flex;gap:2px}
.nav a{color:var(--text-3);text-decoration:none;font-family:var(--f-display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:8px 13px;border-radius:8px;transition:color .15s,background .15s}
.nav a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.nav a.active{color:var(--text);background:rgba(var(--color-primary-rgb),.12)}
.topbar-cta{display:flex;align-items:center;gap:10px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--border-subtle);border-radius:10px;background:transparent;color:var(--text);cursor:pointer;place-items:center}
.burger i{display:block;width:18px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
.mnav{display:none;position:fixed;inset:64px 0 0 0;z-index:49;background:rgba(5,6,10,.96);backdrop-filter:blur(16px);padding:24px var(--pad-x);flex-direction:column;gap:4px}
.mnav a{font-family:var(--f-display);font-size:16px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--text-2);padding:14px 8px;border-bottom:1px solid var(--border-subtle);min-height:46px}
.mnav.open{display:flex}
@media(max-width:900px){.nav{display:none}.burger{display:grid}.topbar-cta .btn{display:none}}
footer{border-top:1px solid var(--border-subtle);padding:40px 0 28px;font-family:var(--f-mono);font-size:11px;color:var(--text-3)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.f-grid>*{min-width:0}
@media(max-width:800px){.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.f-grid{grid-template-columns:1fr}}
.f-grid h5,.f-grid .f-h{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-4);margin-bottom:12px}
.f-grid a{display:block;color:var(--text-3);text-decoration:none;padding:4px 0;letter-spacing:.04em}
.f-grid a:hover{color:var(--color-primary)}
.f-brand .logo-lockup{height:26px;margin-bottom:12px}
.f-brand p{font-family:var(--f-body);font-size:13px;color:var(--text-3);max-width:34ch;line-height:1.6}
.f-copy{margin-top:28px;padding-top:18px;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;letter-spacing:.08em;text-transform:uppercase;font-size:10px;color:var(--text-4)}

/* ===== 6 · BUTTONS ===== */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--f-body);font-size:14px;font-weight:600;text-decoration:none;padding:11px 22px;border-radius:var(--control-radius);border:1px solid transparent;cursor:pointer;overflow:hidden;transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .12s;white-space:nowrap;user-select:none;line-height:normal}
.btn:active{transform:translateY(1px) scale(.985)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.3)}
.btn-primary{color:var(--button-primary-text);background:var(--color-primary)}
.btn-primary::after{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s var(--ease-out)}
.btn-primary:hover::after{left:130%}
.btn-primary:hover{box-shadow:0 0 0 1px rgba(var(--color-primary-rgb),.6),0 0 28px rgba(var(--color-primary-rgb),.45);transform:translateY(-1px)}
.btn-arsenal{color:var(--color-primary);border-color:rgba(var(--color-primary-rgb),.45);background:rgba(var(--color-primary-rgb),.04)}
.btn-arsenal:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);box-shadow:0 0 22px rgba(var(--color-primary-rgb),.25)}
.btn-ghost{color:var(--text-2);border-color:var(--border-subtle);background:transparent}
.btn-ghost:hover{color:var(--text);border-color:rgba(255,255,255,.22)}
.btn-lg{padding:14px 28px;font-size:15px}.btn-sm{padding:8px 16px;font-size:13px}
.btn-hud{clip-path:var(--chamfer);border-radius:0;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
@media(max-width:520px){.btn{white-space:normal}.cta-row .btn{width:100%}}

/* ===== 7 · PRIMITIVES (card, chip, tag, corners, grid, field, reveal) ===== */
.card{position:relative;background:rgba(255,255,255,.015);border:1px solid var(--border-subtle);border-radius:var(--card-radius);padding:24px;transition:border-color .2s,transform .2s,box-shadow .2s;min-width:0}
.card:hover{border-color:rgba(var(--color-primary-rgb),.4);transform:translateY(-2px);box-shadow:0 20px 50px -30px rgba(0,0,0,.9)}
.card.grad{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.25))}
.card h3,.card h2.ch{font-size:17px;letter-spacing:.01em;margin:10px 0 8px;line-height:1.3}
.card p{color:var(--text-2);font-size:14.5px;line-height:1.65}
.tag{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary)}
.tagrow{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 10px;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.tagrow span::before{content:"◆";font-size:6px;vertical-align:2px;margin-right:6px;color:var(--color-primary)}
.corners>i{position:absolute;width:14px;height:14px;border:1px solid rgba(var(--color-primary-rgb),.6);pointer-events:none}
.corners>i:nth-child(1){top:-1px;left:-1px;border-right:0;border-bottom:0}
.corners>i:nth-child(2){top:-1px;right:-1px;border-left:0;border-bottom:0}
.corners>i:nth-child(3){bottom:-1px;left:-1px;border-right:0;border-top:0}
.corners>i:nth-child(4){bottom:-1px;right:-1px;border-left:0;border-top:0}
.grid{display:grid;gap:16px}.grid>*{min-width:0}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--border-subtle);border-radius:999px;padding:6px 12px;background:rgba(255,255,255,.02)}
.chip.on{color:var(--color-primary);border-color:rgba(var(--color-primary-rgb),.4)}
.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--color-success);box-shadow:0 0 8px rgba(var(--color-success-rgb),.8);animation:breathe 2.4s ease-in-out infinite}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
@keyframes breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}
.field{display:grid;gap:6px}
.field label{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--border-subtle);border-radius:var(--control-radius);padding:12px 14px;color:var(--text);font-family:var(--f-body);font-size:14px;outline:0;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(var(--color-primary-rgb),.6);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15)}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}

/* ===== 8 · HERO ===== */
.hero{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;background:var(--bg-page)}
.hero-nebula{position:absolute;inset:-10%;background:radial-gradient(ellipse 55% 45% at 30% 30%,rgba(var(--color-primary-rgb),.16),transparent 60%),radial-gradient(ellipse 60% 50% at 78% 62%,rgba(var(--color-primary-rgb),.10),transparent 62%);animation:neb 20s ease-in-out infinite alternate;will-change:transform}
@keyframes neb{from{transform:scale(1)}to{transform:scale(1.12) translateY(-2%)}}
.hero-gridfloor{position:absolute;left:-25%;right:-25%;bottom:-8%;height:55%;background-image:linear-gradient(rgba(var(--color-primary-rgb),.12) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--color-primary-rgb),.12) 1px,transparent 1px);background-size:58px 58px;transform:perspective(600px) rotateX(62deg);transform-origin:bottom;animation:gridmove 9s linear infinite;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%);mask-image:linear-gradient(180deg,transparent,#000 40%)}
@keyframes gridmove{from{background-position:0 0}to{background-position:0 58px}}
.hero-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 50% 45%,transparent 55%,rgba(5,6,10,.8) 100%)}
.hero-scanline{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(255,255,255,.012) 3px 4px)}
.hero-spot{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(500px circle at var(--mx,50%) var(--my,40%),rgba(var(--color-primary-rgb),.08),transparent 60%)}
.particles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.particles i{position:absolute;bottom:-10px;width:2px;height:2px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 6px var(--color-primary);animation:pDrift var(--d,14s) linear var(--o,0s) infinite;opacity:0}
@keyframes pDrift{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.7}85%{opacity:.4}100%{transform:translate3d(var(--tx,20px),-105vh,0);opacity:0}}
.hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,56px);align-items:center;width:100%;max-width:var(--container);margin:0 auto;padding:128px var(--pad-x) 100px}
.hero-inner>*{min-width:0}
@media(max-width:960px){.hero-inner{grid-template-columns:1fr;padding-top:110px}}
.prov{font-size:clamp(30px,4.8vw,58px);letter-spacing:.01em;line-height:1.1}
.prov-rule{width:min(420px,70%);height:1px;margin:22px 0;background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.7),transparent)}
.prov-sub{color:var(--text-2);font-size:clamp(15px,1.25vw,17.5px);max-width:52ch;line-height:1.7}
.prov-sub b{color:var(--text);font-weight:600}
/* hero art: themed knot inside a radar sweep */
.hero-art{position:relative;min-height:520px;display:grid;place-items:center}
.radar{position:absolute;width:min(460px,90%);aspect-ratio:1;border-radius:50%;border:1px solid rgba(var(--color-primary-rgb),.16);background:radial-gradient(circle,rgba(var(--color-primary-rgb),.10),transparent 62%)}
.radar::before{content:"";position:absolute;inset:14%;border-radius:50%;border:1px dashed rgba(var(--color-primary-rgb),.22)}
.radar::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(var(--color-primary-rgb),0) 0 72%,rgba(var(--color-primary-rgb),.35) 100%);animation:sweep 6s linear infinite;-webkit-mask-image:radial-gradient(circle,transparent 30%,#000 32%);mask-image:radial-gradient(circle,transparent 30%,#000 32%)}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar i{position:absolute;left:50%;top:50%;width:1px;height:100%;background:rgba(var(--color-primary-rgb),.14);transform:translate(-50%,-50%)}
.radar i:nth-child(2){transform:translate(-50%,-50%) rotate(90deg)}
.blip{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 10px var(--color-primary);animation:blip 3s ease-out infinite}
.blip::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid var(--color-primary);animation:ping 3s ease-out infinite}
@keyframes blip{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes ping{from{transform:scale(1);opacity:.8}to{transform:scale(3);opacity:0}}
.hero-art .logo-knot{position:relative;z-index:2;filter:drop-shadow(0 0 30px rgba(var(--color-primary-rgb),.55)) drop-shadow(0 0 70px rgba(var(--color-primary-rgb),.3));animation:floatY 6s ease-in-out infinite;translate:var(--px,0) var(--py,0)}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:960px){.hero-art{min-height:420px}}
.dive{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:var(--text-3);text-transform:uppercase;text-decoration:none}
.dive::after{content:"";width:1px;height:34px;background:linear-gradient(180deg,var(--color-primary),transparent);animation:scrollHint 2.2s var(--ease-out) infinite}
@keyframes scrollHint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ===== 9 · THEME PANEL ===== */
.btc-palette{position:fixed;right:18px;bottom:18px;z-index:95;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.btc-pop{display:none;flex-wrap:wrap;gap:8px;padding:12px;max-width:250px;background:rgba(8,10,14,.94);border:1px solid var(--border-subtle);border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 14px 40px rgba(0,0,0,.6)}
.btc-palette.open .btc-pop{display:flex}
.btc-sw{width:24px;height:24px;border-radius:99px;cursor:pointer;border:2px solid transparent;transition:transform .12s}
.btc-sw:hover{transform:scale(1.18)}
.btc-sw.active{border-color:#fff}
.btc-fab{width:44px;height:44px;border-radius:99px;cursor:pointer;display:grid;place-items:center;background:rgba(8,10,14,.92);color:var(--text-2);border:1px solid var(--border-subtle);backdrop-filter:blur(10px);font-size:15px;font-family:var(--f-display)}
.btc-fab:hover{color:var(--color-primary);border-color:rgba(var(--color-primary-rgb),.5)}

/* ===== 10 · LIGHT MODE ===== */
html[data-mode="light"]{--bg-page:#FFFFFF;--bg2:#F3F4F6;--bg3:#E9EAEE;--text:#0B0B0B;--text-2:rgba(0,0,0,.68);--text-3:rgba(0,0,0,.48);--text-4:rgba(0,0,0,.5);--border-subtle:rgba(0,0,0,.14);--border-strong:rgba(0,0,0,.2)}
html[data-mode="light"] body{background:var(--bg-page);color:var(--text)}
/* light mode: every card class gets a tinted surface + definite border so frames read as complete (2026-09-20) */
[data-mode="light"] .card,[data-mode="light"] .op,[data-mode="light"] .svc,[data-mode="light"] .lab,[data-mode="light"] .soc,[data-mode="light"] .alias-bar,[data-mode="light"] .kbtn,[data-mode="light"] .term-bar,[data-mode="light"] .stat,[data-mode="light"] .ticker{background:rgba(0,0,0,.03)}
[data-mode="light"] .card.grad{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.05))}
[data-mode="light"] .op,[data-mode="light"] .svc,[data-mode="light"] .lab,[data-mode="light"] .card{border-color:var(--border-strong)}
html[data-mode="light"] .hero-vignette,html[data-mode="light"] .hero-scanline{opacity:.4}
html[data-mode="light"] .topbar.scrolled,html[data-mode="light"] .mnav{background:rgba(255,255,255,.9)}

/* ===== 11 · REDUCED MOTION (absolute) ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .particles,.grain{display:none}
}

/* ===== 12 · STYLE GUIDE PAGE HELPERS ===== */
.sg-section{padding:48px 0;border-top:1px solid var(--border-subtle)}
.sg-h{display:flex;align-items:baseline;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.sg-h h2{font-size:22px}
.sg-h code{font-family:var(--f-mono);font-size:11px;color:var(--text-3)}
.sg-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sw{width:124px;padding:12px;border:1px solid var(--border-subtle);border-radius:10px;font-family:var(--f-mono);font-size:10px;color:var(--text-3)}
.sw i{display:block;height:44px;border-radius:6px;margin-bottom:8px;border:1px solid var(--border-subtle)}
.sg-type>*{margin-bottom:10px}
.sg-demo{position:relative;border:1px dashed var(--border-strong);padding:24px;border-radius:12px;overflow:hidden;min-width:0}
.sg-demo.hero{min-height:0;display:block}

/* ===== 13 · SECTION: SERVICES BY DEPTH (step 2) ===== */
.dive-section{position:relative;padding:clamp(56px,7vw,100px) 0 0;background:linear-gradient(180deg,var(--bg-page) 0%,rgba(var(--color-primary-rgb),.06) 40%,rgba(var(--color-primary-rgb),.03) 78%,var(--bg-page) 100%)}
.dive-section::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:100% 120px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent)}
.dive-grid{display:grid;grid-template-columns:120px 1fr 1.2fr;gap:clamp(20px,3vw,48px);position:relative;z-index:1;margin-top:36px}
.dive-grid>*{min-width:0}
@media(max-width:1000px){.dive-grid{grid-template-columns:1fr}.dive-rail,.tower-wrap{display:none}}
.dive-rail{position:sticky;top:110px;align-self:start;height:min(calc(100vh - 140px),560px);display:flex;flex-direction:column;justify-content:space-between;font-family:var(--f-mono);text-transform:uppercase}
.dive-rail .dl{font-size:9.5px;letter-spacing:.32em;color:var(--text-4)}
.dive-rail .dn{font-family:var(--f-display);font-size:34px;color:var(--color-primary);text-shadow:var(--wordmark-glow);margin-top:6px;line-height:1}
.dive-rail .dsub{font-size:9.5px;letter-spacing:.2em;color:var(--text-3);margin-top:6px}
.dive-rail .ping{position:relative;width:12px;height:12px;border-radius:50%;background:var(--color-primary);margin:18px 0 0 2px;box-shadow:0 0 12px var(--color-primary)}
.dive-rail .ping::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(var(--color-primary-rgb),.7);animation:ping 2.2s var(--ease-out) infinite}
.dive-ticks{display:flex;flex-direction:column;gap:clamp(36px,7vh,72px);border-left:1px solid var(--border-subtle);padding-left:12px;font-size:9.5px;letter-spacing:.16em;color:var(--text-4)}
.dive-ticks span{position:relative}.dive-ticks span::before{content:"";position:absolute;left:-16px;top:50%;width:8px;height:1px;background:var(--text-4)}
.dive-ticks span.on{color:var(--color-primary)}
.tower-wrap{position:sticky;top:96px;align-self:start;height:min(calc(100vh - 120px),620px);display:grid;place-items:center}
.tower{width:min(100%,440px);height:auto;animation:isoFloat 7s ease-in-out infinite;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
@keyframes isoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.tower .cube{fill:rgba(var(--color-primary-rgb),.10);stroke:rgba(var(--color-primary-rgb),.55);stroke-width:1.2;transition:fill .5s,stroke .5s}
.tower .cube.top{fill:rgba(var(--color-primary-rgb),.18)}
.tower .cube.side{fill:rgba(0,0,0,.55)}
.tower .win{fill:var(--color-primary);opacity:.35;animation:winBlink 3s ease-in-out infinite}
.tower .win:nth-child(odd){animation-delay:-1.4s}
@keyframes winBlink{0%,100%{opacity:.25}50%{opacity:.9}}
.tower .lay.on .cube{stroke:var(--color-primary);fill:rgba(var(--color-primary-rgb),.22)}
.tower .beam{stroke:var(--color-primary);stroke-width:1;opacity:.7}
.tower .beamdot{fill:var(--color-primary);filter:drop-shadow(0 0 6px var(--color-primary))}
.layer{padding:clamp(36px,6vh,64px) 0;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--border-subtle)}
.layer:last-child{border-bottom:0}
.layer .lnum{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-3);display:flex;gap:16px;align-items:center}
.layer .lnum b{font-family:var(--f-display);font-size:22px;color:var(--color-primary);font-weight:400}
.layer h2{font-size:clamp(28px,3.6vw,46px);letter-spacing:.06em;margin:10px 0 14px;line-height:1.1}
.layer>p{color:var(--text-2);font-size:15.5px;line-height:1.7;max-width:58ch}
.layer .cards{display:grid;gap:12px;margin-top:22px}
.svc{padding:18px 20px;background:rgba(255,255,255,.02);border:1px solid var(--border-subtle);border-left:2px solid rgba(var(--color-primary-rgb),.5);transition:border-color .2s,background .2s,transform .2s;min-width:0}
.svc:hover{background:rgba(var(--color-primary-rgb),.05);border-color:rgba(var(--color-primary-rgb),.35);border-left-color:var(--color-primary);transform:translateX(4px)}
.svc-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:baseline}
.svc h3{font-size:15.5px;letter-spacing:.02em;line-height:1.35}
.svc .m{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-4);white-space:nowrap}
.svc p{color:var(--text-2);font-size:14px;line-height:1.65}

/* ===== 14 · SECTION: WORK SHOWCASE — decrypt tiles (step 3) ===== */
.ev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.ev-grid>*{min-width:0}
@media(max-width:1000px){.ev-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ev-grid{grid-template-columns:1fr}}
.ev{position:relative;aspect-ratio:1/1.3;background:linear-gradient(180deg,var(--bg3),var(--bg-page));border:1px solid var(--border-subtle);overflow:hidden;cursor:pointer;text-align:left;color:inherit;font:inherit;padding:0;display:block;width:100%;transition:border-color .25s,transform .25s}
.ev:hover{border-color:rgba(var(--color-primary-rgb),.5);transform:translateY(-3px)}
.ev:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.35)}
.ev .bg{position:absolute;inset:0;background-image:radial-gradient(rgba(var(--color-primary-rgb),.55) 1px,transparent 1.4px);background-size:14px 14px;opacity:.18;-webkit-mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);transition:opacity .4s}
.ev .noise{position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 2px,rgba(255,255,255,.03) 2px 3px);pointer-events:none}
.ev .hd{position:absolute;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;gap:8px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.ev .hd b{color:var(--color-primary);font-weight:600}
.ev .body{position:absolute;left:16px;right:16px;bottom:16px}
.ev .code{font-family:var(--f-display);font-size:clamp(15px,1.5vw,18px);letter-spacing:.06em;line-height:1.25;color:var(--text)}
.ev .fact{font-size:13px;color:var(--text-2);line-height:1.55;margin-top:8px;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease-out),opacity .5s .1s}
.ev .fact b{color:var(--text);font-weight:600}
.ev .tags{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}
.ev .cta{margin-top:12px;display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary)}
.ev .cta::before{content:"[";opacity:.6}.ev .cta::after{content:"]";opacity:.6}
.ev .cipher{position:absolute;inset:0;padding:54px 16px 110px;font-family:var(--f-mono);font-size:10px;line-height:1.6;color:rgba(var(--color-primary-rgb),.35);word-break:break-all;overflow:hidden;pointer-events:none;transition:opacity .5s}
.ev.open .cipher{opacity:0}
.ev.open .fact{max-height:320px;opacity:1}
.ev.open .bg{opacity:.06}
.ev.open .cta{color:var(--color-success)}
.ev .corner{position:absolute;width:12px;height:12px;border:1px solid rgba(var(--color-primary-rgb),.5)}
.ev .corner.a{top:6px;left:6px;border-right:0;border-bottom:0}.ev .corner.b{top:6px;right:6px;border-left:0;border-bottom:0}
.ev .corner.c{bottom:6px;left:6px;border-right:0;border-top:0}.ev .corner.d{bottom:6px;right:6px;border-left:0;border-top:0}
.ev-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-4)}
.ev-foot b{color:var(--text-3);font-weight:600}
.ev-foot button{background:none;border:0;color:var(--color-primary);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:6px 0}
.ev-foot button:hover{text-decoration:underline;text-underline-offset:4px}

/* ===== 15 · RESERVED: TRANSMISSIONS teaser (music · video · audio, later) ===== */
.tx{position:relative;padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--border-subtle);overflow:hidden}
.tx .container{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.tx h2{font-size:clamp(20px,2.4vw,28px);margin-top:10px}
.tx p{color:var(--text-2);font-size:15px;line-height:1.7;margin-top:10px;max-width:62ch}
.tx .bars{display:flex;align-items:flex-end;gap:3px;height:44px}
.tx .bars i{width:4px;background:var(--color-primary);opacity:.7;height:20%;animation:eq 1.6s ease-in-out var(--o,0s) infinite}
@keyframes eq{0%,100%{height:15%}50%{height:100%}}

/* ===== 16 · SECTION: ENGAGEMENT PIPELINE (step 4) ===== */
.pipe{position:relative;margin-top:36px}
.pipe-line{position:absolute;left:0;right:0;top:26px;height:2px;background:var(--border-subtle);z-index:0}
.pipe-line i{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.4),var(--color-primary));box-shadow:0 0 12px rgba(var(--color-primary-rgb),.6);transition:width 1.6s var(--ease-out)}
.pipe.in .pipe-line i{width:100%}
.pipe-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative;z-index:1}
.pipe-steps>*{min-width:0}
.step{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.pipe.in .step{opacity:1;transform:none}
.pipe.in .step:nth-child(2){transition-delay:.3s}.pipe.in .step:nth-child(3){transition-delay:.6s}.pipe.in .step:nth-child(4){transition-delay:.9s}.pipe.in .step:nth-child(5){transition-delay:1.2s}
.step .node{width:54px;height:54px;display:grid;place-items:center;background:var(--bg-page);border:1px solid rgba(var(--color-primary-rgb),.5);clip-path:var(--chamfer);font-family:var(--f-display);font-size:14px;color:var(--color-primary);box-shadow:0 0 0 6px var(--bg-page)}
.step h3{font-size:15.5px;margin:16px 0 6px;line-height:1.3}
.step .when{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);margin-bottom:8px}
.step p{font-size:13.5px;color:var(--text-2);line-height:1.6}
@media(max-width:960px){.pipe-steps{grid-template-columns:repeat(2,1fr)}.pipe-line{display:none}.step{opacity:1;transform:none}}
@media(max-width:520px){.pipe-steps{grid-template-columns:1fr}}
.pipe-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}

/* ===== 17 · SECTION: HIRE CTA (step 5) ===== */
.cta-final{position:relative;text-align:center;padding:clamp(72px,10vw,130px) 0;overflow:hidden;border-top:1px solid var(--border-subtle)}
.cta-final::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(var(--color-primary-rgb),.16),transparent 65%);pointer-events:none}
.reticle{position:absolute;left:50%;top:50%;width:min(720px,120vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(var(--color-primary-rgb),.12);pointer-events:none}
.reticle::before,.reticle::after{content:"";position:absolute;background:rgba(var(--color-primary-rgb),.14)}
.reticle::before{left:50%;top:0;bottom:0;width:1px}.reticle::after{top:50%;left:0;right:0;height:1px}
.reticle i{position:absolute;inset:18%;border-radius:50%;border:1px dashed rgba(var(--color-primary-rgb),.16);animation:spin 80s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.cta-final .container{position:relative;z-index:1}
.cta-final h2{font-size:clamp(28px,4.4vw,54px);line-height:1.1;margin-top:14px}
.cta-final p{color:var(--text-2);max-width:56ch;margin:18px auto 0;font-size:16px}
.cta-final .cta-row{justify-content:center}
.cta-final .note{max-width:60ch;margin-left:auto;margin-right:auto}

/* ===== 99 · RESPONSIVE OVERRIDES (must stay last: later same-specificity rules would win otherwise) ===== */
@media(max-width:1000px){.dive-grid{grid-template-columns:1fr}.dive-rail,.tower-wrap{display:none}}
@media(max-width:960px){.pipe-line{display:none}.step{opacity:1;transform:none}}

/* ===== 18 · SECTION: FOUR RULES (step 6) ===== */
.rules-band{position:relative;padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--border-subtle);overflow:hidden}
.rules-band::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 0 0,rgba(var(--color-primary-rgb),.10),transparent 70%);pointer-events:none}
.rules{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;border-top:1px solid var(--border-subtle)}
.rules>*{min-width:0}
.rule{padding:28px 22px 26px 0;border-right:1px solid var(--border-subtle);margin-right:22px;position:relative}
.rule:last-child{border-right:0;margin-right:0}
.rule .o{font-family:var(--f-display);font-size:13px;color:var(--color-primary);letter-spacing:.1em}
.rule .o::after{content:"";display:block;width:28px;height:1px;background:var(--color-primary);margin-top:10px;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out)}
.rule.in .o::after{transform:scaleX(1)}
.rule h3{font-size:clamp(17px,1.5vw,20px);line-height:1.3;margin:14px 0 10px}
.rule p{font-size:13.5px;color:var(--text-2);line-height:1.65}
@media(max-width:960px){.rules{grid-template-columns:repeat(2,1fr)}.rule:nth-child(2){border-right:0;margin-right:0}}
@media(max-width:600px){.rules{grid-template-columns:1fr}.rule{border-right:0;margin-right:0;border-bottom:1px solid var(--border-subtle);padding-right:0}.rule:last-child{border-bottom:0}}

/* ===== 19 · MOTION UPGRADES (step 8): pointer-reveal threat layer · pixel-wave reveal ===== */
.tower-wrap .tower.wire{position:absolute;inset:0;margin:auto;pointer-events:none;-webkit-mask-image:radial-gradient(120px circle at var(--rx,-999px) var(--ry,-999px),#000 0,#000 45%,transparent 100%);mask-image:radial-gradient(120px circle at var(--rx,-999px) var(--ry,-999px),#000 0,#000 45%,transparent 100%);animation:none}
.tower.wire .cube{fill:transparent!important;stroke:var(--color-primary)!important;stroke-width:1.6;stroke-dasharray:4 3}
.tower.wire .win{fill:var(--color-success);opacity:.9;animation:none}
.tower.wire .beam,.tower.wire .beamdot{opacity:0}
.tower-wrap .hint{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-family:var(--f-mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-4);white-space:nowrap;pointer-events:none}
/* pixel-wave: 8px cell grid that flips away when a section enters */
.pw{position:relative}
.pw::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background-image:linear-gradient(var(--bg-page) 1px,transparent 1px),linear-gradient(90deg,var(--bg-page) 1px,transparent 1px),linear-gradient(var(--bg-page),var(--bg-page));background-size:8px 8px,8px 8px,100% 100%;-webkit-mask-image:linear-gradient(100deg,transparent 0 var(--pwp,0%),#000 calc(var(--pwp,0%) + 12%));mask-image:linear-gradient(100deg,transparent 0 var(--pwp,0%),#000 calc(var(--pwp,0%) + 12%));transition:--pwp 1.2s var(--ease-out);opacity:1}
.pw.in::after{animation:pwSweep 1.1s var(--ease-out) forwards}
@keyframes pwSweep{from{--pwp:0%;opacity:1}to{--pwp:100%;opacity:0}}
@property --pwp{syntax:"<percentage>";inherits:false;initial-value:0%}
@media(prefers-reduced-motion:reduce){.pw::after{display:none}.tower-wrap .tower.wire{display:none}}

/* ===== 20 · HERO DOMAIN CHECK (step 9) — client-side, MDN Observatory + DoH ===== */
.xcheck{margin-top:26px;max-width:560px}
.xcheck .lbl{display:flex;justify-content:space-between;gap:12px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}
.xcheck .lbl b{color:var(--color-primary);font-weight:600}
.xc-field{display:flex;align-items:stretch;background:rgba(0,0,0,.45);border:1px solid var(--border-subtle);clip-path:var(--chamfer);transition:border-color .2s,box-shadow .2s}
.xc-field:focus-within{border-color:rgba(var(--color-primary-rgb),.6);box-shadow:inset 0 0 40px rgba(var(--color-primary-rgb),.06)}
.xc-field .ico{display:flex;align-items:center;padding:0 4px 0 14px;color:var(--text-3);font-family:var(--f-mono);font-size:13px}
.xc-field input{flex:1;min-width:0;background:transparent;border:0;outline:0;padding:14px 12px;font-family:var(--f-mono);font-size:14px;color:var(--text)}
.xc-field input::placeholder{color:var(--text-4)}
.xc-field .btn{margin:5px;border-radius:0;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%)}
.xc-out{margin-top:12px;display:none}
.xc-out.on{display:block}
.xc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.xc-grid>*{min-width:0}
.xc-tile{padding:10px 12px;border:1px solid var(--border-subtle);background:rgba(255,255,255,.02);position:relative}
.xc-tile .k{font-family:var(--f-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-4)}
.xc-tile .v{font-family:var(--f-display);font-size:20px;line-height:1.1;margin-top:6px;color:var(--text)}
.xc-tile .s{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;color:var(--text-3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xc-tile.ok .v{color:var(--color-success)}
.xc-tile.warn .v{color:var(--color-primary);text-shadow:var(--wordmark-glow)}
.xc-tile.pend .v{color:var(--text-4)}
.xc-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.xc-sum b{color:var(--text);font-weight:600}
.xc-sum a{color:var(--color-primary);text-decoration:none}
.xc-sum a:hover{text-decoration:underline;text-underline-offset:4px}
.xc-err{margin-top:10px;font-family:var(--f-mono);font-size:10.5px;color:var(--color-primary);letter-spacing:.06em}
.xc-src{margin-top:8px;font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}
@keyframes xcSpin{to{transform:rotate(1turn)}}
.xc-tile.pend .v::after{content:"";display:inline-block;width:10px;height:10px;margin-left:8px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--color-primary);border-radius:50%;animation:xcSpin .8s linear infinite;vertical-align:middle}
@media(max-width:600px){.xc-grid{grid-template-columns:repeat(2,1fr)}.xc-field{flex-wrap:wrap}.xc-field .btn{width:calc(100% - 10px)}}

/* ===== 21 · HERO ART v2 (step 10): crisp knot, no transform on the sharp layer, one quiet scan beam ===== */
.hero-art .logo-knot{filter:none;animation:none;translate:none;transform:none;position:relative;z-index:3;shape-rendering:geometricPrecision}
.hero-art .knot-glow{position:absolute;z-index:2;width:clamp(180px,20vw,260px);aspect-ratio:472/469;color:var(--color-primary);fill:currentColor;filter:blur(22px);opacity:.42;animation:glowBreathe 7s ease-in-out infinite;pointer-events:none}
@keyframes glowBreathe{0%,100%{opacity:.32}50%{opacity:.5}}
.hero-art .radar::after{display:none}
.hero-art .blip{display:none}
.hero-art .radar{border-color:rgba(var(--color-primary-rgb),.14);background:radial-gradient(circle,rgba(var(--color-primary-rgb),.07),transparent 62%)}
.hero-art .scanbeam{position:absolute;z-index:4;left:12%;right:12%;height:2px;top:0;background:linear-gradient(90deg,transparent,rgba(var(--color-primary-rgb),.9),transparent);box-shadow:0 0 14px rgba(var(--color-primary-rgb),.7);opacity:0;animation:scanBeam 7s linear infinite;pointer-events:none}
@keyframes scanBeam{0%{top:14%;opacity:0}6%{opacity:.9}44%{opacity:.9}50%{top:86%;opacity:0}100%{top:86%;opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-art .scanbeam,.hero-art .knot-glow{animation:none}}

/* ===== 22 · LABS PAGE (step 11) ===== */
.labs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:36px}
.labs-grid>*{min-width:0}
@media(max-width:900px){.labs-grid{grid-template-columns:1fr}}
.lab{position:relative;padding:24px;background:rgba(255,255,255,.015);border:1px solid var(--border-subtle);border-radius:var(--card-radius);display:flex;flex-direction:column;gap:12px}
.lab .ord{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-4)}
.lab .ord b{color:var(--color-primary);font-weight:600}
.lab h2{font-size:19px;line-height:1.3}
.lab>p{color:var(--text-2);font-size:14px;line-height:1.65}
.lab .xc-field{max-width:none}
.lab-out{display:none;border-top:1px solid var(--border-subtle);padding-top:12px}
.lab-out.on{display:block}
.lab-grade{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}
.lab-grade b{font-family:var(--f-display);font-weight:400;font-size:38px;line-height:1;color:var(--text)}
.lab-grade span{font-size:13px;color:var(--text-2)}
.lab-grade.ok b{color:var(--color-success)}.lab-grade.warn b{color:var(--color-primary);text-shadow:var(--wordmark-glow)}
.lab-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--border-subtle);font-size:13px}
.lab-row:last-of-type{border-bottom:0}
.lab-row .k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-4)}
.lab-row .v{color:var(--text);font-family:var(--f-mono);font-size:12.5px;word-break:break-all}
.lab-row .n{font-family:var(--f-mono);font-size:10px;color:var(--text-3);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.lab-row.ok .v{color:var(--color-success)}.lab-row.warn .v{color:var(--color-primary)}.lab-row.pend .v{color:var(--text-3)}
.lab-link{display:inline-block;margin-top:10px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);text-decoration:none}
.lab-link:hover{text-decoration:underline;text-underline-offset:4px}
.lab-note{margin-top:10px;font-size:12px;color:var(--text-3);line-height:1.6}
.btn.is-busy{opacity:.6;pointer-events:none}
.labs-faq{margin-top:48px;display:grid;gap:8px}
.labs-faq details{border:1px solid var(--border-subtle);background:rgba(255,255,255,.015);padding:14px 18px}
.labs-faq summary{cursor:pointer;font-weight:600;font-size:14.5px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.labs-faq summary::after{content:"+";font-family:var(--f-mono);color:var(--color-primary)}
.labs-faq details[open] summary::after{content:"–"}
.labs-faq p{margin-top:10px;font-size:13.5px;color:var(--text-2);line-height:1.65}
@media(max-width:520px){.lab-row{grid-template-columns:1fr;gap:2px}.lab-row .n{text-align:left;max-width:none}}

/* ===== 23 · LABS v2: textarea tools, details, hidden-char marks ===== */
.lab textarea{width:100%;min-height:150px;resize:vertical;background:rgba(0,0,0,.45);border:1px solid var(--border-subtle);clip-path:var(--chamfer);padding:14px;font-family:var(--f-mono);font-size:12.5px;line-height:1.55;color:var(--text);outline:0;transition:border-color .2s}
.lab textarea:focus{border-color:rgba(var(--color-primary-rgb),.6)}
.lab textarea::placeholder{color:var(--text-4)}
.lab .lab-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lab .lab-actions .sample{background:none;border:0;color:var(--text-3);font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:6px 0}
.lab .lab-actions .sample:hover{color:var(--color-primary)}
.lab-details{margin-top:10px;border:1px solid var(--border-subtle);padding:10px 14px}
.lab-details summary{cursor:pointer;font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}
.lab-details p{margin-top:8px;font-size:11.5px;line-height:1.7;color:var(--text-2);word-break:break-word}
mark.hid{background:rgba(var(--color-primary-rgb),.25);color:var(--color-primary);font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;padding:1px 4px;border:1px solid rgba(var(--color-primary-rgb),.5)}
.labs-grid .lab.wide{grid-column:1/-1}

/* ===== 24 · FOOTER SOCIAL ROW (step 13): themed brand icons via currentColor ===== */
.social{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.soc{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-3);background:rgba(255,255,255,.02);transition:color .18s,border-color .18s,box-shadow .18s,transform .12s;text-decoration:none}
.soc svg{width:17px;height:17px;fill:currentColor}
.soc:hover{color:var(--color-primary);border-color:rgba(var(--color-primary-rgb),.55);box-shadow:0 0 18px rgba(var(--color-primary-rgb),.3);transform:translateY(-1px)}
.soc:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.3)}
.soc.soon{opacity:.35;cursor:default}
.soc.soon:hover{color:var(--text-3);border-color:var(--border-subtle);box-shadow:none;transform:none}
.f-social-note{margin-top:8px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-4)}

/* ===== 25 · HIRE PAGE (step 14) ===== */
.hire-head{position:relative;padding:150px 0 40px;overflow:hidden}
.hire-head .hero-nebula{opacity:.7}
.hire-head .container{position:relative;z-index:2}
.hire-head h1{font-size:clamp(30px,4.6vw,56px);line-height:1.1;margin-top:14px}
.hire-head .lead{color:var(--text-2);max-width:60ch;margin-top:18px;font-size:16.5px;line-height:1.7}
.hire-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.hire-nav a{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);text-decoration:none;border:1px solid var(--border-subtle);padding:7px 12px;border-radius:999px;transition:color .15s,border-color .15s}
.hire-nav a:hover{color:var(--color-primary);border-color:rgba(var(--color-primary-rgb),.5)}
.deliv{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.deliv>*{min-width:0}
@media(max-width:900px){.deliv{grid-template-columns:1fr}}
.deliv .card h3{font-size:16px}
.deliv .card ul{list-style:none;margin-top:10px;display:grid;gap:6px}
.deliv .card li{font-size:13.5px;color:var(--text-2);padding-left:16px;position:relative;line-height:1.55}
.deliv .card li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:1px;background:var(--color-primary)}
.ops{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.ops>*{min-width:0}
@media(max-width:960px){.ops{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ops{grid-template-columns:1fr}}
.op{position:relative;padding:22px 22px 20px;background:rgba(255,255,255,.015);border:1px solid var(--border-subtle);border-radius:var(--card-radius);display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.op:hover{border-color:rgba(var(--color-primary-rgb),.4);transform:translateY(-2px)}
.op .ord{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-4)}
.op .ord b{color:var(--color-primary);font-family:var(--f-display);font-size:13px;font-weight:400}
.op h3{font-size:17px;line-height:1.3;margin:12px 0 8px}
.op p{color:var(--text-2);font-size:14px;line-height:1.65}
.op .spec{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border-strong);display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12.5px}
.op .spec .k{font-family:var(--f-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-4)}
.op .spec .v{color:var(--text-2);margin-top:2px}
.op .done{margin-top:auto;padding-top:12px;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.op .done b{color:var(--color-success);font-weight:600}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.fit>*{min-width:0}
@media(max-width:800px){.fit{grid-template-columns:1fr}}
.fit .card ul{list-style:none;margin-top:12px;display:grid;gap:8px}
.fit .card li{font-size:14px;color:var(--text-2);padding-left:18px;position:relative;line-height:1.55}
.fit .yes li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--color-success);box-shadow:0 0 8px rgba(var(--color-success-rgb),.8);border-radius:50%}
.fit .no li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;background:var(--text-4)}
.terms{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:28px;border:1px solid var(--border-subtle)}
.terms>*{min-width:0}
@media(max-width:700px){.terms{grid-template-columns:1fr}}
.term{padding:22px 24px;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle)}
.term:nth-child(2n){border-right:0}
.term:nth-last-child(-n+2){border-bottom:0}
@media(max-width:700px){.term{border-right:0}.term:nth-last-child(2){border-bottom:1px solid var(--border-subtle)}}
.term .k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary)}
.term h3{font-size:15.5px;margin:8px 0 6px}
.term p{font-size:13.5px;color:var(--text-2);line-height:1.6}
.faq{margin-top:28px;display:grid;gap:8px}
.faq details{border:1px solid var(--border-subtle);background:rgba(255,255,255,.015);padding:14px 18px}
.faq summary{cursor:pointer;font-weight:600;font-size:14.5px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";font-family:var(--f-mono);color:var(--color-primary)}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px;font-size:13.5px;color:var(--text-2);line-height:1.65}

/* ===== 26 · CAPABILITY MATRIX (step 15) ===== */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.caps>*{min-width:0}
@media(max-width:960px){.caps{grid-template-columns:1fr}}
.capcol{border:1px solid var(--border-subtle);border-radius:var(--card-radius);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.2));padding:22px 20px;display:flex;flex-direction:column}
.capcol .cap-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--border-subtle);padding-bottom:12px;margin-bottom:6px}
.capcol .cap-head h3{font-size:17px;letter-spacing:.04em}
.capcol .cap-head b{font-family:var(--f-display);font-weight:400;font-size:26px;color:var(--color-primary);text-shadow:var(--wordmark-glow)}
.cap{padding:11px 0;border-bottom:1px solid var(--border-subtle)}
.cap:last-child{border-bottom:0}
.cap h4{font-family:var(--f-body);font-weight:600;font-size:13.5px;color:var(--text);line-height:1.4}
.cap p{font-size:12.5px;color:var(--text-2);line-height:1.55;margin-top:3px}
.cap .t{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-top:5px}
.cap .t::before{content:"◆";font-size:6px;vertical-align:2px;margin-right:6px;color:var(--color-primary)}
.caps-foot{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}

/* ===== 27 · EVIDENCE / DISPUTE SERVICE (step 16): 3-column tile grid for 9 files, emphasised cards ===== */
.ev-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.ev-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ev-grid{grid-template-columns:1fr}}
.ev{aspect-ratio:1/1.05}
.svc.svc-fight{border-left-width:3px;border-left-color:var(--color-primary);background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.08),rgba(255,255,255,.02) 60%)}
.op.op-fight{border-color:rgba(var(--color-primary-rgb),.45);background:linear-gradient(180deg,rgba(var(--color-primary-rgb),.08),rgba(0,0,0,.2))}
.op.op-fight .ord b{text-shadow:var(--wordmark-glow)}

@media(max-width:600px){.svc .m{white-space:normal}.svc-head{flex-direction:column;gap:4px}}

/* ===== 28 · MULTI-COLOUR ACCENT (step 17) · --color-primary stays THE contrast colour (text, borders, labels ≥ 4.5:1);
   --color-primary-2/-3 only paint surfaces that are not read as text: logo, display headline words, depth counter, buttons, rules, glows.
   Solid presets set all three stops to the same colour, so the gradient collapses to flat. ===== */
.logo{fill:url(#btcDuo)}
.hero-art .knot-glow{fill:url(#btcDuo)}
.th,.dive-rail .dn,.capcol .cap-head b{background:var(--color-grad-h);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 12px rgba(var(--color-primary-rgb),.32))}
.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-2));color:var(--button-primary-text)}
.btn-primary:hover{filter:brightness(1.1) saturate(1.05)}
.prov-rule{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-2),transparent)}
.pipe-line i{background:linear-gradient(90deg,var(--color-primary-3),var(--color-primary-2),var(--color-primary))}
.hero-nebula{background:radial-gradient(ellipse 55% 45% at 28% 30%,rgba(var(--color-primary-rgb),.16),transparent 60%),radial-gradient(ellipse 50% 45% at 62% 40%,rgba(var(--color-primary-2-rgb),.12),transparent 62%),radial-gradient(ellipse 60% 50% at 80% 66%,rgba(var(--color-primary-3-rgb),.16),transparent 62%)}
.soc:hover svg{fill:url(#btcDuo)}
::-webkit-scrollbar-thumb{background:var(--color-grad);opacity:.5}
.btc-sw{border:2px solid rgba(255,255,255,.12)}
.btc-lbl{width:100%;font:500 10px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin:2px 0}
.btc-pop{max-width:300px;max-height:70vh;overflow:auto}
@supports not (background-clip:text){.th,.dive-rail .dn,.capcol .cap-head b{background:none;color:var(--color-primary);text-shadow:var(--wordmark-glow);filter:none}}
