@charset "UTF-8";
/* ============================================================
   GLP-1 Review Board — shared stylesheet
   Palette per brief: deep navy (trust/data), white, soft gray,
   blue accent (links/data), green accent (verified), amber (caution)
   Vibe: NerdWallet / Wirecutter / transparency dashboard
   ============================================================ */
:root{
  --navy:#0E2148;
  --navy-deep:#0A1834;
  --ink:#1A2233;
  --paper:#FFFFFF;
  --gray-bg:#F4F6F9;
  --gray-2:#EAEEF4;
  --line:#DCE3ED;
  --blue:#1D6AE5;
  --blue-deep:#1551B5;
  --green:#1A8F5E;
  --green-bg:#E7F5EE;
  --amber:#B5710E;
  --amber-bg:#FBF3E2;
  --amber-line:#ECD9AE;
  --muted:#5A6679;
  --shadow:0 1px 2px rgba(14,33,72,.04), 0 10px 26px -18px rgba(14,33,72,.30);
  --radius:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--gray-bg); color:var(--ink);
  font-family:"Inter", system-ui, -apple-system, sans-serif;
  font-size:16.5px; line-height:1.58; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Archivo", system-ui, sans-serif; letter-spacing:-.01em; line-height:1.12; margin:0; color:var(--navy)}
.mono{font-family:"IBM Plex Mono", ui-monospace, monospace}
a{color:var(--blue); text-decoration:none}
a:hover{color:var(--blue-deep); text-decoration:underline}
.wrap{max-width:1080px; margin:0 auto; padding:0 22px}
.narrow{max-width:780px}

/* ---- Disclosure strip (clear & conspicuous, top of every page) ---- */
.disclosure{background:var(--amber-bg); border-bottom:1px solid var(--amber-line); color:#6a4a12; font-size:13.5px}
.disclosure .wrap{display:flex; gap:12px; align-items:flex-start; padding:10px 22px}
.disclosure .tag{font-family:"IBM Plex Mono",monospace; font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; background:var(--amber); color:#fff; padding:3px 8px; border-radius:4px; white-space:nowrap; margin-top:1px}
.disclosure b{color:#4f370d}

/* ---- Nav ---- */
.site-top{position:sticky; top:0; z-index:40}
@media(max-width:820px){.site-top{position:static}}
nav.top{background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex; align-items:center; justify-content:space-between; height:62px; gap:18px}
.brand{display:flex; align-items:center; gap:10px; font-family:"Archivo",sans-serif; font-weight:800; font-size:17px; color:var(--navy)}
.brand:hover{text-decoration:none}
.brand .mark{width:30px;height:30px;border-radius:7px;background:var(--navy);display:grid;place-items:center}
.brand .mark svg{width:18px;height:18px}
.navlinks{display:flex; gap:20px; font-size:14.5px; flex-wrap:wrap}
.navlinks a{color:var(--muted); font-weight:600}
.navlinks a:hover{color:var(--navy); text-decoration:none}
.navlinks a.reg{color:var(--amber)}
@media(max-width:820px){.navlinks{display:none}}

/* ---- Hero ---- */
header.hero{background:linear-gradient(180deg,#fff, var(--gray-bg)); border-bottom:1px solid var(--line); padding:54px 0 44px}
.eyebrow{font-family:"IBM Plex Mono",monospace; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); margin-bottom:16px}
header.hero h1{font-size:clamp(30px,5vw,48px); max-width:18ch; font-weight:800}
header.hero .lede{font-size:clamp(17px,2.2vw,20px); color:#37425A; max-width:62ch; margin-top:18px}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px}
.btn{display:inline-block; font-weight:700; font-size:15px; padding:12px 20px; border-radius:9px; border:1px solid transparent}
.btn-primary{background:var(--navy); color:#fff}
.btn-primary:hover{background:var(--navy-deep); color:#fff; text-decoration:none}
.btn-ghost{background:#fff; color:var(--navy); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--navy); color:var(--navy); text-decoration:none}
.cta-note{font-size:12.5px; color:var(--muted); margin-top:10px}

/* ---- Sections ---- */
section{padding:50px 0}
.sec-eyebrow{font-family:"IBM Plex Mono",monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:10px}
.sec-head{font-size:clamp(24px,3.4vw,33px); font-weight:800; margin-bottom:8px}
.sec-sub{color:var(--muted); max-width:66ch; margin:6px 0 26px; font-size:16px}

/* ---- Regulatory status ledger ---- */
.statuscard{background:#fff; border:1px solid var(--line); border-left:4px solid var(--amber); border-radius:var(--radius); padding:24px 26px; box-shadow:var(--shadow); margin-bottom:18px}
.statuscard h3{font-size:18px; margin-bottom:6px}
.ledger{display:grid; gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow)}
.ledger .row{display:grid; grid-template-columns:140px 1fr; gap:18px; padding:16px 20px; border-top:1px solid var(--line)}
.ledger .row:first-child{border-top:none}
.ledger .when{font-family:"IBM Plex Mono",monospace; font-size:13px; color:var(--navy); font-weight:500}
.ledger .what{font-size:15.5px; color:var(--ink)}
.ledger .what .src{display:block; font-size:12.5px; margin-top:5px; color:var(--muted)}
@media(max-width:620px){.ledger .row{grid-template-columns:1fr; gap:4px}}

.badge{display:inline-block; font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:.04em; padding:3px 8px; border-radius:5px; vertical-align:middle}
.b-resolved{background:var(--amber-bg); color:#6a4a12; border:1px solid var(--amber-line)}
.b-proposed{background:#EAF1FC; color:#1551B5; border:1px solid #CBDDF8}
.b-legal{background:var(--green-bg); color:#0f6b41; border:1px solid #BFE6D2}

/* ---- Callouts ---- */
.callout{border-radius:var(--radius); padding:22px 24px; margin:8px 0}
.callout.amber{background:var(--amber-bg); border:1px solid var(--amber-line)}
.callout.navy{background:var(--navy); color:#D9E2F2}
.callout.navy h3{color:#fff}
.callout.navy a{color:#9DC1FF}
.callout .pill{display:inline-block; font-family:"IBM Plex Mono",monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border-radius:5px; margin-bottom:12px; background:var(--amber); color:#fff}
.callout.navy .pill{background:#9DC1FF; color:var(--navy-deep)}
.callout h3{font-size:19px; margin-bottom:8px}
.callout p{margin:8px 0; font-size:15px}
.callout.amber p{color:#5b3f10}

/* ---- Method / neutral ranking note ---- */
.method{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px 26px; box-shadow:var(--shadow)}
.method h3{font-family:"IBM Plex Mono",monospace; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); font-weight:600; margin-bottom:10px}
.method p{margin:8px 0; font-size:15.5px; color:#37425A}
.method .firm{color:var(--navy); font-weight:700}

/* ---- Tables ---- */
.tablecard{overflow-x:auto; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow)}
table{border-collapse:collapse; width:100%; min-width:680px; font-size:14.5px}
thead th{text-align:left; padding:13px 15px; background:var(--navy); color:#DCE6F7; font-family:"IBM Plex Mono",monospace; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase; font-weight:500}
tbody td{padding:13px 15px; border-top:1px solid var(--line); vertical-align:top}
tbody tr:nth-child(even){background:var(--gray-bg)}
.prov{font-weight:700; color:var(--navy); font-family:"Archivo",sans-serif}
.price{font-family:"IBM Plex Mono",monospace; font-weight:500; white-space:nowrap}
.verified{font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--green); white-space:nowrap}
.verified::before{content:"\2713\00a0"}
.note-cell{color:var(--muted); font-size:13px}
.tag-model{display:inline-block; font-family:"IBM Plex Mono",monospace; font-size:11px; padding:2px 7px; border-radius:5px; background:var(--gray-2); color:#3a455c}

/* ---- FAQ ---- */
.faq details{background:#fff; border:1px solid var(--line); border-radius:10px; padding:2px 20px; margin-bottom:11px; box-shadow:var(--shadow)}
.faq summary{font-family:"Archivo",sans-serif; font-weight:700; font-size:16.5px; color:var(--navy); padding:15px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:14px; align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:"IBM Plex Mono",monospace; color:var(--blue); font-size:21px}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 16px; color:#37425A; font-size:15.5px}

/* ---- Sources ---- */
.sources{font-size:14px; color:var(--muted)}
.sources li{margin:7px 0}

/* ---- Footer ---- */
footer{background:var(--navy-deep); color:#9FB0CC; padding:46px 0 38px; font-size:14px}
footer h4{color:#fff; font-size:16px; margin-bottom:10px}
footer a{color:#C3D3EE}
footer .cols{display:grid; grid-template-columns:1.7fr 1fr 1fr; gap:30px; margin-bottom:26px}
@media(max-width:680px){footer .cols{grid-template-columns:1fr}}
footer ul{list-style:none; padding:0; margin:0}
footer li{margin:6px 0}
footer .legal{border-top:1px solid #1E3358; padding-top:20px; font-size:12.5px; color:#7E91B2; line-height:1.6}

:focus-visible{outline:3px solid var(--blue); outline-offset:2px; border-radius:4px}
@media (prefers-reduced-motion:reduce){*{transition:none!important; scroll-behavior:auto}}

/* ---- Provider pages: breadcrumbs, stamps, verify/stated split ---- */
.crumbs{font-family:"IBM Plex Mono",monospace; font-size:12.5px; color:var(--muted); padding:14px 0 0}
.crumbs a{color:var(--blue)}
.crumbs .sep{margin:0 8px; color:var(--line)}
.stamp{display:inline-flex; align-items:center; gap:8px; font-family:"IBM Plex Mono",monospace; font-size:12.5px; color:var(--muted); margin-top:16px}
.split{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media(max-width:680px){.split{grid-template-columns:1fr}}
.split .col{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px 22px; box-shadow:var(--shadow)}
.split .col h3{font-size:15px; margin-bottom:10px}
.split .col.verified-col{border-top:3px solid var(--green)}
.split .col.stated-col{border-top:3px solid var(--amber)}
.split .col ul{margin:0; padding-left:18px; font-size:14.5px; color:#37425A}
.split .col li{margin:6px 0}
.data-caveat{font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--amber); margin:10px 0 0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 18px}
.states-grid p{margin:4px 0}
.chartfig{margin:18px 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 16px}
.chartfig figcaption{font:700 14px/1.3 Archivo,sans-serif;color:var(--navy);margin-bottom:8px}
.chartfig svg{width:100%;height:auto}

/* footer disclosure */
.footer-disclosure{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;margin-bottom:22px;background:#0a1838;border:1px solid #20305c;border-radius:10px;color:#cdd7ee;font-size:13.5px;line-height:1.5}
.footer-disclosure .tag{flex:none;font:600 11px/1 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#0a1838;background:#9db4e6;padding:4px 7px;border-radius:5px}
.footer-disclosure a{color:#9bc0ff}
/* nav cta (neutral) */
.navcta{display:inline-block;background:var(--blue);color:#fff !important;padding:8px 14px;border-radius:8px;font-weight:700;text-decoration:none}
.navcta:hover{filter:brightness(1.05)}
/* hamburger (checkbox hack) */
.navtoggle{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;margin-left:auto}
.hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:.2s}
@media(max-width:860px){
  .nav.top .wrap,nav.top .wrap{flex-wrap:wrap;align-items:center}
  .hamburger{display:flex}
  .navlinks{display:none;flex-basis:100%;flex-direction:column;gap:2px;padding-top:10px}
  .navtoggle:checked ~ .navlinks{display:flex}
  .navlinks a{padding:11px 6px;border-bottom:1px solid rgba(255,255,255,.12)}
  .navcta{margin-top:8px;text-align:center}
}
