:root{
    --bg:#ffffff; --bg-alt:#f5f8f6; --bg-inset:#eaf2ed;
    --fg:#0b1210; --fg-mid:#39443f; --fg-dim:#616d67;
    --line:#d5e0da; --line-soft:#e4ece7;
    --accent:#059669; --accent-fg:#ffffff; --accent-soft:#dff5eb;
    --ok:#047857; --ok-soft:#dff5eb; --warn-soft:#fff4e5; --warn-line:#d4a72c;
    --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
    --maxw:1120px;
  }
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
      --bg:#080d0b; --bg-alt:#0e1613; --bg-inset:#14201b;
      --fg:#e8f2ed; --fg-mid:#b3c4bb; --fg-dim:#84978d;
      --line:#22322b; --line-soft:#1a2721;
      --accent:#10b981; --accent-fg:#04120c; --accent-soft:#0d2b21;
      --ok:#34d399; --ok-soft:#0d2b21; --warn-soft:#2b2416; --warn-line:#9e7b1f;
    }
  }
  :root[data-theme="dark"]{
    --bg:#080d0b; --bg-alt:#0e1613; --bg-inset:#14201b;
    --fg:#e8f2ed; --fg-mid:#b3c4bb; --fg-dim:#84978d;
    --line:#22322b; --line-soft:#1a2721;
    --accent:#10b981; --accent-fg:#04120c; --accent-soft:#0d2b21;
    --ok:#34d399; --ok-soft:#0d2b21; --warn-soft:#2b2416; --warn-line:#9e7b1f;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);
       font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:var(--accent);text-decoration:none}
  a:hover{text-decoration:underline}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  h1,h2,h3{line-height:1.25;margin:0 0 .5em;letter-spacing:-.02em}
  h2{font-size:1.6rem;margin-top:0}
  h3{font-size:1.05rem}
  p{margin:0 0 1em}
  code,.mono{font-family:var(--mono);font-size:.88em}

  /* header */
  header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);
         backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line-soft)}
  .nav{display:flex;align-items:center;gap:28px;height:62px}
  .brand{font-weight:700;font-size:1.15rem;letter-spacing:-.03em;color:var(--fg)}
  .brand sup{color:var(--accent);font-size:.62em;top:-.5em;position:relative}
  .nav a.lnk{color:var(--fg-mid);font-size:.9rem}
  .nav a.lnk:hover{color:var(--fg);text-decoration:none}
  .nav .spacer{margin-left:auto}
  .btn{display:inline-block;background:var(--accent);color:var(--accent-fg);
       padding:9px 16px;border-radius:7px;font-size:.9rem;font-weight:600}
  .btn:hover{text-decoration:none;filter:brightness(1.08)}
  .btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
  #navlinks{display:flex;gap:28px;align-items:center}
  @media(max-width:860px){#navlinks{display:none}}

  /* hero */
  .hero{padding:88px 0 64px;border-bottom:1px solid var(--line-soft)}
  .eyebrow{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;
           text-transform:uppercase;color:var(--accent);background:var(--accent-soft);
           padding:5px 11px;border-radius:20px;margin-bottom:20px}
  .hero h1{font-size:clamp(2.1rem,5vw,3.4rem);max-width:17ch}
  .lede{font-size:1.15rem;color:var(--fg-mid);max-width:62ch;margin-bottom:28px}
  .cta{display:flex;gap:12px;flex-wrap:wrap}

  /* generic sections */
  section{padding:72px 0;border-bottom:1px solid var(--line-soft)}
  section.alt{background:var(--bg-alt)}
  .sec-head{max-width:70ch;margin-bottom:40px}
  .sec-head p{color:var(--fg-mid);margin-bottom:0}

  .grid{display:grid;gap:18px}
  .g2{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(3,1fr)}
  .g4{grid-template-columns:repeat(4,1fr)}
  @media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}

  .card{background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:22px}
  section.alt .card{background:var(--bg)}
  .card h3{margin-bottom:6px}
  .card p{color:var(--fg-dim);font-size:.92rem;margin-bottom:0}
  .kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;
          color:var(--fg-dim);display:block;margin-bottom:9px}

  .pill{display:inline-block;font-family:var(--mono);font-size:.68rem;letter-spacing:.07em;
        text-transform:uppercase;padding:3px 9px;border-radius:20px;
        background:var(--ok-soft);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent)}
  .pill.opt{background:var(--bg-inset);color:var(--fg-dim);border-color:var(--line)}

  table{width:100%;border-collapse:collapse;font-size:.92rem}
  .tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:11px}
  th,td{text-align:left;padding:11px 15px;border-bottom:1px solid var(--line-soft);vertical-align:top}
  th{background:var(--bg-inset);font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;
     color:var(--fg-dim);font-weight:600}
  tr:last-child td{border-bottom:none}
  td.mono{font-family:var(--mono);font-size:.85rem;color:var(--fg-mid);white-space:nowrap}

  .notice{border:1px solid var(--warn-line);background:var(--warn-soft);border-radius:11px;padding:24px}
  .notice h3{margin-top:0}
  .notice p:last-child{margin-bottom:0}

  footer{padding:56px 0 72px;color:var(--fg-dim);font-size:.88rem}
  footer .grid{gap:32px}
  footer h4{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);
            margin:0 0 12px;font-weight:600}
  footer a{color:var(--fg-mid);display:block;margin-bottom:7px}
  .legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--line-soft);
         display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .themebtn{background:none;border:1px solid var(--line);color:var(--fg-mid);border-radius:7px;
            padding:6px 10px;cursor:pointer;font-size:.85rem;font-family:inherit}
