  :root{
    --navy:#08152F;
    --navy-mid:#1B2F5E;
    --cyan:#2DD4E8;
    --cyan-light:#7FE9F5;
    --cyan-ink:#0E7490;
    --paper:#FFFFFF;
    --mist:#F4FBFD;
    --ink:#16202B;
    --muted:#5A6478;
    --line:#E4E9F0;
    --radius:16px;
    --maxw:1180px;
    --serif:"Fraunces",Georgia,"Times New Roman",serif;
    --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:var(--sans);
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none}
  img,svg{display:block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

  /* ---------- lab ribbon ---------- */
  .ribbon{
    background:var(--navy-mid);
    color:var(--cyan-light);
    font-size:12.5px;
    letter-spacing:.3px;
    text-align:center;
    padding:7px 16px;
  }
  .ribbon strong{color:#fff;font-weight:600}

  /* ---------- header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.82);
    backdrop-filter:saturate(180%) blur(14px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:70px}
  .brand{display:flex;align-items:center;gap:12px}
  .brand svg{width:30px;height:35px}
  .brand .name{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.2px;color:var(--navy)}
  .brand .tag{font-size:9.5px;letter-spacing:2.4px;color:var(--muted);text-transform:uppercase;margin-top:1px}
  nav.links{display:flex;gap:30px;align-items:center}
  nav.links a{font-size:14.5px;font-weight:500;color:var(--ink);opacity:.82;transition:opacity .15s}
  nav.links a:hover{opacity:1;color:var(--cyan-ink)}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    font-weight:600;font-size:14.5px;
    padding:10px 20px;border-radius:999px;
    background:var(--navy);color:#fff;
    border:1px solid var(--navy);
    transition:transform .12s,box-shadow .2s,background .2s;
    cursor:pointer;
  }
  .btn:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:0 8px 24px rgba(8,21,47,.18)}
  .btn.ghost{background:transparent;color:var(--navy);border-color:var(--line)}
  .btn.ghost:hover{background:var(--mist);border-color:var(--cyan);color:var(--cyan-ink);box-shadow:none}
  .btn.cyan{background:var(--cyan-ink);border-color:var(--cyan-ink)}
  .btn.cyan:hover{background:#0b5f75}
  @media(max-width:820px){nav.links{display:none}}

  /* ---------- hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    background:
      radial-gradient(1100px 520px at 78% -8%, rgba(45,212,232,.16), transparent 60%),
      radial-gradient(760px 520px at 8% 110%, rgba(27,47,94,.55), transparent 62%),
      linear-gradient(160deg,#0a1a3a 0%, var(--navy) 55%, #060f22 100%);
    color:#fff;
  }
  .hero .wrap{position:relative;z-index:2;padding:96px 24px 108px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font-size:12.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;
    color:var(--cyan-light);
    padding:7px 14px;border:1px solid rgba(127,233,245,.28);border-radius:999px;
    background:rgba(45,212,232,.06);
  }
  .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(45,212,232,.22)}
  .hero h1{
    font-family:var(--serif);font-weight:500;
    font-size:clamp(38px,5.4vw,62px);line-height:1.05;letter-spacing:-.5px;
    margin:22px 0 20px;
  }
  .hero h1 em{font-style:italic;color:var(--cyan-light)}
  .hero p.lede{font-size:18px;line-height:1.65;color:#cdd7e6;max-width:520px;margin:0 0 32px}
  .hero .cta{display:flex;gap:14px;flex-wrap:wrap}
  .hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.28)}
  .hero .btn.ghost:hover{background:rgba(255,255,255,.08);border-color:var(--cyan);color:#fff}

  /* hero shield art */
  .shield-art{position:relative;display:flex;justify-content:center;align-items:center}
  .shield-art .glow{position:absolute;width:340px;height:340px;border-radius:50%;
    background:radial-gradient(circle, rgba(45,212,232,.28), transparent 68%);filter:blur(8px)}
  .shield-art svg{position:relative;width:230px;height:auto;filter:drop-shadow(0 24px 60px rgba(0,0,0,.45))}
  .ring{position:absolute;border:1px solid rgba(127,233,245,.16);border-radius:50%}
  .ring.r1{width:300px;height:300px}
  .ring.r2{width:400px;height:400px}
  @media(max-width:900px){
    .hero .wrap{grid-template-columns:1fr;padding:72px 24px 80px}
    .shield-art{order:-1;margin-bottom:8px}
    .shield-art svg{width:150px}
    .ring.r1{width:210px;height:210px}.ring.r2{width:290px;height:290px}
  }

  /* ---------- stat strip ---------- */
  .stats{background:var(--navy-mid);color:#fff}
  .stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:28px 24px}
  .stat .n{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--cyan-light);line-height:1}
  .stat .l{font-size:13px;color:#b9c4d6;margin-top:6px}
  @media(max-width:720px){.stats .wrap{grid-template-columns:repeat(2,1fr);gap:22px 16px}}

  /* ---------- sections ---------- */
  section.pad{padding:88px 0}
  .kicker{font-size:13px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--cyan-ink)}
  h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.6vw,40px);line-height:1.12;letter-spacing:-.3px;color:var(--navy);margin:12px 0 0}
  .lead{font-size:17px;color:var(--muted);max-width:640px;margin:16px 0 0}

  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
  .card{
    border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;background:var(--paper);
    transition:transform .16s,box-shadow .2s,border-color .2s;
  }
  .card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(8,21,47,.09);border-color:var(--cyan)}
  .card .ic{width:46px;height:46px;border-radius:12px;background:var(--mist);display:flex;align-items:center;justify-content:center;margin-bottom:18px;border:1px solid var(--line)}
  .card .ic svg{width:24px;height:24px}
  .card h3{font-size:19px;font-weight:600;margin:0 0 8px;color:var(--navy)}
  .card p{margin:0;font-size:15px;color:var(--muted)}
  @media(max-width:820px){.cards{grid-template-columns:1fr}}

  /* ---------- lab section ---------- */
  .lab{
    background:
      radial-gradient(700px 380px at 90% 10%, rgba(45,212,232,.10), transparent 60%),
      var(--navy);
    color:#fff;border-radius:24px;overflow:hidden;position:relative;
  }
  .lab .inner{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:56px 52px}
  .lab h2{color:#fff}
  .lab .kicker{color:var(--cyan-light)}
  .lab p{color:#cdd7e6;font-size:16px}
  .lab ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
  .lab li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:#dbe4f0}
  .lab li svg{width:20px;height:20px;flex:0 0 20px;margin-top:2px}
  .lab .cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
  .lab .btn{background:var(--cyan-ink);border-color:var(--cyan-ink)}
  .lab .btn:hover{background:#0b5f75}
  .lab .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
  .lab .btn.ghost:hover{background:rgba(255,255,255,.08)}
  @media(max-width:820px){.lab .inner{grid-template-columns:1fr;padding:40px 30px}}

  /* ---------- footer ---------- */
  footer{background:#050e20;color:#9fb0c8;padding:56px 0 34px;margin-top:0}
  .foot-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08)}
  .foot-brand{display:flex;align-items:center;gap:12px}
  .foot-brand svg{width:28px;height:33px}
  .foot-brand .name{font-family:var(--serif);color:#fff;font-size:18px;font-weight:600}
  .foot-cols{display:flex;gap:56px;flex-wrap:wrap}
  .foot-cols h4{color:#fff;font-size:13px;letter-spacing:.4px;margin:0 0 12px;font-weight:600}
  .foot-cols a{display:block;font-size:14px;color:#9fb0c8;margin-bottom:9px;transition:color .15s}
  .foot-cols a:hover{color:var(--cyan-light)}
  .disclaimer{font-size:12.5px;color:#7286a3;line-height:1.7;margin-top:26px;max-width:760px}
  .disclaimer strong{color:#c4d1e4}
  .copy{font-size:12.5px;color:#647897;margin-top:22px}

  /* Rules that used to be inline style="" attributes. Moved here so the
     Content-Security-Policy can forbid inline styles outright. */
  .pad.tight{padding-top:0}
  .lab h2.who{font-size:30px;margin-top:16px}
  .lab p.who-blurb{margin-top:10px}
