:root {
    --bg: #060808;
    --bg-2: #0a0d0d;
    --panel: #0d1111;
    --line: rgba(255,255,255,.12);
    --line-soft: rgba(255,255,255,.06);
    --ink: #f4f6f6;
    --ink-2: #9fadad;
    --muted: #5d6b6b;
    --accent: #17c3b2;
    --mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    background: var(--bg); color: var(--ink);
    font-family: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;
    font-size: 15px; line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  ::selection { background: var(--accent); color: #04201c; }
  .wrap { max-width: 1240px; margin: 0 auto; padding: 0 40px; }
  @media (max-width: 700px) { .wrap { padding: 0 20px; } }

  .label {
    font-family: var(--mono); font-size: 11px; letter-spacing: 3px;
    text-transform: uppercase; color: var(--muted);
  }
  .label b { color: var(--accent); font-weight: 400; }

  /* ---------- NAV ---------- */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 200;
    background: rgba(6,8,8,.82); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line-soft);
  }
  .nav-in {
    max-width: 1240px; margin: 0 auto; padding: 0 40px;
    display: flex; align-items: center; justify-content: space-between; height: 64px;
  }
  .wordmark {
    font-family: var(--mono); font-size: 16px; letter-spacing: 5px; font-weight: 700;
    color: var(--ink); text-decoration: none; text-transform: uppercase;
  }
  .wordmark span { color: var(--accent); }
  .nav-links { display: flex; gap: 36px; align-items: center; }
  .nav-links a {
    font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--ink-2); text-decoration: none; transition: color .2s;
  }
  .nav-links a:hover { color: var(--ink); }
  .nav-cta {
    border: 1px solid var(--line) !important; padding: 10px 20px;
    color: var(--ink) !important; transition: all .2s !important;
  }
  .nav-cta:hover { border-color: var(--accent) !important; color: var(--accent) !important; }
  @media (max-width: 860px) { .nav-links a:not(.nav-cta) { display: none; } }

  /* ---------- HERO ---------- */
  .hero {
    position: relative; min-height: 92vh; display: flex; align-items: center;
    border-bottom: 1px solid var(--line-soft); overflow: hidden;
    background:
      linear-gradient(rgba(6,8,8,.2), var(--bg) 88%),
      repeating-linear-gradient(0deg, transparent 0 119px, var(--line-soft) 119px 120px),
      repeating-linear-gradient(90deg, transparent 0 119px, var(--line-soft) 119px 120px),
      var(--bg);
  }
  #heroNet { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5; }
  .hero-in { position: relative; z-index: 2; padding: 140px 0 100px; }
  .hero .label { margin-bottom: 28px; }
  h1 {
    font-size: clamp(42px, 6.4vw, 84px); font-weight: 650; letter-spacing: -2.5px;
    line-height: 1.04; max-width: 900px; margin-bottom: 30px;
  }
  h1 .dim { color: var(--muted); }
  h1 em { font-style: normal; color: var(--accent); }
  .hero p {
    font-size: 18px; color: var(--ink-2); max-width: 600px; font-weight: 300; margin-bottom: 44px;
  }
  .cta-row { display: flex; gap: 16px; flex-wrap: wrap; }
  .btn {
    display: inline-block; font-family: var(--mono); font-size: 12px; letter-spacing: 2px;
    text-transform: uppercase; text-decoration: none; padding: 16px 32px; transition: all .2s;
  }
  .btn.solid { background: var(--ink); color: var(--bg); font-weight: 700; }
  .btn.solid:hover { background: var(--accent); color: #04201c; }
  .btn.line { border: 1px solid var(--line); color: var(--ink); }
  .btn.line:hover { border-color: var(--accent); color: var(--accent); }
  .hero-foot {
    position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
    border-top: 1px solid var(--line-soft);
  }
  .hero-foot-in {
    max-width: 1240px; margin: 0 auto; padding: 18px 40px;
    display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  }

  /* ---------- MANIFESTO ---------- */
  .manifesto { padding: 130px 0; border-bottom: 1px solid var(--line-soft); }
  .manifesto .label { margin-bottom: 34px; }
  .manifesto h2 {
    font-size: clamp(26px, 3.4vw, 44px); font-weight: 500; letter-spacing: -1px;
    line-height: 1.3; max-width: 980px;
  }
  .manifesto h2 em { font-style: normal; color: var(--accent); }
  .manifesto h2 .dim { color: var(--muted); }
  .manifesto p.follow {
    max-width: 720px; color: var(--ink-2); font-weight: 300; font-size: 16px; margin-top: 30px;
  }

  /* ---------- METRICS ---------- */
  .metrics { border-bottom: 1px solid var(--line-soft); }
  .metrics-in { display: grid; grid-template-columns: repeat(4, 1fr); }
  @media (max-width: 860px) { .metrics-in { grid-template-columns: repeat(2, 1fr); } }
  .metric { padding: 48px 40px; border-right: 1px solid var(--line-soft); }
  .metric:last-child { border-right: none; }
  @media (max-width: 860px) { .metric:nth-child(2) { border-right: none; } .metric:nth-child(-n+2){ border-bottom: 1px solid var(--line-soft);} }
  .metric .num { font-size: 44px; font-weight: 650; letter-spacing: -1.5px; }
  .metric .num span { color: var(--accent); }
  .metric .label { margin-top: 8px; }

  /* ---------- SECTIONS ---------- */
  section.block { padding: 120px 0; border-bottom: 1px solid var(--line-soft); }
  .sec-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 70px; gap: 30px; flex-wrap: wrap; }
  .sec-head h2 { font-size: clamp(30px, 4vw, 52px); font-weight: 600; letter-spacing: -1.5px; line-height: 1.1; max-width: 640px; }
  .sec-head h2 em { font-style: normal; color: var(--accent); }
  .sec-head .label { margin-bottom: 16px; }
  .sec-head p.side { max-width: 340px; color: var(--ink-2); font-size: 14px; font-weight: 300; }

  /* platform 3 columns */
  .cols3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); }
  @media (max-width: 860px) { .cols3 { grid-template-columns: 1fr; } }
  .col3 { padding: 40px 34px 46px 0; border-right: 1px solid var(--line-soft); padding-left: 34px; }
  .col3:first-child { padding-left: 0; }
  .col3:last-child { border-right: none; }
  @media (max-width: 860px) { .col3 { border-right: none; border-bottom: 1px solid var(--line-soft); padding-left: 0; } }
  .col3 .idx { font-family: var(--mono); font-size: 12px; color: var(--accent); letter-spacing: 2px; margin-bottom: 22px; }
  .col3 h3 { font-size: 22px; font-weight: 650; letter-spacing: -.5px; margin-bottom: 6px; }
  .col3 .bio { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
  .col3 p { font-size: 14px; color: var(--ink-2); font-weight: 300; }

  /* schematic */
  .schematic { margin-top: 80px; border: 1px solid var(--line-soft); background: var(--bg-2); padding: 40px; overflow-x: auto; }
  .schematic svg { width: 100%; min-width: 700px; height: auto; display: block; }
  .sch-box { fill: none; stroke: var(--line); }
  .sch-box.hot { stroke: var(--accent); }
  .sch-t { fill: var(--ink); font-family: var(--mono); font-size: 12px; letter-spacing: 1px; }
  .sch-s { fill: var(--muted); font-family: var(--mono); font-size: 9.5px; letter-spacing: 1px; }
  .sch-l { stroke: var(--line); fill: none; }
  .sch-pulse { fill: var(--accent); }

  /* solutions grid */
  .sol-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
  @media (max-width: 860px) { .sol-grid { grid-template-columns: 1fr; } }
  .sol {
    padding: 44px 40px 50px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
    position: relative; transition: background .3s;
  }
  .sol:hover { background: var(--bg-2); }
  .sol .idx { font-family: var(--mono); font-size: 11px; color: var(--muted); letter-spacing: 2px; margin-bottom: 30px; display:flex; justify-content: space-between; }
  .sol .idx .arrow { color: var(--muted); transition: color .2s, transform .2s; }
  .sol:hover .idx .arrow { color: var(--accent); transform: translateX(4px); }
  .sol h3 { font-size: 24px; font-weight: 650; letter-spacing: -.5px; margin-bottom: 12px; }
  .sol p { font-size: 14px; color: var(--ink-2); font-weight: 300; max-width: 420px; }
  .sol .tags { margin-top: 26px; display: flex; gap: 10px; flex-wrap: wrap; }
  .sol .tag { font-family: var(--mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink-2); border: 1px solid var(--line-soft); padding: 5px 12px; }

  /* approach — immune section */
  .approach-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
  @media (max-width: 900px) { .approach-grid { grid-template-columns: 1fr; gap: 40px; } }
  .approach-grid h2 { font-size: clamp(30px, 3.6vw, 46px); font-weight: 600; letter-spacing: -1.5px; line-height: 1.15; margin: 16px 0 26px; }
  .approach-grid h2 em { font-style: normal; color: var(--accent); }
  .approach-grid p { color: var(--ink-2); font-weight: 300; margin-bottom: 18px; font-size: 15px; }
  .approach-grid p b { color: var(--ink); font-weight: 600; }
  .term {
    border: 1px solid var(--line-soft); background: var(--bg-2); padding: 30px;
    font-family: var(--mono); font-size: 12.5px; line-height: 2; color: var(--ink-2);
  }
  .term .cmt { color: var(--muted); }
  .term .k { color: var(--accent); }
  .term .w { color: var(--ink); }
  .term-head { display: flex; gap: 7px; margin-bottom: 20px; }
  .term-head i { width: 9px; height: 9px; border-radius: 50%; background: var(--line); display: block; }

  /* philosophy */
  .philosophy .lead-quote {
    font-size: clamp(24px, 3vw, 38px); font-weight: 500; letter-spacing: -1px;
    line-height: 1.35; max-width: 900px; margin-bottom: 60px;
  }
  .philosophy .lead-quote em { font-style: normal; color: var(--accent); }
  .philosophy .lead-quote .dim { color: var(--muted); }
  .phil-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
  @media (max-width: 860px) { .phil-grid { grid-template-columns: 1fr; } }
  .phil { padding: 40px 34px 46px 0; border-right: 1px solid var(--line-soft); padding-left: 34px; }
  .phil:first-child { padding-left: 0; }
  .phil:last-child { border-right: none; }
  @media (max-width: 860px) { .phil { border-right: none; border-bottom: 1px solid var(--line-soft); padding-left: 0; } }
  .phil .idx { font-family: var(--mono); font-size: 12px; color: var(--accent); letter-spacing: 2px; margin-bottom: 22px; }
  .phil h3 { font-size: 20px; font-weight: 650; letter-spacing: -.5px; margin-bottom: 10px; }
  .phil p { font-size: 14px; color: var(--ink-2); font-weight: 300; }
  .phil-foot { margin-top: 70px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
  .phil-foot .label { margin-right: 8px; }
  .phil-foot .tag { font-family: var(--mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink-2); border: 1px solid var(--line-soft); padding: 5px 12px; }

  /* certs strip */
  .certs { border-bottom: 1px solid var(--line-soft); }
  .certs-in { display: flex; flex-wrap: wrap; }
  .cert { flex: 1; min-width: 200px; padding: 30px 40px; border-right: 1px solid var(--line-soft); display: flex; align-items: center; gap: 14px; }
  .cert:last-child { border-right: none; }
  .cert .sq { width: 10px; height: 10px; border: 1px solid var(--accent); min-width: 10px; }

  /* final CTA */
  .final { padding: 150px 0; text-align: center; border-bottom: 1px solid var(--line-soft); position: relative; overflow: hidden;
    background:
      radial-gradient(ellipse 60% 50% at 50% 100%, rgba(23,195,178,.07), transparent),
      var(--bg);
  }
  .final h2 { font-size: clamp(34px, 5vw, 64px); font-weight: 650; letter-spacing: -2px; line-height: 1.08; margin: 24px 0 40px; }
  .final h2 em { font-style: normal; color: var(--accent); }

  /* request access form */
  .access-form { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; max-width: 720px; margin: 0 auto; }
  .access-form input {
    background: var(--bg-2); border: 1px solid var(--line); color: var(--ink);
    font-family: var(--mono); font-size: 12px; letter-spacing: 1px;
    padding: 16px 20px; min-width: 220px; outline: none;
  }
  .access-form input:focus { border-color: var(--accent); }
  .access-form input::placeholder { color: var(--muted); }
  .access-form .btn { border: none; cursor: pointer; }
  .access-form .btn:disabled { opacity: .6; cursor: default; }
  .access-status { font-family: var(--mono); font-size: 12px; letter-spacing: 1px; margin-top: 18px; min-height: 18px; color: var(--accent); }
  .access-status.err { color: #ef7070; }
  .access-alt { margin-top: 14px; font-size: 13px; color: var(--muted); }
  .access-alt a { color: var(--ink-2); }
  .access-alt a:hover { color: var(--accent); }

  /* footer */
  footer { padding: 70px 0 40px; }
  .foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 70px; }
  @media (max-width: 860px) { .foot-grid { grid-template-columns: 1fr 1fr; } }
  .foot-grid h4 { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-bottom: 18px; font-weight: 400; }
  .foot-grid a { display: block; color: var(--ink-2); text-decoration: none; font-size: 13.5px; margin-bottom: 10px; }
  .foot-grid a:hover { color: var(--accent); }
  .foot-bottom {
    border-top: 1px solid var(--line-soft); padding-top: 28px;
    display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
    font-family: var(--mono); font-size: 10.5px; letter-spacing: 1.5px; color: var(--muted); text-transform: uppercase;
  }

  /* reveal */
  .rv { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
  .rv.on { opacity: 1; transform: none; }
