/* HLA-Verify — shared stylesheet. Brand: green #2F5D3A, paper #FAFAF4, Georgia headings. */
:root{
  --green:#2F5D3A; --dark:#1E4028; --ink:#1E3A28; --mint:#8FD69B;
  --paper:#FAFAF4; --card:#FFFFFF; --mut:#5A6B5D; --line:#E4E0D4; --line2:#DDD9CC;
  --ok-bg:#DCEFDC; --ok-ink:#1E4028;
  --old-bg:#FDEECE; --old-ink:#6B4E12;
  --bad-bg:#F8D7D7; --bad-ink:#8A2020;
  --grp-bg:#DBE7F6; --grp-ink:#1D3D63;
  --code-bg:#F2F0E8;
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1000px;
}
@media (prefers-color-scheme:dark){
  :root{
    --ink:#E8EDE6; --paper:#12180F; --card:#1A2117; --mut:#9AAA9B;
    --line:#2C3628; --line2:#333E2E; --green:#8FD69B; --dark:#A8E0B3;
    --ok-bg:#1E3A24; --ok-ink:#BFE8C6;
    --old-bg:#3E3316; --old-ink:#F3DFA8;
    --bad-bg:#4A1F1F; --bad-ink:#F5C0C0;
    --grp-bg:#1D3049; --grp-ink:#BBD5F2;
    --code-bg:#1E2619;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;
  -webkit-text-size-adjust:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}

/* ---------- header / nav ---------- */
.site-head{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;
  background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px)}
.site-head .wrap{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;flex:none}
.brand svg{width:36px;height:36px;flex:none}
.brand b{font-family:var(--serif);font-size:1.22rem;font-weight:700;letter-spacing:-.01em}
nav.main{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
nav.main a{color:var(--mut);text-decoration:none;font-size:.94rem;padding:7px 11px;border-radius:8px}
nav.main a:hover{color:var(--green);background:var(--code-bg)}
nav.main a[aria-current=page]{color:var(--green);font-weight:600}
nav.main a.nav-cta{background:var(--green);color:var(--paper);font-weight:600;padding:8px 16px}
nav.main a.nav-cta:hover{background:var(--dark);color:var(--paper)}
@media (prefers-color-scheme:dark){nav.main a.nav-cta,nav.main a.nav-cta:hover{color:#12180F}}

/* ---------- typography ---------- */
h1,h2,h3{font-family:var(--serif);line-height:1.18;letter-spacing:-.015em}
h1{font-size:clamp(1.95rem,4.6vw,2.9rem);margin:0 0 18px}
h1 em{font-style:normal;color:var(--green)}
h2{font-size:clamp(1.4rem,2.8vw,1.85rem);margin:0 0 14px}
h3{font-size:1.05rem;margin:0 0 8px;color:var(--green)}
p{margin:0 0 16px}
.lead{font-size:1.13rem;color:var(--mut);max-width:660px}
.eyebrow{font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--green);margin:0 0 12px}
a{color:var(--green)}
section{padding:52px 0;border-top:1px solid var(--line)}
section:first-of-type{border-top:0}
.hero{padding:64px 0 44px}

/* ---------- components ---------- */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(238px,1fr))}
.g2x2{grid-template-columns:repeat(2,1fr)}   /* four equal tiers, never 3+1 */
@media (max-width:720px){.g2x2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.card p:last-child{margin-bottom:0}
.card p{font-size:.95rem;color:var(--mut)}
.card .num{font-family:var(--serif);font-size:2.1rem;font-weight:700;color:var(--green);
  line-height:1;display:block;margin-bottom:6px}

.sample{background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:20px 22px;
  margin:32px 0;font:14px/2.05 var(--mono);overflow-x:auto}
.tok{padding:2px 9px;border-radius:6px;white-space:nowrap}
.ok{background:var(--ok-bg);color:var(--ok-ink)}
.old{background:var(--old-bg);color:var(--old-ink)}
.bad{background:var(--bad-bg);color:var(--bad-ink);font-weight:700}
.grp{background:var(--grp-bg);color:var(--grp-ink)}

.cta{margin:38px 0 8px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{display:inline-block;padding:13px 26px;border-radius:10px;text-decoration:none;font-weight:600;
  font-size:.98rem;border:2px solid transparent}
.btn.p{background:var(--green);color:var(--paper)}
.btn.p:hover{background:var(--dark)}
.btn.s{border-color:var(--green);color:var(--green)}
.btn.s:hover{background:var(--code-bg)}
@media (prefers-color-scheme:dark){.btn.p{color:#12180F}}

.steps{counter-reset:s;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.steps .card{position:relative;padding-top:26px}
.steps .card::before{counter-increment:s;content:counter(s);position:absolute;top:-14px;left:22px;
  width:30px;height:30px;border-radius:50%;background:var(--green);color:var(--paper);
  display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:.95rem}
@media (prefers-color-scheme:dark){.steps .card::before{color:#12180F}}

pre{background:var(--code-bg);border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  overflow-x:auto;font:13px/1.6 var(--mono);margin:0 0 18px}
code{font-family:var(--mono);font-size:.92em}
p code,li code,td code{background:var(--code-bg);padding:.1rem .35rem;border-radius:5px}
pre code{background:none;padding:0}
.c-key{color:var(--green);font-weight:600}
.c-str{color:#9A5B2E}
.c-cmt{color:var(--mut);font-style:italic}
@media (prefers-color-scheme:dark){.c-str{color:#E0A971}}

.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card);margin:0 0 18px}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{background:var(--code-bg);font-weight:700;font-size:.82rem;letter-spacing:.02em}
tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
td sub{color:var(--mut);font-size:.78em}
tr.hl td{background:var(--ok-bg)}
tr.warn td{background:var(--bad-bg)}

.endpoint{border:1px solid var(--line);border-radius:14px;background:var(--card);
  padding:22px;margin:0 0 22px}
.endpoint>h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--mono);
  font-size:.98rem;color:var(--ink);margin-bottom:10px}
.verb{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.07em;
  padding:3px 9px;border-radius:6px;background:var(--green);color:var(--paper)}
.verb.get{background:var(--grp-ink);color:#fff}
@media (prefers-color-scheme:dark){.verb{color:#12180F}.verb.get{background:var(--grp-bg);color:var(--grp-ink)}}

.note{border-left:3px solid var(--green);background:var(--card);padding:16px 20px;
  border-radius:0 12px 12px 0;margin:0 0 22px;font-size:.95rem;color:var(--mut)}
.note strong{color:var(--ink)}
.badge{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;background:var(--old-bg);color:var(--old-ink);vertical-align:middle}

ul.ticks{list-style:none;padding:0;margin:0 0 18px}
ul.ticks li{padding-left:28px;position:relative;margin-bottom:10px;color:var(--mut)}
ul.ticks li::before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;
  border-radius:50%;background:var(--mint);border:2px solid var(--green)}
ul.ticks li b{color:var(--ink)}

.price{display:flex;flex-direction:column;height:100%}
.price .tier{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--ink);margin:0 0 4px}
.price .who{font-size:.86rem;color:var(--green);font-weight:600;margin:0 0 14px}
.price ul{margin:0 0 20px;padding-left:20px;font-size:.93rem;color:var(--mut)}
.price ul li{margin-bottom:7px}
.price .btn{margin-top:auto;text-align:center}
.price.feature{border-color:var(--green);border-width:2px}

footer.site-foot{border-top:1px solid var(--line);margin-top:24px;padding:34px 0 44px;
  font-size:.87rem;color:var(--mut)}
footer.site-foot .cols{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  margin-bottom:26px}
footer.site-foot h4{font-family:var(--sans);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);margin:0 0 10px}
footer.site-foot ul{list-style:none;padding:0;margin:0}
footer.site-foot li{margin-bottom:7px}
footer.site-foot a{color:var(--mut);text-decoration:none}
footer.site-foot a:hover{color:var(--green)}
.fineprint{border-top:1px solid var(--line);padding-top:20px;font-size:.82rem;line-height:1.6}
.fineprint a{color:var(--green)}

/* ---------- small screens ---------- */
@media (max-width:720px){
  .site-head{position:static}                 /* a two-row nav must not eat the viewport */
  .site-head .wrap{gap:10px;padding-top:12px;padding-bottom:12px}
  .brand svg{width:30px;height:30px}
  .brand b{font-size:1.08rem}
  nav.main{margin-left:0;width:100%;gap:2px}
  nav.main a{font-size:.88rem;padding:6px 9px}
  nav.main a.nav-cta{padding:7px 13px;margin-left:auto}
  .wrap{padding:0 18px}
  .hero{padding:34px 0 30px}
  section{padding:38px 0}
  .card{padding:18px}
  pre{font-size:12px;padding:13px 14px}
  .sample{font-size:13px;padding:16px}
  footer.site-foot .cols{gap:18px}
}
