/* Driftwitness /research — shared stylesheet.
   Tokens mirror index.html exactly; keep the two in sync if the palette ever changes. */
@font-face{
  font-family:'Plex Sans Fallback';src:local('Arial');
  size-adjust:100%;ascent-override:103%;descent-override:27%;line-gap-override:0%;
}
:root{
  --paper:#F7F8F6; --ink:#161F1B; --ink-soft:#3D4A44; --ink-faint:#5E6D66;
  --rule:#D9DFDB; --card:#FFFFFF; --pine:#1E5C4A; --pine-deep:#144537;
  --drift:#C2472E; --pine-wash:#E7EFEB;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:'IBM Plex Sans','Plex Sans Fallback',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease-enter:cubic-bezier(.22,1,.36,1);
  /* chart series — categorical, distinct in both themes */
  --amber:#B4791F; --slate:#4A6785;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#121815; --ink:#E8EDEA; --ink-soft:#B4C0BA; --ink-faint:#7E8C85;
    --rule:#2A342F; --card:#1A211D; --pine:#5FA98F; --pine-deep:#7FC0A8;
    --drift:#E06A4F; --pine-wash:#1E2A25;
    --amber:#D9A441; --slate:#8AA4C4;
  }
}
:root[data-theme="dark"]{
  --paper:#121815; --ink:#E8EDEA; --ink-soft:#B4C0BA; --ink-faint:#7E8C85;
  --rule:#2A342F; --card:#1A211D; --pine:#5FA98F; --pine-deep:#7FC0A8;
  --drift:#E06A4F; --pine-wash:#1E2A25;
  --amber:#D9A441; --slate:#8AA4C4;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--paper); color:var(--ink); font-family:var(--sans);
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:860px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:720px;margin:0 auto;padding:0 24px}
a{color:var(--pine);text-decoration:none}
a:hover,a:focus-visible{text-decoration:underline}
:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.eyebrow{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pine);font-weight:500;
}
h1,h2,h3{text-wrap:balance;line-height:1.18;font-weight:700}
code{font-family:var(--mono);font-size:.92em;background:var(--pine-wash);padding:1px 5px;border-radius:4px}

/* header / footer (match homepage) */
header.site{display:flex;justify-content:space-between;align-items:center;padding:22px 0;gap:16px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;color:var(--ink)}
.logo svg{display:block}
.logo:hover{text-decoration:none}
header.site nav{display:flex;gap:20px;align-items:center;font-family:var(--mono);font-size:14px}
header.site nav .current{color:var(--ink);border-bottom:2px solid var(--pine);padding-bottom:2px}
footer{padding:40px 0 60px;margin-top:64px;font-size:14px;color:var(--ink-faint);border-top:1px solid var(--rule)}
footer .cols{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer nav{display:flex;gap:22px;flex-wrap:wrap}

/* hub */
.hub-head{padding:44px 0 8px}
.hub-head h1{font-size:clamp(32px,5vw,46px);letter-spacing:-.015em;margin-top:14px}
.hub-head p.lede{margin-top:18px;font-size:18.5px;color:var(--ink-soft);max-width:58ch}
.standards{
  margin:40px 0 8px;background:var(--card);border:1px solid var(--rule);border-radius:10px;
  padding:26px 28px;
}
.standards h2{font-size:17px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:16px}
.standards ol{margin-left:20px;display:grid;gap:10px;color:var(--ink-soft);font-size:15.5px}
.standards ol strong{color:var(--ink)}
.article-list{list-style:none;margin:36px 0 0;display:grid;gap:14px}
.article-list .card{
  display:block;background:var(--card);border:1px solid var(--rule);border-radius:10px;
  padding:24px 28px;color:var(--ink);transition:border-color 160ms var(--ease-enter);
}
.article-list .card:hover{text-decoration:none;border-color:var(--pine)}
.article-list .card .meta{font-family:var(--mono);font-size:12.5px;color:var(--ink-faint);display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.article-list .card h3{font-size:21px;margin-bottom:8px}
.article-list .card p{color:var(--ink-soft);font-size:15.5px;max-width:66ch}
.tag{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--rule);border-radius:99px;padding:2px 10px;color:var(--ink-faint)}
.tag.factcheck{color:var(--drift);border-color:var(--drift)}
.tag.data{color:var(--pine);border-color:var(--pine)}
.fieldwork{margin-top:44px}
.fieldwork h2{font-size:17px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
.fieldwork ul{list-style:none;margin-top:14px;display:grid;gap:10px}
.fieldwork li{display:flex;gap:12px;align-items:baseline;color:var(--ink-soft);font-size:15.5px}
.fieldwork .dot{width:8px;height:8px;border-radius:50%;background:var(--pine);flex:none;position:relative;top:-1px}

/* article */
article{padding-top:36px}
.art-head .meta{font-family:var(--mono);font-size:13px;color:var(--ink-faint);display:flex;gap:16px;flex-wrap:wrap;margin:16px 0 0}
.art-head h1{font-size:clamp(28px,4.6vw,42px);letter-spacing:-.015em;margin-top:14px;max-width:24ch}
.art-head p.standfirst{margin-top:20px;font-size:19px;color:var(--ink-soft);max-width:60ch}
article section.body{margin-top:12px}
article .body h2{font-size:clamp(22px,3vw,27px);margin:44px 0 14px}
article .body h3{font-size:19px;margin:30px 0 10px}
article .body p{margin:14px 0;max-width:68ch;color:var(--ink)}
article .body p.aside{color:var(--ink-faint);font-size:15px}
article .body ul,article .body ol{margin:14px 0 14px 22px;display:grid;gap:8px;max-width:64ch}
article .body li{color:var(--ink)}
article .body blockquote{
  margin:20px 0;padding:14px 22px;border-left:3px solid var(--pine);
  background:var(--card);border-radius:0 8px 8px 0;color:var(--ink-soft);font-size:16px;
}
article .body blockquote cite{display:block;margin-top:8px;font-style:normal;font-family:var(--mono);font-size:12.5px;color:var(--ink-faint)}
sup a{font-family:var(--mono);font-size:11.5px}

/* verdict stamp — the fact-check device; echoes the hero demo's stamps */
.verdict{
  margin:34px 0;background:var(--card);border:1px solid var(--rule);border-radius:10px;
  padding:24px 28px;display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;
}
.verdict .stamp{
  font-family:var(--mono);font-weight:500;font-size:15px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--drift);border:2px solid var(--drift);border-radius:6px;padding:8px 14px;
  transform:rotate(-2deg);flex:none;
}
.verdict .stamp.ok{color:var(--pine);border-color:var(--pine)}
.verdict div p{color:var(--ink-soft);font-size:15.5px;max-width:56ch}
.verdict div p strong{color:var(--ink)}

/* citable stat callout */
.stat-card{
  margin:26px 0;background:var(--pine-wash);border:1px solid var(--rule);border-radius:10px;padding:20px 26px;
}
.stat-card .stat{font-size:clamp(26px,4vw,34px);font-weight:700;letter-spacing:-.01em}
.stat-card p{margin-top:6px;color:var(--ink-soft);font-size:15px;max-width:60ch}

/* chart */
.chart-wrap{margin:30px 0;background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:22px 20px 14px}
.chart-wrap .cap{font-family:var(--mono);font-size:12.5px;color:var(--ink-faint);margin-top:10px;line-height:1.5}
.dw-chart{display:block;width:100%;height:auto;overflow:visible}

/* data table */
.tbl{margin:22px 0;overflow-x:auto;border:1px solid var(--rule);border-radius:10px;background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:560px}
th{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;text-align:left}
th,td{padding:11px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
td{color:var(--ink)}
td .sub{display:block;color:var(--ink-faint);font-size:13px;margin-top:2px}
tbody td:first-child{font-weight:600}
.num{font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:13.5px}

/* methodology + sources */
.method{margin:34px 0;border:1px dashed var(--rule);border-radius:10px;padding:22px 26px;background:transparent}
.method h2{font-family:var(--mono);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin:0 0 12px!important}
.method p,.method li{font-size:15px;color:var(--ink-soft)}
.sources{margin-top:48px;border-top:1px solid var(--rule);padding-top:26px}
.sources h2{font-family:var(--mono);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
.sources ol{margin:16px 0 0 22px;display:grid;gap:9px;font-size:14px;color:var(--ink-soft)}
.sources li{overflow-wrap:anywhere}
.sources .src-note{color:var(--ink-faint)}

/* cite-this */
.cite-this{margin:34px 0;background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:20px 26px}
.cite-this h2{font-family:var(--mono);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin:0 0 10px!important}
.cite-this p{font-size:14.5px;color:var(--ink-soft);font-family:var(--mono);margin:0;user-select:all}

/* corrections log */
.corrections{margin-top:30px;font-size:14px;color:var(--ink-faint)}
.corrections strong{color:var(--ink-soft)}

@media (max-width:600px){
  body{font-size:16px}
  .verdict{gap:14px}
}
@media print{
  header.site nav,footer nav{display:none}
  body{background:#fff;color:#000}
}
