/* Uutiset Stream – yksi lukusarake, faktaotsikko, synteesi, lähde-erot ja Lue lisää -linkit.
   Ei ulkoisia fontteja eikä skriptejä: järjestelmäfontit pitävät sivun nopeana ja CSP:n tiukkana. */
:root{
  --bg:#f3f5f7; --surface:#ffffff; --ink:#18202b; --muted:#56616f; --rule:#dbe1e8;
  --accent:#1d5d86; --accent-soft:#e3eef6; --note:#7a4e0c; --note-soft:#fbf3e4;
  --f-display:"Avenir Next","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --f-body:"Iowan Old Style","Charter","Bitstream Charter","Sitka Text",Cambria,Georgia,serif;
  --f-meta:ui-monospace,"SF Mono","Cascadia Mono","Segoe UI Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#11161d; --surface:#18202a; --ink:#e6ebf1; --muted:#9aa6b5; --rule:#2a3441;
  --accent:#7cb8e0; --accent-soft:#1d2d3c; --note:#e2b56a; --note-soft:#2a2418; color-scheme:dark }}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.55;padding-inline:16px;padding-block:0 64px}
.wrap{max-width:720px;margin:0 auto}
a{color:var(--accent);text-underline-offset:2px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:8px;background:var(--surface);padding:6px 10px;z-index:10}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header.top{padding-block:40px 16px;display:grid;gap:10px;border-bottom:1px solid var(--rule)}
.brand{font-family:var(--f-display);font-weight:700;font-size:clamp(2rem,6vw,2.8rem);letter-spacing:-.02em;line-height:1;color:var(--ink);text-decoration:none}
.brand span{color:var(--accent)}
.edition,.crumbs{font-family:var(--f-meta);font-size:.78rem;letter-spacing:.04em;color:var(--muted);margin:0}
.crumbs a{color:var(--muted)}
.lede{color:var(--muted);margin:0;max-width:62ch;font-size:1rem}
.quiet{margin:0;font-family:var(--f-meta);font-size:.85rem;color:var(--note)}
.sections{display:flex;flex-wrap:wrap;gap:8px}
.sections a{font-family:var(--f-meta);font-size:.8rem;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 12px;text-decoration:none}
.sections a:hover{border-color:var(--accent)}
main h1{font-family:var(--f-display);font-size:1.6rem;line-height:1.25;text-wrap:balance}
section > h2{font-family:var(--f-display);font-weight:700;font-size:1.35rem;margin:36px 0 0}
.story{display:grid;gap:10px;padding-block:22px;border-bottom:1px solid var(--rule);min-width:0}
.story h1,.story h3{font-family:var(--f-display);font-weight:600;line-height:1.3;margin:0;text-wrap:balance}
.story h3{font-size:1.15rem}
.story h1{font-size:clamp(1.4rem,4vw,1.8rem)}
.story h3 a{color:var(--ink);text-decoration:none}
.story h3 a:hover{text-decoration:underline}
.story p{margin:0;max-width:65ch}
.meta{font-family:var(--f-meta);font-size:.74rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.meta .topic{text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}
.meta .count{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px}
.diff{background:var(--note-soft);border-radius:6px;padding:10px 12px;font-size:.95rem;max-width:65ch}
.diff strong{font-family:var(--f-meta);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--note);display:block;margin-bottom:2px;font-weight:500}
.more{font-family:var(--f-meta);font-size:.78rem;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.more span{color:var(--muted)}
.more ul{display:contents;list-style:none;margin:0;padding:0}
.more li{display:inline}
.more a{display:inline-block;border:1px solid var(--rule);background:var(--surface);border-radius:4px;padding:3px 8px;text-decoration:none}
.more a:hover{border-color:var(--accent)}
.more cite{font-style:normal}
.archive{padding-left:1.2em;display:grid;gap:6px}
footer.foot{margin-top:40px;color:var(--muted);font-size:.9rem;display:grid;gap:10px}
footer.foot p{margin:0;max-width:65ch}
.formats{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--f-meta);font-size:.78rem}
.formats a{color:var(--muted)}
@media (max-width:480px){body{font-size:1rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Case-sivu */
.case{display:grid;gap:14px;padding-block:24px 8px}
.case h1{margin:0;font-size:clamp(1.6rem,4.5vw,2.2rem);max-width:24ch}
.case h2{font-family:var(--f-display);font-size:1.3rem;margin:26px 0 0}
.case h3{font-family:var(--f-display);font-size:1.05rem;margin:10px 0 0}
.case p,.case li{max-width:65ch}
.case p{margin:0}
.case ul{margin:0;padding-left:1.2em;display:grid;gap:8px}
.eyebrow{font-family:var(--f-meta);font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:0}
.byline{font-family:var(--f-meta);font-size:.8rem;color:var(--muted)}
.facts,.metrics{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:8px;overflow:hidden;margin:6px 0 0}
.facts div,.metrics div{background:var(--surface);padding:10px 14px;display:grid;grid-template-columns:7.5rem 1fr;gap:12px}
.facts dt,.metrics dt{font-family:var(--f-meta);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:3px}
.facts dd,.metrics dd{margin:0;min-width:0}
.steps{margin:0;padding-left:1.4em;display:grid;gap:10px}
.cuts li strong,.steps li strong{font-family:var(--f-display)}
.flow{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;counter-reset:f}
.flow li{counter-increment:f;background:var(--accent-soft);border-radius:6px;padding:10px 12px;font-size:.9rem;display:grid;gap:2px;max-width:none}
.flow li strong{font-family:var(--f-meta);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.flow li strong::before{content:counter(f) " · "}
.author{margin-top:18px;padding:16px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);display:grid;gap:8px}
.author h2{margin:0}
.contact{font-family:var(--f-meta);font-size:.85rem}
@media (max-width:480px){.facts div,.metrics div{grid-template-columns:1fr;gap:2px}}
