/* Readability and hierarchy polish for Archive, Patterns, Forecasts and Methodology. */
body:not([data-page="home"]) main{font-size:16px}
body:not([data-page="home"]):not([data-page="scorecard"]) .wrap>.eyebrow{display:inline-block;margin:0 0 18px;padding:3px 10px;border:1px solid #b9b7ac;border-radius:999px;font-size:11px;color:#59564d}
body:not([data-page="home"]):not([data-page="scorecard"]) h1{font-weight:500;letter-spacing:-.06em;font-size:clamp(42px,5.4vw,76px);line-height:1;margin:0 0 22px}
body:not([data-page="home"]):not([data-page="scorecard"]) p.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;max-width:58ch;color:#252a26;margin-bottom:28px}
body:not([data-page="home"]):not([data-page="scorecard"]) main{padding-top:48px}

/* sr-only helper for pages that don't load home.css */
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Patterns: narrower measure, larger type, a key figure per finding */
body[data-page="how"] .toc{margin:0 0 8px}
body[data-page="how"] .toc a{font:13px Arial,sans-serif;padding:7px 14px;color:#252a26;border-color:#b9b7ac;background:none}
body[data-page="how"] .toc a:hover{background:#252a26;color:#f6f5f0;text-decoration:none}
body[data-page="how"] h2{font:500 clamp(24px,2.6vw,32px)/1.1 Arial,sans-serif;letter-spacing:-.04em;margin:56px 0 12px}
.finding{grid-template-columns:56px minmax(0,1fr) minmax(180px,240px);gap:20px 32px;padding:34px 0;border-top:1px solid #b9b7ac}
.finding .n{font:400 clamp(28px,3vw,40px)/1 Arial,sans-serif;letter-spacing:-.05em;color:#a23829;padding-top:2px}
.finding h3{font:500 clamp(20px,2vw,26px)/1.2 Arial,sans-serif;letter-spacing:-.035em;margin:0 0 12px;text-transform:none;max-width:30ch}
.finding p{font-size:16px;line-height:1.65;color:#38362f;max-width:66ch;margin:0 0 12px}
.finding p a{color:#a23829;text-underline-offset:3px;text-decoration:underline;text-decoration-color:#a2382960}
.finding-stat{align-self:start;border-left:2px solid #a23829;padding:2px 0 2px 18px}
.finding-stat b{display:block;font:400 clamp(36px,4vw,52px)/1 Arial,sans-serif;letter-spacing:-.06em;color:#252a26}
.finding-stat b small{font-size:.45em;letter-spacing:0;color:#6b675d;margin:0 .15em}
.finding-stat span{display:block;margin-top:8px;font-size:13px;line-height:1.45;color:#59564d}
.callout{border-left:3px solid #a23829;font-size:19px;line-height:1.55;color:#252a26;max-width:56ch;padding:6px 0 6px 22px}

/* Forecasts */
.p-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #8f8d81;border-bottom:1px solid #b9b7ac;margin:8px 0 28px}
.p-tile{padding:20px 22px 18px 0}
.p-tile+.p-tile{padding-left:22px;border-left:1px solid #cfcdc2}
.p-tile b{display:block;font:400 clamp(32px,3.4vw,46px)/1 Arial,sans-serif;letter-spacing:-.055em}
.p-tile b.red{color:#a23829}
.p-tile span{display:block;margin-top:6px;font-size:13px;line-height:1.4;color:#59564d}
body[data-page="predictions"] .disclaimer{max-width:none;background:none;border:0;border-left:3px solid #b9b7ac;border-radius:0;padding:2px 0 2px 16px;font-size:14px;line-height:1.55;color:#59564d;margin-bottom:8px}
body[data-page="predictions"] .count{font-size:13px;color:#59564d}
body[data-page="predictions"] .chip{font-size:13.5px;padding:8px 14px}
.pcards{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:18px}
.pcard{padding:24px;gap:14px;background:#faf9f5}
.pcard .top .id{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6b675d}
.pcard .claim{font:500 17px/1.4 Arial,sans-serif;letter-spacing:-.015em;color:#252a26}
.pcard .prob{gap:14px}
.pcard .prob b{font:400 34px/1 Arial,sans-serif;letter-spacing:-.05em;min-width:70px}
.pcard .prob .track{height:10px;background:#e3e1d6}
.pcard .prob .track .a{background:#a23829}
.pcard .kv{grid-template-columns:78px 1fr;gap:8px 12px;font-size:13px;line-height:1.5;padding-top:10px;border-top:1px solid #d9d7cd}
.pcard .kv dt{font:10.5px/1.7 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#6b675d}
.pcard .kv dd{color:#38362f}
.pcard .kv a{color:#a23829}
body[data-page="predictions"] h2#calibration{font:500 clamp(24px,2.6vw,32px)/1.1 Arial,sans-serif;letter-spacing:-.04em;margin:64px 0 10px}

/* Methodology: two-column sections, verdict legend with real swatches */
.method-grid{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.m-sec{padding:30px 0 34px;border-top:1px solid #b9b7ac}
.m-sec h2{font:500 clamp(22px,2.3vw,28px)/1.1 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 20px}
.m-sec ul{list-style:none;padding:0;margin:0}
.m-sec li{display:flex;gap:14px;align-items:flex-start;margin:0 0 16px;font-size:16px;line-height:1.55;color:#38362f}
.m-sec li strong{display:block;font-weight:500;color:#252a26}
.m-sec li span:not(.vk){display:block}
.datasets li{display:block}
.m-note{font-size:14px;color:#59564d;margin:18px 0 0;max-width:56ch}
.m-sec p{font-size:16px;line-height:1.6;color:#38362f}
.vk{flex:none;width:14px;height:14px;border-radius:50%;margin-top:5px}
.vk-hit{background:#4b655a}.vk-miss{background:#ae5d4f}.vk-vague{background:#9a978a}.vk-unres{background:#7f8f93}.vk-after{background:#c9c6b8}
.vk-partial{background:repeating-linear-gradient(135deg,#b08c55 0 2.4px,#f1e8d3 2.4px 6px)}
.m-forecast{background:#eeede6;padding-left:24px;padding-right:24px;border-top:3px solid #a23829}
.m-forecast a{color:#a23829;font-weight:500}

/* Archive: slightly larger table text and clearer verdict pills */
body[data-page="scorecard"] .sc .claim-open{font-size:16px}
body[data-page="scorecard"] .sc .pill{font-weight:500}
body[data-page="scorecard"] .archive-heading h2,body[data-page="scorecard"] .brief-heading h2{font-weight:500}

@media(max-width:1000px){
  .finding{grid-template-columns:44px minmax(0,1fr)}
  .finding-stat{grid-column:2;margin-top:4px}
  .p-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-tile:nth-child(3){padding-left:0;border-left:0}
  .p-tile:nth-child(n+3){border-top:1px solid #cfcdc2}
  .method-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .finding{grid-template-columns:1fr;gap:6px;padding:26px 0}
  .finding-stat{grid-column:1}
  .finding .n{font-size:26px}
  .p-tiles{grid-template-columns:1fr 1fr}
  .p-tile{padding:16px 12px 14px 0}
  .p-tile+.p-tile{padding-left:12px}
  .p-tile:nth-child(odd){padding-left:0;border-left:0}
  .pcards{grid-template-columns:1fr}
  .m-forecast{padding-left:18px;padding-right:18px}
}
