
/* Licensed ABC Normal (Dinamo), Regular 400 + Medium 600, embedded self-contained. */
:root{
    --ink:#16181c; --muted:#8a7f6b; --faint:#a89e88;
    --bg:#efe8da; --paper:#faf9f5; --panel:#e7ded0; --line:#e2dacb;
    --accent:#ed2a28; --accent-d:#b31217;
    --measure:41rem; --figw:44rem;
    --wide:70rem;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:var(--font); font-size:19px; line-height:1.66;
    font-weight:400; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  }
  a{color:var(--accent); text-decoration:none}
  a:hover{text-decoration:underline}
  a:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:2px}
  img{display:block; width:100%; height:auto}

  /* progress bar */
  #bar{position:fixed; top:0; left:0; height:2px; width:0; background:var(--accent); z-index:60; transition:width .08s linear}

  /* masthead */
  header.site{
    position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.92);
    backdrop-filter:saturate(160%) blur(8px); border-bottom:1px solid var(--line);
  }
  .site .row{
    max-width:var(--wide); margin:0 auto; padding:14px 24px;
    display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  }
  .brand{font-weight:700; letter-spacing:.16em; font-size:13px; text-transform:uppercase}
  .brand .fade{color:var(--faint)}
  .site .sec{font-weight:600; letter-spacing:.14em; font-size:11px; text-transform:uppercase; color:var(--muted)}

  /* hero */
  .hero{margin:0 auto; padding:28px 0 0}
  .hero figure{margin:0 auto; width:min(var(--figw), calc(100vw - 48px))}
  .hero img{border-radius:3px; width:100%; aspect-ratio:16/9; object-fit:contain; background:var(--bg); display:block}
  figcaption{
    color:var(--muted); font-size:13px; line-height:1.5; letter-spacing:.01em;
    padding:10px 2px 0;
  }
  figcaption b{color:var(--ink); font-weight:600}

  /* article column */
  main{max-width:var(--measure); margin:0 auto; padding:0 24px 96px}
  .head{padding:40px 0 8px}
  .kicker{
    font-weight:700; letter-spacing:.18em; font-size:12px; text-transform:uppercase;
    color:var(--accent); margin:0 0 20px;
  }
  h1{
    font-weight:700; letter-spacing:-.021em; line-height:1.08;
    font-size:clamp(2rem,5.2vw,3.15rem); margin:0 0 22px;
  }
  .dek{
    font-size:1.28rem; line-height:1.5; color:#33363b; font-weight:400;
    margin:0 0 28px; max-width:36rem;
  }
  .meta{
    display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center;
    font-size:13px; letter-spacing:.02em; color:var(--muted);
    padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .meta .who{color:var(--ink); font-weight:600}
  .meta .dot{width:3px; height:3px; border-radius:50%; background:var(--faint)}
  .byrow{display:flex; align-items:center; gap:14px 20px; flex-wrap:wrap; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
  .byline{display:flex; flex-wrap:wrap; align-items:center; gap:13px 22px; flex:1 1 auto}
  .share{position:relative; flex:none}
  .sharebtn{display:inline-flex; align-items:center; gap:7px; background:transparent; border:1px solid var(--line); border-radius:3px; padding:8px 13px; font:inherit; font-size:13px; font-weight:600; color:var(--ink); cursor:pointer; transition:border-color .15s,color .15s}
  .sharebtn:hover{border-color:var(--accent); color:var(--accent)}
  .sharebtn svg{width:16px; height:16px; fill:currentColor}
  .sharemenu{position:absolute; right:0; top:calc(100% + 6px); background:var(--paper); border:1px solid var(--line); border-radius:5px; box-shadow:0 10px 30px rgba(0,0,0,0.11); padding:6px; min-width:168px; z-index:20; display:flex; flex-direction:column}
  .sharemenu[hidden]{display:none}
  .sharemenu a.sharemenu button{display:block; text-align:left; background:transparent; border:0; padding:9px 12px; font:inherit; font-size:14px; color:var(--ink); border-radius:3px; cursor:pointer; text-decoration:none}
  .sharemenu a:hover.sharemenu button:hover{background:var(--panel); color:var(--accent)}
  .tags{display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0}
  .tags .tag{display:inline-block; font-size:12px; font-weight:600; color:var(--muted); background:var(--paper); border:1px solid var(--line); border-radius:3px; padding:4px 12px; transition:border-color .15s,color .15s}
  .tags .tag:hover{border-color:var(--accent); color:var(--accent)}
  .tags .tag.ev{color:var(--accent-d); background:var(--panel)}
  .endtags{max-width:var(--measure); margin:50px auto 0; padding-top:22px; border-top:1px solid var(--line)}
  .endtags .etlabel{display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); font-weight:600; margin:0 0 11px}
  .endtags .tags{margin:0}
  .related{border-top:1px solid var(--line); background:var(--paper)}
  .related .rin{max-width:var(--figw); margin:0 auto; padding:44px 24px 12px}
  .related h2{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); font-weight:600; margin:0 0 18px}
  .rgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(224px,1fr)); gap:16px}
  .rcard{display:block; border:1px solid var(--line); border-radius:6px; padding:16px 18px; background:var(--bg); transition:border-color .15s}
  .rcard:hover{border-color:var(--accent)}
  .rcard .rt{display:block; font-weight:600; font-size:1.02rem; line-height:1.32; margin-bottom:11px}
  .rcard:hover .rt{color:var(--accent)}
  .rtags{display:flex; flex-wrap:wrap; gap:6px}
  .rtag{font-size:11px; font-weight:600; color:var(--muted); background:var(--paper); border:1px solid var(--line); border-radius:3px; padding:2px 9px}
  .rtag.ev{color:var(--accent-d); background:var(--panel)}
  .byline .sp{display:flex; align-items:center; gap:11px}
  .byline .av{width:46px; height:46px; border-radius:3px; background:var(--panel); border:1px solid var(--line); color:var(--accent-d); display:flex; align-items:center; justify-content:center; font-weight:600; font-size:14px; letter-spacing:.01em; flex:none; overflow:hidden}
  .byline .av img{width:100%; height:100%; object-fit:cover}
  .byline .spn{display:block; font-weight:600; color:var(--ink); font-size:15px; line-height:1.2}
  .byline .spr{display:block; color:var(--muted); font-size:12.5px; line-height:1.3}
  .byline .spn:hover{color:var(--accent)}
  .byline .spav{display:inline-flex; flex:none}
  .byline .spav:hover .av{border-color:var(--accent)}
  .byline .co{color:var(--ink); font-weight:600; border-bottom:1px solid var(--line)}
  .byline .spr .ro{display:block}
  .byline .spr .co{display:inline-block; margin-top:2px}
  .byline .co:hover{color:var(--accent); border-bottom-color:var(--accent)}
  .byline .bmeta{color:var(--muted); font-size:13px; margin-left:auto}

  main p{margin:0 0 22px}
  main .lead{font-size:1.12rem}
  h2{
    font-weight:700; letter-spacing:-.012em; line-height:1.18;
    font-size:1.55rem; margin:44px 0 16px;
  }
  strong{font-weight:600}

  /* figures that break out of the measure */
  .fig{margin:34px 0; }
  .fig.wide{ width:min(var(--figw), calc(100vw - 48px)); margin-left:calc(50% - min(var(--figw), calc(100vw - 48px))/2); }
  .fig img { border-radius:3px; width:100%; aspect-ratio:16/9; object-fit:contain; background:var(--bg); display:block }
  .grid{display:grid; gap:14px}
  .grid.two{grid-template-columns:1fr 1fr}
  .grid.three{grid-template-columns:1fr 1fr 1fr}
  .seq figure{margin:0; position:relative}
  .seq figure img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:3px}
  .seq .lab{
    position:absolute; left:10px; top:10px; background:rgba(22,24,28,0.82); color:#fff;
    font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
    padding:5px 9px; border-radius:2px;
  }

  /* pull quote */
  blockquote.pull{
    margin:46px 0; padding:0; border:0;
    font-size:clamp(1.5rem,3.4vw,2rem); line-height:1.24; letter-spacing:-.012em;
    font-weight:700; color:var(--ink);
  }
  blockquote.pull span{color:var(--accent)}

  /* watch callout */
  .watch{
    width:min(var(--figw), calc(100vw - 48px)); margin:56px 0 0 calc(50% - min(var(--figw), calc(100vw - 48px))/2);
    display:flex; align-items:center; gap:18px; flex-wrap:wrap;
    border:1px solid var(--line); border-radius:6px; padding:20px 22px; background:var(--panel);
  }
  .watch .ic{
    flex:0 0 auto; width:46px; height:46px; border-radius:3px; background:var(--accent);
    display:grid; place-items:center;
  }
  .watch .ic svg{width:18px; height:18px; margin-left:2px; fill:#fff}
  .watch .tx{flex:1 1 240px}
  .watch .tx .t{font-weight:600; font-size:15px; margin:0 0 2px}
  .watch .tx .s{font-size:13px; color:var(--muted); margin:0}
  .watch a.go{
    font-weight:600; font-size:14px; letter-spacing:.02em; white-space:nowrap;
    border:1px solid var(--accent); color:var(--accent); border-radius:4px; padding:9px 15px;
  }
  .watch a.go:hover{background:var(--accent); color:#fff; text-decoration:none}

  /* footer */
  footer.site{border-top:1px solid var(--line); background:var(--bg)}
  .foot{max-width:var(--wide); margin:0 auto; padding:26px 24px 40px; color:var(--muted); font-size:13px; line-height:1.6}
  .foot .brand{margin-bottom:8px; color:var(--ink)}
  .foot .credit{max-width:52rem}

  /* load reveal */
  .reveal{opacity:0; transform:translateY(8px); animation:rise .7s ease forwards}
  @keyframes rise{to{opacity:1; transform:none}}

  @media (max-width:640px){
    body{font-size:18px}
    .grid.two.grid.three{grid-template-columns:1fr}
    .seq .lab{font-size:10px}
    .hero{padding-top:18px}
  }
  @media (prefers-reduced-motion:reduce){
    .reveal{animation:none; opacity:1; transform:none}
    #bar{transition:none}
    *{scroll-behavior:auto}
  }

  .xnav{display:flex; gap:20px; align-items:baseline}
  .xnav a{font-weight:600; letter-spacing:.03em; font-size:13px; color:var(--muted)}
  .xnav a.on{color:var(--ink)}
  .xnav a:hover{color:var(--ink); text-decoration:none}

  .feeder{width:min(var(--figw), calc(100vw - 48px)); margin:56px 0 0 calc(50% - min(var(--figw), calc(100vw - 48px))/2)}
  .feeder h3{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); font-weight:700; margin:0 0 16px}
  .fgrid{display:grid; grid-template-columns:1fr 1fr; gap:16px}
  .fcard{border:1px solid var(--line); border-radius:8px; padding:18px 20px; background:var(--paper)}
  .fcard .lab{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:600; margin:0 0 10px}
  .fitem{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 0; border-top:1px solid var(--line)}
  .fitem:first-of-type{border-top:0}
  .fitem .m{min-width:0}
  .fitem .n{font-weight:600; font-size:14px; color:var(--ink)}
  .fitem .s{font-size:12px; color:var(--muted)}
  .fitem a.v{font-size:12px; font-weight:600; white-space:nowrap; color:var(--accent)}
  .chips{display:flex; flex-wrap:wrap; gap:8px}
  .chips span{font-size:12px; color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:5px 11px}
  @media (max-width:640px){ .fgrid{grid-template-columns:1fr} .xnav{gap:14px} .brand{font-size:11px} }

  :root{--font:"ABC Normal","Hanken Grotesk",system-ui,-apple-system,sans-serif; --font-display:"ABC Normal","Hanken Grotesk",system-ui,-apple-system,sans-serif;}
  body{background:var(--bg); font-family:var(--font)}
  h1,h2,h3.brand.eyebrow.kicker.tag.lab.sec h2.feeder h3.news h2.news .k.cta .c h3.cta .c .k.interview .tx h3.fcard .lab{font-family:var(--font-display)}
  h1,h2,h3.interview .tx h3.cta .c h3.news h2.sec h2{font-weight:600}
  .eyebrow.kicker.tag.feeder h3.fcard .lab.news .k.cta .c .k{font-weight:600; letter-spacing:.16em; color:var(--accent)}
  .btn.news button{border-radius:3px; font-weight:600}
  .btn:hover{background:var(--accent-d)}
  .interview .play span{background:rgba(225,37,27,0.94)}
/*zwof-polished*/
.endtags{margin-top:30px!important}.feeder{margin-top:26px!important}.watch{margin-top:22px!important}
.foot{max-width:var(--measure)}
.rcard .rd{display:block;margin:7px 0 9px;color:var(--muted);font-size:13px;line-height:1.5}
.spr a.li{display:inline-flex;align-items:center;margin-left:8px;color:var(--muted);vertical-align:middle}
.spr a.li:hover{color:var(--accent)}.spr a.li svg{width:14px;height:14px}
.fig img.hero img{cursor:zoom-in}
.lbx{position:fixed;inset:0;background:rgba(16,18,20,0.92);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out;padding:24px;opacity:0;transition:opacity .18s}
.lbx.on{opacity:1}.lbx img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:4px}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'ABC Normal',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.65}
a{color:inherit}img{max-width:100%;display:block}
:root{--ink:#16181c;--paper:#faf9f5;--panel:#f3eee3;--line:#e2dacb;--line-d:#cfc6b3;--accent:#ed2a28;--accent-d:#b71d15;--muted:#8a7f6b;--wide:80rem}
.brandlink{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}
.masthead{max-width:var(--wide);margin:0 auto;padding:14px 30px;display:flex;align-items:center}
.masthead img{height:30px;width:auto}.masthead .sep{width:1px;height:26px;background:var(--line)}.masthead .db{font-size:28px;font-weight:600;line-height:1;letter-spacing:-.02em}
.layout{max-width:var(--wide);margin:0 auto;padding:30px 30px 66px;display:grid;grid-template-columns:312px 1fr 248px;gap:40px;align-items:start}
.rail{position:sticky;top:22px;align-self:start;padding-right:34px;border-right:1px solid var(--line)}
.aside{position:sticky;top:22px;align-self:start;padding-left:28px;border-left:1px solid var(--line)}
.r-eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:13px}
.r-headline{font-size:31px;line-height:1.12;letter-spacing:-.022em;font-weight:600;margin-bottom:24px}
.blk{padding:16px 0;border-top:1px solid var(--line)}
.blk:first-of-type{border-top:0;padding-top:0}
.blk .lbl{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:9px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags a{font-size:12px;padding:3px 9px;border:1px solid var(--line);border-radius:3px;color:var(--ink);text-decoration:none;transition:.15s}
.tags a:hover{border-color:var(--accent);color:var(--accent)}
.who{display:flex;gap:12px;align-items:flex-start}
.blk .who + .who{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.who .av{width:46px;height:46px;border-radius:6px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--accent-d);flex:none;overflow:hidden}
.who .av img{width:100%;height:100%;object-fit:cover}
.who .nm{font-size:15.5px;font-weight:600;text-decoration:none;display:block;line-height:1.25}
.who .nm:hover{color:var(--accent)}
.who .rl{font-size:13px;color:var(--muted);margin-top:2px}
.who .co{font-size:13px;color:var(--accent-d);text-decoration:none}.who .co:hover{text-decoration:underline}
.who .li{display:inline-flex;margin-top:6px;color:var(--muted)}.who .li:hover{color:var(--accent)}.who .li svg{width:15px;height:15px}
.sharewrap{display:flex;gap:7px;flex-wrap:wrap}
.sharewrap button.sharewrap a{font:inherit;font-size:12.5px;font-weight:500;color:var(--ink);background:var(--panel);border:1px solid var(--line-d);border-radius:4px;padding:6px 11px;cursor:pointer;text-decoration:none;transition:.15s}
.sharewrap button:hover.sharewrap a:hover{border-color:var(--accent);color:var(--accent)}
.watchbtn{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px 14px;transition:.15s}
.watchbtn:hover{border-color:var(--accent)}
.watchbtn .pl{width:30px;height:30px;border-radius:5px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}
.watchbtn .pl svg{width:13px;height:13px;fill:#fff}
.watchbtn .wt{font-size:14px;font-weight:600}
.meta{font-size:13px;color:var(--muted)}
.reading{min-width:0}
.standfirst{font-size:22px;line-height:1.48;color:#3c3a35;margin-bottom:26px}
.reading>.fig:first-of-type{margin:0 0 30px}
.prose>p{margin:0 0 20px;font-size:17.5px;line-height:1.72}
.prose>p.lead.prose>p:first-of-type{font-size:19px;line-height:1.62}
.prose h2{font-size:24px;letter-spacing:-.01em;font-weight:600;margin:36px 0 15px}
.fig{margin:28px 0}
.fig img{width:100%;border-radius:5px;cursor:zoom-in}
.fig figcaption{font-size:13px;color:var(--muted);margin-top:9px;line-height:1.5}
.fig figcaption b{color:var(--ink);font-weight:600}
.a-title{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:14px}
.simlist{display:flex;flex-direction:column;gap:0}
.sim{display:block;text-decoration:none;color:inherit;padding:14px 0;border-top:1px solid var(--line)}
.sim:first-child{border-top:0;padding-top:0}
.sim .st{font-size:15px;font-weight:600;line-height:1.25;color:var(--ink);display:block}
.sim:hover .st{color:var(--accent)}
.sim .sdesc{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.45;display:block}
.sim .stg{margin-top:7px;display:flex;gap:5px;flex-wrap:wrap}
.sim .stg span{font-size:10.5px;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:1px 6px}
.colophon{border-top:1px solid var(--line);background:var(--bg)}
.colophon .in{max-width:var(--wide);margin:0 auto;padding:22px 30px;font-size:12.5px;color:var(--muted);line-height:1.6}
.lbx{position:fixed;inset:0;background:rgba(16,18,20,0.92);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out;padding:24px;opacity:0;transition:.18s}
.lbx.on{opacity:1}.lbx img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:4px}
@media(max-width:960px){
 .layout{display:flex;flex-direction:column;gap:24px;padding:24px 18px 54px}.rail{display:contents}.rail>.r-eyebrow{order:1}.rail>.r-headline{order:2;margin-bottom:4px}.reading{order:5;padding-bottom:0}.rail>.blk{order:6}.rail>.blk:nth-of-type(2){order:3}.rail>.blk:last-of-type{order:4}.aside{order:7}
 .rail.aside{position:static;max-height:none;border:0;padding:0}
 .rail{border-bottom:1px solid var(--line);padding-bottom:22px}
 .aside{border-top:1px solid var(--line);padding-top:24px}
 .r-headline{font-size:30px}.standfirst{font-size:20px}
}
@media(max-width:480px){
 .layout{padding:18px 16px 44px;gap:22px}
 .masthead{padding:11px 16px}
 .r-headline{font-size:25px}
 .standfirst{font-size:18px;margin-bottom:22px}
 .prose>p.prose>p:first-of-type{font-size:16.5px}
 .prose h2{font-size:21px}
 .colophon .in{padding:20px 16px}
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'ABC Normal',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.65}
a{color:inherit}img{max-width:100%;display:block}
:root{--ink:#16181c;--paper:#faf9f5;--panel:#f3eee3;--line:#e2dacb;--line-d:#cfc6b3;--accent:#ed2a28;--accent-d:#b71d15;--muted:#8a7f6b;--wide:80rem}
.brandlink{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}
.masthead{max-width:var(--wide);margin:0 auto;padding:14px 30px;display:flex;align-items:center}
.masthead img{height:30px;width:auto}.masthead .sep{width:1px;height:26px;background:var(--line)}.masthead .db{font-size:28px;font-weight:600;line-height:1;letter-spacing:-.02em}
.layout{max-width:var(--wide);margin:0 auto;padding:30px 30px 66px;display:grid;grid-template-columns:312px 1fr 248px;gap:40px;align-items:start}
.rail{position:sticky;top:22px;align-self:start;padding-right:34px;border-right:1px solid var(--line)}
.aside{position:sticky;top:22px;align-self:start;padding-left:28px;border-left:1px solid var(--line)}
.r-eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:13px}
.r-headline{font-size:31px;line-height:1.12;letter-spacing:-.022em;font-weight:600;margin-bottom:24px}
.blk{padding:16px 0;border-top:1px solid var(--line)}
.blk:first-of-type{border-top:0;padding-top:0}
.blk .lbl{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:9px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags a{font-size:12px;padding:3px 9px;border:1px solid var(--line);border-radius:3px;color:var(--ink);text-decoration:none;transition:.15s}
.tags a:hover{border-color:var(--accent);color:var(--accent)}
.who{display:flex;gap:12px;align-items:flex-start}
.blk .who + .who{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.who .av{width:46px;height:46px;border-radius:6px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--accent-d);flex:none;overflow:hidden}
.who .av img{width:100%;height:100%;object-fit:cover}
.who .nm{font-size:15.5px;font-weight:600;text-decoration:none;display:block;line-height:1.25}
.who .nm:hover{color:var(--accent)}
.who .rl{font-size:13px;color:var(--muted);margin-top:2px}
.who .co{font-size:13px;color:var(--accent-d);text-decoration:none}.who .co:hover{text-decoration:underline}
.who .li{display:inline-flex;margin-top:6px;color:var(--muted)}.who .li:hover{color:var(--accent)}.who .li svg{width:15px;height:15px}
.sharewrap{display:flex;gap:7px;flex-wrap:wrap}
.sharewrap button.sharewrap a{font:inherit;font-size:12.5px;font-weight:500;color:var(--ink);background:var(--panel);border:1px solid var(--line-d);border-radius:4px;padding:6px 11px;cursor:pointer;text-decoration:none;transition:.15s}
.sharewrap button:hover.sharewrap a:hover{border-color:var(--accent);color:var(--accent)}
.watchbtn{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px 14px;transition:.15s}
.watchbtn:hover{border-color:var(--accent)}
.watchbtn .pl{width:30px;height:30px;border-radius:5px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}
.watchbtn .pl svg{width:13px;height:13px;fill:#fff}
.watchbtn .wt{font-size:14px;font-weight:600}
.meta{font-size:13px;color:var(--muted)}
.reading{min-width:0}
.standfirst{font-size:22px;line-height:1.48;color:#3c3a35;margin-bottom:26px}
.reading>.fig:first-of-type{margin:0 0 30px}
.prose>p{margin:0 0 20px;font-size:17.5px;line-height:1.72}
.prose>p.lead.prose>p:first-of-type{font-size:19px;line-height:1.62}
.prose h2{font-size:24px;letter-spacing:-.01em;font-weight:600;margin:36px 0 15px}
.fig{margin:28px 0}
.fig img{width:100%;border-radius:5px;cursor:zoom-in;aspect-ratio:16/9;object-fit:contain;background:var(--bg)}
.fig figcaption{font-size:13px;color:var(--muted);margin-top:9px;line-height:1.5}
.fig figcaption b{color:var(--ink);font-weight:600}
.a-title{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:14px}
.simlist{display:flex;flex-direction:column;gap:0}
.sim{display:block;text-decoration:none;color:inherit;padding:14px 0;border-top:1px solid var(--line)}
.sim:first-child{border-top:0;padding-top:0}
.sim .st{font-size:15px;font-weight:600;line-height:1.25;color:var(--ink);display:block}
.sim:hover .st{color:var(--accent)}
.sim .sdesc{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.45;display:block}
.sim .stg{margin-top:7px;display:flex;gap:5px;flex-wrap:wrap}
.sim .stg span{font-size:10.5px;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:1px 6px}
.colophon{border-top:1px solid var(--line);background:var(--bg)}
.colophon .in{max-width:var(--wide);margin:0 auto;padding:22px 30px;font-size:12.5px;color:var(--muted);line-height:1.6}
.lbx{position:fixed;inset:0;background:rgba(16,18,20,0.92);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out;padding:24px;opacity:0;transition:.18s}
.lbx.on{opacity:1}.lbx img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:4px}
@media(max-width:960px){
 .layout{grid-template-columns:1fr;gap:26px;padding:24px 22px 54px}
 .rail.aside{position:static;max-height:none;border:0;padding:0}
 .rail{border-bottom:1px solid var(--line);padding-bottom:22px}
 .aside{border-top:1px solid var(--line);padding-top:24px}
 .r-headline{font-size:30px}.standfirst{font-size:20px}
}
@media(max-width:480px){
 .layout{padding:18px 16px 44px;gap:22px}
 .masthead{padding:11px 16px}
 .r-headline{font-size:25px}
 .standfirst{font-size:18px;margin-bottom:22px}
 .prose>p.prose>p:first-of-type{font-size:16.5px}
 .prose h2{font-size:21px}
 .colophon .in{padding:20px 16px}
}
/* mobile edge-to-edge: figures full-bleed to screen; text keeps a 16px gutter */
@media (max-width:640px){
.layout{padding-left:0 !important;padding-right:0 !important}
.reading{padding-left:0 !important;padding-right:0 !important}
.prose{padding-left:16px !important;padding-right:16px !important}
.aside{padding-left:16px !important;padding-right:16px !important}
.standfirst{padding-left:16px !important;padding-right:16px !important}
.r-eyebrow.r-headline.blk{padding-left:16px !important;padding-right:16px !important}
.prose>.fig{width:auto !important;margin-left:-16px !important;margin-right:-16px !important;border-radius:0 !important}
.reading>.fig{width:auto !important;margin-left:0 !important;margin-right:0 !important;border-radius:0 !important}
.reading .fig img{border-radius:0 !important}
.reading .fig figcaption{padding-left:16px !important;padding-right:16px !important}
}

.simlist .sim{display:flex;flex-direction:column;gap:10px;align-items:stretch}.simlist .sim .sthumb{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;border-radius:6px;background:var(--bg);display:block}.simlist .sim .sim-txt{min-width:0;display:flex;flex-direction:column;gap:4px}.simlist .sim .sim-txt>.st{display:block}.simlist .sim .sim-txt>.sdesc{display:block}.simlist .sim .sim-txt>.stg{display:flex;flex-wrap:wrap;gap:6px}@media (max-width:960px){.rail>.blk{order:3}main.reading{order:4}.rail>.blk:has(.tags).rail>.blk:has(.sharewrap).rail>.blk:has(.watchbtn){order:5}.aside{order:6}}@media (max-width:640px){.layout{padding-left:0 !important;padding-right:0 !important}.reading{padding-left:0 !important;padding-right:0 !important}.prose{padding-left:16px !important;padding-right:16px !important}.aside{padding-left:16px !important;padding-right:16px !important}.standfirst{padding-left:16px !important;padding-right:16px !important}.r-eyebrow.r-headline.blk{padding-left:16px !important;padding-right:16px !important}.prose>.fig{width:auto !important;margin-left:-16px !important;margin-right:-16px !important;border-radius:0 !important}.reading>.fig{width:auto !important;margin-left:0 !important;margin-right:0 !important;border-radius:0 !important}.reading .fig img{border-radius:0 !important}.reading .fig figcaption{padding-left:16px !important;padding-right:16px !important}body{overflow-x:hidden}}
.tags a.tags .tag.rtag.sim .stg span.chips span.seq .lab.sharewrap a.watch a.go.watchbtn.watch.entoggle.news button.news input.news.sharebtn.sharemenu.sharemenu button.rcard.fcard.gcard.interview.who .av.byline .av.btn.ctags .tag.cta .c.viewall.loadmore.searchwrap .sb.secsearch.fsel.lbx img{border-radius:6px !important}
.hdr-burger{display:none;background:none;border:0;cursor:pointer;padding:4px 6px;font-size:22px;line-height:1;color:inherit}@media (max-width:760px){header.masthead,header.site>div{flex-wrap:wrap!important;align-items:center!important;gap:10px!important}.hdr-burger{display:inline-flex!important;align-items:center;margin-left:auto}header.masthead>a[href$="#latest"]{display:none!important}.hdrnav{display:none!important;order:99;flex-basis:100%;width:100%;flex-direction:column!important;align-items:flex-start!important;margin-left:0!important;gap:14px!important;padding-top:4px}.hdrnav.open{display:flex!important}.hdrnav>span{width:100%;flex:1 1 auto}.hdrnav>span>input{width:100%!important}}
@media(max-width:960px){.aside .simlist .sim{flex-direction:row;gap:13px;align-items:flex-start}.aside .simlist .sim .sthumb{width:120px;min-width:120px;height:84px;aspect-ratio:auto;object-fit:cover;flex:none;border-radius:6px}.aside .simlist .sim .sim-txt{flex:1 1 auto;min-width:0}}
@media(max-width:960px){.hdr-burger{position:relative}.hdr-burger::after{content:"";position:absolute;inset:-10px}.tags a.rtag,a.nm{position:relative}.tags a::after.rtag::after,a.nm::after{content:"";position:absolute;inset:-6px}}
header.masthead{padding:14px 30px!important;background:rgba(239,232,218,0.9)!important;backdrop-filter:saturate(1.1) blur(6px)!important;-webkit-backdrop-filter:saturate(1.1) blur(6px)!important}.db{font-size:28px!important;line-height:1!important;letter-spacing:-.02em!important}.sep{height:26px!important}img.kbi{width:100%!important;height:100%!important;object-fit:cover!important}@media(max-width:760px){header.masthead{padding:11px 16px!important}}@media(max-width:960px){main.reading{order:5!important;padding-bottom:0!important}.rail>.blk{order:6!important}.rail>.blk:nth-of-type(2){order:3!important}.rail>.blk:last-of-type{order:4!important}aside.aside{order:7!important}.hdr-burger{position:relative}.hdr-burger::after{content:"";position:absolute;inset:-10px}.tags a.rtag,a.nm{position:relative}.tags a::after.rtag::after,a.nm::after{content:"";position:absolute;inset:-6px}}
/* In-place English toggle. Carried over from the retired renderer so a
   translated article looks the same as it always has. */
.entoggle{display:inline-flex;align-items:center;gap:7px;margin:0 0 22px;padding:8px 14px;border:1px solid var(--line,#e2ded6);border-radius:6px;background:transparent;font:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--ink,#1c1c1c);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s,color .12s}
.entoggle:hover{background:rgba(0,0,0,.035)}
.entoggle.on{border-color:#ed2a28;color:#ed2a28}
.entoggle svg{width:15px;height:15px;flex:none}
.transnote{margin:-12px 0 24px;font-size:12.5px;line-height:1.55;color:var(--ink,#1c1c1c);opacity:.58;max-width:62ch}
@media(max-width:760px){.entoggle{margin-left:16px}.standfirst,.transnote{padding-left:16px!important;padding-right:16px!important}}

/* ── The weekly briefing, at the top of the aside ──────────────────────────
   The signup as it appears on an article. It sits first in the sticky right
   column, above Similar articles, because that is the only slot on the page
   that is on screen for the whole read: measured across 24 published articles
   at 1440x900, the left rail runs 841px to 1518px and the aside 960px, so
   BOTH columns overflow the window and anything at the bottom of either is
   permanently below the fold. First in a sticky column is the opposite case.

   Compact for the same reason it is short on copy: every pixel here pushes
   Similar articles further down a column that already does not fit.

   Ink rather than paper. Everything else in these columns is furniture about
   the article; this is the one block asking for something, and it has to read
   as a different kind of object or it disappears into the rest. */
.nlcard{background:var(--ink);color:#fff;border-radius:8px;padding:12px 13px;margin:0 0 22px}
.nlcard .k{margin:0 0 6px;font-size:9.5px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:#c99}
.nlcard h2{margin:0 0 9px;color:#fff;font-size:.95rem;line-height:1.25;font-weight:600;
  letter-spacing:-.02em}

.nlcard .form{display:flex;flex-direction:column;gap:5px}
.nlcard input{width:100%;border:1px solid #3a3f47;background:#22252b;color:#fff;
  border-radius:3px;padding:6px 10px;font:inherit;font-size:12.5px}
.nlcard input::placeholder{color:#8b8e93}
.nlcard button{width:100%;border:0;background:#fff;color:var(--ink);border-radius:3px;
  padding:6px 10px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.nlcard button:hover{background:#e7ded0}
.nlcard button[disabled]{opacity:.55;cursor:default}

/* The reply, whether it arrives from the script or from the flash message on
   the no-JavaScript path. */
.nlcard .says{margin:8px 0 0;font-size:11.5px;line-height:1.4}
.nlcard .says.on{color:#9fd8a8}
.nlcard .says.bad{color:#ffa39c}
.nlcard .fine{margin:7px 0 0;font-size:10.5px;line-height:1.4;color:#8b8e93}
/* Shown in place of the form when beehiiv is not configured. */
.nlcard .soon{margin:0;font-size:12px;color:#8b8e93}
.nlcard .soon span{display:inline-block;width:6px;height:6px;border-radius:50%;
  background:#c99;margin-right:7px;vertical-align:middle}

/* The partial's own visually-hidden label class. home.css scopes its copy to
   .news, so the rail needs its own or the label prints above the field. */
.nlcard .vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Below 960 the columns stop being columns: the rail becomes display:contents
   and the aside drops to the end of the page. The card travels with the aside,
   which puts it after the article and above Similar articles - the same
   position relative to its neighbours, and the right one on a phone, where
   there is no sticky anything and the end of the read is the moment to ask. */
@media(max-width:960px){
  .nlcard{margin-bottom:20px}
}
/* ── Pull quotes, for panels ───────────────────────────────────────────────
   A panel has no slides, so it is illustrated by what was said. blockquote.pull
   was already in this file before anything emitted it - the design anticipated
   this and the house rules forbade it, which is why only the accent rule below
   existed. Talks still fold quotation into the sentence.

   The rule is the accent, not a quotation mark: a big grey " is the thing every
   template does, and the site already carries a red rule down the left of the
   article rail. */
.reading blockquote.pull{
  margin:26px 0;padding:0 0 0 22px;border-left:3px solid var(--accent);
}
.reading blockquote.pull p{
  font-size:19px;line-height:1.45;font-weight:500;letter-spacing:-.01em;
  margin:0 0 8px;color:var(--ink);
}
.reading blockquote.pull cite{
  font-style:normal;font-size:12.5px;color:var(--muted);letter-spacing:.02em;
}
.reading blockquote.pull cite::before{content:"— "}

@media (max-width:640px){
  .reading blockquote.pull{margin:22px 0;padding-left:16px}
  .reading blockquote.pull p{font-size:17.5px}
}


/* ── Figures: the credit, and the shape of the box ────────────────────────
   Appended rather than edited in place. Production is known to be ahead of
   version control in this file, so the smaller the diff the less there is to
   lose; these two rules win on source order without touching a line anyone
   else may have changed.

   1. THE CREDIT LOOKED LIKE THE CAPTION.
   .fig__credit is emitted by components/figure.blade.php — so on recaps and
   on contributions alike — and article.css had no rule for it at all. It
   inherited the caption's 13px and the caption's colour, inline, so
   "The same alloy, twenty years apart. Tomás Ferreira" read as one sentence
   with a name tacked on. A credit is a different kind of statement from a
   caption: the caption says what you are looking at, the credit says whose
   it is. Its own line, smaller, and a shade lighter says that without
   needing a label.

   2. A WIDE PICTURE LEFT A GAP BEFORE ITS CAPTION.
   .fig img was locked to aspect-ratio:16/9 with object-fit:contain, which
   was right for the case it was written for — a portrait photograph shown
   whole rather than cropped, with the page colour either side of it. But it
   applies to every shape, and a picture WIDER than 16:9 — a logo, a long
   elevation, a panorama — is then letterboxed instead: the image sits in the
   middle of a taller box with page colour above and below, and the caption
   appears after that dead space rather than under the picture.

   height:auto lets a wide picture be as short as it is. max-height keeps the
   original intention for the tall ones: a portrait photograph is capped, and
   object-fit:contain still shows it whole with the colour either side. So
   the letterbox only ever happens where it was wanted. */
.fig figcaption .fig__credit{display:block;margin-top:5px;font-size:11.5px;
  line-height:1.45;letter-spacing:.01em;color:var(--faint)}

.fig img{aspect-ratio:auto;height:auto;max-height:min(78vh,620px);
  object-fit:contain;background:var(--bg)}
