/* RADAR · medio ciudadano. Root 18px: secondary text never below .78rem (14px). */

/* ---- Tokens and base ---- */
:root{--paper:#f8f7f3;--ink:#172326;--muted:#536166;--green:#0b665d;--line:#d8deda;--demo:#fff3cd;--demo-ink:#654c00;--warm:#f2edde;--warm-line:#7c6325;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:18px}
*{box-sizing:border-box}
body{margin:0;background:var(--paper)}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
a,button{overflow-wrap:anywhere}
p,li{line-height:1.65}
h1,h2,h3,h4{font-family:Newsreader,Georgia,"Times New Roman",serif;font-weight:500;line-height:1.14;overflow-wrap:anywhere}
h1{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.04em}
h2{font-size:1.75rem}
h3{font-size:1.3rem}
.wrap{width:min(1200px,calc(100% - 64px));margin:auto}
.meta{font-family:Inter,system-ui,sans-serif;font-size:.78rem;line-height:1.6;color:var(--muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;font-weight:700;color:var(--green)}
.badge{display:inline-block;background:var(--demo);color:var(--demo-ink);font-size:.78rem;line-height:1.4;padding:5px 8px;font-weight:650}
.empty{color:var(--muted);font-style:italic}
.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}

/* ---- Frame: notice, header, footer, focus ---- */
.demo-band{background:var(--demo);color:var(--demo-ink);padding:8px 24px;text-align:center;font-size:.8rem;font-weight:650;border-bottom:1px solid #b9a66d;margin:0}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:2px solid var(--ink)}
.brand{font-size:2.4rem;letter-spacing:-.08em;color:var(--ink);font-weight:850;text-decoration:none}
.brand-dot{color:var(--green);font-size:.65rem;margin-left:10px;vertical-align:top;line-height:3}
nav{display:flex;gap:24px;flex-wrap:wrap}
nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem}
nav a[aria-current]{font-weight:750}
footer{border-top:2px solid var(--ink);padding:32px 0 48px!important;font-size:.9rem}
.footer-brand{font-weight:800;font-size:1.6rem;margin:0}
footer nav{margin:24px 0}
.skip{position:absolute;top:-100px;background:white;padding:16px;z-index:20}
.skip:focus{top:0}
:focus-visible{outline:3px solid #174ea6;outline-offset:4px}
main:focus{outline:none}
[id]{scroll-margin-top:20px}

/* ---- Home: the story first, the project in one line ---- */
.intro{padding:28px 0 8px;max-width:900px}
.intro h1{font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:-.02em;margin:0 0 6px}
.intro>p{color:var(--muted);font-size:.95rem;margin:0}
.lead{padding-top:20px}
.lead>.eyebrow{margin:0}
.hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:48px;padding:8px 0 48px;border-bottom:1px solid var(--ink)}
.lead-story h2{font-size:clamp(2rem,3.6vw,3.25rem);margin:14px 0}
.lead-story h2 a,.card h2 a{color:var(--ink);text-decoration:none}
.lead-story h2 a:hover,.card h2 a:hover{color:var(--green);text-decoration:underline}
.editor-note{border-left:1px solid var(--line);padding-left:32px;align-self:start}
.editor-note .summary{margin:12px 0 20px}
.hero-issues{padding-left:20px}
.standfirst{font-family:Georgia,serif;font-size:1.18rem;line-height:1.55;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:baseline;margin-top:44px}
.section-heading a{font-size:.8rem}

/* ---- Automated pipeline pieces ---- */
.counts{margin:6px 0 0}
.lead .lead-story{padding:8px 0 40px;border-bottom:1px solid var(--ink);max-width:900px}
.lead-points{padding-left:20px;margin:16px 0;font-size:1rem}
.lead-points li{margin:6px 0}
.status.law{border-color:var(--green)}
.status.bill{border-color:var(--warm-line)}
.auto-note{background:var(--warm);border-left:3px solid var(--warm-line);padding:10px 14px}
.official-title{font-style:italic}

/* ---- Cards and archives ---- */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{padding:24px 0;border-top:1px solid var(--line);min-width:0}
.card h2{font-size:1.6rem;margin:16px 0}
.card .standfirst{font-size:1rem}
.card-change,.card-question{font-size:.9rem;margin:8px 0}
.status{font-size:.85rem;font-weight:650;border-left:3px solid var(--green);padding-left:12px}
.page-intro{padding:32px 0}
.topic-nav{margin-bottom:32px}

/* ---- Newsletter and edition ---- */
.newsletter{padding:32px;margin:48px 0;background:#e8eeea;border-top:3px solid var(--green)}
.newsletter h2{font-size:2.2rem;margin:12px 0}
.newsletter p{max-width:65ch}
.newsletter a{display:inline-block;min-height:44px;padding:8px 0}
.edition .card h2{font-size:1.5rem}
.edition-label{font-family:system-ui,sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin:36px 0 0}

/* ---- Reading: article and issue ---- */
.reading{max-width:720px;margin:40px auto 64px;font-family:Georgia,serif;font-size:1.1rem}
.reading>nav{margin-bottom:24px;font-family:system-ui,sans-serif}
.reading>h1{margin:20px 0}
.reading h2{margin-top:40px}
.reading p{overflow-wrap:anywhere}
.reading .standfirst{font-size:1.3rem}
.reading .byline{font-family:system-ui,sans-serif;font-size:.82rem}
.demo-note{font-style:italic}
.question{font-size:1.2rem;border-left:3px solid var(--ink);padding-left:16px}
.summary{background:white;padding:20px 28px;border-top:3px solid var(--green);margin:32px 0}
.summary h2,.summary h3,.summary h4{font-family:system-ui,sans-serif;font-size:.82rem;margin:12px 0;color:var(--green);letter-spacing:0}
.summary p{font-size:1rem;margin:0 0 20px}
.callout{padding:24px;border-left:3px solid var(--green);background:#edf1ed;margin:32px 0}
.callout>strong{font-family:system-ui,sans-serif;font-size:.85rem}
.unknown{background:var(--warm);border-color:var(--warm-line)}
.interpretation{background:#eceef0;border-color:var(--muted)}
.coverage{font-size:.95rem;color:var(--muted)}
blockquote{border-left:3px solid var(--green);margin:32px 0;padding:8px 24px}
cite{font:.8rem system-ui}
.timeline{list-style:none;padding:0 0 0 24px;border-left:2px solid var(--line)}
.timeline li{margin:32px 0;position:relative}
.timeline li:before{content:"";position:absolute;width:10px;height:10px;background:var(--green);border-radius:50%;left:-30px;top:8px}
.timeline li:target{background:#edf1ed;outline:2px solid var(--green);outline-offset:8px}
.timeline h3{margin:8px 0}
.share{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}
button{font:inherit;font-size:.85rem;padding:12px 18px;min-height:44px;border:1px solid var(--green);color:var(--green);background:white;cursor:pointer}
button:hover{background:#e8eeea}
button:disabled{cursor:default}

/* ---- Citations, sources, corrections ---- */
.citations{font-family:system-ui,sans-serif;font-size:.875rem;display:block;margin-top:8px}
.citations a{display:inline-block;min-height:44px;padding:10px 4px}
.source{padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:24px}
.source h3{margin:16px 0}
.source p{font-size:.95rem}
.source-number{font:700 .875rem system-ui,sans-serif;color:var(--green);margin:0 0 8px}
.correction-alert,.correction{background:var(--warm);padding:20px;font-size:.9rem}
.correction-alert{border-left:3px solid var(--warm-line)}

/* ---- Charts: zero axis, bars to both sides, table with exact values ---- */
.chart{margin:32px 0;padding:24px;background:white;border:1px solid var(--line)}
.chart h3{margin:18px 0}
.chart p,.chart figcaption{font-size:.9rem}
.bar-row{display:grid;grid-template-columns:minmax(62px,max-content) minmax(0,1fr) max-content;align-items:center;gap:12px;margin:16px 0;font:.875rem system-ui}
.bar-track{position:relative;height:24px}
.axis{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink)}
.bar{position:absolute;top:0;height:100%}
.bar.pos{background:var(--green);min-width:2px}
.bar.neg{background:repeating-linear-gradient(135deg,var(--warm-line) 0 4px,#c9b27a 4px 8px);min-width:2px}
.bar.zero{width:0}
.bar-value{font-variant-numeric:tabular-nums}
.table-scroll{overflow:auto}
table{border-collapse:collapse;width:100%;font:.8rem system-ui;margin-top:24px}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px}
caption{text-align:left;color:var(--muted);line-height:1.5;padding:8px 0}

/* ---- Responsive ---- */
@media(max-width:800px){
.wrap{width:calc(100% - 40px)}
.hero-grid{grid-template-columns:1fr;gap:24px}
.editor-note{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
.grid,.grid.two{grid-template-columns:1fr}
.site-header{gap:16px}
.site-header nav{gap:14px}
.section-heading{align-items:start}
.reading{margin-top:28px}
}
@media(max-width:480px){
.site-header{display:block;padding:16px 0}
.site-header nav{justify-content:space-between;gap:4px;margin-top:8px}
.site-header nav a{font-size:.78rem}
.wrap{width:calc(100% - 32px)}
.intro{padding-top:18px}
.intro h1{font-size:1.25rem}
.lead-story h2{font-size:1.9rem}
.newsletter{padding:24px 18px}
.section-heading{display:block}
.summary{padding:20px}
.chart{padding:16px}
.reading{font-size:1.05rem}
.reading .standfirst{font-size:1.15rem}
footer nav{gap:12px}
.demo-band{font-size:.78rem}
}
@media print{
.demo-band{border:2px solid black}
button,.share{display:none}
a{color:inherit}
.wrap{width:100%}
.badge{border:1px solid black}
.grid,.hero-grid{display:block}
footer{break-before:avoid}
}
