:root{
    --ink:        oklch(0.18 0.025 250);
    --ink-2:      oklch(0.32 0.02 250);
    --muted:      oklch(0.52 0.015 250);
    --line:       oklch(0.90 0.01 250);
    --line-2:     oklch(0.94 0.008 250);
    --bg:         oklch(0.985 0.005 85);
    --bg-2:       oklch(0.965 0.008 85);
    --paper:      #ffffff;
    --navy:       oklch(0.22 0.04 250);
    --navy-2:     oklch(0.30 0.05 250);
    --primary:    oklch(0.48 0.14 250);
    --primary-2:  oklch(0.42 0.15 250);
    --fda:        oklch(0.50 0.12 155);
    --fda-2:      oklch(0.40 0.10 155);
    --fda-bg:     oklch(0.96 0.02 150);
    --amber:      oklch(0.72 0.14 75);
    --shadow-sm:  0 1px 2px oklch(0.18 0.025 250 / 0.06);
    --shadow:     0 8px 24px -10px oklch(0.18 0.025 250 / 0.15);
    --shadow-lg:  0 30px 60px -25px oklch(0.18 0.025 250 / 0.25);
    --radius:     14px;
    --radius-sm:  8px;
    --container:  1240px;
    --maxprose:   62ch;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    font-family: 'Manrope', system-ui, -apple-system, sans-serif;
    font-size:16px;
    line-height:1.55;
    color:var(--ink);
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
    text-wrap:pretty;
  }
  body[data-lang="zh"]{ font-family: 'Manrope', -apple-system, 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif; }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  button{font-family:inherit}
  .mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-feature-settings:"ss01","cv11"}
  .serif{font-family:'Source Serif 4', Georgia, serif}
  .wrap{max-width:var(--container);margin:0 auto;padding:0 28px}
  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:11.5px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
    display:inline-flex; align-items:center; gap:8px;
  }
  .eyebrow::before{content:"";width:18px;height:1px;background:var(--ink-2)}
  h1,h2,h3,h4{margin:0;letter-spacing:-0.02em;font-weight:700}
  h1{font-size:clamp(40px, 5.6vw, 76px); line-height:1.02; letter-spacing:-0.035em; font-weight:800}
  h2{font-size:clamp(28px, 3.4vw, 46px); line-height:1.08; letter-spacing:-0.028em}
  h3{font-size:20px; line-height:1.3}
  p{margin:0}
  .lead{font-size:18px;color:var(--ink-2);max-width:var(--maxprose)}

  /* ---------- Lang visibility ---------- */
  body[data-lang="en"] .zh{display:none}
  body[data-lang="zh"] .en{display:none}

  /* ---------- Top utility bar ---------- */
  .util{
    background:var(--navy); color:oklch(0.85 0.01 250);
    font-size:12.5px;
  }
  .util .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:9px;padding-bottom:9px}
  .util .left{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
  .util .right{display:flex;gap:14px;align-items:center}
  .util .right a{color:oklch(0.80 0.01 250);font-size:12.5px}
  .util .dot{width:6px;height:6px;border-radius:999px;background:oklch(0.72 0.16 145);box-shadow:0 0 0 3px oklch(0.72 0.16 145 / 0.18); display:inline-block; margin-right:8px}
  .langtoggle{
    display:inline-flex; border:1px solid oklch(0.45 0.04 250); border-radius:999px; overflow:hidden;
    font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em;
  }
  .langtoggle button{
    background:transparent; color:oklch(0.78 0.01 250); border:0; padding:4px 10px; cursor:pointer;
  }
  .langtoggle button[aria-pressed="true"]{background:oklch(0.95 0.01 250); color:var(--navy)}

  /* ---------- Header ---------- */
  header.nav{
    position:sticky; top:0; z-index:50;
    background:oklch(0.985 0.005 85 / 0.85);
    backdrop-filter:saturate(140%) blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav .wrap{display:flex;align-items:center;gap:32px;padding-top:14px;padding-bottom:14px}
  .brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-0.02em}
  .brand .mark{
    width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;
    display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:13px;
    position:relative; overflow:hidden;
  }
  .brand .mark::after{
    content:""; position:absolute; inset:auto 0 0 0; height:9px; background:var(--primary);
  }
  .brand .name{font-size:15px}
  .brand .sub{font-size:11px; color:var(--muted); font-weight:500; letter-spacing:0}
  nav.primary{display:flex;gap:6px;margin-left:8px}
  nav.primary a{
    font-size:14px; font-weight:500; padding:8px 12px; border-radius:8px; color:var(--ink-2);
    display:inline-flex; align-items:center; gap:6px;
  }
  nav.primary a:hover{background:var(--bg-2); color:var(--ink)}
  nav.primary a.has-caret::after{
    content:""; width:6px;height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
    transform:translateY(-2px) rotate(45deg); opacity:.5;
  }
  .nav .spacer{flex:1}
  .nav .actions{display:flex;align-items:center;gap:10px}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:10px 16px; border-radius:10px; font-weight:600; font-size:14px; cursor:pointer;
    border:1px solid transparent; transition:.15s ease;
  }
  .btn .arrow{width:14px;height:14px;display:inline-block;position:relative}
  .btn .arrow::before{content:"";position:absolute;inset:0;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;width:7px;height:7px;right:2px;top:3px;transform:rotate(45deg)}
  .btn .arrow::after{content:"";position:absolute;left:0;right:4px;top:6.5px;height:1.5px;background:currentColor}
  .btn-primary{background:var(--ink); color:var(--bg)}
  .btn-primary:hover{background:var(--navy)}
  .btn-ghost{background:transparent; color:var(--ink-2); border-color:var(--line)}
  .btn-ghost:hover{border-color:var(--ink-2); color:var(--ink)}
  .btn-fda{background:var(--fda); color:#fff}
  .btn-fda:hover{background:var(--fda-2)}
  .icon-track{width:14px;height:14px;display:inline-block;border:1.5px solid currentColor;border-radius:50%;position:relative}
  .icon-track::after{content:"";position:absolute;left:5px;top:5px;width:2px;height:2px;background:currentColor;border-radius:50%;box-shadow:0 0 0 3px currentColor;opacity:.35}

  /* ---------- HERO ---------- */
  .hero{
    position:relative; overflow:hidden;
    padding:72px 0 100px;
    background:
      radial-gradient(900px 500px at 95% -10%, oklch(0.42 0.12 250 / 0.10), transparent 60%),
      radial-gradient(600px 400px at -5% 110%, oklch(0.50 0.12 155 / 0.08), transparent 60%),
      var(--bg);
  }
  .hero-grid{display:grid; grid-template-columns: 1.15fr 0.85fr; gap:64px; align-items:end}
  .hero h1 em{font-style:normal; font-family:'Source Serif 4',serif; font-weight:400; color:var(--ink-2); letter-spacing:-0.025em}
  .hero .lead{margin-top:24px}
  .hero .cta-row{display:flex; gap:12px; margin-top:32px; flex-wrap:wrap}

  .hero-side{display:flex; flex-direction:column; gap:14px}
  .panel{
    background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:20px;
    box-shadow:var(--shadow-sm);
  }
  .panel h4{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px;font-family:'JetBrains Mono',monospace;font-weight:500}
  .track-form{display:flex; gap:8px}
  .track-form input{
    flex:1; padding:12px 14px; border-radius:10px; border:1px solid var(--line); background:var(--bg-2);
    font:inherit; color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:13.5px; letter-spacing:.04em;
  }
  .track-form input:focus{outline:none;border-color:var(--ink-2); background:#fff}
  .track-form .btn{padding:10px 14px}
  .track-hint{font-size:12px;color:var(--muted);margin-top:10px;display:flex;justify-content:space-between}
  .track-hint .mono{color:var(--ink-2)}

  .stat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0}
  .stat-grid .stat{padding:18px 20px; border-right:1px solid var(--line)}
  .stat-grid .stat:last-child{border-right:0}
  .stat .num{font-size:26px; font-weight:700; letter-spacing:-0.02em; font-family:'Manrope',sans-serif; font-feature-settings:"tnum"}
  .stat .num .unit{font-size:14px; color:var(--muted); margin-left:2px; font-weight:500}
  .stat .lbl{font-size:12px; color:var(--muted); margin-top:2px; letter-spacing:.02em}

  /* ---------- HERO Variant B · Photography-led ---------- */
  .hero-b{padding:0; background:var(--bg)}
  .hero-b-frame{position:relative}
  .hero-b-img{
    position:relative; min-height:760px; height:88vh; max-height:920px;
    background:
      repeating-linear-gradient(135deg, oklch(0.30 0.03 250) 0, oklch(0.30 0.03 250) 14px, oklch(0.26 0.03 250) 14px, oklch(0.26 0.03 250) 28px),
      var(--navy);
    overflow:hidden;
  }
  .hero-b-grid{
    position:absolute; inset:0;
    background:
      repeating-linear-gradient(0deg, transparent 0, transparent 79px, oklch(0.95 0.01 250 / 0.04) 80px),
      repeating-linear-gradient(90deg, transparent 0, transparent 79px, oklch(0.95 0.01 250 / 0.04) 80px);
    pointer-events:none;
  }
  .hero-b-overlay{
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, oklch(0.18 0.04 250 / 0.55) 0%, transparent 35%, oklch(0.14 0.04 250 / 0.85) 100%);
    pointer-events:none;
  }
  .hero-b-ph{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    font-family:'JetBrains Mono',monospace; font-size:12px; color:oklch(0.78 0.01 250); letter-spacing:.08em;
    text-align:center; max-width:60ch; opacity:.7;
  }
  .hero-b-topstrip{
    position:absolute; top:0; left:0; right:0; padding:28px max(28px,calc((100% - var(--container))/2));
    display:flex; justify-content:space-between; align-items:center; gap:24px; z-index:2;
  }
  .hero-b-tracker{
    display:flex; align-items:center; gap:10px;
    background:oklch(0.95 0.01 250 / 0.12); border:1px solid oklch(0.95 0.01 250 / 0.22);
    backdrop-filter:blur(10px); padding:8px 8px 8px 16px; border-radius:999px;
  }
  .hero-b-tracker input{
    background:transparent; border:0; outline:none; color:#fff;
    font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.04em; width:180px;
  }
  .hero-b-tracker input::placeholder{color:oklch(0.78 0.01 250)}
  .hero-b-text{
    position:absolute; left:max(28px,calc((100% - var(--container))/2)); right:max(28px,calc((100% - var(--container))/2));
    bottom:64px; z-index:2; color:#fff;
  }
  .hero-b-text h1{max-width:18ch}
  .hero-b-text h1 em{font-family:'Source Serif 4',serif; font-weight:400; font-style:normal; color:oklch(0.88 0.02 80)}
  .hero-b-strip{
    display:grid; grid-template-columns:repeat(5,1fr); gap:0;
    border-bottom:1px solid var(--line);
    background:var(--paper);
  }
  .hero-b-strip .hb-stat{padding:24px 28px; border-right:1px solid var(--line)}
  .hero-b-strip .hb-stat:last-child{border-right:0}
  .hb-num{display:block; font-size:30px; font-weight:700; letter-spacing:-0.02em; font-feature-settings:"tnum"}
  .hb-num .u{font-size:13px; color:var(--muted); margin-left:3px; font-weight:500}
  .hb-k{font-size:12.5px; color:var(--muted); margin-top:4px; display:block}

  /* ---------- HERO Variant C · Live ops dashboard ---------- */
  .hero-c{padding:80px 0 96px}
  .hero-c-grid{display:grid; grid-template-columns: 1fr 1.05fr; gap:64px; align-items:start}
  .hc-dash{
    background:var(--navy); color:oklch(0.92 0.01 250);
    border-radius:14px; padding:20px;
    box-shadow:var(--shadow-lg);
    position:relative; overflow:hidden;
  }
  .hc-dash::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(500px 250px at 100% 0%, oklch(0.50 0.12 155 / 0.18), transparent 60%);
    pointer-events:none;
  }
  .hc-dash > *{position:relative}
  .hc-dash-head{display:flex; align-items:center; gap:10px; padding:4px 4px 16px; border-bottom:1px solid oklch(0.40 0.04 250)}
  .hc-dot{width:8px;height:8px;border-radius:999px;background:oklch(0.72 0.16 145);box-shadow:0 0 0 4px oklch(0.72 0.16 145 / 0.18); animation:pulse 2.4s ease-in-out infinite}
  @keyframes pulse{50%{box-shadow:0 0 0 7px oklch(0.72 0.16 145 / 0)}}
  .hc-title{font-size:11px; letter-spacing:.14em; color:oklch(0.75 0.01 250); flex:1}
  .hc-clock{font-size:12.5px; color:#fff; font-feature-settings:"tnum"}

  .hc-row{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:oklch(0.40 0.04 250); margin:14px -20px 0; padding:0 1px}
  .hc-tile{background:var(--navy); padding:16px 20px}
  .hc-tile-k{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.1em; color:oklch(0.70 0.01 250)}
  .hc-tile-v{font-size:34px; font-weight:700; color:#fff; margin-top:4px; letter-spacing:-0.02em; font-feature-settings:"tnum"}
  .hc-tile-d{font-size:11.5px; color:oklch(0.78 0.01 250); margin-top:2px}
  .hc-up{color:oklch(0.80 0.14 145); font-family:'JetBrains Mono',monospace; font-weight:600; margin-right:6px}

  .hc-block{margin-top:18px}
  .hc-block-head{display:flex; align-items:baseline; gap:12px; font-size:12px; color:oklch(0.80 0.01 250); margin-bottom:10px; font-weight:600}
  .hc-block-head .hc-mute{margin-left:auto; font-size:10.5px; color:oklch(0.55 0.01 250); letter-spacing:.04em}

  .hc-list{display:grid; gap:6px}
  .hc-item{
    display:grid; grid-template-columns: 110px 90px 1fr 56px 95px; align-items:center; gap:12px;
    padding:9px 12px; border:1px solid oklch(0.36 0.04 250); border-radius:8px;
    background:oklch(0.26 0.04 250 / 0.6);
    font-size:12px;
  }
  .hc-item .mono{font-size:11.5px; letter-spacing:.04em; color:oklch(0.92 0.01 250)}
  .hc-route{display:flex; align-items:center; gap:6px; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:#fff; letter-spacing:.04em}
  .hc-arrow{width:14px; height:1px; background:oklch(0.70 0.01 250); position:relative}
  .hc-arrow::after{content:""; position:absolute; right:-1px; top:-2px; width:4px; height:4px; border-right:1px solid oklch(0.70 0.01 250); border-top:1px solid oklch(0.70 0.01 250); transform:rotate(45deg)}
  .hc-bar{display:block; height:4px; background:oklch(0.34 0.04 250); border-radius:2px; overflow:hidden}
  .hc-bar > span{display:block; height:100%; background:var(--primary)}
  .hc-tag{font-family:'JetBrains Mono',monospace; font-size:10px; padding:3px 7px; border-radius:4px; text-align:center; letter-spacing:.06em}
  .hc-ok{background:oklch(0.45 0.10 145 / 0.30); color:oklch(0.88 0.10 145); border:1px solid oklch(0.55 0.10 145 / 0.40)}
  .hc-fda{background:oklch(0.40 0.10 155 / 0.35); color:oklch(0.92 0.08 155); border:1px solid var(--fda)}
  .hc-warn{background:oklch(0.55 0.13 75 / 0.25); color:oklch(0.88 0.12 75); border:1px solid oklch(0.65 0.13 75 / 0.45)}

  .hc-ports{display:grid; grid-template-columns:repeat(5,1fr); gap:8px}
  .hc-port{
    display:flex; flex-direction:column; gap:4px; padding:10px 12px;
    border:1px solid oklch(0.36 0.04 250); border-radius:8px; background:oklch(0.26 0.04 250 / 0.6);
    font-size:11px;
  }
  .hc-port .mono{color:#fff; font-size:12px; letter-spacing:.06em; font-weight:600}
  .hc-pulse{width:8px;height:8px;border-radius:999px;display:inline-block}
  .hc-pulse.ok{background:oklch(0.72 0.16 145); box-shadow:0 0 0 3px oklch(0.72 0.16 145 / 0.18)}
  .hc-pulse.warn{background:oklch(0.75 0.16 75); box-shadow:0 0 0 3px oklch(0.75 0.16 75 / 0.18)}

  @media (max-width: 980px){
    .hero-c-grid{grid-template-columns:1fr; gap:40px}
    .hero-b-strip{grid-template-columns:repeat(2,1fr)}
    .hero-b-strip .hb-stat{border-right:0; border-bottom:1px solid var(--line)}
    .hc-item{grid-template-columns: 1fr auto; gap:6px}
    .hc-item .hc-bar, .hc-item .hc-mute{display:none}
    .hc-ports{grid-template-columns:repeat(3,1fr)}
  }

  /* ---------- Tweaks panel ---------- */
  .tweaks-fab{
    position:fixed; right:20px; bottom:20px; z-index:90;
    background:var(--ink); color:var(--bg); border:0; cursor:pointer;
    padding:12px 16px; border-radius:999px; font-size:13px; font-weight:600;
    box-shadow:var(--shadow);
    display:none; align-items:center; gap:8px;
  }
  .tweaks-fab.visible{display:inline-flex}
  .tweaks-fab::before{content:""; width:8px;height:8px;border-radius:999px;background:var(--amber)}
  .tweaks-panel{
    position:fixed; right:20px; bottom:20px; z-index:91;
    width:320px; background:var(--paper); border:1px solid var(--line); border-radius:14px;
    box-shadow:var(--shadow-lg);
    display:none; flex-direction:column; overflow:hidden;
  }
  .tweaks-panel.open{display:flex}
  .tweaks-head{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--line)}
  .tweaks-head h4{font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-family:'JetBrains Mono',monospace; font-weight:500; margin:0}
  .tweaks-close{background:transparent;border:0;cursor:pointer;color:var(--muted);font-size:18px;padding:2px 6px;line-height:1}
  .tweaks-body{padding:16px; display:flex; flex-direction:column; gap:18px}
  .tweaks-section{display:flex; flex-direction:column; gap:8px}
  .tweaks-section .lbl{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-family:'JetBrains Mono',monospace}
  .tweaks-radio{display:grid; gap:8px}
  .tweaks-opt{
    display:flex; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; cursor:pointer;
    align-items:flex-start; background:var(--bg-2);
  }
  .tweaks-opt:hover{border-color:var(--ink-2)}
  .tweaks-opt input{margin-top:3px; accent-color:var(--ink)}
  .tweaks-opt .t{font-size:13.5px; font-weight:600; color:var(--ink)}
  .tweaks-opt .d{font-size:12px; color:var(--muted); margin-top:2px; display:block}
  .tweaks-opt[data-active="true"]{border-color:var(--ink); background:var(--paper)}

  /* ---------- ticker / trust strip ---------- */
  .ticker{
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    background:var(--paper);
    overflow:hidden;
  }
  .ticker .wrap{display:flex; gap:48px; align-items:center; padding-top:18px; padding-bottom:18px; flex-wrap:wrap}
  .ticker .label{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); white-space:nowrap; font-family:'JetBrains Mono',monospace}
  .ticker .items{display:flex; gap:36px; flex-wrap:wrap; flex:1}
  .ticker .item{
    font-family:'Manrope',sans-serif; font-weight:700; font-size:15px; color:var(--ink-2);
    letter-spacing:-0.01em; opacity:.85;
    display:inline-flex; align-items:center; gap:8px;
  }
  .ticker .item::before{content:"";width:6px;height:6px;background:var(--ink-2);opacity:.35;border-radius:1px;transform:rotate(45deg)}

  /* ---------- Client logo wordmarks (illustrative) ---------- */
  .ticker .logo{
    display:inline-flex; align-items:center; gap:8px;
    color:var(--ink-2); opacity:.78; filter:saturate(0); transition:opacity .15s ease, filter .15s ease;
    font-family:'Manrope',sans-serif; font-size:15px; line-height:1; letter-spacing:-0.005em;
    white-space:nowrap;
  }
  .ticker .logo:hover{opacity:1; filter:saturate(1)}
  .ticker .logo svg{flex-shrink:0}
  .ticker .logo .serif{font-family:'Source Serif 4', Georgia, serif; font-weight:500}
  .ticker .logo .dim{opacity:0.5; font-size:12px; letter-spacing:.04em; text-transform:uppercase; margin-left:1px}
  .logo-sage .serif em{font-style:italic; font-weight:500; font-size:18px}
  .logo-sage .mark{font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; opacity:.7; margin-left:2px}
  .logo-north strong{font-weight:800; letter-spacing:-0.04em; font-size:14px}
  .logo-north .sub{font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.2em; opacity:.55; margin-left:4px}
  .logo-halo{font-weight:400; letter-spacing:0; font-size:18px; font-family:'Source Serif 4', Georgia, serif}
  .logo-halo .cap{font-style:italic}
  .logo-verra .vrr{font-weight:700; letter-spacing:.16em; font-size:13px}
  .logo-briar .serif{font-family:'Source Serif 4', Georgia, serif; font-style:italic; font-weight:500; font-size:17px}
  .logo-briar .amp{margin:0 2px; font-family:'Source Serif 4', Georgia, serif; font-size:18px; opacity:.7}
  .logo-onkyo .okk{font-weight:700; letter-spacing:.22em; font-size:13px}
  .logo-onkyo .dot{display:inline-block; width:3px; height:3px; background:currentColor; border-radius:50%; margin:0 4px; opacity:.5}

  /* ---------- Section base ---------- */
  section{padding:120px 0}
  section.tight{padding:88px 0}
  .section-head{display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:end; margin-bottom:56px}
  .section-head .lead{font-size:17px}

  /* ---------- Services ---------- */
  .svc-tabs{
    display:inline-flex; gap:4px; background:var(--bg-2); padding:4px; border-radius:999px; border:1px solid var(--line);
    margin-bottom:36px;
  }
  .svc-tab{
    padding:8px 18px; border-radius:999px; font-size:13.5px; font-weight:600; cursor:pointer; color:var(--muted);
    border:0; background:transparent; display:inline-flex; align-items:center; gap:8px;
  }
  .svc-tab[aria-selected="true"]{background:var(--ink); color:var(--bg)}
  .svc-tab .badge{font-family:'JetBrains Mono',monospace; font-size:10px; padding:1px 6px; border-radius:999px; background:var(--amber); color:var(--ink); font-weight:600; letter-spacing:.04em}
  .svc-tab[aria-selected="true"] .badge{background:oklch(0.95 0.01 80)}

  .svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
  .svc-card{
    background:var(--paper); padding:32px; min-height:240px; display:flex; flex-direction:column; gap:14px;
    position:relative; transition:.18s ease;
  }
  .svc-card:hover{background:var(--bg-2)}
  .svc-card .num{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:.1em}
  .svc-card h3{margin-top:8px}
  .svc-card p{color:var(--muted); font-size:14.5px}
  .svc-card .meta{margin-top:auto; padding-top:18px; display:flex; gap:12px; flex-wrap:wrap}
  .pill{
    font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.04em;
    color:var(--ink-2); background:var(--bg-2); border:1px solid var(--line); padding:3px 9px; border-radius:999px;
  }
  .svc-card.featured{background:linear-gradient(180deg, var(--fda-bg), var(--paper))}
  .svc-card .corner{position:absolute; top:18px; right:18px; font-size:11px; font-family:'JetBrains Mono',monospace; color:var(--fda-2); display:inline-flex; align-items:center; gap:6px}
  .svc-card .corner::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--fda)}

  /* ---------- FDA section ---------- */
  .fda{
    background:var(--navy); color:oklch(0.95 0.01 250);
    position:relative; overflow:hidden;
  }
  .fda::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(700px 350px at 85% 0%, oklch(0.50 0.12 155 / 0.30), transparent 60%),
      radial-gradient(500px 300px at 0% 100%, oklch(0.48 0.14 250 / 0.30), transparent 60%);
    pointer-events:none;
  }
  .fda .wrap{position:relative}
  .fda .eyebrow{color:oklch(0.78 0.05 150)}
  .fda .eyebrow::before{background:var(--fda)}
  .fda h2{color:#fff}
  .fda .lead{color:oklch(0.82 0.01 250)}
  .fda-cols{display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start; margin-top:56px}
  .pipeline{
    display:grid; gap:14px;
  }
  .pipe-step{
    display:grid; grid-template-columns:48px 1fr auto; gap:18px; align-items:center;
    padding:18px 20px; border:1px solid oklch(0.40 0.04 250); border-radius:12px;
    background:oklch(0.26 0.04 250 / 0.6);
  }
  .pipe-step .idx{
    font-family:'JetBrains Mono',monospace; font-size:13px;
    color:var(--fda); border:1px solid oklch(0.40 0.10 155); border-radius:8px;
    width:44px; height:44px; display:grid; place-items:center;
  }
  .pipe-step .body strong{display:block;color:#fff;font-weight:600;font-size:15px}
  .pipe-step .body span{font-size:13px;color:oklch(0.78 0.01 250)}
  .pipe-step .sla{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:oklch(0.85 0.05 150); white-space:nowrap}
  .fda-side .panel{background:oklch(0.30 0.04 250 / 0.5); border-color:oklch(0.40 0.04 250); color:oklch(0.92 0.01 250)}
  .cert-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
  .cert{
    font-family:'JetBrains Mono',monospace; font-size:11.5px; padding:6px 10px;
    border:1px solid oklch(0.40 0.04 250); border-radius:6px; color:oklch(0.88 0.01 250); letter-spacing:.04em;
  }
  .cert.hl{background:oklch(0.40 0.10 155 / 0.25); border-color:var(--fda); color:#fff}
  .fda-side h4{color:#fff; font-size:15px; font-family:'Manrope',sans-serif; letter-spacing:-0.01em; text-transform:none}
  .fda-side .panel + .panel{margin-top:14px}
  .fda-side ul{list-style:none; padding:0; margin:0; display:grid; gap:8px}
  .fda-side li{font-size:14px; color:oklch(0.88 0.01 250); padding-left:20px; position:relative}
  .fda-side li::before{content:""; position:absolute; left:0; top:9px; width:10px; height:1.5px; background:var(--fda)}

  /* ---------- Network ---------- */
  .network{background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
  .net-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center}
  .net-map{
    aspect-ratio: 16/10;
    position:relative;
    background:
      repeating-linear-gradient(0deg, var(--line) 0, var(--line) 1px, transparent 1px, transparent 36px),
      repeating-linear-gradient(90deg, var(--line) 0, var(--line) 1px, transparent 1px, transparent 36px),
      var(--bg-2);
    border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden;
  }
  .net-map .dot{
    position:absolute; width:10px;height:10px; background:var(--primary); border-radius:50%;
    box-shadow:0 0 0 6px oklch(0.48 0.14 250 / 0.18);
  }
  .net-map .dot.fda{background:var(--fda); box-shadow:0 0 0 6px oklch(0.50 0.12 155 / 0.18)}
  .net-map .label{
    position:absolute; font-family:'JetBrains Mono',monospace; font-size:10.5px;
    background:var(--paper); border:1px solid var(--line); padding:3px 8px; border-radius:4px;
    color:var(--ink-2); white-space:nowrap; letter-spacing:.04em;
  }
  .net-map .line{
    position:absolute; height:1px; background:linear-gradient(90deg, var(--primary), transparent);
    transform-origin:left center; opacity:.6;
  }
  .net-map .note{
    position:absolute; bottom:14px; left:14px; right:14px;
    font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--muted); letter-spacing:.04em;
    text-transform:uppercase;
  }
  .net-stats{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-top:32px}
  .net-stats .cell{background:var(--paper); padding:22px}
  .net-stats .v{font-size:30px; font-weight:700; letter-spacing:-0.02em; font-feature-settings:"tnum"}
  .net-stats .v .u{font-size:14px; color:var(--muted); margin-left:4px; font-weight:500}
  .net-stats .k{font-size:13px; color:var(--muted); margin-top:4px}

  /* ---------- Quote form ---------- */
  .quote{background:linear-gradient(180deg, var(--bg), var(--bg-2))}
  .quote-card{
    background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:48px;
    box-shadow:var(--shadow-lg);
    display:grid; grid-template-columns: 0.9fr 1.1fr; gap:56px;
  }
  .quote-card .left h2{margin-bottom:18px}
  .quote-card .left .points{margin-top:24px; display:grid; gap:10px}
  .quote-card .left .points div{display:flex; gap:10px; font-size:14px; color:var(--ink-2)}
  .quote-card .left .points div::before{content:"✓"; color:var(--fda); font-weight:700}
  .qform{display:grid; grid-template-columns:1fr 1fr; gap:14px}
  .field{display:flex; flex-direction:column; gap:6px}
  .field.full{grid-column:1/-1}
  .field label{font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-family:'JetBrains Mono',monospace}
  .field input, .field select, .field textarea{
    padding:11px 14px; border:1px solid var(--line); border-radius:10px; background:var(--bg);
    font:inherit; font-size:14.5px; color:var(--ink);
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--ink-2);background:#fff}
  .field textarea{min-height:84px; resize:vertical}
  .qform .btn-primary{justify-content:center; padding:14px 18px; font-size:14px}
  .qform .legal{font-size:11.5px; color:var(--muted); grid-column:1/-1}

  /* ---------- Insights ---------- */
  .insights .head{display:flex; justify-content:space-between; align-items:end; margin-bottom:48px; gap:24px}
  .post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
  .post{
    display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
    transition:.18s ease;
  }
  .post:hover{transform:translateY(-2px); box-shadow:var(--shadow)}
  .post .img{
    aspect-ratio:16/10; background:repeating-linear-gradient(45deg, var(--bg-2) 0, var(--bg-2) 10px, var(--line-2) 10px, var(--line-2) 11px);
    position:relative;
  }
  .post .img > .img-bg + .tag, .post .img > .img-bg ~ .ph{z-index:1; position:absolute}
  .post .img .tag{
    position:absolute; top:14px; left:14px;
    font-family:'JetBrains Mono',monospace; font-size:10.5px; padding:3px 8px; border-radius:4px;
    background:var(--paper); border:1px solid var(--line); letter-spacing:.04em; color:var(--ink-2);
  }
  .post .img:has(.img-bg)::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 0%, transparent 50%, oklch(0.18 0.025 250 / 0.25) 100%); z-index:1; pointer-events:none}
  .post .img .ph{
    position:absolute; bottom:14px; right:14px; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--muted);
  }
  .post .body{padding:24px; display:flex; flex-direction:column; gap:12px; flex:1}
  .post .meta{display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--muted); font-family:'JetBrains Mono',monospace}
  .post h3{font-size:18px; letter-spacing:-0.02em; line-height:1.32}
  .post .body p{font-size:14px; color:var(--muted); margin-top:auto}

  /* ---------- Footer ---------- */
  footer{background:var(--navy); color:oklch(0.85 0.01 250); padding:80px 0 32px; margin-top:0}
  footer .top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; padding-bottom:48px; border-bottom:1px solid oklch(0.35 0.04 250)}
  footer h5{font-size:12px; color:oklch(0.65 0.01 250); letter-spacing:.14em; text-transform:uppercase; margin:0 0 18px; font-family:'JetBrains Mono',monospace; font-weight:500}
  footer ul{list-style:none; padding:0; margin:0; display:grid; gap:10px}
  footer a{color:oklch(0.85 0.01 250); font-size:14px}
  footer a:hover{color:#fff}
  footer .brand-block .name{color:#fff; font-size:18px; font-weight:700; margin-bottom:14px; display:block}
  footer .brand-block p{font-size:13.5px; color:oklch(0.75 0.01 250); max-width:40ch}
  footer .contact{margin-top:20px; display:grid; gap:8px; font-size:13.5px}
  footer .contact .row{display:flex; gap:10px; align-items:flex-start}
  footer .contact .k{font-family:'JetBrains Mono',monospace; font-size:11px; color:oklch(0.62 0.01 250); letter-spacing:.1em; min-width:54px; padding-top:2px}
  footer .bot{display:flex; justify-content:space-between; align-items:center; padding-top:28px; font-size:12.5px; color:oklch(0.65 0.01 250); flex-wrap:wrap; gap:16px}
  footer .bot .legal{display:flex; gap:18px}

  /* ---------- Image utilities ---------- */
  .ph{position:relative}
  .ph > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; border-radius:inherit}
  .ph:has(img)::after{display:none !important}
  .img-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0}
  .hero-b-img > .img-bg, .fhero-img > .img-bg{filter:saturate(0.9) brightness(0.65); z-index:0}
  .hero-b-img:has(.img-bg) > .hero-b-grid{opacity:0.35; z-index:1}
  .hero-b-img:has(.img-bg) > .hero-b-overlay{
    background:linear-gradient(180deg, oklch(0.18 0.04 250 / 0.30) 0%, oklch(0.14 0.04 250 / 0.10) 35%, oklch(0.12 0.04 250 / 0.85) 100%) !important;
    z-index:2;
  }
  .hero-b-img:has(.img-bg) > .hero-b-topstrip,
  .hero-b-img:has(.img-bg) > .hero-b-text{z-index:3}
  .fhero-img:has(.img-bg) > .fhero-grid{opacity:0.35; z-index:1}
  .fhero-img:has(.img-bg) > .fhero-overlay{z-index:2}
  .fhero-img:has(.img-bg) > .fhero-text{z-index:3}

  /* ---------- Page hero banner photo (below page-hero) ---------- */
  .hero-banner{
    position:relative; overflow:hidden;
    height:340px; background:var(--bg-2);
    border-bottom:1px solid var(--line);
  }
  .hero-banner img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; filter:saturate(0.9) brightness(0.85)}
  .hero-banner::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, oklch(0.18 0.025 250 / 0.20) 0%, transparent 40%, oklch(0.18 0.025 250 / 0.55) 100%);
    pointer-events:none;
  }
  .hero-banner .caption{
    position:absolute; left:max(28px,calc((100% - var(--container))/2)); bottom:24px; right:max(28px,calc((100% - var(--container))/2));
    color:#fff; display:flex; justify-content:space-between; align-items:end; gap:24px;
    font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.06em;
    z-index:2;
  }
  .hero-banner .caption .l{max-width:50ch}
  .hero-banner .caption .r{opacity:0.7; text-align:right; flex-shrink:0}

  /* ---------- Scroll reveal ---------- */
  @media (prefers-reduced-motion: no-preference){
    .anim-fade-in{opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .55s cubic-bezier(.2,.7,.2,1)}
    .anim-fade-in.is-visible{opacity:1; transform:none}
  }
  .counter-pending{font-feature-settings:"tnum"}

  /* ---------- Homepage testimonials ---------- */
  .testimonials{padding:120px 0; background:var(--bg)}
  .test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px}
  .quote-card-t{
    background:var(--paper); border:1px solid var(--line); border-radius:14px;
    padding:32px 28px; display:flex; flex-direction:column; gap:18px;
    position:relative; min-height:300px;
  }
  .quote-card-t::before{
    content:"“"; position:absolute; top:8px; left:24px;
    font-family:'Source Serif 4', Georgia, serif; font-size:84px;
    color:var(--ink); opacity:.10; line-height:1;
  }
  .quote-card-t blockquote{
    margin:0; padding-top:32px;
    font-family:'Source Serif 4', Georgia, serif; font-size:18px; line-height:1.5;
    color:var(--ink); letter-spacing:-0.005em; font-weight:500;
  }
  .quote-card-t .attribution{
    margin-top:auto; padding-top:18px; border-top:1px solid var(--line-2);
    display:flex; gap:12px; align-items:center;
  }
  .quote-card-t .av{
    width:42px; height:42px; border-radius:50%; flex-shrink:0;
    background:repeating-linear-gradient(135deg, var(--bg-2) 0, var(--bg-2) 4px, var(--line) 4px, var(--line) 5px);
    overflow:hidden;
  }
  .quote-card-t .av img{width:100%; height:100%; object-fit:cover; display:block}
  .quote-card-t .who{display:flex; flex-direction:column; gap:2px; flex:1; min-width:0}
  .quote-card-t .who .nm{font-size:14px; font-weight:700; letter-spacing:-0.01em}
  .quote-card-t .who .ro{font-size:12px; color:var(--muted); font-family:'JetBrains Mono',monospace; letter-spacing:.04em}
  .quote-card-t .metric{
    font-family:'JetBrains Mono',monospace; font-size:11px; padding:4px 9px;
    background:var(--fda-bg); border:1px solid var(--fda); border-radius:6px;
    color:var(--fda-2); letter-spacing:.06em; white-space:nowrap;
  }
  @media (max-width:980px){.test-grid{grid-template-columns:1fr}}

  /* ---------- Homepage FAQ ---------- */
  .home-faq{padding:120px 0; background:var(--bg-2); border-top:1px solid var(--line)}
  .faq-rows{display:grid; gap:0; margin-top:48px; border-top:1px solid var(--line)}
  .faq-row{
    border-bottom:1px solid var(--line); padding:0;
  }
  .faq-row details{padding:24px 0; cursor:pointer}
  .faq-row summary{
    list-style:none; display:grid; grid-template-columns: 60px 1fr 32px; gap:24px;
    align-items:start; font-size:18px; font-weight:600; color:var(--ink); letter-spacing:-0.01em;
  }
  .faq-row summary::-webkit-details-marker{display:none}
  .faq-row summary .num{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--muted); letter-spacing:.1em; padding-top:6px}
  .faq-row summary .toggle{
    width:28px; height:28px; border:1px solid var(--line); border-radius:8px;
    display:grid; place-items:center; position:relative; transition:.15s ease; justify-self:end;
  }
  .faq-row summary .toggle::before, .faq-row summary .toggle::after{
    content:""; position:absolute; background:var(--ink-2);
  }
  .faq-row summary .toggle::before{width:12px; height:1.5px}
  .faq-row summary .toggle::after{width:1.5px; height:12px; transition:.2s ease}
  .faq-row details[open] summary .toggle{background:var(--ink); border-color:var(--ink)}
  .faq-row details[open] summary .toggle::before, .faq-row details[open] summary .toggle::after{background:#fff}
  .faq-row details[open] summary .toggle::after{transform:rotate(90deg)}
  .faq-row .answer{
    padding:18px 0 0 84px; font-size:15px; color:var(--ink-2); line-height:1.65; max-width:62ch;
  }
  @media (max-width:980px){.faq-row summary{grid-template-columns:48px 1fr 28px; gap:12px; font-size:16px} .faq-row .answer{padding-left:60px}}

  /* ---------- Mobile sticky CTA bar ---------- */
  .mcta{display:none}
  @media (max-width: 980px){
    .mcta{
      display:flex; position:fixed; left:0; right:0; bottom:0; z-index:80;
      background:oklch(0.985 0.005 85 / 0.92); backdrop-filter:saturate(140%) blur(12px);
      border-top:1px solid var(--line); padding:10px 14px; gap:8px;
      box-shadow:0 -4px 18px -8px oklch(0.18 0.025 250 / 0.18);
    }
    .mcta .btn{flex:1; justify-content:center; padding:13px 12px; font-size:14px}
    .mcta .mcta-ghost{flex:0 0 auto; padding:13px 14px; font-size:13px}
    /* push content above the bar so the bar doesn't cover footer */
    body{padding-bottom:64px}
    footer .bot{padding-bottom:8px}
  }

  /* ---------- Reading progress bar ---------- */
  .read-progress{
    position:fixed; top:0; left:0; right:0; height:3px; z-index:200;
    background:transparent; pointer-events:none;
  }
  .read-progress .bar{
    height:100%; width:0%; background:linear-gradient(90deg, var(--primary), var(--fda));
    transition:width .08s linear;
  }

  /* ---------- Back to top ---------- */
  .back-top{
    position:fixed; right:20px; bottom:20px; z-index:80;
    width:44px; height:44px; border-radius:50%;
    background:var(--ink); color:#fff; border:0; cursor:pointer;
    display:none; align-items:center; justify-content:center;
    box-shadow:var(--shadow);
    opacity:0; transform:translateY(8px); transition:opacity .2s ease, transform .2s ease;
  }
  .back-top.visible{display:flex; opacity:1; transform:none}
  .back-top svg{width:18px; height:18px}
  @media (max-width: 980px){
    .back-top{bottom:80px}  /* clear of the mobile sticky CTA bar */
  }

  /* ---------- Search modal ---------- */
  .search-trigger{
    display:inline-flex; align-items:center; gap:8px; padding:8px 12px;
    border:1px solid var(--line); border-radius:8px; background:var(--bg-2); color:var(--muted);
    font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.04em;
    cursor:pointer; transition:.15s ease;
  }
  .search-trigger:hover{border-color:var(--ink-2); color:var(--ink)}
  .search-trigger svg{width:14px; height:14px}
  .search-trigger kbd{
    font-family:'JetBrains Mono',monospace; font-size:10px; padding:2px 5px;
    background:var(--paper); border:1px solid var(--line); border-radius:4px; color:var(--muted);
    margin-left:6px;
  }
  .search-overlay{
    position:fixed; inset:0; z-index:120; background:oklch(0.18 0.025 250 / 0.55);
    backdrop-filter:blur(6px); display:none; align-items:flex-start; justify-content:center; padding-top:14vh;
  }
  .search-overlay.open{display:flex}
  .search-box{
    width:min(720px, calc(100% - 32px)); background:var(--paper);
    border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-lg);
    overflow:hidden; max-height:72vh; display:flex; flex-direction:column;
  }
  .search-input-wrap{display:flex; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid var(--line)}
  .search-input-wrap svg{width:18px; height:18px; color:var(--muted); flex-shrink:0}
  .search-input{
    flex:1; border:0; outline:none; background:transparent; color:var(--ink);
    font:inherit; font-size:17px; letter-spacing:-0.01em;
  }
  .search-close{
    font-family:'JetBrains Mono',monospace; font-size:10px; padding:3px 7px;
    background:var(--bg-2); border:1px solid var(--line); border-radius:4px; color:var(--muted); letter-spacing:.04em;
  }
  .search-results{flex:1; overflow:auto; padding:8px}
  .search-result{
    padding:14px 16px; border-radius:10px; cursor:pointer; display:flex; flex-direction:column; gap:4px;
    transition:.1s ease; color:inherit;
  }
  .search-result:hover, .search-result.active{background:var(--bg-2)}
  .search-result .title{font-size:15px; font-weight:600; letter-spacing:-0.01em; color:var(--ink)}
  .search-result .title mark{background:oklch(0.92 0.14 95); color:var(--ink); padding:0 2px; border-radius:2px}
  .search-result .desc{font-size:13px; color:var(--muted); line-height:1.5}
  .search-result .desc mark{background:oklch(0.92 0.14 95); color:var(--ink); padding:0 2px; border-radius:2px}
  .search-result .meta{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--muted); letter-spacing:.06em; margin-top:2px}
  .search-empty{padding:32px 20px; text-align:center; color:var(--muted); font-size:14px}
  .search-foot{
    display:flex; gap:14px; padding:10px 20px; border-top:1px solid var(--line); background:var(--bg-2);
    font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--muted); letter-spacing:.04em;
  }
  .search-foot kbd{font-family:inherit; padding:1px 5px; background:var(--paper); border:1px solid var(--line); border-radius:3px; margin-right:4px}

  /* ---------- Dark mode ---------- */
  html.dark{
    --ink:        oklch(0.95 0.01 250);
    --ink-2:      oklch(0.82 0.01 250);
    --muted:      oklch(0.62 0.01 250);
    --line:       oklch(0.32 0.02 250);
    --line-2:     oklch(0.26 0.02 250);
    --bg:         oklch(0.16 0.02 250);
    --bg-2:       oklch(0.20 0.02 250);
    --paper:      oklch(0.22 0.02 250);
    --shadow-sm:  0 1px 2px oklch(0.08 0.025 250 / 0.30);
    --shadow:     0 8px 24px -10px oklch(0.08 0.025 250 / 0.55);
    --shadow-lg:  0 30px 60px -25px oklch(0.08 0.025 250 / 0.65);
  }
  html.dark body{background:var(--bg)}
  html.dark .btn-primary{background:var(--ink); color:var(--bg)}
  html.dark .btn-primary:hover{background:#fff}
  html.dark header.nav{background:oklch(0.18 0.02 250 / 0.88)}
  html.dark .ticker .logo{filter:invert(0) saturate(0); opacity:.65}
  html.dark .ticker .logo:hover{filter:saturate(1); opacity:1}
  html.dark .search-trigger{background:var(--bg-2)}
  html.dark .case-card .thumb img,
  html.dark .post .img .img-bg,
  html.dark .hero-banner img,
  html.dark .ind-hero-photo img{filter:saturate(0.85) brightness(0.85)}
  html.dark .net-map .label, html.dark .data-table th{background:var(--bg-2)}
  /* Dark mode: keep these sections always dark (already dark in light mode too) */
  html.dark .fda, html.dark .hero-b-img, html.dark .fhero-img, html.dark .cta-band,
  html.dark .hc-dash, html.dark footer{background:oklch(0.10 0.025 250)}

  /* ---------- Generic page hero (used on subpages) ---------- */
  .page-hero{
    padding:72px 0 64px;
    background:
      radial-gradient(700px 360px at 90% 0%, oklch(0.50 0.12 155 / 0.08), transparent 60%),
      radial-gradient(500px 300px at 0% 100%, oklch(0.48 0.14 250 / 0.06), transparent 60%),
      var(--bg);
    border-bottom:1px solid var(--line);
  }
  .page-hero .crumbs{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--muted); letter-spacing:.06em; margin-bottom:18px}
  .page-hero .crumbs a:hover{color:var(--ink)}
  .page-hero .crumbs .sep{margin:0 8px; color:var(--line)}
  .page-hero h1{font-size:clamp(36px, 4.6vw, 64px); max-width:18ch}
  .page-hero .lead{margin-top:22px; max-width:64ch}
  .page-hero .h-meta{display:flex; gap:24px; flex-wrap:wrap; margin-top:26px; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--muted); letter-spacing:.04em}
  .page-hero .h-meta span strong{color:var(--ink); font-weight:600; font-family:'Manrope',sans-serif; letter-spacing:0; margin-left:6px}

  /* ---------- Timeline ---------- */
  .timeline{display:grid; gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
  .tl-row{display:grid; grid-template-columns:120px 1fr 1fr; gap:32px; padding:32px 0; border-bottom:1px solid var(--line-2); align-items:start}
  .tl-row:last-child{border-bottom:0}
  .tl-year{font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--fda-2); letter-spacing:.06em; padding-top:4px}
  .tl-title{font-size:18px; font-weight:700; letter-spacing:-0.01em; color:var(--ink)}
  .tl-body{font-size:14.5px; color:var(--ink-2); max-width:60ch; line-height:1.6}
  .tl-tags{display:flex; gap:6px; flex-wrap:wrap; margin-top:8px}

  /* ---------- Team grid ---------- */
  .team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
  .member{background:var(--paper); padding:28px; display:flex; flex-direction:column; gap:8px}
  .member .ph{
    aspect-ratio:1/1; background:repeating-linear-gradient(135deg, var(--bg-2) 0, var(--bg-2) 10px, var(--line-2) 10px, var(--line-2) 11px);
    border-radius:10px; margin-bottom:14px; position:relative;
  }
  .member .ph::after{content:"// portrait"; position:absolute; bottom:8px; right:10px; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--muted)}
  .member .name{font-size:16px; font-weight:700; letter-spacing:-0.01em}
  .member .role{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--fda-2); letter-spacing:.06em}
  .member .bio{font-size:13.5px; color:var(--muted); margin-top:6px}

  /* ---------- Certifications wall ---------- */
  .certs{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
  .cert-card{background:var(--paper); padding:24px; display:flex; flex-direction:column; gap:10px; min-height:170px}
  .cert-card .seal{
    width:46px; height:46px; border-radius:50%; border:1.5px dashed var(--ink-2);
    display:grid; place-items:center; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--ink-2); letter-spacing:.04em; margin-bottom:6px;
  }
  .cert-card .ck{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:.1em}
  .cert-card .cn{font-size:15px; font-weight:700; letter-spacing:-0.01em}
  .cert-card .cd{font-size:13px; color:var(--ink-2); margin-top:auto}

  /* ---------- Big number callouts ---------- */
  .bignums{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
  .bn{background:var(--paper); padding:32px 28px}
  .bn .v{font-size:46px; font-weight:800; letter-spacing:-0.03em; font-feature-settings:"tnum"; line-height:1}
  .bn .v .u{font-size:18px; color:var(--muted); margin-left:4px; font-weight:500}
  .bn .k{font-size:13px; color:var(--muted); margin-top:10px; letter-spacing:.04em}
  .bn .d{font-size:13px; color:var(--ink-2); margin-top:6px; line-height:1.5; max-width:32ch}

  /* ---------- Data tables ---------- */
  .data-table{width:100%; border-collapse:collapse; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
  .data-table th, .data-table td{padding:14px 18px; text-align:left; font-size:14px; border-bottom:1px solid var(--line-2)}
  .data-table th{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); background:var(--bg-2); font-weight:500}
  .data-table tr:last-child td{border-bottom:0}
  .data-table tbody tr:hover{background:var(--bg-2)}
  .data-table .mono{font-size:13px; color:var(--ink-2)}
  .data-table .tag{font-family:'JetBrains Mono',monospace; font-size:10.5px; padding:3px 8px; border-radius:4px; background:var(--bg-2); border:1px solid var(--line); color:var(--ink-2); letter-spacing:.04em}
  .data-table .tag.ok{background:oklch(0.95 0.05 145); border-color:oklch(0.78 0.10 145); color:oklch(0.32 0.10 145)}
  .data-table .tag.fda{background:var(--fda-bg); border-color:var(--fda); color:var(--fda-2)}

  /* ---------- Warehouse / location cards ---------- */
  .wh-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
  .wh{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column}
  .wh .ph{
    aspect-ratio:16/10;
    background:repeating-linear-gradient(135deg, var(--bg-2) 0, var(--bg-2) 12px, var(--line-2) 12px, var(--line-2) 13px);
    position:relative;
  }
  .wh .ph::after{content:attr(data-ph); position:absolute; bottom:10px; right:12px; font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--muted)}
  .wh .ph .badge{
    position:absolute; top:14px; left:14px; font-family:'JetBrains Mono',monospace; font-size:10.5px; padding:4px 9px;
    background:var(--paper); border:1px solid var(--line); border-radius:4px; letter-spacing:.06em; color:var(--ink-2);
  }
  .wh .body{padding:24px; display:flex; flex-direction:column; gap:14px; flex:1}
  .wh .head{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
  .wh .head h3{font-size:20px; letter-spacing:-0.02em}
  .wh .head .code{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:.1em}
  .wh .meta{display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; margin-top:auto}
  .wh .meta .k{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--muted); letter-spacing:.1em; text-transform:uppercase}
  .wh .meta .v{font-size:15px; color:var(--ink); margin-top:2px; font-weight:600; letter-spacing:-0.01em}
  .wh .desc{font-size:14px; color:var(--ink-2)}

  /* ---------- Article (long-form) ---------- */
  .article-wrap{max-width:760px; margin:0 auto; padding:0 28px}
  .article-meta{display:flex; gap:16px; flex-wrap:wrap; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--muted); letter-spacing:.04em; margin-bottom:20px}
  .article-meta .tag{font-family:'JetBrains Mono',monospace; font-size:10.5px; padding:3px 8px; border-radius:4px; background:var(--fda-bg); border:1px solid var(--fda); color:var(--fda-2); letter-spacing:.06em}
  .article-body{font-size:17px; line-height:1.75; color:var(--ink-2)}
  .article-body h2{font-size:28px; margin:56px 0 14px; color:var(--ink); letter-spacing:-0.02em}
  .article-body h3{font-size:20px; margin:32px 0 10px; color:var(--ink); letter-spacing:-0.01em}
  .article-body p{margin:0 0 18px}
  .article-body ul, .article-body ol{margin:0 0 18px; padding-left:24px}
  .article-body li{margin-bottom:8px}
  .article-body blockquote{margin:24px 0; padding:18px 24px; border-left:3px solid var(--fda); background:var(--fda-bg); border-radius:0 8px 8px 0; font-style:italic; color:var(--ink); font-size:16px}
  .article-body code{font-family:'JetBrains Mono',monospace; font-size:14px; background:var(--bg-2); padding:2px 6px; border-radius:4px; color:var(--ink); border:1px solid var(--line)}
  .article-body .callout{
    margin:24px 0; padding:20px 24px; background:var(--bg-2); border:1px solid var(--line); border-radius:10px;
  }
  .article-body .callout .lbl{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:8px}
  .article-body .callout p{margin-bottom:0; font-size:15.5px}
  .article-body .data-table{margin:24px 0}
  .article-toc{
    position:sticky; top:96px; padding:18px 20px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
    font-size:13.5px; line-height:1.7;
  }
  .article-toc .lbl{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; display:block}
  .article-toc a{color:var(--ink-2); display:block; padding:4px 0; border-bottom:1px solid var(--line-2)}
  .article-toc a:hover{color:var(--ink)}
  .article-toc a:last-child{border-bottom:0}

  /* ---------- Filter chips ---------- */
  .chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px}
  .chip{
    font-family:'JetBrains Mono',monospace; font-size:12px; padding:7px 14px; border-radius:999px;
    background:var(--bg-2); border:1px solid var(--line); color:var(--ink-2); letter-spacing:.04em; cursor:pointer;
  }
  .chip:hover{border-color:var(--ink-2); color:var(--ink)}
  .chip.active{background:var(--ink); color:var(--bg); border-color:var(--ink)}

  /* ---------- Job listings ---------- */
  .jobs{display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
  .job{background:var(--paper); padding:24px 28px; display:grid; grid-template-columns:1.5fr 1fr 1fr auto; gap:24px; align-items:center; transition:.15s ease}
  .job:hover{background:var(--bg-2)}
  .job .title{font-size:17px; font-weight:700; letter-spacing:-0.01em}
  .job .dept{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--fda-2); letter-spacing:.06em; margin-top:4px}
  .job .loc, .job .type{font-size:14px; color:var(--ink-2); font-family:'JetBrains Mono',monospace; letter-spacing:.04em}

  /* ---------- Big CTA (reusable) ---------- */
  .cta-band{
    background:var(--navy); color:#fff; padding:88px 0; position:relative; overflow:hidden;
  }
  .cta-band::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(700px 350px at 80% 0%, oklch(0.50 0.12 155 / 0.30), transparent 60%),
      radial-gradient(500px 300px at 10% 100%, oklch(0.48 0.14 250 / 0.30), transparent 60%);
    pointer-events:none;
  }
  .cta-band .wrap{position:relative; display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end}
  .cta-band h2{color:#fff; max-width:18ch}
  .cta-band .lead{color:oklch(0.85 0.01 250); margin-top:18px; max-width:54ch}
  .cta-band .actions{display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end}
  .cta-band .actions .btn-ghost{border-color:oklch(0.55 0.04 250); color:#fff}
  .cta-band .actions .btn-ghost:hover{border-color:#fff}

  /* ---------- Mobile drawer ---------- */
  .mobile-burger{
    display:none; background:transparent; border:1px solid var(--line); border-radius:10px;
    width:42px; height:42px; cursor:pointer; padding:0; align-items:center; justify-content:center;
  }
  .mobile-burger span{display:block; width:18px; height:1.5px; background:var(--ink); position:relative}
  .mobile-burger span::before, .mobile-burger span::after{content:""; position:absolute; left:0; width:18px; height:1.5px; background:var(--ink)}
  .mobile-burger span::before{top:-6px}
  .mobile-burger span::after{top:6px}
  .mobile-drawer{
    position:fixed; inset:0; z-index:100; background:var(--bg); padding:24px 28px;
    transform:translateX(100%); transition:transform .25s ease; overflow:auto;
    display:flex; flex-direction:column; gap:8px;
  }
  .mobile-drawer.open{transform:translateX(0)}
  .mobile-drawer .drawer-head{display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:18px}
  .mobile-drawer .drawer-close{background:transparent; border:1px solid var(--line); border-radius:10px; width:42px; height:42px; cursor:pointer; color:var(--ink); font-size:22px; line-height:1}
  .mobile-drawer a{padding:16px 0; font-size:18px; font-weight:600; color:var(--ink); border-bottom:1px solid var(--line-2)}
  .mobile-drawer .sub-link{font-size:14px; font-weight:500; color:var(--ink-2); padding:10px 0 10px 14px; border:0}
  .mobile-drawer .drawer-actions{margin-top:auto; padding-top:24px; display:flex; flex-direction:column; gap:10px}

  /* ---------- responsive ---------- */
  @media (max-width: 980px){
    .hero-grid, .fda-cols, .net-grid, .quote-card{grid-template-columns:1fr; gap:40px}
    .section-head{grid-template-columns:1fr; gap:16px}
    .svc-grid, .post-grid{grid-template-columns:1fr 1fr}
    footer .top{grid-template-columns:1fr 1fr; gap:32px}
    nav.primary{display:none}
    .mobile-burger{display:inline-flex}
    section{padding:80px 0}
    .team-grid, .certs, .bignums, .wh-grid{grid-template-columns:repeat(2,1fr)}
    .tl-row{grid-template-columns:80px 1fr; gap:18px}
    .tl-row .tl-body{grid-column:2}
    .cta-band .wrap{grid-template-columns:1fr}
    .cta-band .actions{justify-content:flex-start}
    .job{grid-template-columns:1fr 1fr; gap:12px}
    .job .type{display:none}
  }
  @media (max-width: 640px){
    .svc-grid, .post-grid, .stat-grid, .net-stats{grid-template-columns:1fr}
    .qform{grid-template-columns:1fr}
    footer .top{grid-template-columns:1fr}
    .util .wrap{flex-direction:column; align-items:flex-start}
    .wrap{padding:0 20px}
    .hero{padding:48px 0 72px}
    .quote-card{padding:28px}
  }

/* ---- API form states ---- */
form .form-error-msg{display:none}
form.form-error .form-error-msg{display:block;color:oklch(0.55 0.18 30);font-size:13px;padding-top:8px}
form.form-success{opacity:.6;pointer-events:none}
