/* Peptide Policy Watch: warm, readable, editorial. Topic colours (.t-<slug>) are generated by build.py from config.json. */
:root{--page-a:#fff4e2;--page-b:#e4f3ee;--page-c:#e6edfa;--ink:#1d2730;--ink-brand:#1f3a5f;
--bg:#27323a;--fg:#eef2f4;--muted:#bcc7ce;--brand:#a9c8f2;--brand-d:#d3e3f8;--card:#303c46;--line:#4a5a66;--soft:#38464f;--panel:#27323a;--link:#9fd0ff;
--ok-bg:#1c3326;--ok-bd:#5fb585;--ok-fg:#bfe8d0;--means-bg:#1d2d3f;--means-bd:#7cb0f0;--warn-bg:#3a3017;--warn-bd:#d9aa45;--warn-fg:#f3dea8;--watch-bg:#2c2640;--watch-bd:#b39ae0;--sum-bg:#38464f;--sum-bd:#d2c8b0;
--shadow:0 1px 2px rgba(20,30,40,.18),0 8px 24px rgba(20,30,40,.18);--r:16px;--tc:#0f7f6a;--tb:#0f3b33;--tf:#bdeadf;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--bg);color:var(--fg);font:1.1563rem/1.75 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--link);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--link);outline-offset:3px;border-radius:6px}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#14263f;padding:.6rem 1rem;z-index:20}
.skip:focus{left:0}
.wrap{max-width:70rem;margin:0 auto;padding:0 1.25rem}
.prose-wrap{max-width:46rem}
header.site{border-bottom:1px solid var(--line);background:var(--card)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1.25rem;padding-top:.9rem;padding-bottom:.9rem}
.brand{font-weight:800;font-size:1.25rem;color:var(--brand);text-decoration:none;letter-spacing:-.01em}
nav.main{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
nav.main a{color:var(--fg);text-decoration:none;font-size:1rem;padding:.35rem 0}
nav.main a:hover{text-decoration:underline}
main{padding:1.5rem 0 3.5rem}
h1{font-size:2.15rem;line-height:1.2;margin:.4rem 0 1rem;letter-spacing:-.02em;text-wrap:balance}
h2{font-size:1.55rem;line-height:1.3;margin:2.6rem 0 .8rem;letter-spacing:-.01em}
h3{font-size:1.2rem;line-height:1.35;margin:1.9rem 0 .5rem}
p,ul,ol,table,blockquote{margin:0 0 1.25rem}
ul,ol{padding-left:1.5rem}
li{margin-bottom:.55rem}
.lead{font-size:1.25rem;line-height:1.6;color:var(--muted)}
.meta{color:var(--muted);font-size:.95rem;margin-bottom:1.5rem}
.prose>p,.prose>ul,.prose>ol{max-width:42rem}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
blockquote{background:var(--soft);border-left:5px solid var(--brand);padding:1rem 1.25rem;border-radius:0 var(--r) var(--r) 0}
blockquote p:last-child{margin:0}
code{background:var(--soft);padding:.1em .35em;border-radius:6px;font-size:.92em}
.table-wrap{overflow-x:auto;margin:0 0 1.5rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:34rem;font-size:1rem;margin:0}
th,td{padding:.75rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
tr:last-child td{border-bottom:0}
th{background:var(--soft);font-weight:700}
.notice{background:var(--soft);border-radius:var(--r);padding:1rem 1.25rem;font-size:1rem;margin-top:2.5rem}
.preview-banner{background:#fff1b8;color:#4a3800;padding:.7rem 1rem;text-align:center;border-bottom:2px solid #d4a017}

/* buttons */
.btn{display:inline-block;font-weight:700;font-size:1.05rem;line-height:1.2;text-decoration:none;padding:.9rem 1.5rem;border-radius:999px;border:2px solid transparent;min-height:48px;transition:background .15s,transform .15s}
.btn-primary{background:var(--brand);color:#0f1a2b}
.btn-primary:hover{background:var(--brand-d);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn-ghost:hover{background:var(--soft)}

/* badges: colours come from the generated .t-<slug> variables; .badge without one falls back to brand colours */
.badges{list-style:none;padding:0;margin:0 0 .6rem;display:flex;flex-wrap:wrap;gap:.4rem}
.badges li{margin:0}
.badge{display:inline-block;background:var(--tb);color:var(--tf);font-size:.84rem;font-weight:700;line-height:1;padding:.42rem .75rem;border-radius:999px;text-decoration:none;border:1px solid color-mix(in srgb,var(--tf) 25%,transparent)}
a.badge:hover{text-decoration:underline}
.draft-tag{display:inline-block;background:#fff1b8;color:#4a3800;font-size:.8rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;margin-right:.4rem}

/* hero */
.hero{position:relative;background:var(--brand-d);color:#fff;margin:-1.5rem 0 0;overflow:hidden}
.hero:not(.has-photo){background:linear-gradient(135deg,#1f3a5f,#2c5ea3)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero.has-photo .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,24,42,.93) 0%,rgba(12,24,42,.82) 55%,rgba(12,24,42,.55) 100%)}
.hero-copy{position:relative;padding:4rem 0 4.5rem}
.hero h1{font-size:2.8rem;max-width:40rem;color:#fff}
.hero .lead{color:#e8eef8;max-width:40rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.75rem 0 0}
.hero .btn-primary{background:#fff;color:#14263f}
.hero .btn-primary:hover{background:#e6edf7}
.hero .btn-ghost{color:#fff;border-color:#fff}
.hero .btn-ghost:hover{background:rgba(255,255,255,.14)}
.hero-credit{position:relative;margin:0;padding:.5rem 1.25rem;font-size:.82rem;line-height:1.4;color:#d5deea;background:rgba(0,0,0,.35)}
.hero-credit a{color:#fff}

/* intro tiles */
.intro{margin-top:2.5rem}
.intro h2{margin-top:0}
.tiles{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}
.tiles li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.25rem;margin:0;box-shadow:var(--shadow)}
.tiles strong{display:block;color:var(--brand);font-size:1.1rem;margin-bottom:.25rem}
.tiles span{color:var(--muted);font-size:1rem;line-height:1.5;display:block}

/* post cards */
.pcards{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1.5rem}
.pcard{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.pcard-img{display:block;aspect-ratio:640/336;background:var(--soft);overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:cover}
.pcard-ph{background:var(--tc)}
.pcard-body{padding:1.25rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1}
.pcard-meta{color:var(--muted);font-size:.9rem;margin:0 0 .35rem}
.pcard-title{font-size:1.25rem;line-height:1.35;margin:0 0 .6rem}
.pcard-title a{color:var(--fg);text-decoration:none}
.pcard-title a:hover{text-decoration:underline}
.pcard-desc{color:var(--muted);font-size:1rem;line-height:1.55;margin:0 0 1rem}
.pcard-more{margin:auto 0 0;font-weight:700}
.pcard.feature{grid-column:1/-1;flex-direction:row}
.pcard.feature .pcard-img{flex:0 0 46%;aspect-ratio:auto;min-height:16rem}
.pcard.feature .pcard-title{font-size:1.6rem}
@media (max-width:760px){.pcard.feature{flex-direction:column}.pcard.feature .pcard-img{flex:none;aspect-ratio:640/336;min-height:0}.hero h1{font-size:2.15rem}.hero-copy{padding:2.75rem 0 3.25rem}h1{font-size:1.8rem}}

/* topic cards */
.tcards{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}
.tcard{margin:0}
.tcard a{display:flex;flex-direction:column;gap:.35rem;height:100%;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--tc);border-radius:var(--r);padding:1.1rem 1.25rem;text-decoration:none;color:var(--fg);box-shadow:var(--shadow);transition:transform .15s}
.tcard a:hover{transform:translateY(-2px)}
.tcard-ico{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:12px;background:var(--tb);color:var(--tf)}
.tcard-name{font-weight:800;font-size:1.15rem}
.tcard-blurb{color:var(--muted);font-size:.97rem;line-height:1.5}
.tcard-count{font-size:.9rem;font-weight:700;color:var(--link);margin-top:auto;padding-top:.4rem}
.topic-head{border-left:6px solid var(--tc);padding:.25rem 0 .25rem 1.25rem;margin:1rem 0 2rem}
.topic-ico{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;background:var(--tb);color:var(--tf);border-radius:14px;margin:0 0 .5rem}
.topic-head h1{margin-top:0}
.empty{background:var(--soft);padding:1.25rem;border-radius:var(--r)}
.more-topics{margin-top:3rem}
.how{margin-top:3rem}.how li{max-width:46rem}

/* post hero figure */
.post-hero{margin:0 0 2rem}
.post-hero img{width:100%;border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:1200/630;object-fit:cover;background:var(--soft)}
.post-hero figcaption{font-size:.85rem;line-height:1.5;color:var(--muted);margin-top:.6rem}
.banner-fallback svg{width:100%;height:auto;border-radius:var(--r);display:block}

/* callouts */
.callout{border-left:6px solid var(--cb);background:var(--cbg);border-radius:var(--r);padding:1.15rem 1.4rem .6rem;margin:2rem 0;--cb:var(--sum-bd);--cbg:var(--sum-bg)}
.callout-kicker{display:flex;align-items:center;gap:.55rem;margin:0 0 .6rem;font-weight:800;font-size:1.05rem;color:var(--cb)}
.callout h2,.callout h3{margin-top:.2rem;font-size:1.25rem}
.callout-body>*:last-child{margin-bottom:.6rem}
.callout-body ul,.callout-body ol{padding-left:1.3rem}
.callout .callout-body h2:first-child,.callout .callout-body h3:first-child{margin-top:0}
.c-confirmed{--cb:var(--ok-bd);--cbg:var(--ok-bg)}
.c-confirmed .callout-kicker{color:var(--ok-fg)}
.c-means,.c-plain{--cb:var(--means-bd);--cbg:var(--means-bg)}
.c-unverified{--cb:var(--warn-bd);--cbg:var(--warn-bg)}
.c-unverified .callout-kicker{color:var(--warn-fg)}
.c-watch{--cb:var(--watch-bd);--cbg:var(--watch-bg)}
.c-summary,.c-key-facts{--cb:var(--sum-bd);--cbg:var(--sum-bg)}
.c-key-facts{--cb:var(--brand)}
.c-key-facts .callout-kicker{color:var(--brand)}
.c-means .callout-kicker,.c-plain .callout-kicker{color:var(--means-bd)}
.c-watch .callout-kicker{color:var(--watch-bd)}.c-summary .callout-kicker{color:var(--sum-bd)}
.tag-s{display:inline-block;background:var(--warn-bg);color:var(--warn-fg);border:1px solid var(--warn-bd);border-radius:6px;font-size:.78rem;font-weight:800;padding:0 .35rem;line-height:1.5;margin-right:.2rem}
.box-legend{font-size:.9rem;color:var(--muted)}
.callout .ico,.cats .ico{flex:none}

/* graphics */
.graphic{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.4rem 1rem;margin:2.25rem 0;box-shadow:var(--shadow)}
.graphic-title{font-weight:800;font-size:1.15rem;margin:0 0 1rem;color:var(--brand)}
.graphic-src{font-size:.85rem;line-height:1.5;color:var(--muted);border-top:1px solid var(--line);padding-top:.7rem;margin-top:1rem}
.graphic-notes p,.graphic-foot{font-size:.95rem;color:var(--muted);margin:.4rem 0}
.tl,.tl-section ul{list-style:none;padding:0;margin:0;position:relative}
.tl::before{content:"";position:absolute;left:.62rem;top:.4rem;bottom:.4rem;width:3px;background:var(--line);border-radius:2px}
.tl-i{position:relative;padding:0 0 1.2rem 2.2rem;margin:0}
.tl-i::before{content:"";position:absolute;left:.1rem;top:.4rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--card);border:4px solid var(--brand)}
.tl-i.s-reported::before{border-color:var(--warn-bd);background:var(--warn-bg)}
.tl-i.s-pending::before{border-style:dashed;border-color:var(--watch-bd)}
.tl-date{display:block;font-weight:800;color:var(--brand);font-size:1rem}
.tl-body p{margin:.1rem 0 .4rem;font-size:1.02rem;line-height:1.55}
.chip{display:inline-block;font-size:.8rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;border:1px solid var(--line);background:var(--soft);color:var(--muted)}
.chip-official{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-bd)}
.chip-reported{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-bd)}
.chip-pending{background:var(--watch-bg);color:var(--fg);border-color:var(--watch-bd)}
.votes{list-style:none;padding:0;margin:1rem 0}
.votes li{display:grid;grid-template-columns:6.5rem 1fr;align-items:center;gap:.75rem;margin:0 0 .7rem}
.v-name{font-weight:700;font-size:1rem}
.v-bar{display:flex;gap:3px;height:2.1rem;border-radius:10px;overflow:hidden}
.v-bar span{display:flex;align-items:center;justify-content:center;flex-basis:0;font-weight:800;font-size:.95rem;color:#fff;min-width:1.6rem}
.v-for{background:#2b6e47}.v-against{background:#9b3a2e}.v-abs{background:#5d6770}
.v-legend{font-size:.92rem;margin:.75rem 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .8rem}
.k{display:inline-block;width:.9rem;height:.9rem;border-radius:4px;margin-right:.3rem;vertical-align:-1px}
.k-for{background:#2b6e47}.k-against{background:#9b3a2e}.k-abs{background:#5d6770}
.v-note{color:var(--muted)}
.cats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem}
.cat{background:var(--soft);border-radius:14px;padding:1rem 1.1rem .4rem;margin:0;border-top:5px solid var(--brand)}
.cat-2{border-top-color:#d9aa45}.cat-3{border-top-color:#b39ae0}.cat-4{border-top-color:#5fb585}
.cat-n{display:block;font-size:.85rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.cat-t{display:block;font-size:1.1rem;margin:.15rem 0 .4rem}
.cat p{font-size:.98rem;line-height:1.55}
@media (max-width:560px){.votes li{grid-template-columns:1fr;gap:.25rem}}

/* the "week in order" list becomes a visual timeline */
.tl-section{margin:2rem 0}
.tl-section>ul{position:relative;padding-left:0}
.tl-section>ul::before{content:"";position:absolute;left:.62rem;top:.5rem;bottom:.5rem;width:3px;background:var(--line)}
.tl-section>ul>li{position:relative;padding-left:2.2rem;margin-bottom:1.1rem}
.tl-section>ul>li::before{content:"";position:absolute;left:.1rem;top:.45rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--card);border:4px solid var(--brand)}

/* affiliate slot (hidden unless configured), related, image credits */
.affiliate-slot{border:1px dashed var(--line);border-radius:var(--r);padding:1rem 1.25rem;margin:2rem 0}
.aff-head{font-weight:700;margin:0 0 .4rem}
.aff-tag{font-size:.8rem;font-weight:700;background:var(--soft);padding:.1rem .45rem;border-radius:6px}
.related{margin-top:2.5rem}
.credit-list{list-style:none;padding:0;display:grid;gap:1.5rem}
.credit{display:grid;grid-template-columns:minmax(10rem,18rem) 1fr;gap:1.25rem;margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem;box-shadow:var(--shadow)}
.credit img{width:100%;border-radius:10px}
.credit h2{margin:0 0 .5rem;font-size:1.15rem}
.credit dl{margin:0;font-size:.97rem}
.credit dt{font-weight:700;float:left;clear:left;width:6rem}
.credit dd{margin:0 0 .3rem 6.5rem;overflow-wrap:anywhere}
@media (max-width:640px){.credit{grid-template-columns:1fr}}

footer.site{border-top:1px solid var(--line);background:var(--card);padding:2rem 0;font-size:.95rem;color:var(--muted)}
footer.site nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:1rem}
footer.site nav a{color:var(--fg)}
footer.site p{max-width:52rem;line-height:1.6;margin:0}
@media print{header.site,footer.site,.hero-actions,.skip{display:none}body{font-size:12pt;background:#fff;color:#000}}

/* wellness-first home hero (illustration, light) */
.hero.hero-illus{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:var(--soft);color:var(--fg);align-items:stretch}
.hero-illus .hero-media{position:relative;inset:auto;order:2;min-height:19rem;overflow:hidden}
.hero-illus .hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-illus .hero-copy{padding:3rem 0 3.25rem}
.hero-illus .hero-copy .wrap{max-width:38rem;margin:0 0 0 auto;padding:0 1.5rem}
.hero-illus h1{color:var(--fg);font-size:2.4rem;max-width:none}
.hero-illus .lead{color:var(--muted);max-width:none}
.hero-illus .eyebrow{margin:0 0 .6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;color:var(--link)}
.hero-illus .btn-primary{background:var(--brand);color:#0f1a2b}
.hero-illus .btn-primary:hover{background:var(--brand-d)}
.hero-illus .btn-ghost{color:var(--fg);border-color:var(--fg)}
.hero-illus .btn-ghost:hover{background:var(--card)}
.hero-illus .hero-credit{grid-column:1/-1;order:3;background:var(--card);color:var(--muted);border-top:1px solid var(--line)}
.hero-illus .hero-credit a{color:var(--link)}
@media (max-width:860px){.hero.hero-illus{grid-template-columns:1fr}.hero-illus .hero-media{order:0;min-height:0;aspect-ratio:1200/630}.hero-illus .hero-copy .wrap{margin:0 auto}.hero-illus h1{font-size:1.9rem}}

/* subscribe block */
.subscribe{background:var(--soft);border:1px solid var(--line);border-left:6px solid var(--tc,#0f7f6a);border-radius:var(--r);padding:1.25rem 1.5rem;margin:2.5rem 0}
.subscribe h2{margin:0 0 .4rem;font-size:1.35rem}
.subscribe p{margin:.4rem 0}
.subscribe form{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0}
.subscribe label{flex:1 1 100%;font-weight:700}
.subscribe input[type=email]{flex:1 1 14rem;font:inherit;padding:.6rem .8rem;border:2px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg)}
.subscribe .sub-rss{font-size:.98rem;color:var(--muted)}

/* topic hub intro, terms, sources */
.hub-intro{max-width:46rem;margin:0 0 2rem}.hub-intro p{font-size:1.08rem;line-height:1.7}
.hub-note{font-size:.9rem!important;color:var(--muted)}
.hub-h{margin-top:2rem}
.hub-terms,.hub-sources{max-width:46rem;margin-top:3rem}
.hub-terms dl{margin:0}.hub-terms dt{font-weight:800;margin-top:1rem}.hub-terms dd{margin:.15rem 0 0;line-height:1.6}
.hub-sources li{margin:.4rem 0;line-height:1.5}.src-date{color:var(--muted);font-size:.92rem}
.hub-faq{max-width:46rem;margin-top:3rem}.hub-faq h3{font-size:1.1rem;margin:1.2rem 0 .2rem}.hub-faq p{margin:.2rem 0;line-height:1.65}
/* claim cards: "Claim / What research shows / What is unknown" (::: claim-card in post markdown) */
.claim-card{margin:1.75rem 0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.claim-head{background:var(--soft);border-bottom:1px solid var(--line);padding:.9rem 1.25rem .75rem}
.claim-label{margin:0 0 .25rem;font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.claim-q{margin:0;font-size:1.2rem;line-height:1.45;font-weight:700;color:var(--fg)}
.claim-cols{display:grid;grid-template-columns:1fr;gap:0}
.claim-col{padding:1rem 1.25rem .4rem}
.claim-col p:last-child{margin-bottom:.6rem}
.claim-col p{font-size:1rem;line-height:1.6}
.claim-shows .claim-label{color:var(--means-bd)}
.claim-unk{border-top:1px dashed var(--line)}
.claim-unk .claim-label{color:var(--warn-fg)}
.claim-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0 0 .75rem}
.claim-chips .chip{margin:0}
.cc-cell,.cc-animal{background:var(--means-bg);color:var(--fg);border-color:var(--means-bd)}
.cc-human{background:var(--watch-bg);color:var(--fg);border-color:var(--watch-bd)}
.cc-none{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-bd)}
.claim-foot{margin:0;padding:.55rem 1.25rem .65rem;border-top:1px solid var(--line);font-size:.88rem;line-height:1.45;color:var(--muted)}
@media (min-width:44rem){.claim-cols{grid-template-columns:1.25fr 1fr}.claim-unk{border-top:0;border-left:1px dashed var(--line)}}
@media print{.claim-card{box-shadow:none;break-inside:avoid}}
/* "Start here" cards on the home page */
.start{margin-top:2.25rem}
.scards{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.scard:last-child:nth-child(odd){grid-column:1/-1}
@media (min-width:60rem){.scards{grid-template-columns:repeat(6,1fr)}.scard{grid-column:span 2}.scard:nth-child(n+4){grid-column:span 3}.scard:last-child:nth-child(odd){grid-column:span 3}}
.scard{position:relative;margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,border-color .15s ease}
.scard:hover{transform:translateY(-2px);border-color:var(--brand)}
.scard:focus-within{outline:3px solid var(--brand);outline-offset:2px}
.scard-img{display:block;aspect-ratio:640/336;background:var(--soft);overflow:hidden}
.scard-img img{width:100%;height:100%;object-fit:cover}
.scard-body{padding:1rem 1.15rem 1.2rem;display:flex;flex-direction:column;flex:1}
.scard-kicker{margin:0 0 .3rem;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.scard-title{font-size:1.08rem;line-height:1.35;margin:0 0 .5rem}
.scard-link{color:var(--fg);text-decoration:none}
.scard-link::after{content:"";position:absolute;inset:0}
.scard-link:focus{outline:none}
.scard:hover .scard-link{text-decoration:underline}
.scard-hook{margin:0;color:var(--muted);font-size:.98rem;line-height:1.5}
@media (max-width:600px){.scards{grid-template-columns:1fr}.scard,.scard:last-child:nth-child(odd){grid-column:auto;flex-direction:row}.scard-img{flex:0 0 38%;aspect-ratio:auto;min-height:100%}.scard-img img{height:100%}}
@media (prefers-reduced-motion:reduce){.scard{transition:none}.scard:hover{transform:none}}
@media (min-width:60rem){.scard:nth-child(n+4){flex-direction:row}.scard:nth-child(n+4) .scard-img{flex:0 0 42%;aspect-ratio:auto;min-height:100%}}

/* voice pass 2026-10-25: pull quotes, key-number tiles, human-touch callouts (::: pullquote, ::: stats, ::: wrong, ::: ask, ::: why) */
.pullquote{margin:2.2rem 0;padding:0 0 0 1.4rem;border-left:5px solid var(--brand)}
.pullquote blockquote{background:none;border:0;padding:0;margin:0;border-radius:0}
.pullquote blockquote p{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-size:1.5rem;line-height:1.4;font-weight:600;color:var(--brand-d);margin:0;letter-spacing:-.005em}
.pullquote figcaption{margin-top:.6rem;font-size:.92rem;color:var(--muted)}
.stats{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.9rem;padding:0;margin:1.8rem 0}
.stat{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--shadow)}
.stat-n{font-size:1.9rem;line-height:1.1;font-weight:800;color:var(--brand);letter-spacing:-.02em}
.stat-l{font-size:.95rem;line-height:1.45;color:var(--muted)}
.c-wrong{--cb:var(--warn-bd);--cbg:var(--warn-bg)}
.c-wrong .callout-kicker{color:var(--warn-fg)}
.c-ask{--cb:var(--means-bd);--cbg:var(--means-bg)}
.c-ask .callout-kicker{color:var(--means-bd)}
.c-why{--cb:var(--ok-bd);--cbg:var(--ok-bg)}
.c-why .callout-kicker{color:var(--ok-fg)}
@media print{.stat{box-shadow:none;break-inside:avoid}}
.pullquote.q blockquote p::before{content:"\201C"}.pullquote.q blockquote p::after{content:"\201D"}

/* ===== design pass 2026-10-25 (k): lively light page, slate-gray content panels =====
   The page behind everything is a warm cream/mint/sky wash with a faint peptide-chain pattern (inline SVG, ~0.8 KB).
   Articles, cards and wording sit in slate-gray panels (--panel) so all text keeps AA contrast; header is cream, footer is deep slate. */
body{color:var(--ink);background-color:#fbf3e6;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='%231f3a5f' fill-opacity='.07'%3E%3Ccircle cx='14' cy='132' r='5'/%3E%3Ccircle cx='32' cy='118' r='5'/%3E%3Ccircle cx='52' cy='112' r='5'/%3E%3Ccircle cx='72' cy='116' r='5'/%3E%3Ccircle cx='90' cy='128' r='5'/%3E%3Ccircle cx='106' cy='142' r='5'/%3E%3Ccircle cx='124' cy='150' r='5'/%3E%3Ccircle cx='144' cy='148' r='5'/%3E%3C/g%3E%3Cg fill='%230f8a73' fill-opacity='.12'%3E%3Ccircle cx='128' cy='34' r='9'/%3E%3C/g%3E%3Cg fill='%23d9731a' fill-opacity='.12'%3E%3Ccircle cx='40' cy='40' r='6'/%3E%3C/g%3E%3Cg fill='none' stroke='%232563b0' stroke-opacity='.14' stroke-width='2'%3E%3Ccircle cx='160' cy='88' r='10'/%3E%3C/g%3E%3C/svg%3E"),
radial-gradient(48rem 34rem at 0% 0%,rgba(15,138,115,.17),transparent 62%),
radial-gradient(44rem 32rem at 100% 8%,rgba(217,115,26,.15),transparent 62%),
radial-gradient(46rem 36rem at 92% 100%,rgba(37,99,176,.14),transparent 62%),
radial-gradient(40rem 30rem at 4% 70%,rgba(194,48,91,.08),transparent 62%),
linear-gradient(180deg,var(--page-a),var(--page-b) 55%,var(--page-c));
background-repeat:repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;min-height:100vh}
.wrap.prose-wrap{max-width:48rem}
header.site{background:rgba(255,251,243,.92);color:var(--ink);border-bottom:4px solid;border-image:linear-gradient(90deg,#0f8a73,#5a9a2a,#d9731a,#c2305b,#2563b0) 1}
.brand{color:var(--ink-brand)}
nav.main a{color:var(--ink);font-weight:600}
header.site a:focus-visible{outline-color:var(--ink-brand)}
footer.site{margin-top:1rem;background:#1e2830;color:#c4cfd6;border-top:4px solid;border-image:linear-gradient(90deg,#0f8a73,#5a9a2a,#d9731a,#c2305b,#2563b0) 1}
footer.site nav a,footer.site p a{color:#e9f1f7}
footer.site p{color:#c4cfd6}

.panel,.home>section,.home>aside.subscribe{position:relative;background:var(--panel);color:var(--fg);border-radius:24px;padding:2.25rem 2.5rem;margin:0 0 1.75rem;box-shadow:0 2px 4px rgba(31,58,95,.10),0 16px 38px rgba(31,58,95,.16);--stripe:linear-gradient(90deg,#0f8a73,#5a9a2a,#d9731a,#c2305b,#2563b0)}
.panel::before,.home>section::before,.home>aside.subscribe::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:24px 24px 0 0;background:var(--stripe)}
.home>section:nth-of-type(5n+1){--stripe:linear-gradient(90deg,#0f8a73,#4cc3a8)}
.home>section:nth-of-type(5n+2){--stripe:linear-gradient(90deg,#d9731a,#f0a14f)}
.home>section:nth-of-type(5n+3){--stripe:linear-gradient(90deg,#2563b0,#6ea2e6)}
.home>section:nth-of-type(5n+4){--stripe:linear-gradient(90deg,#c2305b,#ec7aa0)}
.home>section:nth-of-type(5n+5){--stripe:linear-gradient(90deg,#5a9a2a,#9cd062)}
.panel>:first-child,.home>section>:first-child{margin-top:0}
.panel>:last-child{margin-bottom:0}
.home>section.start,.home>section.intro,.home>section.how,.home>section.more-topics{margin-top:0}
.home{padding-top:1.75rem}
.hero{margin-bottom:0}
.hero.hero-illus{background:#222d34;color:var(--fg)}
.hero-illus .hero-credit{background:#1b242a}
.topic-head{border-left-color:color-mix(in srgb,var(--tc) 55%,#fff)}
.tcard a{border-top-color:color-mix(in srgb,var(--tc) 55%,#fff)}
.subscribe{border-left-color:color-mix(in srgb,var(--tc) 55%,#fff)}
.home>aside.subscribe{border-left:0;margin-top:0;background:var(--panel)}
.home>aside.subscribe form,.home>aside.subscribe label{color:var(--fg)}
.subscribe input[type=email]{border-color:var(--line)}
.post .subscribe{background:var(--soft)}
.post .notice,.prose .notice{background:var(--soft)}
@media (max-width:760px){.wrap{padding:0 .7rem}.panel,.home>section,.home>aside.subscribe{padding:1.6rem 1.15rem 1.4rem;border-radius:20px;margin-bottom:1.1rem}.panel::before,.home>section::before,.home>aside.subscribe::before{border-radius:20px 20px 0 0}.home{padding-top:1.1rem}header.site .wrap,footer.site .wrap{padding-left:1.1rem;padding-right:1.1rem}}
@media print{:root{--bg:#fff;--fg:#000;--muted:#333;--brand:#1f3a5f;--brand-d:#14263f;--card:#fff;--line:#bbb;--soft:#eee;--panel:#fff;--link:#0a58a8;--ink:#000;--ok-bg:#e8f4ec;--ok-bd:#2f7d4f;--ok-fg:#14502e;--means-bg:#e9f0fa;--means-bd:#2c5ea3;--warn-bg:#fff4d9;--warn-bd:#b27a0a;--warn-fg:#6b4700;--watch-bg:#f1ecf8;--watch-bd:#6b4ba6;--sum-bg:#f3efe7;--sum-bd:#7a6f5a}body{background:#fff}.panel,.home>section{box-shadow:none;padding:0}.panel::before,.home>section::before{display:none}}
.panel,.prose{overflow-wrap:anywhere}
.panel .table-wrap,.panel table{overflow-wrap:normal}
.panel,.home>section,.home>aside.subscribe{overflow:clip}
.panel::before,.home>section::before,.home>aside.subscribe::before,.panel::before{border-radius:0}

/* timeline fence (::: timeline): dated entries with title + prose, 2026-10-25 */
.tl-fence{margin:1.8rem 0 2rem}
.tl-fence .tl-i{padding-bottom:1.5rem}
.tl-fence .tl-date{font-size:.95rem;letter-spacing:.01em;text-transform:none}
.tl-fence .tl-h{font-size:1.12rem;line-height:1.3;margin:.15rem 0 .25rem;color:var(--ink,inherit)}
.tl-fence .tl-body p{margin:.1rem 0 0}
/* quiet AI-image disclosure: footer line + tiny end-of-page credit (both >= 4.5:1 contrast) */
footer.site p.img-note{font-size:.82rem;color:#98a7b1;margin:0 0 .6rem}
footer.site p.img-note a{color:#b4c2cb;text-decoration:underline}
.img-credit{font-size:.8rem;color:var(--muted);margin:1.25rem 0 0;text-align:right}
.img-credit a{color:var(--muted);text-decoration:underline}
.topic-head + .post-hero{margin:0 0 1.75rem}

/* generated from config.json topics by build.py */
.t-wellness{--tc:#0f7f6a;--tb:#0f3b33;--tf:#bdeadf}
.t-fitness-recovery{--tc:#b45309;--tb:#46280d;--tf:#fbd9b4}
.t-evidence{--tc:#2563b0;--tb:#1d3557;--tf:#cfe0fb}
.t-safety{--tc:#a23b2a;--tb:#4a1f18;--tf:#f6cfc7}
.t-fda{--tc:#2563b0;--tb:#1d3557;--tf:#cfe0fb}
.t-telehealth{--tc:#0f8a73;--tb:#0f3b33;--tf:#bdeadf}
.t-legal{--tc:#7c3fa8;--tb:#35244a;--tf:#e3d0f3}
.t-clinical-trials{--tc:#d9731a;--tb:#4a2a10;--tf:#fcdcbc}
.t-compounding{--tc:#5a9a2a;--tb:#26391a;--tf:#d3ebb9}
.t-advisory-committee{--tc:#c2305b;--tb:#4a1a2b;--tf:#fbcfdc}
.t-policy{--tc:#5b6781;--tb:#2c3340;--tf:#d6dbe6}
