:root { --ink:#16231d; --muted:#647069; --paper:#f3f1e9; --card:#fffef9; --line:#d9d8cf; --green:#17825b; --amber:#c88719; --red:#bf4539; --navy:#17384a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.5; }
a { color:inherit; }
.shell { width:min(1120px, calc(100% - 40px)); margin-inline:auto; }
.site-header { border-bottom:1px solid var(--line); background:rgba(243,241,233,.94); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); }
.nav-wrap { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; font-weight:760; text-decoration:none; letter-spacing:-.02em; }
nav { display:flex; gap:22px; }
nav a { text-decoration:none; color:var(--muted); font-size:14px; }
nav a:hover { color:var(--ink); }
.hero { display:grid; grid-template-columns:1fr 260px; gap:56px; align-items:end; padding:76px 0 64px; }
.eyebrow { margin:0 0 8px; text-transform:uppercase; font-size:12px; letter-spacing:.13em; font-weight:800; color:var(--muted); }
h1,h2,p { text-wrap:pretty; }
h1 { margin:0; font-family:Georgia, serif; font-size:clamp(42px, 6vw, 76px); font-weight:500; letter-spacing:-.055em; line-height:.98; }
h2 { margin:0; font-family:Georgia, serif; font-size:30px; font-weight:500; letter-spacing:-.025em; }
.lede { max-width:720px; margin:24px 0 0; font-size:19px; color:var(--muted); }
.score-card { border:1px solid var(--line); border-top:6px solid var(--amber); background:var(--card); padding:24px; display:flex; flex-direction:column; }
.score-card.low,.mini-score.low { border-top-color:var(--green); } .score-card.high,.mini-score.high { border-top-color:var(--red); }
.score-card .status { font-size:13px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.score-card strong { font-family:Georgia, serif; font-size:72px; line-height:1.08; font-weight:500; }
.score-card small { margin-top:18px; color:var(--muted); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:22px; padding-top:36px; border-top:1px solid var(--line); }
.section-heading>p { max-width:470px; margin:0; color:var(--muted); }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.pillar-card { background:var(--card); border:1px solid var(--line); padding:20px; text-decoration:none; transition:transform .15s ease, border-color .15s ease; }
.pillar-card:hover { transform:translateY(-2px); border-color:#9c9e94; }
.pillar-top { min-height:62px; display:flex; justify-content:space-between; gap:18px; font-weight:720; }
.pillar-risk { flex:none; text-align:right; }
.pillar-risk strong { display:block; font-size:15px; }
.pillar-risk small { display:block; margin-top:2px; color:var(--muted); font-size:12px; font-weight:600; }
.pillar-card.low .pillar-risk strong { color:var(--green); } .pillar-card.high .pillar-risk strong { color:var(--red); } .pillar-card.medium .pillar-risk strong { color:#99640d; }
.risk-track { height:5px; background:#e6e4db; margin:16px 0; overflow:hidden; }
.risk-track i { display:block; height:100%; background:var(--amber); }
.pillar-card.low .risk-track i { background:var(--green); } .pillar-card.high .risk-track i { background:var(--red); }
.pillar-card p { margin:0; color:var(--muted); font-size:13px; }
.evidence-section { margin-top:72px; }
.pillar-evidence-list { display:grid; gap:58px; }
.pillar-evidence { scroll-margin-top:92px; }
.pillar-evidence-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; padding-bottom:18px; border-bottom:2px solid var(--ink); }
.pillar-evidence-heading h3 { margin:0; font:500 34px Georgia,serif; letter-spacing:-.025em; }
.pillar-evidence-risk { text-align:right; }
.pillar-evidence-risk strong { display:block; font-size:16px; }
.pillar-evidence-risk span { display:block; color:var(--muted); font-size:13px; }
.pillar-evidence-risk.low strong { color:var(--green); } .pillar-evidence-risk.medium strong { color:#99640d; } .pillar-evidence-risk.high strong { color:var(--red); }
.pillar-evidence .indicator-list { margin:14px 0 0; }
.chart-section { margin-top:72px; }
.chart-wrap { background:var(--card); border:1px solid var(--line); padding:24px 24px 18px; }
.chart-wrap svg { width:100%; height:auto; overflow:visible; }
.risk-band { opacity:.38; } .high-band { fill:#f7ded9; } .medium-band { fill:#faedcf; } .low-band { fill:#dff1e8; }
.axis-grid-line { stroke:rgba(22,35,29,.14); stroke-width:1; }
.threshold-line { stroke-width:1.5; stroke-dasharray:7 6; } .high-line { stroke:rgba(191,69,57,.7); } .low-line { stroke:rgba(23,130,91,.65); }
.axis-tick { stroke:rgba(22,35,29,.45); stroke-width:1; }
.chart-axis-label { fill:var(--muted); font:12px Inter,ui-sans-serif,system-ui,sans-serif; }
.chart-axis-title { fill:var(--ink); font:600 12px Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.02em; }
.score-line { fill:none; stroke:var(--navy); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.latest-point { fill:var(--card); stroke:var(--navy); stroke-width:4; }
.latest-label { fill:var(--navy); font:700 13px Inter,ui-sans-serif,system-ui,sans-serif; }
.chart-legend { display:flex; flex-wrap:wrap; gap:10px 22px; padding:12px 4px 0 38px; color:var(--muted); font-size:12px; }
.chart-legend span { display:flex; align-items:center; gap:7px; }
.chart-legend i { width:10px; height:10px; border-radius:2px; } .chart-legend i.low { background:var(--green); } .chart-legend i.medium { background:var(--amber); } .chart-legend i.high { background:var(--red); }
.publication-note { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin:72px 0; padding:30px 0; border-block:1px solid var(--line); }
.publication-note>p { margin:0; color:var(--muted); }
.footer { border-top:1px solid var(--line); padding:28px 0 48px; display:flex; justify-content:space-between; color:var(--muted); font-size:13px; }
.page-hero { display:flex; justify-content:space-between; gap:30px; align-items:end; padding:64px 0 44px; border-bottom:1px solid var(--line); }
.page-hero h1 { max-width:850px; font-size:clamp(38px,5vw,64px); }
.back-link { display:inline-block; margin-top:34px; color:var(--muted); }
.mini-score { border-top:5px solid var(--amber); background:var(--card); padding:14px 20px; min-width:140px; }
.mini-score strong { font:500 42px Georgia,serif; } .mini-score span { color:var(--muted); }
.indicator-list,.source-list { display:grid; gap:14px; margin:30px 0 72px; }
.indicator-card,.source-card { background:var(--card); border:1px solid var(--line); padding:26px; }
.indicator-heading { display:flex; justify-content:space-between; gap:30px; }
.indicator-heading h3 { margin:0; font:500 28px Georgia,serif; letter-spacing:-.02em; }
.indicator-value { text-align:right; } .indicator-value strong { display:block; font:500 36px Georgia,serif; } .indicator-value span { color:var(--muted); }
.facts { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:24px 0; }
.facts div { border-top:1px solid var(--line); padding-top:10px; } .facts dt { color:var(--muted); font-size:12px; } .facts dd { margin:3px 0 0; font-weight:700; }
.source-links { margin-bottom:0; font-size:14px; }
.prose { max-width:760px; margin:36px 0 80px; } .prose h2 { margin-top:38px; } .prose p { color:#4e5b54; font-size:17px; }
.source-card { position:relative; } .source-card h2 { padding-right:90px; }
.source-status { position:absolute; top:26px; right:26px; border-radius:999px; padding:5px 10px; background:#e6e4db; font-size:11px; font-weight:800; text-transform:uppercase; }
.source-status.ok { color:var(--green); background:#e1f0e8; } .source-status.failed,.error { color:var(--red); }
.source-card>p { color:var(--muted); overflow-wrap:anywhere; }
.notice,.empty-state { background:var(--card); border:1px solid var(--line); padding:30px; }
.empty-state { margin:72px 0; } .empty-state h1 { max-width:800px; }
@media (max-width:800px) { .hero { grid-template-columns:1fr; padding-top:48px; } .score-card { width:100%; } .pillar-grid { grid-template-columns:1fr; } .section-heading,.publication-note { display:block; } .section-heading>p,.publication-note>p { margin-top:14px; } .facts { grid-template-columns:1fr 1fr; } .chart-wrap { padding:12px 8px 14px; } .chart-legend { padding-left:46px; } }
@media (max-width:560px) { .shell { width:min(100% - 24px,1120px); } .nav-wrap { align-items:flex-start; padding-block:14px; } .brand { max-width:130px; line-height:1.15; } nav { gap:12px; font-size:12px; } .indicator-heading,.page-hero,.pillar-evidence-heading { display:block; } .indicator-value,.pillar-evidence-risk { text-align:left; margin-top:20px; } .footer { display:block; } .chart-legend { padding-left:38px; } }
