/* ============================================================
   Affordable GLP-1 Providers — design system v3 "WATCHDOG LEDGER"
   Direction (client-supplied reference): warm paper field with a
   faint ledger grid, high-contrast editorial serif display,
   deep pine-green accent, tinted pick cards, pill buttons,
   sticky bottom top-picks bar. Class names preserved from v2 so
   all 180 pages restyle from this one file.
   Display: Fraunces · Body: Inter · Data: Spline Sans Mono
   ============================================================ */
:root{
  --bg:#f7f6f1;
  --paper:#fdfcf9;
  --grid:rgba(16,19,18,.045);
  --ink:#101312;
  --muted:#4e564f;
  --faint:#7c847d;
  --accent:#1e7a4b;
  --accent-ink:#14603a;
  --accent-soft:#e7f3ec;
  --navy:#101312;              /* dark panels stay, now ink-green-black */
  --navy-2:#1b201d;
  --ok:#1e7a4b;   --ok-soft:#e7f3ec;
  --warn:#9a6b0a; --warn-soft:#faf1da;
  --bad:#b23a3a;  --bad-soft:#f8e9e7;
  --tint-a:#e9f5ee;  /* mint pick */
  --tint-b:#faf3df;  /* cream pick */
  --tint-c:#eaf1fb;  /* sky pick */
  --tint:#efeee7; --tint-2:#f3f2ec;
  --line:#e3e1d6;
  --r-s:12px; --r-m:18px; --r-l:26px; --r-pill:999px;
  --shadow:0 12px 34px rgba(16,19,18,.08);
  --shadow-lift:0 22px 54px rgba(16,19,18,.14);
  --font-d:"Fraunces",Georgia,serif;
  --font-b:"Inter",system-ui,sans-serif;
  --font-m:"Spline Sans Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;color:var(--ink);font-family:var(--font-b);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;
  background:var(--bg);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:56px 56px;}
a{color:var(--accent-ink);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
::selection{background:#d8ecdF}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.small{font-size:.86rem;color:var(--muted)}
.mono{font-family:var(--font-m);font-feature-settings:"tnum" 1}
.rule{border:0;border-top:1px solid var(--line);margin:34px 0}

/* ---------- header ---------- */
.site{position:sticky;top:0;z-index:60;padding:12px 0 8px;background:linear-gradient(180deg,rgba(247,246,241,.96),rgba(247,246,241,.75) 70%,rgba(247,246,241,0));backdrop-filter:blur(8px)}
.site .wrap.bar{display:flex;align-items:center;gap:20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow);padding:10px 12px 10px 14px}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-b);font-weight:800;font-size:1.08rem;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.wordmark::before{content:"✓";flex:0 0 auto;width:30px;height:30px;border-radius:10px;background:var(--ink);color:#fff;font-size:.95rem;display:flex;align-items:center;justify-content:center}
.wordmark .tld{color:var(--accent)}
.site nav{display:flex;gap:2px;flex:1;justify-content:center;flex-wrap:wrap}
.site nav a{color:var(--muted);font-weight:600;font-size:.92rem;padding:8px 12px;border-radius:var(--r-pill)}
.site nav a:hover{background:var(--tint);color:var(--ink);text-decoration:none}
.site nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-ink)}
.btn{display:inline-block;font-family:var(--font-b);font-weight:700;font-size:.95rem;border-radius:var(--r-pill);padding:12px 22px;border:1px solid transparent;cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#242a26;color:#fff}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-ink);color:#fff}
.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}

/* ---------- ticker (real checks, dated — no fake deltas) ---------- */
.ticker{background:var(--ink);color:#e8ece9;font-size:.85rem;overflow-x:auto;white-space:nowrap}
.ticker .wrap{display:flex;gap:26px;align-items:center;padding:10px 22px}
.ticker b{color:#fff}
.ticker .chip{transform:translateY(-1px)}
.ticker .lab{color:#8fa697;font-family:var(--font-m);font-size:.72rem;letter-spacing:.12em}

/* ---------- breadcrumbs / hero ---------- */
.crumbs{padding:20px 0 0;font-size:.85rem;color:var(--faint)}
.crumbs a{color:var(--muted)}
.crumbs span[aria-current]{color:var(--ink);font-weight:600}
.hero{padding:52px 0 56px;text-align:center}
.hero.left{text-align:left}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-b);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 16px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
h1{font-family:var(--font-d);font-weight:600;letter-spacing:-.015em;font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.05;margin:.5em auto .3em;max-width:20ch}
.hero.left h1{margin-left:0}
h1 .accent,h1 em{color:var(--accent);font-style:italic}
.dek{font-size:1.12rem;color:var(--muted);max-width:64ch;margin:0 auto 26px}
.hero.left .dek{margin-left:0}
.hero .fineline{font-size:.86rem;color:var(--faint);margin-top:20px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;text-align:left}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.strike{color:var(--faint);text-decoration:line-through}

/* ---------- sections / cards ---------- */
.main section{padding:56px 0}
.main section.tinted{background:var(--tint-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.kicker{font-family:var(--font-b);font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}
h2{font-family:var(--font-d);font-weight:600;letter-spacing:-.01em;font-size:clamp(1.55rem,2.9vw,2.25rem);line-height:1.12;margin:0 0 14px}
h3{font-family:var(--font-b);font-weight:700;font-size:1.12rem;margin:1.6em 0 .5em}
.sub{color:var(--muted);max-width:68ch;margin:0 0 26px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:26px;box-shadow:var(--shadow)}
.card.quiet{box-shadow:none}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.notecard .name{font-family:var(--font-b);font-weight:700;font-size:1.05rem;margin:0 0 6px}
.notecard .small{margin:0}

/* chips */
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-m);font-size:.72rem;font-weight:600;letter-spacing:.02em;border-radius:var(--r-pill);padding:4px 10px;white-space:nowrap;vertical-align:middle}
.chip.ok{background:var(--ok-soft);color:var(--ok)}
.chip.ok::before{content:"✓ "}
.chip.rep{background:#eef0fa;color:#3f4f9e}
.chip.warn{background:var(--warn-soft);color:var(--warn)}
.chip.bad{background:var(--bad-soft);color:var(--bad)}
.chip.plain{background:var(--tint);color:var(--muted)}
.stamp{display:inline-block;font-family:var(--font-m);font-size:.72rem;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--r-pill);padding:4px 10px}

/* stat strip */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:34px 0 0}
.strip .card{padding:18px 20px;text-align:left;border-radius:var(--r-m)}
.big{font-family:var(--font-d);font-weight:600;font-size:1.75rem;letter-spacing:-.01em;display:block}
.strip .small{display:block;margin-top:2px}
.tick{color:var(--ok);font-weight:700}

/* dark quick-answer */
.quick{background:var(--ink);color:#e6ebe7;border-radius:var(--r-l);padding:30px 32px;box-shadow:var(--shadow-lift)}
.quick .kicker{color:#8fb8a0}
.quick strong{color:#fff}
.quick p{margin:.4em 0 0;line-height:1.7}
.quick a{color:#bfe3ce}

/* pick cards (tinted, honest score = structure checks) */
.pickgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.pick{border-radius:var(--r-l);border:1px solid var(--line);padding:26px;box-shadow:var(--shadow);background:var(--paper);display:flex;flex-direction:column;gap:10px}
.pick.tint-a{background:var(--tint-a);border-color:#cfe7d8}
.pick.tint-b{background:var(--tint-b);border-color:#ecd9a8}
.pick.tint-c{background:var(--tint-c);border-color:#c9d9ef}
.pick .tag{font-family:var(--font-b);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pick h3{font-family:var(--font-d);font-weight:600;font-size:1.7rem;margin:0;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pick .score{font-family:var(--font-m);font-size:1rem;color:var(--accent-ink)}
.pick .price{font-family:var(--font-d);font-size:1.5rem}
.pick .price .per{font-size:.9rem;color:var(--muted);font-family:var(--font-b)}
.pick .blurb{color:var(--muted);font-size:.95rem;flex:1}
.pick .btn{align-self:stretch;text-align:center}

/* price cards / feature / checklist / avail / steps (from v2) */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0 8px}
.price-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:20px 16px;text-align:center}
.price-card .amt{font-family:var(--font-d);font-weight:600;font-size:1.9rem}
.price-card .per{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.price-card .note{display:block;color:var(--faint);font-size:.78rem;margin-top:8px}
.price-card.hl{background:var(--accent-soft);border-color:#bfe0cd}
.price-card.hl .amt{color:var(--accent-ink)}
.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}
@media(max-width:900px){.feature{grid-template-columns:1fr}}
.checklist{list-style:none;padding:0;margin:14px 0}
.checklist li{padding:7px 0 7px 30px;position:relative}
.checklist li::before{content:"✓";position:absolute;left:0;top:6px;width:20px;height:20px;border-radius:50%;background:var(--ok-soft);color:var(--ok);font-size:.78rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.avail{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--paper)}
.avail .row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
.avail .row:first-child{border-top:0}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--paper)}
.steps .step{padding:22px;border-left:1px solid var(--line)}
.steps .step:first-child{border-left:0}
@media(max-width:760px){.steps{grid-template-columns:1fr}.steps .step{border-left:0;border-top:1px solid var(--line)}.steps .step:first-child{border-top:0}}
.steps .num{font-family:var(--font-m);font-size:.76rem;color:var(--accent-ink);letter-spacing:.12em}
.steps h3{margin:.5em 0 .35em;font-size:1rem}
.steps p{margin:0;font-size:.9rem;color:var(--muted)}

/* tables */
.table-wrap{border:1px solid var(--line);border-radius:var(--r-m);overflow:auto;background:var(--paper);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:.93rem}
thead th{font-family:var(--font-b);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--tint-2);position:sticky;top:0}
thead th button{all:unset;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
thead th button:hover{color:var(--ink)}
tbody td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--tint-2)}
tbody tr.self{background:var(--accent-soft)}
td .prov{display:block;font-family:var(--font-m);font-size:.72rem;color:var(--faint);margin-top:4px}
td.money{font-family:var(--font-m);font-weight:600;white-space:nowrap}

/* callouts / disclosure / prose / faq / glossary / grids */
.callout{border-radius:var(--r-m);padding:18px 22px;margin:22px 0;border:1px solid}
.callout.warn{background:var(--warn-soft);border-color:#e8d3a0}
.callout.ok{background:var(--ok-soft);border-color:#bfe0cd}
.callout.info{background:var(--tint-c);border-color:#c9d9ef}
.disclosure{background:var(--tint);border:1px dashed #cfccbd;border-radius:var(--r-m);padding:14px 18px;font-size:.88rem;color:var(--muted)}
.reviewbox{border:1px solid var(--line);border-left:5px solid var(--warn);border-radius:var(--r-m);background:var(--paper);padding:18px 22px;margin:26px 0;font-size:.92rem}
.post{padding:24px 0 60px}
.prose{max-width:760px;margin:0 auto}
.prose p{margin:1.05em 0}
.prose h2{font-size:1.6rem;margin:1.9em 0 .5em}
.prose .lede{font-size:1.16rem;color:var(--muted)}
.byline{font-size:.86rem;color:var(--faint);margin:10px 0 26px}
.sources{font-size:.86rem;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:44px}
.faq details{border:1px solid var(--line);border-radius:var(--r-m);background:var(--paper);margin:12px 0;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;font-family:var(--font-b);font-weight:700;padding:18px 22px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:14px;font-size:1.3rem;color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 22px 18px;color:var(--muted)}
.glossary{display:flex;flex-wrap:wrap;gap:10px}
.glossary a{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 14px;font-size:.86rem;color:var(--ink)}
.glossary a span{color:var(--faint);font-size:.78rem}
.glossary a:hover{border-color:var(--accent);text-decoration:none}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.related .card{padding:20px}
.related .card h3{margin:0 0 4px;font-size:1rem}
.stategrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.stategrid a{display:flex;justify-content:space-between;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:11px 14px;font-size:.9rem;color:var(--ink)}
.stategrid a:hover{border-color:var(--accent);text-decoration:none}

/* tools grid (emoji cards) */
.toolgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.tool{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:20px;box-shadow:var(--shadow);display:block;color:var(--ink)}
.tool:hover{text-decoration:none;border-color:var(--accent)}
.tool .ico{font-size:1.5rem;display:block;margin-bottom:10px}
.tool b{display:block;margin-bottom:4px}
.tool span{color:var(--muted);font-size:.86rem}
.tool.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.tool.dark span{color:#b9c4bc}

/* intent card ("I need…") */
.intent{background:var(--tint-a);border:1px solid #cfe7d8;border-radius:var(--r-l);padding:28px;box-shadow:var(--shadow)}
.intent h2{font-family:var(--font-d);font-size:1.9rem;margin:.1em 0 .6em}
.intent .igrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.intent .igrid a{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px;color:var(--ink)}
.intent .igrid a:hover{text-decoration:none;border-color:var(--accent)}
.intent .igrid .ico{font-size:1.25rem}
.intent .igrid b{display:block}
.intent .igrid span{color:var(--muted);font-size:.85rem}
.intent .btn{margin-top:16px;width:100%;text-align:center}

/* capture / calculator */
.capture{background:linear-gradient(180deg,var(--tint-a),var(--paper));border:1px solid var(--line);border-radius:var(--r-l);padding:34px;text-align:center}
.capture form{display:flex;gap:10px;max-width:460px;margin:18px auto 0;flex-wrap:wrap;justify-content:center}
.capture input[type=email]{flex:1;min-width:220px;border:1px solid var(--line);border-radius:var(--r-pill);padding:12px 18px;font:inherit;background:#fff}
.calc label{display:block;font-size:.84rem;font-weight:600;color:var(--muted);margin:14px 0 6px}
.calc input,.calc select{width:100%;border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px;font:inherit;background:#fff}
.calc .out{background:var(--ink);color:#fff;border-radius:var(--r-m);padding:18px 20px;margin-top:18px}
.calc .out .big{font-size:1.6rem}
.calc .out .small{color:#aebbb1}

/* selector row (drug + state -> go) */
.selrow{display:grid;grid-template-columns:1fr 1fr auto;gap:12px}
@media(max-width:760px){.selrow{grid-template-columns:1fr}}
.selrow select{border:1px solid var(--line);border-radius:var(--r-s);padding:13px 14px;font:inherit;background:#fff}

/* sticky bottom top-picks bar */
.pickbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -12px 30px rgba(16,19,18,.10);padding:10px 0}
.pickbar .wrap{display:flex;gap:12px;align-items:center;overflow-x:auto}
.pickbar .lab{font-family:var(--font-b);font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);white-space:nowrap}
.pickbar .lab .small{display:block;letter-spacing:0;text-transform:none;font-weight:500}
.pickbar a.item{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--r-m);padding:8px 14px;background:#fff;color:var(--ink);white-space:nowrap}
.pickbar a.item:hover{text-decoration:none;border-color:var(--accent)}
.pickbar .rank{background:var(--accent-soft);color:var(--accent-ink);font-family:var(--font-m);font-size:.72rem;border-radius:8px;padding:3px 7px}
.pickbar .close{margin-left:auto;background:none;border:0;font-size:1.2rem;color:var(--faint);cursor:pointer;padding:6px 10px}
body{padding-bottom:76px}

/* footer */
.foot{background:var(--ink);color:#b9c4bc;margin-top:70px;padding:56px 0 30px;font-size:.9rem}
.foot a{color:#dfe7e1}
.foot .cols{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:26px}
@media(max-width:980px){.foot .cols{grid-template-columns:1fr 1fr}}
.foot h4{font-family:var(--font-b);color:#8fa697;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin:.55em 0}
.foot .wordmark{color:#fff}
.foot .wordmark::before{background:#fff;color:var(--ink)}
.foot .legal{border-top:1px solid #2a322d;margin-top:40px;padding-top:22px;font-size:.8rem;color:#8fa697;max-width:1140px}
.foot .legal p{margin:.6em 0}
