:root{
  --primary:#312e81;--primary-bright:#4f46e5;--primary-light:#818cf8;--primary-subtle:#eef2ff;
  --accent:#ca8a04;--accent-deep:#854d0e;--accent-subtle:#fef9c3;
  --ink:#0c0a09;--text:#1c1917;--text-mid:#57534e;--text-soft:#78716c;--text-faint:#a8a29e;
  --bg:#ffffff;--bg-warm:#fafaf9;--bg-section:#f5f5f4;--border:#e7e5e4;--border-strong:#d6d3d1;
  --success:#15803d;--danger:#b91c1c;
  --font-sans:'Inter',system-ui,sans-serif;--font-display:'Fraunces',Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-sans);color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:0 22px}
a{color:var(--primary-bright)}
.disclosure{background:var(--accent-subtle);border-bottom:1px solid var(--accent);font-size:.82rem;color:var(--accent-deep)}
.disclosure .wrap{padding:9px 22px}
.disclosure a{color:var(--accent-deep);font-weight:600}
.crumb{font-size:.78rem;color:var(--text-soft);padding:18px 0 0}
.crumb a{color:var(--text-mid);text-decoration:none}
header.post{padding:14px 0 26px;border-bottom:1px solid var(--border);margin-bottom:30px}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--primary-bright)}
.kicker.reg{color:var(--danger)}
h1{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:.3em 0 .35em}
.dek{font-size:1.08rem;color:var(--text-mid)}
.byline{font-size:.82rem;color:var(--text-soft);margin-top:16px}
article h2{font-family:var(--font-display);font-weight:600;font-size:1.45rem;color:var(--ink);margin:34px 0 10px;letter-spacing:-.01em}
article h3{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--ink);margin:22px 0 8px}
article p{margin:0 0 16px}
article ul{margin:0 0 16px;padding-left:22px}
article li{margin:0 0 8px}
.tldr{background:var(--primary-subtle);border:1px solid var(--primary-light);border-radius:14px;padding:20px 24px;margin:0 0 28px}
.tldr strong{color:var(--primary)}
.tldr ul{margin:8px 0 0;padding-left:20px}.tldr li{font-size:.95rem}
figure{margin:28px 0;border:1px solid var(--border);border-radius:14px;padding:20px 20px 14px;background:var(--bg-warm)}
figure h4{font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-mid);margin-bottom:2px}
figure .sub{font-size:.76rem;color:var(--text-soft);margin-bottom:12px}
figcaption{font-size:.74rem;color:var(--text-faint);margin-top:10px;line-height:1.45}
.datatable{width:100%;border-collapse:collapse;font-size:.88rem;margin:8px 0 4px}
.datatable th,.datatable td{padding:9px 12px;border-bottom:1px solid var(--border);text-align:left}
.datatable th{background:var(--primary);color:#fff;font-weight:600;font-size:.8rem}
.datatable td:first-child{font-weight:600;color:var(--ink)}
.callout{border:1px solid var(--border);border-left:5px solid var(--danger);background:#fef2f2;border-radius:12px;padding:16px 20px;margin:24px 0;font-size:.92rem}
.callout strong{color:var(--danger)}
.note{border:1px solid var(--border);border-left:5px solid var(--primary-bright);background:var(--primary-subtle);border-radius:12px;padding:16px 20px;margin:24px 0;font-size:.92rem}
.fda{border:1px dashed var(--border-strong);background:var(--bg-section);border-radius:12px;padding:16px 20px;margin:28px 0;font-size:.84rem;color:var(--text-mid)}
.fda strong{color:var(--ink)}
details{border:1px solid var(--border);border-radius:10px;margin:0 0 10px;overflow:hidden}
summary{cursor:pointer;padding:14px 16px;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--primary-bright);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"–"}
details .a{padding:0 16px 16px;color:var(--text-mid);font-size:.92rem}
.sources{font-size:.82rem;color:var(--text-soft)}.sources li{margin-bottom:6px}
footer{border-top:1px solid var(--border);margin-top:40px;padding:26px 0 50px;font-size:.8rem;color:var(--text-soft)}
footer a{color:var(--text-mid)}
