/* ==================================================================
   FIRST LOSS — design system
   Editorial, Economist/Reuters conventions. One brand red, used only
   for the masthead rule, section rules, and the emphasis series in
   charts. Everything else is ink, grey and paper.
   ================================================================== */

:root{
  --paper:#FBFAF8; --ink:#0F1113; --body:#33383D; --muted:#6B7278; --faint:#949A9F;
  --rule:#D9D6D1; --hair:#E8E5E0; --wash:#F0EDE8;
  --brand:#CE1126;   /* emphasis / masthead */
  --grey:#78868F;    /* second series */
  --third:#B08A3E;   /* third series, used sparingly */

  --fh:"Archivo","Helvetica Neue",Arial,sans-serif;
  --fb:"Source Serif 4",Georgia,"Times New Roman",serif;
  --fd:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --paper:#0E0F11; --ink:#F0EEEA; --body:#C8CCD0; --muted:#949A9F; --faint:#71777C;
  --rule:#2A2D31; --hair:#1F2225; --wash:#171A1D;
  --brand:#F0465C; --grey:#8E9BA6; --third:#D0A75B;}}
:root[data-theme=dark]{
  --paper:#0E0F11; --ink:#F0EEEA; --body:#C8CCD0; --muted:#949A9F; --faint:#71777C;
  --rule:#2A2D31; --hair:#1F2225; --wash:#171A1D;
  --brand:#F0465C; --grey:#8E9BA6; --third:#D0A75B;}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--fb);
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
a{color:var(--brand);text-underline-offset:2px;text-decoration-thickness:1px}
a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}

.w{max-width:1080px;margin:0 auto;padding-inline:26px}

/* ---------- masthead ---------- */
.top{background:var(--brand);height:9px}
.plate{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  flex-wrap:wrap;padding:16px 0 12px;border-bottom:1px solid var(--ink)}
.np{font-family:var(--fh);font-weight:700;font-size:26px;letter-spacing:-0.035em;
  line-height:1;color:var(--ink);text-decoration:none}
.np em{font-style:normal;color:var(--brand)}
.plr{font-family:var(--fd);font-size:10.5px;color:var(--faint);letter-spacing:.02em}
.plr a{color:var(--faint);text-decoration:none}
.plr a:hover,.plr a[aria-current=page]{color:var(--brand)}
.plr .sep{opacity:.5;padding:0 4px}

/* ---------- article head ---------- */
.kick{font-family:var(--fd);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--brand);margin:0 0 12px}
h1{font-family:var(--fh);font-weight:700;font-size:clamp(1.95rem,4.4vw,2.7rem);
  line-height:1.02;letter-spacing:-0.04em;margin:0 0 14px;color:var(--ink);text-wrap:balance}
.deck{font-size:1.02rem;line-height:1.48;color:var(--muted);margin:0 0 14px;max-width:48ch}
.byline{font-family:var(--fd);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--faint);margin:0}
.byline b{color:var(--muted);font-weight:500}

.lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 44px;
  padding:30px 0 34px;border-bottom:3px solid var(--ink)}
.lead p.body{font-size:15.5px;margin:0 0 12px}
.lead p.body:last-child{margin-bottom:0}

.ahead{padding:26px 0 24px;border-bottom:3px solid var(--ink)}

/* ---------- figures & charts ---------- */
figure{margin:0}
p.ftitle,.col p.ftitle,.sec p.ftitle{font-family:var(--fh);font-weight:700;font-size:14px;
  letter-spacing:-0.01em;color:var(--ink);margin:0 0 2px}
p.fsub,.col p.fsub,.sec p.fsub{font-family:var(--fb);font-size:12.5px;color:var(--muted);
  margin:0 0 10px;line-height:1.35}
p.fsrc,.col p.fsrc,.sec p.fsrc{font-family:var(--fd);font-size:9.5px;color:var(--faint);
  margin:9px 0 0;line-height:1.5;letter-spacing:.03em}
.ch{width:100%;height:auto;display:block;overflow:visible}
.ch .grid{stroke:var(--hair);stroke-width:1}
.ch .trk{fill:var(--hair)}
.ch .ax{font-family:var(--fd);font-size:9.5px;fill:var(--faint)}
.ch .xt{text-anchor:middle}
.ch .ln{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.ch .ln.us{stroke:var(--brand)} .ch .ln.ua{stroke:var(--grey)}
.ch .gap{fill:var(--brand);opacity:.09}
.ch .mark{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 3;opacity:.45}
.ch .lbl{font-family:var(--fh);font-weight:600;font-size:11.5px}
.ch .lbl.us{fill:var(--brand)} .ch .lbl.ua{fill:var(--grey)}
.ch .note{font-family:var(--fd);font-size:9.5px;fill:var(--muted)}
.ch .s1{fill:var(--brand)} .ch .s2{fill:var(--grey)} .ch .s3{fill:var(--third)}
.ch .rl{font-family:var(--fh);font-weight:600;font-size:12px;fill:var(--ink)}
.ch .rv{font-family:var(--fd);font-size:11px;fill:var(--muted)}
.ch .inb{font-family:var(--fd);font-size:10px;fill:#fff;text-anchor:middle}
.ch .flag{font-family:var(--fd);font-size:9.5px;letter-spacing:.09em;fill:var(--faint)}

/* ---------- stat strip ---------- */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-bottom:1px solid var(--ink)}
.st{padding:20px 22px 20px 0;border-right:1px solid var(--hair)}
.st:last-child{border-right:none}
.stn{font-family:var(--fh);font-weight:700;font-size:2.15rem;letter-spacing:-0.04em;
  line-height:1;margin:0 0 5px;color:var(--ink)}
.stt{font-size:13px;color:var(--muted);margin:0;line-height:1.35;max-width:22ch}

/* ---------- columns & sections ---------- */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px;
  padding:26px 0 30px;border-bottom:1px solid var(--rule)}
.cols.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.col p{font-size:14.5px;margin:0 0 11px;line-height:1.45}
.col p:last-child{margin-bottom:0}

.sech,.col h2{font-family:var(--fh);font-weight:700;font-size:13px;letter-spacing:.02em;
  text-transform:uppercase;color:var(--ink);margin:0 0 12px;
  padding-bottom:7px;border-bottom:2px solid var(--brand)}
.sec{padding:26px 0 30px;border-bottom:1px solid var(--rule)}
.sec:last-of-type{border-bottom:none}
.sec>p,.prose p{margin:0 0 14px;max-width:66ch}
p.sech,p.party{max-width:none}
.sec>p:last-child{margin-bottom:0}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px}

/* ---------- contents list ---------- */
.parts{margin:0;padding:0;list-style:none}
.part{border-top:1px solid var(--hair)} .part:first-child{border-top:none}
.part a{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;
  align-items:baseline;padding:13px 0;text-decoration:none;color:inherit}
.part a:hover .pt{color:var(--brand)}
.pn{font-family:var(--fd);font-size:10px;color:var(--faint);letter-spacing:.04em}
.pt{font-family:var(--fh);font-weight:700;font-size:1rem;letter-spacing:-0.02em;color:var(--ink)}
.pd{font-size:13.5px;color:var(--muted);margin:4px 0 0;line-height:1.42}
.pst{font-family:var(--fd);font-size:9.5px;color:var(--faint)}

/* ---------- numbered method / findings ---------- */
.method{margin:0;padding:0;counter-reset:m;list-style:none}
.method li{counter-increment:m;display:grid;grid-template-columns:20px 1fr;gap:12px;
  padding:7px 0;border-top:1px solid var(--hair);font-size:14px;line-height:1.45}
.method li:first-child{border-top:none}
.method li::before{content:counter(m);font-family:var(--fd);font-size:10px;
  color:var(--brand);padding-top:3px}
.method b{font-family:var(--fh);font-weight:700;font-size:13.5px;color:var(--ink)}

.finds{margin:0;padding:0;counter-reset:f;list-style:none}
.finds li{counter-increment:f;padding:16px 0;border-top:1px solid var(--hair)}
.finds li:first-child{border-top:none}
.finds h3{font-family:var(--fh);font-weight:700;font-size:15px;letter-spacing:-0.015em;
  color:var(--ink);margin:0 0 7px}
.finds h3::before{content:counter(f,decimal-leading-zero);font-family:var(--fd);
  font-size:10px;color:var(--brand);margin-right:10px;letter-spacing:.05em}
.finds p{font-size:14.5px;margin:0 0 9px;line-height:1.46;max-width:68ch}
.finds p:last-child{margin-bottom:0}

/* ---------- obligation ledger ---------- */
.led{margin:0;padding:0;list-style:none}
.ob{display:grid;grid-template-columns:108px minmax(0,1fr) 88px;gap:0 20px;
  padding:14px 0;border-top:1px solid var(--hair);align-items:start}
.ob:first-child{border-top:none}
.ob-c{font-family:var(--fd);font-size:10.5px;color:var(--brand);line-height:1.5;padding-top:2px}
.ob-t{font-family:var(--fh);font-weight:700;font-size:14.5px;letter-spacing:-0.015em;
  color:var(--ink);margin:0 0 5px;line-height:1.3}
.ob-d{font-size:14px;margin:0 0 7px;line-height:1.45;max-width:64ch}
.ob-d:last-child{margin-bottom:0}
.ob-q{font-size:14px;font-style:italic;color:var(--muted);margin:0 0 7px;
  padding-left:11px;border-left:2px solid var(--hair);max-width:62ch}
.ob-f{font-family:var(--fd);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;
  padding-top:3px;text-align:right}
.ob-f.bind{color:var(--brand)} .ob-f.cond{color:var(--third)} .ob-f.non{color:var(--faint)}
.party{font-family:var(--fh);font-weight:700;font-size:13px;letter-spacing:.02em;
  text-transform:uppercase;color:var(--ink);margin:26px 0 10px;
  padding-bottom:6px;border-bottom:1px solid var(--ink)}
.party:first-of-type{margin-top:0}
.party span{font-family:var(--fd);font-weight:400;font-size:10px;color:var(--faint);
  text-transform:none;letter-spacing:.03em;margin-left:9px}

/* ---------- tables ---------- */
details{margin-top:14px}
summary{font-family:var(--fd);font-size:11px;color:var(--muted);cursor:pointer;padding:3px 0}
summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.tw{overflow-x:auto;margin-top:10px}
table{border-collapse:collapse;font-size:13.5px;min-width:380px;width:100%}
th,td{text-align:left;padding:7px 14px 7px 0;border-bottom:1px solid var(--hair);
  vertical-align:top}
th{font-family:var(--fd);font-size:10px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--faint);font-weight:400;border-bottom:1px solid var(--ink)}
td.n{text-align:right;font-family:var(--fd);font-size:12.5px}
td b{font-family:var(--fh);font-weight:700;color:var(--ink)}

/* ---------- callout ---------- */
.note{background:var(--wash);border-left:3px solid var(--brand);padding:16px 20px;margin:20px 0 0}
.note h3{font-family:var(--fh);font-weight:700;font-size:12.5px;letter-spacing:.02em;
  text-transform:uppercase;color:var(--brand);margin:0 0 8px}
.note p{font-size:14.5px;margin:0 0 10px;max-width:66ch}
.note p:last-child{margin-bottom:0}

/* ---------- footer ---------- */
.foot{font-family:var(--fd);font-size:10px;color:var(--faint);line-height:1.8;
  padding:20px 0 60px;border-top:2px solid var(--ink);margin-top:26px}
.foot a{color:var(--muted)}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

@media (max-width:820px){
  .lead{grid-template-columns:1fr;gap:26px}
  .cols,.cols.two,.two{grid-template-columns:1fr;gap:24px}
  .st{border-right:none;border-bottom:1px solid var(--hair);padding-right:0}
  .st:last-child{border-bottom:none}
  .part a{grid-template-columns:1fr;gap:3px} .pst{display:none}
  .ob{grid-template-columns:1fr;gap:5px}
  .ob-f{text-align:left;padding-top:0}
  .w{padding-inline:20px}
}
