/* VitalBio Insights — "Insight Report" design system */

@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{
  --ink:#16232E;
  --ink-soft:#3B4B57;
  --paper:#F4F6F7;
  --surface:#FFFFFF;
  --surface-2:#E9EDEE;
  --border:#D6DCDE;
  --accent:#2F9E8F;
  --accent-strong:#1F7268;
  --accent-tint:#E4F3F1;
  --warn:#D97D3D;
  --warn-strong:#B25A22;
  --warn-tint:#FBEAE0;
  --text-muted:#5C6B74;
  --radius-sm:3px;
  --radius-md:6px;
  --radius-lg:10px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(28px,4vw,40px)}
h2{font-size:22px;margin-top:0}
h3{font-size:16px;font-weight:600;font-family:'Inter',sans-serif;margin-bottom:.4em}
p{margin:0 0 1em}
.mono{font-family:'JetBrains Mono',monospace}

/* header */
.shd{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.shd .row{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-family:'Libre Caslon Text',serif;font-size:19px;text-decoration:none;color:var(--ink)}
.brand .mk{width:30px;height:30px;flex:none}
.nav{display:flex;gap:26px;font-size:13.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.nav a{text-decoration:none;color:var(--ink-soft);padding-bottom:3px;border-bottom:2px solid transparent}
.nav a.on,.nav a:hover{color:var(--accent-strong);border-bottom-color:var(--accent)}

/* breadcrumb */
.crumbs{max-width:1180px;margin:16px auto 0;padding:0 24px;font-size:12.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.crumbs b{color:var(--ink)}

/* report layout: two-column with sticky facts rail */
.report{max-width:1180px;margin:0 auto;padding:20px 24px 60px;display:grid;grid-template-columns:1fr 320px;gap:44px}
@media (max-width:860px){.report{grid-template-columns:1fr}}

.rp-eyebrow{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-tint);border-radius:20px;padding:4px 12px;margin-bottom:14px}
.rp-dek{font-size:17px;color:var(--ink-soft);margin-bottom:20px}

.confidence{display:flex;align-items:center;gap:14px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);padding:16px 18px;margin:20px 0}
.confidence .cscore{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:700;color:var(--accent-strong);flex:none}
.confidence .cscore small{font-size:13px;font-weight:500;color:var(--text-muted)}
.confidence .ctext{font-size:14.5px;color:var(--ink-soft)}
.confidence.low .cscore{color:var(--warn-strong)}

.flagrow{display:flex;gap:12px;align-items:flex-start;border-left:3px solid var(--warn);background:var(--warn-tint);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 16px;margin:16px 0}
.flagrow svg{flex:none;color:var(--warn-strong);margin-top:2px}
.flagrow .flabel{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--warn-strong);display:block;margin-bottom:4px}
.flagrow p{margin:0;font-size:14.5px;color:#4A2E12}

.section{margin:34px 0}
.section p{color:var(--ink-soft)}
.datagrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
@media (max-width:600px){.datagrid{grid-template-columns:1fr}}
.datacard{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);padding:16px}
.datacard h3{margin-bottom:8px}
.datacard p{font-size:14px;color:var(--ink-soft);margin:0}

.disc{display:block;font-size:12.5px;color:var(--text-muted);margin:14px 0}

.altpick{border:1px solid var(--accent);background:var(--accent-tint);border-radius:var(--radius-lg);padding:20px 22px;margin:24px 0}
.altpick h3{color:var(--accent-strong)}
.altpick a.buylink{display:inline-block;margin-top:10px;background:var(--accent-strong);color:#fff;text-decoration:none;font-weight:600;font-size:14px;border-radius:var(--radius-md);padding:11px 20px}
.altpick .fine{font-size:11.5px;color:var(--text-muted);margin-top:8px}

.sources{font-size:12.5px;color:var(--text-muted);border-top:1px solid var(--border);padding-top:14px;margin-top:30px}
.sources a{color:var(--accent-strong)}

.fda{max-width:1180px;margin:0 auto 30px;padding:0 24px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border);padding-top:16px}

/* facts rail */
.factsrail{position:sticky;top:80px;align-self:start;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);padding:20px;height:max-content}
.factsrail .frh{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px}
.datachip{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--surface-2);font-size:13.5px}
.datachip:last-child{border-bottom:none}
.datachip .k{color:var(--text-muted)}
.datachip .v{font-family:'JetBrains Mono',monospace;font-weight:600;text-align:right}

/* home / catalog */
.hero{max-width:1180px;margin:0 auto;padding:56px 24px 30px}
.hero h1{max-width:640px}
.hero p{max-width:560px;font-size:17px;color:var(--ink-soft)}
.chiprow{display:flex;flex-wrap:wrap;gap:10px;max-width:1180px;margin:0 auto;padding:0 24px 20px}
.chip{font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:7px 16px;cursor:pointer;text-decoration:none;color:var(--ink-soft)}
.chip.on,.chip:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-tint)}
.grid{max-width:1180px;margin:0 auto;padding:10px 24px 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.card .shot{aspect-ratio:4/3;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px}
.card .shot img{width:100%;height:100%;object-fit:cover}
.card .cbody{padding:16px}
.card .ccat{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-strong);margin-bottom:6px}
.card h3{margin-bottom:4px;font-size:16px}
.card .cdek{font-size:13px;color:var(--text-muted);margin:0}

/* footer */
.ft{background:var(--ink);color:#C7D0D4;margin-top:40px}
.ft .in{max-width:1180px;margin:0 auto;padding:46px 24px 26px}
.ftgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}
@media (max-width:760px){.ftgrid{grid-template-columns:1fr 1fr}}
.ftcol .brand{color:#fff}
.ftcol p{font-size:13px;color:#8FA0A8}
.ftlabel{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#8FA0A8;margin-bottom:12px}
.ftcol a{display:block;font-size:13.5px;color:#C7D0D4;text-decoration:none;margin-bottom:9px}
.ftcol a:hover{color:#fff}
.ftnl{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.ftnl input{flex:1;min-width:180px;padding:9px 12px;border:1px solid #2E3E48;border-radius:var(--radius-md);background:#1E2E38;color:#fff;font-size:13px;font-family:inherit}
.ftnl button{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.ftnlmsg{margin-top:8px;font-size:12.5px;display:none}
.ftnlmsg.show{display:block}
.ftnlmsg.err{color:#E8A26B}
.ftbar{border-top:1px solid #26363F;margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
.ftbar .disclaim{font-size:11.5px;color:#728189;max-width:760px}
.ftbar .fttag{font-size:11.5px;color:#728189}

/* legal pages */
.legal{max-width:820px;margin:0 auto;padding:40px 24px 70px}
.legal h2{margin-top:36px;font-size:19px}
.legal p,.legal li{color:var(--ink-soft);font-size:15px}

#cookieBanner{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:#fff;z-index:50}
#cookieBanner.hidden{display:none}
#cookieBanner .in{max-width:1180px;margin:0 auto;padding:16px 24px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
#cookieBanner p{margin:0;font-size:13px;flex:1;min-width:240px;color:#C7D0D4}
#cookieBanner a{color:#fff;text-decoration:underline}
.btns{display:flex;gap:10px}
.btn-decline,.btn-accept{border:none;border-radius:var(--radius-md);padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.btn-decline{background:#2E3E48;color:#fff}
.btn-accept{background:var(--accent);color:#fff}
#cookiePrefsReopen{position:fixed;bottom:16px;left:16px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:8px 14px;font-size:12px;cursor:pointer;display:none;z-index:40}
