/* UUEBCAST readability layer, 2026-10-10. Same palette (paper, ink, red, yellow). Self-hosted: system fonts only, no outside requests.
   Loaded after each page's own <style>, so it overrides type, case and sizing without touching colours or layout. */
:root{
  --disp: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;
  --head: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
body{font-size:18px;line-height:1.65;color:var(--ink)}

/* Wordmark stays bold and recognisable, without the poster face */
.wm,.fmark .w{font-family:var(--disp);font-weight:800;letter-spacing:.04em;line-height:1}
.wm{font-size:clamp(26px,4.4vw,38px)}
.kick{font:600 13px/1.3 var(--head);letter-spacing:.02em;text-transform:none;color:var(--mute);margin-top:6px}

/* Headlines: sentence case, serif, tight but readable */
h1,h2,h3,.hero h1,.hero .sub,.card h3,.bar h2,.band h3,.body h2,.pull,.standfirst,.field-item b,.ladder{
  font-family:var(--disp);text-transform:none;letter-spacing:-.005em;font-weight:700;line-height:1.18}
.hero{padding:44px 0 34px}
.hero h1{font-size:clamp(32px,5.6vw,56px);line-height:1.1;font-weight:800}
.hero .sub{font-size:clamp(18px,2.8vw,25px);font-weight:600;line-height:1.35;margin:16px 0 18px}
.hero .deck{font-size:19px;line-height:1.65;max-width:62ch;color:#2c2718}
.card h3{font-size:clamp(21px,2.6vw,28px);margin:0 0 10px}
.card p{font-size:17px;line-height:1.65;max-width:66ch;color:#2c2718}
.card .no{font-family:var(--disp);font-weight:700;font-size:clamp(24px,3.4vw,34px);line-height:1;color:var(--rule)}
.card{padding:26px 2px}
.bar{padding:13px 20px}
.bar h2{font-size:clamp(20px,3vw,26px)}
.band h3{font-size:clamp(26px,4.4vw,40px)}
.partners p,.band p{font-size:17px;line-height:1.65}
.ladder{font-size:clamp(17px,2.6vw,24px);line-height:1.5}

/* Labels and chips: keep the colour, drop the shouting */
.eyebrow,.tag,.st,.mono,.deskline,.btn,.live,.field-tag,.band .k,.partners .more,.form label,.form button,.fmsg,.flinks a,.card .src,.byline,.back{
  font-family:var(--head);letter-spacing:.04em;font-size:12.5px;font-weight:700;line-height:1.2}
.btn,.form button,.partners .more{font-size:14px;letter-spacing:.03em;padding:15px 22px}
.tag{padding:6px 10px}
.card .src{text-transform:none;letter-spacing:.01em;font-weight:600;font-size:13.5px;color:var(--mute)}
.note,.fnote,.field-note{font-size:14px;line-height:1.6}
.disc{font-size:13px;line-height:1.7}
.field-item span{font-size:14px}
.form input,.form select,.form textarea{font-size:16px}

/* Stop the motion that read as tabloid */
.ticker,.live{display:none !important}
*{animation-duration:.001ms !important;animation-iteration-count:1 !important}
.board .barf{width:var(--w)}

/* Story pages */
.body{font-size:18.5px;line-height:1.72}
.body p{margin:0 0 20px}
.body p.lead::first-letter{font-family:var(--disp);font-size:3.6em;line-height:.8;padding:6px 10px 0 0}
.pull{font-size:clamp(22px,3.6vw,30px);line-height:1.25;border-left:5px solid var(--red)}
.standfirst{font-size:clamp(18px,3vw,24px);line-height:1.35;font-weight:600}
article h1{font-size:clamp(30px,5.4vw,50px);line-height:1.12;font-weight:800}
.sources,.sources li{font-size:13.5px;line-height:1.6}

/* Mobile fit and tap targets */
.bar{flex-wrap:wrap}
.bar .mono{flex:0 1 auto;text-align:left;text-transform:none;letter-spacing:.02em;font-size:13px;color:#cfc6b0}
.card .src a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
.flinks{gap:4px 22px}
.flinks a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;letter-spacing:.03em;text-transform:none}
@media(max-width:640px){body{font-size:17px}.hero .deck{font-size:18px}.bar{padding:12px 16px}}

/* Random picture */
.rand{margin:26px 0 8px}
.rand img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover;border:3px solid var(--ink);border-radius:3px;background:var(--paper2)}
.rand figcaption{font-size:13px;color:var(--mute);margin-top:8px;text-transform:capitalize}

/* Forms */
.form{border-radius:14px}
.form h2{font-size:clamp(20px,3vw,26px);margin:0 0 6px}
.form.fb{margin:34px auto 0}
.form input[type=email],.form input[type=text],.form textarea{border-radius:10px}
.form button{border-radius:10px;min-height:48px}
.form .fmsg{min-height:1.4em}
