/* Inter (SIL Open Font License, free on Google Fonts), embedded so it always loads. Variable font: every weight from 100 to 900. */
/* Figtree (SIL Open Font License, free on Google Fonts), embedded: display font for section headings */
/* Layout: white editorial page on an 8px grid; hairlines separate sections, one tinted band (newsletter), images with small radii, a single blue accent. Type: Inter (embedded) for everything. */
:root{
  --bg:#ffffff; --alt:#f5f5f7; --sunken:#f5f5f7; --fg:#1d1d1f; --fg2:#3f4048; --muted:#5f6067; --line:#e8e8ed; --line-strong:#d2d2d7;
  --accent:#1f4fd1; --accent-fg:#ffffff; --accent-soft:#eef2fd; --danger:#b42318; --ok:#1a7f45;
  --l1:94%; --l2:84%; --l3:64%; --l4:44%;
  --tint-s:62%; --tint-l:96.5%; --tint-b:88%; --tint-h:94%; --ink-s:65%; --ink-l:29%;
  --font-display:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-text:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-serif:var(--font-text);
  --r-img:6px; --r-lg:10px;
  --top:env(safe-area-inset-top,0px);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0b0b0d; --alt:#161618; --sunken:#1c1c1f; --fg:#f5f5f7; --fg2:#c9c9cf; --muted:#a1a1a8; --line:#2a2a2e; --line-strong:#3a3a40;
  --accent:#86a2ff; --accent-fg:#0b0d14; --accent-soft:#1a2140; --danger:#ff8a80; --ok:#5fd394;
  --l1:16%; --l2:25%; --l3:44%; --l4:66%;
  --tint-s:26%; --tint-l:13%; --tint-b:22%; --tint-h:16%; --ink-s:80%; --ink-l:76%;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#0b0b0d; --alt:#161618; --sunken:#1c1c1f; --fg:#f5f5f7; --fg2:#c9c9cf; --muted:#a1a1a8; --line:#2a2a2e; --line-strong:#3a3a40;
  --accent:#86a2ff; --accent-fg:#0b0d14; --accent-soft:#1a2140; --danger:#ff8a80; --ok:#5fd394;
  --l1:16%; --l2:25%; --l3:44%; --l4:66%;
  --tint-s:26%; --tint-l:13%; --tint-b:22%; --tint-h:16%; --ink-s:80%; --ink-l:76%;
  color-scheme:dark;
}
html{scroll-padding-top:88px}
body{background:var(--bg);color:var(--fg);font-family:var(--font-text);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga"}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.015em}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
[tabindex="-1"]:focus{outline:none}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:99;background:var(--accent);color:var(--accent-fg);padding:12px 16px;border-radius:8px;font-weight:600}
.skip:focus{top:calc(var(--top) + 12px)}

/* Wordmark: the name with a cursor-like accent stroke */
.wordmark{display:inline-flex;align-items:baseline;font-family:var(--font-display);font-weight:700;font-size:23px;letter-spacing:-.04em;line-height:1;color:var(--fg)}
.wordmark i{display:inline-block;width:.46em;height:.13em;background:var(--accent);margin-left:.07em;border-radius:1px}
.brand{display:flex;align-items:center;min-height:44px}

/* Header */
.site{position:sticky;top:var(--top);z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:32px;height:60px}
nav.primary{display:flex;gap:4px;flex:1;min-width:0}
nav.primary a{position:relative;display:flex;align-items:center;min-height:44px;padding-inline:10px;font-size:15px;color:var(--muted);font-weight:500;transition:color .15s}
nav.primary a:hover{color:var(--fg)}
nav.primary a[aria-current="page"]{color:var(--fg)}
nav.primary a[aria-current="page"]::after{content:"";position:absolute;left:10px;right:10px;bottom:-8px;height:2px;background:var(--fg)}
.tools{display:flex;align-items:center;gap:4px;margin-left:auto}
.search-btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;min-width:44px;padding-inline:10px;border-radius:8px;color:var(--fg);font-size:15px;font-weight:500;transition:background .15s}
.search-btn:hover,.icon-btn:hover,.icon-btn[aria-expanded="true"]{background:var(--sunken)}
.search-btn kbd{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding-inline:20px;border-radius:999px;font-size:15px;font-weight:600;transition:background .15s,opacity .15s;white-space:nowrap}
.btn.primary{background:var(--accent);color:var(--accent-fg)}
.btn.primary:hover{opacity:.88}
.btn.ghost{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-strong)}
.btn.ghost:hover{background:var(--sunken)}
.tools .sub{min-height:40px;padding-inline:18px;margin-left:8px;font-size:14px}

.panel{border-top:1px solid var(--line);background:var(--bg)}
.panel .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-block:28px 36px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-family:var(--font-text);font-weight:600;margin-bottom:12px}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.topic-grid a,.panel-list a{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:17px;font-weight:500;border-bottom:1px solid var(--line);transition:color .15s}
.topic-grid a:hover,.panel-list a:hover{color:var(--accent)}
.topic-grid .n{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.panel-list{display:grid}
.panel p{color:var(--muted);font-size:15px;margin-bottom:16px;max-width:32ch}

/* Story pieces */
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--fg2)}
.badge{font-weight:600;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.badge::before{content:"·";margin-right:8px;color:var(--muted)}
.meta{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:13px;color:var(--muted);align-items:center}
.meta .by{color:var(--fg);font-weight:500}
.meta time,.meta .rt{font-variant-numeric:tabular-nums;white-space:nowrap}
.media{--sat:44%;position:relative;overflow:hidden;border-radius:var(--r-img);background:var(--sunken);aspect-ratio:3/2;max-width:100%}
.media svg{display:block;width:100%;height:100%}
.b0{fill:hsl(var(--h) var(--sat) var(--l1))}.b1{fill:hsl(var(--h) var(--sat) var(--l2))}.b2{fill:hsl(var(--h) var(--sat) var(--l3))}.b3{fill:hsl(var(--h) var(--sat) var(--l4))}
.k1{fill:none;stroke:hsl(var(--h) var(--sat) var(--l2))}.k2{fill:none;stroke:hsl(var(--h) var(--sat) var(--l4))}.kd{fill:none;stroke:hsl(var(--h) var(--sat) var(--l1))}
.story{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}
.story .go::after{content:"";position:absolute;inset:-4px;border-radius:8px;z-index:1}
.story .go:focus-visible{outline:none}
.story .go:focus-visible::after{outline:2px solid var(--accent);outline-offset:2px}
.story:hover h3 a,.story:hover h2 a,.brief:hover h3 a{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.18em}
.dek{color:var(--fg2);font-size:16px;line-height:1.5;max-width:62ch}

/* Briefs: a timed wire. Filing time in the margin, topic in its own ink, hairlines between items */
.wire{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;border-top:1px solid var(--fg)}
.wire li{border-bottom:1px solid var(--line);min-width:0}
.brief{--h:220;position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:20px;padding-block:18px 22px}
.brief time{font-size:15px;font-weight:600;line-height:20px;font-variant-numeric:tabular-nums;color:var(--fg)}
.brief .b-body{display:grid;gap:6px;min-width:0}
.brief .topic,.ink{font-size:13px;font-weight:600;line-height:20px;color:hsl(var(--h) var(--ink-s) var(--ink-l))}
.brief h3{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.brief p{font-size:15px;line-height:1.5;color:var(--fg2);max-width:54ch}
.brief .go::after{content:"";position:absolute;inset:0}
.brief .go:focus-visible{outline:none}
.brief .go:focus-visible::after{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}
.wire.single{grid-template-columns:minmax(0,1fr);max-width:760px}
.spot{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.spot .media{aspect-ratio:16/10;border-radius:8px}
.spot .text{display:flex;flex-direction:column;gap:12px;min-width:0}
.spot h3{font-size:clamp(26px,2.6vw,34px);line-height:1.12;font-weight:700;letter-spacing:-.022em}
.spot .dek{font-size:18px;line-height:1.5;max-width:44ch}
.kicker.ink{font-size:13px;line-height:20px}
.briefs-list{max-width:860px}
.rail .wire{grid-template-columns:minmax(0,1fr)}
.rail .brief{grid-template-columns:44px minmax(0,1fr);column-gap:12px;padding-block:14px 16px}
.rail .brief p{display:none}
.rail .brief h3{font-size:16px}

/* Ad slots: labelled, plain, fixed reserved height */
.ad{display:flex;flex-direction:column;align-items:center;gap:6px;margin-inline:auto;width:100%}
.ad-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ad-box{width:100%;display:grid;place-items:center;border-radius:4px;background:var(--sunken);overflow:hidden;border:1px dashed var(--line-strong,#d2d2d7)}
.ad-box:has(ins){border:0}
.ad-ph{display:grid;gap:2px;text-align:center;color:var(--muted);font-size:12px;padding:8px}
.ad-ph b{font-weight:500;font-size:12px}
.ad-ph small{font-size:11px;font-variant-numeric:tabular-nums}
.ad-box ins{display:block;width:100%}
.ad-leader .ad-box{max-width:728px;min-height:90px}
.ad-mid .ad-box{max-width:728px;min-height:90px}
.ad-rect .ad-box{max-width:300px;min-height:250px}
.ad-infeed .ad-box{min-height:140px}
.ad-inarticle .ad-box{min-height:250px}
.ad-band{padding-block:8px 40px}
.ad-top{padding-block:16px;border-bottom:1px solid var(--line);max-width:none}
.river li.ad-li{padding-block:24px;border-top:1px solid var(--line)}

/* Hero */
.hero{padding-block:48px 64px}
.dateline{margin-bottom:28px}
.dateline h1{font-size:clamp(26px,2.4vw,32px);font-weight:700;letter-spacing:-.022em;line-height:1.15}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px}
.lead{gap:12px}
.lead .media{aspect-ratio:16/9;border-radius:8px;margin-bottom:8px}
.lead h3{font-size:clamp(32px,3.4vw,48px);line-height:1.05;font-weight:700;letter-spacing:-.03em;text-wrap:balance;max-width:16ch}
.lead .dek{font-family:var(--font-serif);font-size:clamp(18px,1.4vw,20px);line-height:1.5;max-width:52ch;margin-top:4px}
.side{display:flex;flex-direction:column;gap:32px;min-width:0}
.side .pair{display:grid;gap:28px}
.row-story{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:20px;align-items:start}
.row-story .media{aspect-ratio:1}
.row-story .text{display:flex;flex-direction:column;gap:8px;min-width:0}
.row-story h3{font-size:19px;line-height:1.25;font-weight:600}
.also{border-top:1px solid var(--line);padding-top:20px}
.also h2,.sub-h{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-family:var(--font-text);font-weight:600}
.also ul{list-style:none;margin:6px 0 0;padding:0}
.also li+li{border-top:1px solid var(--line)}
.also .story{padding-block:14px;gap:6px}
.also h3{font-size:17px;line-height:1.3;font-weight:600}

/* Sections */
.band{padding-block:72px;border-top:1px solid var(--line)}
.band-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-bottom:32px;flex-wrap:wrap}
.band-head h2{font-size:clamp(26px,2.4vw,32px);font-weight:700;line-height:1.15;letter-spacing:-.022em}
.band-head p{color:var(--muted);font-size:17px;margin-top:8px;max-width:56ch}
.see-all{display:inline-flex;align-items:center;gap:2px;min-height:44px;font-size:15px;font-weight:600;color:var(--accent)}
.see-all:hover{text-decoration:underline;text-underline-offset:.2em}
.see-all .ico{width:16px;height:16px;stroke-width:2}

/* Latest + rail */
.latest-grid,.two-col{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}
.chips{display:flex;gap:0 20px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:8px}
.chip{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:500;color:var(--muted);transition:color .15s}
.chip:hover{color:var(--fg)}
.chip[aria-pressed="true"]{color:var(--fg)}
.chip[aria-pressed="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--fg)}
.chip.dot{--h:220}
.chip.dot::before{background:hsl(var(--h) var(--ink-s) var(--ink-l))}
.river{list-style:none;margin:0;padding:0}
.river li+li{border-top:1px solid var(--line)}
.river .story{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding-block:24px;align-items:start}
.river .text{display:flex;flex-direction:column;gap:8px;min-width:0}
.river h3{font-size:21px;line-height:1.25;font-weight:600;letter-spacing:-.015em}
.river .dek{font-size:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.river-foot{display:flex;align-items:center;gap:16px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}
.river-foot p{color:var(--muted);font-size:14px}
.rail{display:grid;gap:40px}
.rail-card{min-width:0}
.rail-card h2{font-size:24px;line-height:1.15;font-weight:700;letter-spacing:-.02em}
.rail-card .sub{color:var(--muted);font-size:14px;margin-top:6px}
.rank{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--fg)}
.rank li+li{border-top:1px solid var(--line)}
.rank .story{gap:6px;padding-block:18px 20px}
.rank li:first-child .story{padding-top:20px}
@media (max-width:960px){.rank .story h3{text-wrap:balance}}
.rank h3{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.012em;text-wrap:pretty}

/* Category bands: three distinct treatments */
.quad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
.quad h3{font-size:19px;line-height:1.28;font-weight:600}
.quad .media{margin-bottom:6px}
.feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px}
.feature .big{gap:12px}
.feature .big .media{border-radius:8px;margin-bottom:6px}
.feature .big h3{font-size:clamp(24px,2.4vw,32px);line-height:1.12;font-weight:700;letter-spacing:-.022em}
.feature .list{display:flex;flex-direction:column}
.feature .list .row-story{padding-block:20px;grid-template-columns:minmax(0,1fr) 104px}
.feature .list .row-story+.row-story{border-top:1px solid var(--line)}
.feature .list .row-story:first-child{padding-top:0}
.feature .list h3{font-size:18px}
.feature .list .dek{font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.feature.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.feature.flip .big{order:2}
.index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}
.index .row-story{padding-block:24px;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 120px}
.index .row-story:nth-child(-n+2){border-top:0;padding-top:0}

/* Event */
.event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 48px;align-items:center}
#live + #newsletter{margin-top:0}
.event .tag{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--muted)}
.event h2{font-size:clamp(26px,2.4vw,32px);font-weight:700;margin-top:8px;letter-spacing:-.022em;line-height:1.15}
.event p{color:var(--muted);margin-top:8px;max-width:60ch}
.event .facts{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px;font-size:15px;font-weight:500}

/* Newsletter */
#newsletter{border-top:0}
/* Newsletter: deep ink band after Latest news, with an issue-preview detail */
.tone-ink{--bg:#0f1a3a;--sunken:#17234a;--fg:#f5f7ff;--fg2:#c9d2ec;--muted:#a3aed0;--line:#24315a;--line-strong:#3a4a80;--accent:#8fa9ff;--accent-fg:#0b1230;--accent-soft:#1f2d63;--danger:#ffa39b;--ok:#7fe0b4;background:var(--bg);color:var(--fg);color-scheme:dark}
:root[data-theme="dark"] .tone-ink{--bg:#0c1531}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tone-ink{--bg:#0c1531}}
.band.tone-ink{padding-block:72px;border-top:0}
.nl{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px 88px;align-items:center}
.nl-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--accent)}
.nl-eyebrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nl h2{margin-top:12px;font-size:clamp(28px,3vw,40px);line-height:1.08;font-weight:700;letter-spacing:-.028em;max-width:16ch;text-wrap:balance}
.nl-lede{margin-top:14px;font-family:var(--font-text);font-size:19px;line-height:1.5;color:var(--fg2);max-width:44ch}
form.signup{display:grid;gap:14px;margin-top:28px;max-width:620px}
.nl .msg:empty{display:none}
.nl-inline{display:flex;gap:8px;padding:6px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line-strong);transition:border-color .15s,box-shadow .15s}
.nl-inline:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}
.nl-inline input{flex:1 1 auto;min-width:0;height:44px;border:0;background:transparent;color:var(--fg);padding-inline:14px;font-size:17px}
.nl-inline input::placeholder{color:var(--muted);opacity:1}
.nl-inline input:focus{outline:none}
.nl-inline:has(input[aria-invalid="true"]){border-color:var(--danger)}
.nl-inline .btn{flex:none;min-height:44px;padding-inline:24px}
.nl-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border:0;margin:0;padding:0;min-width:0}
.nl-pick legend{float:left;width:100%;font-size:14px;font-weight:500;color:var(--muted);margin:2px 0 8px;padding:0}
.nl-chip{position:relative;display:inline-flex}
.nl-chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.nl-chip span{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding-inline:13px 15px;border-radius:999px;border:1px solid var(--line-strong);font-size:14px;font-weight:500;color:var(--fg2);transition:background .15s,border-color .15s,color .15s}
.nl-chip span::before{content:"";flex:none;width:14px;height:14px;border-radius:4px;border:1.5px solid var(--muted);box-sizing:border-box;transition:background .15s,border-color .15s;background-repeat:no-repeat;background-position:center;background-size:10px 10px}
.nl-chip input:checked+span{background:var(--accent-soft);border-color:var(--accent);color:var(--fg)}
.nl-chip input:checked+span::before{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5.2l2 2L8 3' fill='none' stroke='%230b1230' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.nl-chip:hover span{border-color:var(--accent)}
.nl-chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.nl .fine{color:var(--muted)}
.nl .fine a{color:var(--fg2)}
/* Issue preview */
.nl-art{position:relative;height:300px;max-width:400px;justify-self:end;width:100%}
.nl-card{position:absolute;inset:auto 0 0 0;height:260px;border-radius:14px;background:#fbfcff;color:#1d1d1f;padding:22px 24px;box-shadow:0 24px 48px -20px rgba(0,0,0,.55);display:grid;align-content:start;gap:12px}
.nl-card.back1{transform:translateY(-22px) scale(.94);opacity:.5}
.nl-card.back2{transform:translateY(-42px) scale(.88);opacity:.25}
.nl-card .top{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#5f6067;border-bottom:1px solid #e6e8f0;padding-bottom:12px}
.nl-card .top b{font-size:15px;color:#1d1d1f;letter-spacing:-.01em}
.nl-card .top b i{font-style:normal;color:#1f4fd1}
.nl-card .k{width:56px;height:6px;border-radius:3px;background:#1f4fd1;opacity:.8;margin-top:6px}
.nl-card .l{height:9px;border-radius:5px;background:#e3e7f2}
.nl-card .l.h{height:13px;background:#c9cfdf}
.nl-card .ft{margin-top:2px;font-size:12px;color:#5f6067}
@media (max-width:899px){.nl{grid-template-columns:minmax(0,1fr)}.nl-art{display:none}}
@media (max-width:760px){
  .band.tone-ink{padding-block:48px}
  .nl h2{font-size:28px}
  .nl-lede{font-size:17px}
  form.signup{margin-top:22px}
}
form.signup{container-type:inline-size}
form.signup>*{min-width:0}
.nl-inline input{width:100%}
@container (max-width:26em){
  .nl-inline{flex-direction:column;border-radius:16px;padding:6px}
  .nl-inline .btn{width:100%}
}
.msg{font-size:14px;min-height:1.4em}
.msg.err{color:var(--danger)}
.msg.ok{color:var(--ok);font-weight:500}
.fine{font-size:13px;color:var(--muted)}
.fine a{text-decoration:underline;text-underline-offset:2px}
#newsletter + #home-briefs{border-top:0}

/* Section tones: full-width bands alternate white, light grey and black, like a product page */
.tone-light,.tone-grey,.tone-dark{background:var(--bg);color:var(--fg)}
.tone-light{--bg:#ffffff;--sunken:#f5f5f7;--fg:#1d1d1f;--fg2:#3f4048;--muted:#5f6067;--line:#e8e8ed;--line-strong:#d2d2d7;--accent:#1f4fd1;--accent-fg:#ffffff;--accent-soft:#eef2fd;--l1:94%;--l2:84%;--l3:64%;--l4:44%;--ink-s:65%;--ink-l:29%}
.tone-grey{--bg:#f5f5f7;--sunken:#e8e8ed;--fg:#1d1d1f;--fg2:#3d3e45;--muted:#5a5b62;--line:#dadae0;--line-strong:#c6c6ce;--accent:#1f4fd1;--accent-fg:#ffffff;--accent-soft:#e6ecfc;--l1:93%;--l2:83%;--l3:63%;--l4:43%;--ink-s:65%;--ink-l:28%}
.tone-dark{--bg:#000000;--sunken:#1d1d1f;--fg:#f5f5f7;--fg2:#c7c7cc;--muted:#a1a1a6;--line:#2c2c2e;--line-strong:#424245;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1a2140;--l1:15%;--l2:24%;--l3:44%;--l4:66%;--ink-s:80%;--ink-l:76%;color-scheme:dark}
.band.tone-light,.band.tone-grey,.band.tone-dark{border-top:0}
.ad-band.tone-light,.ad-band.tone-grey,.ad-band.tone-dark{padding-block:8px 48px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tone-light{--bg:#0b0b0d;--sunken:#1c1c1f;--fg:#f5f5f7;--fg2:#c9c9cf;--muted:#a1a1a8;--line:#2a2a2e;--line-strong:#3a3a40;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1a2140;--l1:16%;--l2:25%;--l3:44%;--l4:66%;--ink-s:80%;--ink-l:76%;color-scheme:dark}
:root:not([data-theme="light"]) .tone-grey{--bg:#18181b;--sunken:#242428;--fg:#f5f5f7;--fg2:#c9c9cf;--muted:#a6a6ad;--line:#303035;--line-strong:#404046;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1f2748;--l1:19%;--l2:28%;--l3:46%;--l4:68%;--ink-s:80%;--ink-l:76%;color-scheme:dark}}
:root[data-theme="dark"] .tone-light{--bg:#0b0b0d;--sunken:#1c1c1f;--fg:#f5f5f7;--fg2:#c9c9cf;--muted:#a1a1a8;--line:#2a2a2e;--line-strong:#3a3a40;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1a2140;--l1:16%;--l2:25%;--l3:44%;--l4:66%;--ink-s:80%;--ink-l:76%;color-scheme:dark}
:root[data-theme="dark"] .tone-grey{--bg:#18181b;--sunken:#242428;--fg:#f5f5f7;--fg2:#c9c9cf;--muted:#a6a6ad;--line:#303035;--line-strong:#404046;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1f2748;--l1:19%;--l2:28%;--l3:46%;--l4:68%;--ink-s:80%;--ink-l:76%;color-scheme:dark}

/* Opening section: deep charcoal band that unites the heading and the lead stories */
.tone-charcoal{--bg:#18181b;--sunken:#232327;--fg:#ffffff;--fg2:#c4c4cc;--muted:#a1a1aa;--line:#34343b;--line-strong:#4a4a52;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1f2748;--l1:94%;--l2:84%;--l3:64%;--l4:44%;--ink-s:80%;--ink-l:76%;background:var(--bg);color:var(--fg);color-scheme:dark}
.tone-charcoal .lead .kicker{color:var(--accent)}
.tone-charcoal .media{box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.ad-top:has(+ .hero){border-bottom:0}

/* Header on black: white text and icons, blue Subscribe kept for contrast */
.site-dark{--bg:#000000;--fg:#ffffff;--fg2:#d1d1d6;--muted:#b4b4bc;--line:#2c2c2e;--line-strong:#424245;--sunken:#1d1d1f;--accent:#1f4fd1;--accent-fg:#ffffff;--accent-soft:#1a2140;color:var(--fg);color-scheme:dark}
.site.site-dark{background:#000000;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:#000000}
.site-dark .wordmark i{background:#6f8dff}
.site-dark :focus-visible{outline-color:#86a2ff}
.site-dark .btn.primary:hover{opacity:1;background:#2a5cf0}
.site-dark .topic-grid a:hover,.site-dark .panel-list a:hover{color:#86a2ff}

/* Footer social links and the admin panel */
.social-wrap{margin-top:24px}
.social-wrap .eyebrow{margin-bottom:10px}
.foot .social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.foot .social a{display:grid;place-items:center;min-height:0;width:44px;height:44px;border-radius:50%;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-strong);transition:background .15s,color .15s,box-shadow .15s}
.foot .social a:hover{background:var(--fg);color:var(--bg);box-shadow:inset 0 0 0 1px var(--fg)}
.social svg{width:18px;height:18px;fill:currentColor}
.foot .social.preview a{color:var(--muted);box-shadow:none;border:1px dashed var(--line-strong)}
.foot .social.preview a:hover{color:var(--fg);background:none;border-color:var(--fg)}
.social-note{font-size:13px;color:var(--muted);margin-top:10px;max-width:30ch}
.social-note a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.admin{max-width:760px;display:grid;gap:24px}
.admin-note{font-size:17px;color:var(--fg2);max-width:60ch}
.admin-list{border-top:1px solid var(--fg)}
.admin-row{display:grid;grid-template-columns:44px 120px minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding-block:14px;border-bottom:1px solid var(--line)}
.admin-row .ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-strong)}
.admin-row .ic svg{width:17px;height:17px;fill:currentColor}
.admin-row label{font-weight:600;font-size:16px}
.admin-row input{width:100%;min-width:0;height:44px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);padding-inline:14px;font-size:16px}
.admin-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.admin-row input[aria-invalid="true"]{border-color:var(--danger)}
.admin-row .err{grid-column:3/5;font-size:14px;color:var(--danger)}
.admin-row .clear{min-height:44px;padding-inline:12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--muted)}
.admin-row .clear:hover{color:var(--fg);background:var(--sunken)}
.admin-row .clear[disabled]{visibility:hidden}
.admin-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.admin-status{font-size:15px;min-height:1.4em}
.admin-status.ok{color:var(--ok);font-weight:500}
.admin-status.err{color:var(--danger)}
@media (max-width:640px){
  .admin-row{grid-template-columns:40px minmax(0,1fr) auto}
  .admin-row input{grid-column:1/4}
  .admin-row .err{grid-column:1/4}
}

/* Sponsored articles: their own section, labelled on every card and on the article page */
.sp-label{align-self:flex-start;justify-self:start;display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;padding:6px 9px 5px;border-radius:4px;background:var(--fg);color:var(--bg);white-space:nowrap}
.sp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--fg)}
.sp-head h2{font-size:clamp(26px,2.4vw,32px);font-weight:700;line-height:1.15;letter-spacing:-.022em}
.sp-head p{color:var(--muted);font-size:16px;margin-top:8px;max-width:60ch}
.sp-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}
.sp-feat{gap:14px}
.sp-feat .media{aspect-ratio:16/10;border-radius:8px;margin-bottom:6px}
.sp-feat h3{font-size:clamp(24px,2.4vw,32px);line-height:1.12;font-weight:700;letter-spacing:-.022em}
.sp-feat .dek{font-size:17px;max-width:54ch}
.sp-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
.sp-card{gap:10px}
.sp-card .media{aspect-ratio:3/2;margin-bottom:2px}
.sp-card h3{font-size:17px;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.sp-by{font-size:13px;color:var(--muted)}
.sp-by b{font-weight:600;color:var(--fg)}
.sp-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 16px;border-radius:10px;background:var(--sunken);font-size:15px;color:var(--fg2);max-width:760px}
.sp-disclosure{margin-top:32px;padding:20px 22px;border-radius:10px;background:var(--sunken);font-size:15px;color:var(--fg2);max-width:66ch;display:grid;gap:10px}
.sp-list .story .sp-label{margin-bottom:2px}
@media (max-width:960px){
  .sp-grid{grid-template-columns:minmax(0,1fr);gap:36px}
}
@media (max-width:640px){
  .sp-side{grid-template-columns:minmax(0,1fr);gap:0}
  .sp-card{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px 16px;align-items:start;padding-block:18px;border-top:1px solid var(--line)}
  .sp-card .media{grid-column:2;grid-row:1/4;aspect-ratio:1;margin:0}
  .sp-head{margin-bottom:24px}
}

/* Referral programme: reader programme, kept apart from news and sponsored content */
.rf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:64px;align-items:start}
.rf-tag{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;padding:6px 9px 5px;border-radius:4px;background:var(--accent);color:var(--accent-fg)}
.rf-intro h2{font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1.08;letter-spacing:-.026em;margin-top:16px;max-width:14ch}
.rf-intro p{color:var(--fg2);font-size:18px;line-height:1.5;margin-top:14px;max-width:40ch}
.rf-intro .btn{margin-top:28px}
.rf-head .btn{flex:none}
.rf-tag{align-self:flex-start;justify-self:start}
.rf-feat{gap:12px}
.rf-feat .media{aspect-ratio:3/2;border-radius:8px;margin-bottom:6px}
.rf-feat h3{font-size:clamp(24px,2.4vw,32px);line-height:1.12;font-weight:700;letter-spacing:-.022em}
.rf-feat .dek{font-size:17px}
.rf-row h3{font-size:19px;line-height:1.25;font-weight:600}
.rf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;color:var(--muted)}
.rf-meta .rf-status{grid-column:auto;grid-row:auto}
.rf-grid .list .row-story{padding-block:22px}
.rf-grid .list .row-story:first-child{padding-top:0}
.rf-steps{list-style:none;margin:0;padding:0;counter-reset:rf;border-top:1px solid var(--fg)}
.rf-steps li{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:6px 16px;padding-block:24px;border-bottom:1px solid var(--line)}
.rf-steps li::before{counter-increment:rf;content:"0" counter(rf);font-size:15px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:4px;grid-row:span 2}
.rf-steps h3{font-size:21px;line-height:1.25;font-weight:600;letter-spacing:-.015em}
.rf-steps p{grid-column:2;color:var(--fg2);font-size:15px;line-height:1.5;max-width:52ch}
.rf-status{grid-column:3;grid-row:1;align-self:start;font-size:12px;font-weight:500;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;padding:4px 10px;white-space:nowrap}
.rf-steps .go::after{content:"";position:absolute;inset:0}
.rf-steps .go:focus-visible{outline:none}
.rf-steps .go:focus-visible::after{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.rf-steps li:hover h3 a{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.18em}
.rf-page{max-width:760px;display:grid;gap:8px}
.rf-page section{padding-block:28px;border-top:1px solid var(--line)}
.rf-page h2{font-size:24px;font-weight:700;letter-spacing:-.02em}
.rf-page p{font-size:18px;line-height:1.65;color:var(--fg2);margin-top:10px;max-width:62ch}
.rf-pending{display:inline-flex;margin-top:14px;font-size:13px;font-weight:500;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;padding:4px 12px}
@media (max-width:960px){.rf{grid-template-columns:minmax(0,1fr);gap:36px}}
@media (max-width:640px){
  .rf-steps li{grid-template-columns:36px minmax(0,1fr);padding-block:20px}
  .rf-steps h3{font-size:18px}
  .rf-status{grid-column:2;grid-row:auto;justify-self:start;margin-top:4px}
}

/* Also today: pale accent-tinted strip between the charcoal opening and Latest news */
.tone-tint{--bg:#edf1fa;--sunken:#e1e7f5;--fg:#1d1d1f;--fg2:#3b3e48;--muted:#535866;--line:#d4dbeb;--line-strong:#bcc6dd;--accent:#1f4fd1;--accent-fg:#ffffff;--accent-soft:#dfe6fb;--l1:94%;--l2:84%;--l3:64%;--l4:44%;--ink-s:65%;--ink-l:29%;background:var(--bg);color:var(--fg)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tone-tint{--bg:#121726;--sunken:#1b2133;--fg:#f5f5f7;--fg2:#c9ccd6;--muted:#a3a8b8;--line:#262d42;--line-strong:#363f58;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1f2748;--l1:16%;--l2:25%;--l3:44%;--l4:66%;--ink-s:80%;--ink-l:76%;color-scheme:dark}}
:root[data-theme="dark"] .tone-tint{--bg:#121726;--sunken:#1b2133;--fg:#f5f5f7;--fg2:#c9ccd6;--muted:#a3a8b8;--line:#262d42;--line-strong:#363f58;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1f2748;--l1:16%;--l2:25%;--l3:44%;--l4:66%;--ink-s:80%;--ink-l:76%;color-scheme:dark}
.also-band.tone-tint{padding-block:48px 52px}
.also2{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:0 40px;align-items:start}
.also2-head h2{font-size:24px;line-height:1.15;font-weight:700;letter-spacing:-.02em}
.also2-head p{font-size:15px;line-height:1.45;color:var(--muted);margin-top:8px;max-width:20ch}
.also2-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.also2-list li{padding-inline:28px;border-left:1px solid var(--line-strong);min-width:0}
.also2-list li:last-child{padding-right:0}
.also2 .story{gap:8px}
.also2 .kicker{color:var(--accent)}
.also2 h3{font-size:19px;line-height:1.28;font-weight:600;letter-spacing:-.012em;text-wrap:pretty}
.also2 .dek{font-size:15px;line-height:1.5}
@media (max-width:960px){
  .also2{grid-template-columns:minmax(0,1fr);gap:20px}
  .also2-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .also2-head p{max-width:none;margin-top:0}
  .also2-list{grid-template-columns:minmax(0,1fr)}
  .also2-list li{padding:18px 0;border-left:0;border-top:1px solid var(--line-strong)}
}
@media (max-width:640px){
  .also-band.tone-tint{padding-block:32px 36px}
  .also2-head p{display:none}
  .also2 h3{font-size:18px}
}

/* Reviews: products and claims our reporters tested. No scores or ratings. */
.rv-head .band-head{margin-bottom:40px}
@media (max-width:760px){.rv-head .band-head{margin-bottom:24px}}
.rv-type{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.rv-type span{font-weight:600;letter-spacing:.01em;text-transform:none;font-size:13px;color:var(--muted)}
.rv-type span::before{content:"·";margin-right:8px;color:var(--line-strong)}
.rv-what{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.4;color:var(--fg2)}
.rv-what svg{flex:none;width:16px;height:16px;margin-top:1px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rv-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:start}
.rv-card .media{aspect-ratio:4/3;border-radius:8px}
.rv-card .text{display:grid;gap:8px;justify-items:start}
.rv-card h3{font-size:19px;line-height:1.25;font-weight:600;letter-spacing:-.012em;text-wrap:pretty}
/* Reviews homepage layout: featured review left, compact list beside it */
.rv-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px 56px;align-items:stretch}
.rv-feat{display:flex;flex-direction:column;gap:0}
.rv-feat .media{width:100%;aspect-ratio:16/9;border-radius:12px}
.rv-feat .text{display:grid;gap:12px;justify-items:start;padding-top:24px}
.rv-feat h3{font-size:clamp(26px,2.5vw,34px);line-height:1.1;font-weight:700;letter-spacing:-.025em;text-wrap:balance;max-width:22ch}
.rv-feat .dek{font-family:var(--font-text);font-size:18px;line-height:1.5;color:var(--fg2);max-width:52ch}
.rv-feat .rv-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:4px}
.rv-side{display:flex;flex-direction:column;min-width:0}
.rv-side-label{font-size:13px;font-weight:600;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--fg)}
.rv-rows{list-style:none;margin:0;padding:0}
.rv-rows > li{border-bottom:1px solid var(--line)}
.rv-row{display:grid;grid-template-columns:minmax(0,1fr) 144px;gap:20px;align-items:start;padding-block:22px}
.rv-row .dek{font-size:15px;line-height:1.45;color:var(--fg2)}
.rv-row .media{aspect-ratio:4/3;border-radius:8px;order:2}
.rv-row .text{display:grid;gap:8px;justify-items:start;align-content:start}
.rv-row h3{font-size:18px;line-height:1.28;font-weight:600;letter-spacing:-.012em;text-wrap:pretty}
.rv-row .meta{font-size:13px}
.rv-how{margin-top:auto;padding:20px 22px;border-radius:12px;background:var(--sunken);display:grid;gap:8px}
.rv-how b{font-size:15px;font-weight:600}
.rv-how p{font-size:14px;line-height:1.5;color:var(--fg2)}
.rv-rows + .rv-how{margin-top:auto}
.rv-side .rv-spacer{flex:1 1 24px;min-height:24px}
@media (max-width:1023px){
  .rv-row{grid-template-columns:minmax(0,1fr) 120px}
  .rv-row .dek{display:none}
  .rv-layout{grid-template-columns:minmax(0,1fr);gap:36px}
  .rv-feat{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center}
  .rv-feat .text{padding-top:0}
  .rv-feat h3{font-size:28px}
  .rv-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
  .rv-side .rv-spacer{display:none}
  .rv-how{margin-top:28px}
}
@media (max-width:760px){
  .rv-layout{gap:28px}
  .rv-feat{display:flex;gap:0}
  .rv-feat .text{padding-top:18px;gap:10px}
  .rv-feat h3{font-size:26px}
  .rv-feat .dek{font-size:17px}
  .rv-rows{grid-template-columns:minmax(0,1fr)}
  .rv-row{grid-template-columns:minmax(0,1fr) 104px;gap:16px;padding-block:18px}
  .rv-row h3{font-size:17px}
  .rv-row .dek{display:none}
  .rv-how{margin-top:20px;padding:18px}
}
.rv-page-list{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:900px}
.rv-page-list .rv-card{grid-template-columns:240px minmax(0,1fr)}
.rv-page-list .dek{font-size:16px;color:var(--fg2)}
@media (max-width:760px){.rv-page-list .rv-card{grid-template-columns:112px minmax(0,1fr)}.rv-page-list .dek{display:none}}
.rv-page-list > li{padding-block:28px;border-top:1px solid var(--line)}
.rv-page-list > li:first-child{border-top:0;padding-top:0}
@media (max-width:760px){
  .rv-card{grid-template-columns:112px minmax(0,1fr);gap:16px}
  .rv-card h3{font-size:17px}
  .rv-card .rv-what{display:none}
}

/* Podcasts: soft violet band with a waveform motif; shows a coming-soon state until PODCASTS has entries */
.tone-pod{--bg:#f3f1f8;--sunken:#e9e5f2;--fg:#1d1d1f;--fg2:#41404a;--muted:#5c5a66;--line:#e0dcea;--line-strong:#c9c3d9;--accent:#1f4fd1;--accent-fg:#ffffff;--accent-soft:#e8eafa;--pod:#5a3fc0;--l1:94%;--l2:84%;--l3:64%;--l4:44%;--ink-s:65%;--ink-l:29%;background:var(--bg);color:var(--fg)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tone-pod{--bg:#16141c;--sunken:#211e2a;--fg:#f5f5f7;--fg2:#cfcbd8;--muted:#a7a2b4;--line:#2c2836;--line-strong:#3d3849;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1f2748;--pod:#b3a4ff;--l1:19%;--l2:28%;--l3:46%;--l4:68%;--ink-s:80%;--ink-l:76%;color-scheme:dark}}
:root[data-theme="dark"] .tone-pod{--bg:#16141c;--sunken:#211e2a;--fg:#f5f5f7;--fg2:#cfcbd8;--muted:#a7a2b4;--line:#2c2836;--line-strong:#3d3849;--accent:#86a2ff;--accent-fg:#0b0d14;--accent-soft:#1f2748;--pod:#b3a4ff;--l1:19%;--l2:28%;--l3:46%;--l4:68%;--ink-s:80%;--ink-l:76%;color-scheme:dark}
.band.tone-pod{padding-block:56px;border-top:0}
.pod{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 64px;align-items:center}
.pod-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.pod-head h2{font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.025em}
.pod-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--pod)}
.pod-copy p{margin-top:12px;font-family:var(--font-text);font-size:19px;line-height:1.5;color:var(--fg2);max-width:46ch}
.pod-wave{display:block;width:100%;height:72px;color:var(--pod);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.pod-wave rect{fill:currentColor}
.pod-list{grid-column:1/-1;list-style:none;margin:16px 0 0;padding:28px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.pod-ep{position:relative;display:grid;gap:14px;align-content:start}
.pod-ep .cover{display:block;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--sunken);box-shadow:0 0 0 1px rgba(0,0,0,.04)}
.pod-ep .cover img,.pod-ep .cover svg,.pod-page-cover img,.pod-page-cover svg{display:block;width:100%;height:100%;object-fit:cover}
.pod-ep .cover svg{transition:transform .4s ease}
.pod-ep:hover .cover svg{transform:scale(1.03)}
.pod-txt{display:grid;gap:6px;justify-items:start}
.pod-demo{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pod)}
.pod-ep h3{font-size:17px;line-height:1.25;font-weight:600;letter-spacing:-.01em;text-wrap:pretty}
.pod-ep h3 a::after{content:"";position:absolute;inset:0}
.pod-ep h3 a:focus-visible{outline:none}
.pod-ep h3 a:focus-visible::after{outline:2px solid var(--accent);outline-offset:4px;border-radius:12px}
.pod-ep:hover h3 a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.pod-ep p{font-size:14px;line-height:1.45;color:var(--fg2)}
.pod-ep .meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.pod-ep .listen{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;min-height:40px;font-weight:600;color:var(--pod)}
.pod-ep .listen svg{width:14px;height:14px;fill:currentColor}
.pod-list-3{grid-template-columns:repeat(3,minmax(0,1fr));border-top:0;padding-top:0;margin-top:0}
.pod-list-3 .pod-ep{grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:start}
/* Episode page */
.tone-pod-page{--pod:#5a3fc0}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tone-pod-page{--pod:#b3a4ff}}
:root[data-theme="dark"] .tone-pod-page{--pod:#b3a4ff}
.pod-page{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:48px;align-items:start;margin-bottom:64px}
.pod-page-cover{aspect-ratio:1;border-radius:14px;overflow:hidden}
.pod-page-body{display:grid;gap:16px;max-width:640px}
.pod-page-body h1{font-size:clamp(32px,4vw,48px);line-height:1.06;font-weight:700;letter-spacing:-.03em;text-wrap:balance}
.pod-page-tags{display:flex;gap:16px;align-items:center;font-size:14px;color:var(--muted)}
.pod-page .stand{font-size:20px;line-height:1.45;color:var(--fg2)}
.pod-page .btn svg{width:14px;height:14px;fill:currentColor;margin-right:8px}
.pod-note{font-size:15px;color:var(--muted);padding:14px 16px;border-left:2px solid var(--pod);background:var(--sunken);border-radius:0 6px 6px 0}
@media (max-width:1023px){
  .pod-list{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}
  .pod-ep{grid-template-columns:96px minmax(0,1fr);gap:20px;padding-block:18px;border-bottom:1px solid var(--line);align-items:start}
  .pod-ep:last-child{border-bottom:0;padding-bottom:0}
  .pod-list-3 .pod-ep:first-child{padding-top:0}
  .pod-page{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:32px}
}
@media (max-width:760px){
  .band.tone-pod{padding-block:40px}
  .pod{grid-template-columns:minmax(0,1fr);gap:20px}
  .pod-head h2{font-size:26px}
  .pod-copy p{font-size:17px}
  .pod-wave{height:48px}
  .pod-ep{grid-template-columns:80px minmax(0,1fr);gap:16px}
  .pod-page{grid-template-columns:minmax(0,1fr);gap:24px}
  .pod-page-cover{max-width:220px}
}

/* Events: white band beside Podcasts, with a calendar motif; shows a coming-soon state until EVENTS has entries */
.band.ev-band{padding-block:56px;border-top:0}
.ev{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 64px;align-items:center}
.ev-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.ev-head h2{font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.025em}
.ev-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--accent)}
.ev-copy h3{margin-top:14px;font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.012em}
.ev-copy p{margin-top:8px;font-family:var(--font-text);font-size:19px;line-height:1.5;color:var(--fg2);max-width:46ch}
.ev-cal{display:block;width:100%;max-width:360px;height:auto;justify-self:end;color:var(--accent)}
.ev-cal .d{fill:var(--sunken)}
.ev-cal .w{fill:var(--line-strong)}
.ev-cal .on{fill:currentColor}
.ev-cal .ring{fill:none;stroke:currentColor;stroke-width:1.5}
.ev-list{grid-column:1/-1;list-style:none;margin:8px 0 0;padding:24px 0 0;border-top:1px solid var(--line);display:grid;gap:0}
.ev-list li{display:grid;grid-template-columns:140px minmax(0,1fr);gap:4px 24px;padding-block:16px;border-top:1px solid var(--line)}
.ev-list li:first-child{border-top:0;padding-top:0}
.ev-list time{font-weight:600;font-variant-numeric:tabular-nums}
.ev-list h3{font-size:19px;font-weight:600}
.ev-list p{grid-column:2;font-size:15px;color:var(--fg2)}
@media (max-width:760px){
  .band.ev-band{padding-block:40px}
  .ev{grid-template-columns:minmax(0,1fr);gap:24px}
  .ev-head h2{font-size:26px}
  .ev-copy p{font-size:17px}
  .ev-cal{justify-self:start;max-width:240px}
  .ev-list li{grid-template-columns:minmax(0,1fr)}
  .ev-list p{grid-column:1}
}
/* Neighbouring light bands get a hairline so they stay distinct */
.ev-band + .tone-pod{border-top:1px solid var(--line)}

/* Inner pages */
.page{padding-block:32px 80px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;color:var(--muted);margin-bottom:16px}
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
.crumbs a:hover{color:var(--accent)}
.page-head{display:grid;gap:10px;margin-bottom:32px;max-width:760px}
.page-head h1{font-size:clamp(36px,4.6vw,56px);line-height:1.04;font-weight:700;letter-spacing:-.03em}
.page-head p{color:var(--muted);font-size:19px}
.page-head .count{font-size:14px;font-variant-numeric:tabular-nums}
.two-col .lead h2{font-size:clamp(28px,3vw,40px);line-height:1.08;font-weight:700;letter-spacing:-.025em}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;align-items:start}
.article-head{display:grid;gap:16px;max-width:760px}
.article-head h1{font-size:clamp(34px,4.4vw,54px);line-height:1.06;font-weight:700;letter-spacing:-.03em}
.article-head .stand{font-family:var(--font-serif);font-size:clamp(19px,1.7vw,22px);color:var(--fg2);line-height:1.45}
.byline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-block:16px;border-block:1px solid var(--line);margin-top:8px}
.who{display:flex;align-items:center;gap:12px;min-width:0}
.who>div{min-width:0}
.who .meta time{white-space:normal}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sunken);color:var(--fg);font-weight:700;font-size:15px;flex:none}
.avatar.lg{width:72px;height:72px;font-size:24px}
.who a{font-weight:600;display:inline-block;padding-block:12px;margin-block:-12px}
.author-box a.name{display:inline-block;padding-block:12px;margin-block:-12px}
.who a:hover{color:var(--accent)}
.who .meta{margin-top:2px}
.share{display:flex;gap:4px;flex-wrap:wrap}
.share a,.share button{display:inline-flex;align-items:center;min-height:44px;padding-inline:12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--muted)}
.share a:hover,.share button:hover{color:var(--fg);background:var(--sunken)}
figure{margin:0}
.article-fig{margin-block:28px 8px}
.article-fig .media{aspect-ratio:16/9;border-radius:8px}
figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.prose{display:grid;gap:24px;max-width:66ch;margin-top:28px;font-family:var(--font-serif);font-size:20px;line-height:1.65}
.prose .ad{margin-block:8px;font-family:var(--font-text)}
.filed{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:36px;font-size:14px;color:var(--muted)}
.filed a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-weight:600}
.author-box{display:flex;gap:16px;align-items:flex-start;margin-top:24px;padding-block:24px;border-block:1px solid var(--line);max-width:66ch}
.author-box p{color:var(--muted);font-size:15px;margin-top:4px}
.author-box a.name{font-weight:600;font-size:17px}
.author-box a.name:hover{color:var(--accent)}
.related{margin-top:56px}
.related h2{font-size:26px;font-weight:700;margin-bottom:24px;letter-spacing:-.02em}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.trio h3{font-size:18px;line-height:1.3;font-weight:600}
.cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding:28px 32px;border-radius:var(--r-lg);background:var(--alt)}
.cta b{font-size:18px;display:block}
.cta span{color:var(--muted);font-size:15px}
.static{max-width:66ch;display:grid;gap:20px;font-size:18px;line-height:1.65}
.static h2{font-size:22px;margin-top:12px}
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin-top:8px}
.team a{display:flex;gap:12px;align-items:center;padding-block:14px;border-bottom:1px solid var(--line)}
.team a:hover b{color:var(--accent)}
.team b{display:block;font-size:16px}
.team small{color:var(--muted);font-size:13px}
.notfound{padding-block:112px;text-align:center;display:grid;gap:16px;justify-items:center}
.notfound h1{font-size:44px;letter-spacing:-.03em}
.notfound p{color:var(--muted);max-width:44ch}

/* Footer */
footer{background:var(--alt);border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:1.1fr 1fr 1.15fr .95fr 1.2fr;gap:32px;padding-block:56px 32px}
.foot>div>p{color:var(--muted);font-size:15px;margin-top:14px;max-width:34ch}
.foot ul{list-style:none;margin:0;padding:0;display:grid}
.foot li a{display:flex;align-items:center;min-height:40px;padding-block:6px;line-height:1.3;font-size:15px;color:var(--fg);transition:color .15s}
.foot li a:hover{color:var(--accent)}
.contact{display:grid;gap:12px}
.contact div{font-size:14px}
.contact span{display:block;color:var(--muted);font-size:13px}
.contact code{font-family:var(--font-text);font-size:14px;font-weight:500;user-select:all;overflow-wrap:anywhere}
.legal{display:flex;justify-content:space-between;align-items:center;gap:8px 24px;flex-wrap:wrap;padding-block:12px 24px;border-top:1px solid var(--line-strong);font-size:13px;color:var(--muted)}
.legal nav{display:flex;gap:4px 24px;flex-wrap:wrap}
.legal a{display:inline-flex;align-items:center;min-height:44px}
.legal a:hover{color:var(--fg)}

/* Dialog */
dialog{border:0;padding:0;background:var(--bg);color:var(--fg);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);width:min(640px,calc(100% - 32px));max-height:calc(100% - 48px)}
dialog::backdrop{background:rgba(0,0,0,.4)}
#search{margin-top:min(12vh,96px);margin-bottom:auto}
.s-head{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 20px;border-bottom:1px solid var(--line)}
.s-head input{flex:1;min-width:0;border:0;background:none;font-size:19px;height:48px}
.s-head input:focus{outline:none}
.s-body{max-height:min(60vh,520px);overflow:auto;padding:8px}
.s-label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding:12px 12px 6px}
.s-results{list-style:none;margin:0;padding:0}
.s-results a{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center;padding:10px 12px;border-radius:8px}
.s-results a[aria-selected="true"],.s-results a:hover{background:var(--sunken)}
.s-results .media{aspect-ratio:1}
.s-results b{display:block;font-size:16px;font-weight:600;line-height:1.3}
.s-results small{color:var(--muted);font-size:13px}
.s-topics{display:flex;flex-wrap:wrap;gap:4px 16px;padding:0 12px 12px}
.s-topics a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:500;color:var(--accent)}
.s-foot{display:flex;gap:16px;padding:10px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.s-foot kbd{font-family:inherit;border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-right:4px}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);transform:translate(-50%,0);background:var(--fg);color:var(--bg);padding:12px 18px;border-radius:10px;font-size:15px;font-weight:500;opacity:0;pointer-events:none;transition:opacity .2s;z-index:80;max-width:calc(100% - 32px)}
.toast.show{opacity:1}


/* Hero balance: side stories share the lead's height; Also today runs full width */
.hero .side{display:flex;flex-direction:column;gap:24px}
.hero .side .row-story+.row-story{border-top:1px solid var(--line);padding-top:24px}
.hero .side .row-story .dek{font-size:15px}
.also-band{padding-block:40px 64px}
.also-band .also{margin-top:0;border-top:0;padding-top:0}
.also-band .also ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) calc((100% - 48px) / 2.6);column-gap:24px}
.also-band .also li:nth-child(2){padding-right:24px}
.also-band .also li+li{border-top:0}
.also-band .also .story{padding-block:10px 0}
@media (max-width:960px){.also-band .also ul{grid-template-columns:minmax(0,1fr)}.also-band .also li:nth-child(2){padding-right:0}.also-band .also li+li{border-top:1px solid var(--line)}.also-band .also .story{padding-block:14px}.hero .side{gap:20px}.hero .side .row-story+.row-story{padding-top:20px}}
@media (max-width:640px){.hero .side .row-story .dek{display:none}}

/* Responsive */
@media (max-width:1180px){
  .quad{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot>div:first-child{grid-column:1/-1}
  .team{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .hero-grid,.latest-grid,.two-col,.feature,.feature.flip,.news,.article-grid,.index{grid-template-columns:minmax(0,1fr)}
  .feature.flip .big{order:0}
  .index .row-story:nth-child(2){border-top:1px solid var(--line);padding-top:24px}
  .hero-grid{gap:40px}
  .rail .ad-rect{display:none}
  .panel .wrap{grid-template-columns:minmax(0,1fr);gap:28px}
  .event{grid-template-columns:minmax(0,1fr)}
  .spot{grid-template-columns:minmax(0,1fr);gap:20px;padding-bottom:32px;margin-bottom:32px}
  .wire{grid-template-columns:minmax(0,1fr)}
  .article-grid .rail{display:none}
  .trio{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news{gap:32px}
}
@media (max-width:640px){
  body{font-size:16px}
  .bar{gap:8px;height:56px}
  .search-btn .lbl,.icon-btn .lbl,.tools .sub{display:none}
  .wordmark{font-size:21px}
  .hero{padding-block:36px 44px}
  .also-band{padding-block:28px 40px}
  .dateline h1{font-size:26px}
  .dateline{margin-bottom:20px}
  .lead h3{font-size:30px}
  .band{padding-block:48px}
  .band-head{margin-bottom:24px}
  .band-head p{font-size:16px}
  .river .story{grid-template-columns:minmax(0,1fr) 96px;gap:16px;padding-block:20px}
  .river .media{order:2;aspect-ratio:1}
  .river .dek{display:none}
  .river h3{font-size:18px}
  .river .by,.river .by+.sep{display:none}
  .row-story,.index .row-story,.feature .list .row-story{grid-template-columns:minmax(0,1fr) 96px;gap:16px}
  .row-story h3,.feature .list h3{font-size:18px}
  .quad,.trio,.team{grid-template-columns:minmax(0,1fr)}
  .brief{grid-template-columns:44px minmax(0,1fr);column-gap:14px}
  .quad{gap:32px}
  .quad .story{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:4px 16px;align-items:start}
  .quad .media{grid-column:2;grid-row:1/4;aspect-ratio:1;margin:0}
  .quad h3{font-size:18px}
  .index .dek,.feature .list .dek{display:none}
  .spot .dek{font-size:17px}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:0;box-shadow:inset 0 -1px 0 var(--line);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .chips::after{content:"";flex:none;width:24px}
  .chip[aria-pressed="true"]::after{bottom:0}
  .contact code{font-size:13px}
  .foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .topic-grid{grid-template-columns:minmax(0,1fr)}
  dialog{width:calc(100% - 16px);max-height:calc(100% - 24px)}
  #search{margin-top:12px}
  .ad-leader .ad-box{max-width:320px;min-height:100px}
  .ad-mid .ad-box{max-width:300px;min-height:250px}
  .ad-infeed .ad-box{min-height:120px}
  .prose{font-size:19px}
  .news h2{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* ===== Type system: TechCrunch "tc-24" theme tokens (from techcrunch.com/wp-content/themes/tc-24/theme.json)
   Sizes are TechCrunch's own fluid clamp() values in rem, so they also follow the reader's browser text size.
   TechCrunch sets everything in NB International Pro (licensed); Inter (free, embedded) stands in.
   Captions use TechCrunch's mono role; NB International Mono is licensed, so the system monospace font stands in. ===== */
:root{
  --tc-33-57:clamp(2.0625rem,1.4914rem + 2.4365vi,3.5625rem);
  --tc-28-40:clamp(1.75rem,1.4645rem + 1.2183vi,2.5rem);
  --tc-23-33:clamp(1.4375rem,1.1996rem + 1.0152vi,2.0625rem);
  --tc-19-28:clamp(1.1875rem,0.9734rem + 0.9137vi,1.75rem);
  --tc-19-23:clamp(1.1875rem,1rem + 0.5vw,1.4375rem);
  --tc-16-23:clamp(1rem,0.8334rem + 0.7107vi,1.4375rem);
  --tc-16-19:clamp(1rem,0.9286rem + 0.3046vi,1.1875rem);
  --tc-19:1.1875rem;--tc-16:1rem;--tc-13:0.8125rem;--tc-11:0.6875rem;
  --tc-lh-head:1.15;--tc-lh-sub:1.2;--tc-lh-body:1.4;
  --tc-ls-head:-0.5px;--tc-ls-nav:1px;--tc-ls-caption:0.5px;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}
@media (min-width:64em){:root{--tc-lh-head:1.1}}
body{font-size:var(--tc-19);line-height:var(--tc-lh-body);font-weight:400}
h1,h2,h3,h4,h5,h6{letter-spacing:var(--tc-ls-head)}

/* H1 role: page and article titles */
.page-head h1,.article-head h1,.pod-page-body h1,.notfound h1{font-size:var(--tc-33-57);line-height:var(--tc-lh-head);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* Main featured headline (homepage lead) uses the same H1 scale */
.lead h3{font-size:var(--tc-33-57);line-height:var(--tc-lh-head);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* H2 role: section headings */
.dateline h1,.band-head h2,.sp-head h2,.rf-intro h2,.nl h2,.pod-head h2,.ev-head h2,.related h2,.event h2,.two-col .lead h2{font-size:var(--tc-28-40);line-height:var(--tc-lh-head);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* H3 role: secondary featured headlines and inner-page subheads */
.spot h3,.feature .big h3,.sp-feat h3,.rf-feat h3,.rv-feat h3,.rf-page h2{font-size:var(--tc-23-33);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* H4 role: compact section headings */
.also2-head h2,.rail-card h2,.static h2{font-size:var(--tc-19-28);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* H5 role: standard story headlines */
.river h3,.row-story h3,.rf-row h3,.rv-card h3,.rf-steps h3,.ev-copy h3,.ev-list h3{font-size:var(--tc-16-23);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* Small list headlines */
.rank h3,.brief h3,.rail .brief h3,.feature .list h3,.sp-card h3,.rv-row h3,.pod-ep h3,.also h3,.s-results b,.quad h3,.also2 h3,.trio h3{font-size:var(--tc-16-19);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* Body-1 (19px): stand-firsts, lead excerpts, section intros, article text */
.lead .dek,.article-head .stand,.pod-page .stand,.page-head p:not(.count),.rf-intro p,.nl-lede,.pod-copy p,.ev-copy p,.rv-feat .dek,.spot .dek,.prose,.static,.rf-page p,.admin-note{font-family:var(--font-text);font-size:var(--tc-19);line-height:var(--tc-lh-body)}
/* Body-2 (16px): card excerpts and short descriptions */
.dek,.river .dek,.brief p,.feature .list .dek,.also2 .dek,.rv-row .dek,.pod-ep p,.sp-feat .dek,.rf-feat .dek,.band-head p,.sp-head p,.also2-head p,.hero .side .row-story .dek,.rf-steps p,.ev-list p,.rv-how p,.rv-page-list .dek,.author-box p,.foot>div>p,.panel p:not(.eyebrow),.pod-note,.cta span,.sp-banner,.sp-disclosure,.team b,.toast,.msg,.rv-how b{font-size:var(--tc-16);line-height:var(--tc-lh-body)}
/* Body-3 (13px): metadata, bylines, dates, kickers, small labels */
.meta,.kicker,.kicker.ink,.brief time,.brief .topic,.ink,.sp-by,.rf-meta,.rv-type span,.rv-what,.pod-ep .meta,.rv-row .meta,.fine,.crumbs,.s-results small,.filed,.team small,.legal,.page-head .count,.rail-card .sub,.river-foot p,.contact span,.contact div,.contact code,.pod-page-tags,.nl-eyebrow,.pod-status,.ev-status,.rv-side-label,.topic-grid .n,.social-note,.nl-pick legend,.rf-status,.rf-pending{font-size:var(--tc-13);line-height:var(--tc-lh-body)}
/* Body-4 (11px): uppercase labels */
.sp-label,.rf-tag,.pod-demo,.badge,.rv-type,.eyebrow,.s-label,.ad-label,.event .tag,.also h2,.sub-h{font-size:var(--tc-11);letter-spacing:var(--tc-ls-caption)}
/* Captions: TechCrunch mono role */
figcaption{font-family:var(--font-mono);font-size:var(--tc-11);letter-spacing:var(--tc-ls-caption);line-height:var(--tc-lh-body)}
/* Navigation and dropdown menu: 16px regular, 1px tracking, 1.4 line height */
nav.primary a,.search-btn,.icon-btn,.topic-grid a,.panel-list a,.foot li a,.s-topics a{font-size:var(--tc-16);font-weight:400;line-height:var(--tc-lh-body);letter-spacing:var(--tc-ls-nav)}
nav.primary a[aria-current="page"]{font-weight:500}
/* Buttons: 13px on phones, 16px from 48em, regular weight */
.btn,.tools .sub,.chip,.share a,.share button,.nl-chip span,.admin-row .clear,.see-all,.listen{font-size:var(--tc-13);font-weight:400;letter-spacing:0}
@media (min-width:48em){.btn,.tools .sub,.chip,.share a,.share button,.nl-chip span,.admin-row .clear,.see-all,.listen{font-size:var(--tc-16)}}
.btn.primary{font-weight:500}
/* Forms: labels and inputs at 16px regular */
.nl-inline input,.admin-row input,.admin-row label,.field label,legend,.admin-status,.admin-row .err{font-size:var(--tc-16);font-weight:400}
.s-head input{font-size:var(--tc-19)}
/* Newsletter title role: TechCrunch signup-item title 19 to 23, bold */
.cta b{font-size:var(--tc-19-23);font-weight:700}
/* Consistent corners: 6px thumbnails, 8px large images and covers, 10px panels */
.rv-feat .media,.pod-ep .cover,.pod-page-cover{border-radius:8px}
.rv-card .media,.rv-row .media{border-radius:var(--r-img)}
.rv-how,.nl-card,.sp-banner,.sp-disclosure{border-radius:var(--r-lg)}
.pod-ep h3 a:focus-visible::after{border-radius:10px}
/* Larger browser text sizes: let labels wrap instead of overflowing */
.btn{white-space:normal;text-align:center;max-width:100%}
.tools .sub{white-space:nowrap}
.rf-status{white-space:normal;max-width:100%}
.nl-chip,.nl-chip span{max-width:100%}
.nl-chip span{white-space:normal}
@media (max-width:640px){.foot>div:has(.contact){grid-column:1/-1}}
/* Advertising: reserved space limits layout shift; unfilled units collapse only when off screen (AdSense guidance) */
.ad-top{padding-block:24px 20px}
.ad-after{margin-block:40px 8px;padding-top:32px;border-top:1px solid var(--line)}
@media (min-width:961px){.ad-after{display:none}.ad-top-cat:has(~ * .rail .ad){display:none}}
.ad-label{color:var(--muted);letter-spacing:var(--tc-ls-caption)}
ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important}
.ad.ad-collapsed,.ad-band:has(.ad-collapsed){display:none}
.ad.ad-empty .ad-label{visibility:hidden}
.ad.ad-empty .ad-box{background:transparent}
@media (max-width:640px){.toast{bottom:auto;top:calc(var(--top,0px) + 68px)}}
/* Empty category state */
.cat-empty{font-size:var(--tc-16);line-height:var(--tc-lh-body);color:var(--fg2);max-width:56ch;padding:20px 0 4px;border-top:1px solid var(--line)}
.band.cat-empty-band{padding-block:56px}
.cat-empty-band .band-head{margin-bottom:20px}
@media (max-width:760px){.band.cat-empty-band{padding-block:40px}}
/* Also today: standard white section with three image cards, matching the homepage card system */
.also3-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.also3 .story{gap:10px}
.also3 .media{aspect-ratio:3/2;margin-bottom:6px}
.also3 h3{font-size:var(--tc-16-23);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
@media (max-width:760px){
  .also3-list{grid-template-columns:minmax(0,1fr);gap:0}
  .also3-list li{padding-block:20px;border-top:1px solid var(--line)}
  .also3-list li:first-child{border-top:0;padding-top:0}
  .also3 .story{display:grid;grid-template-columns:minmax(0,1fr) 104px;column-gap:16px;row-gap:8px;align-items:start}
  .also3 .story>*{grid-column:1}
  .also3 .story .media{grid-column:2;grid-row:1/span 4;aspect-ratio:1;margin:0}
}
.static p a:not(.btn){color:var(--accent);text-decoration:underline;text-underline-offset:2px}
/* Read more link inside cards (the whole card is the link; this is the visible cue) */
.read-more{display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-size:var(--tc-13);font-weight:500;color:var(--accent)}
.read-more svg{width:14px;height:14px}
.story:hover .read-more{text-decoration:underline;text-underline-offset:3px}
@media (min-width:48em){.read-more{font-size:var(--tc-16)}}
.demo-note{margin:16px 0 4px;padding:12px 16px;border-radius:var(--r-lg);background:var(--sunken);font-size:var(--tc-16);line-height:var(--tc-lh-body);color:var(--fg2);max-width:760px}
.prose h2{font-size:var(--tc-23-33);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head);margin:32px 0 4px}
/* Single published article: image and text side by side */
.feature.solo{grid-template-columns:minmax(0,1fr)}
.feature.solo .big{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:40px;row-gap:12px;align-content:center}
.feature.solo .big .media{grid-row:1/span 5}
.feature.solo .big>*:not(.media){grid-column:2}
@media (max-width:760px){.feature.solo .big{display:flex}}
.feature.duo .side-card{gap:10px}
.feature.duo .side-card .media{aspect-ratio:3/2;margin-bottom:6px}
.feature.duo .side-card h3{font-size:var(--tc-16-23);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
.feature.duo{align-items:start}
/* Section with no published articles yet: heading row only */
.band.cat-head-only{padding-block:56px 32px}
.cat-head-only .band-head{margin-bottom:0}
@media (max-width:760px){.band.cat-head-only{padding-block:40px 24px}}
/* Row of smaller cards under a featured block */
.cat-more{list-style:none;margin:40px 0 0;padding:32px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:40px 32px}
.cat-more .story{gap:10px}
.cat-more .media{aspect-ratio:3/2;margin-bottom:6px}
.cat-more h3{font-size:var(--tc-16-19);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
.cat-more-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cat-more-top{margin-top:0;padding-top:0;border-top:0}
.cat-spot{padding-bottom:0;margin-bottom:0;border-bottom:0}
@media (max-width:760px){
  .cat-more{grid-template-columns:minmax(0,1fr);gap:0;margin-top:8px;padding-top:0;border-top:0}
  .cat-more li{padding-block:20px;border-top:1px solid var(--line)}
  .cat-more .story{display:grid;grid-template-columns:minmax(0,1fr) 96px;column-gap:16px;row-gap:8px;align-items:start}
  .cat-more .story>*{grid-column:1}
  .cat-more .story .media{grid-column:2;grid-row:1/span 4;aspect-ratio:1;margin:0}
  .cat-more .dek{display:none}
}
/* Header: full navigation only where it fits without crowding; below that, everything moves into the Menu panel */
@media (max-width:1139px){nav.primary{display:none}}
.panel{max-height:calc(100dvh - var(--top,0px) - 60px);overflow-y:auto;overscroll-behavior:contain}
@media (max-width:640px){
  .panel{max-height:calc(100dvh - var(--top,0px) - 56px)}
  .panel .wrap{padding-block:20px 28px}
  .topic-grid{grid-template-columns:minmax(0,1fr)}
}

/* ==========================================================================
   FINAL LAYER: layout, type and image rules only. Colours and backgrounds
   come from the original theme above (no colour overrides here).
   ========================================================================== */
:root{--tc-11:.75rem}
/* Long single words in headings wrap instead of overflowing (200% text zoom) */
h1,h2,h3{overflow-wrap:break-word;hyphens:manual}
.band-head>div{min-width:0}

/* Article view: same reading sizes as the finished article page */
.prose{font-size:19px;line-height:1.65;max-width:700px}
.prose p{font-size:inherit;line-height:inherit}
.prose h2{font-size:clamp(1.75rem,1.4645rem + 1.2183vi,2.5rem);line-height:1.15;letter-spacing:-.5px}
.article-fig figcaption{font-size:16px;line-height:1.45}
.author-box p{font-size:17px;line-height:1.5}
.ad-ph small{font-size:12px}
@media (max-width:760px){.prose{font-size:18px}}

/* Newsletter form on phones: field and button stacked full width (original colours) */
@media (max-width:480px){
  .nl-inline{flex-direction:column;gap:10px;padding:0;border:0;border-radius:0;background:transparent}
  .nl-inline:focus-within{outline:none}
  .nl-inline input{flex:none;height:52px;border:1px solid var(--line-strong);border-radius:12px;background:rgba(255,255,255,.06);padding-inline:16px}
  .nl-inline input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .nl-inline .btn{width:100%;min-height:52px;border-radius:12px}
}

/* Images: every placement shows the demo photo, cropped to its frame, never stretched */
.media img,.pod-ep .cover img,.pod-page-cover img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.pod-ep .cover,.pod-page-cover{position:relative;overflow:hidden}
.article-fig figcaption .credit{display:block;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.article-fig figcaption .credit b{color:var(--fg2)}

/* Footer layout (colours from the original theme) */
.foot{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr) minmax(max-content,1.2fr);gap:40px 32px;padding-block:64px 40px}
.foot .wordmark{font-size:26px}
.foot>div>p{font-size:16px;margin-top:12px;max-width:34ch;line-height:1.5}
.foot h2.eyebrow{font-size:19px;line-height:1.2;font-weight:700;letter-spacing:-.3px;text-transform:none;color:var(--fg);margin-bottom:12px}
.foot .social-wrap .eyebrow{font-size:16px;line-height:1.2;font-weight:700;letter-spacing:-.3px;text-transform:none;color:var(--fg);margin-bottom:10px}
.foot li a{min-height:40px;font-size:16px}
.social-wrap{margin-top:28px}
.foot .social{gap:10px}
.contact{gap:10px}
.contact span{margin-bottom:2px}
.contact a{display:inline-flex;align-items:center;min-height:40px;font-size:16px;font-weight:500;color:var(--fg);overflow-wrap:break-word}
.contact a:hover{color:var(--accent)}
@media (max-width:1023px){
  .foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px;padding-block:56px 36px}
  .foot>div:first-child{grid-column:1/-1}
  .foot>div:first-child>p{max-width:52ch}
}
@media (max-width:760px){
  .foot{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:48px 28px}
  .foot>div+div{padding-top:28px;border-top:1px solid var(--line-strong)}
  .foot li a{min-height:44px}
  .foot ul.two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
  .legal{flex-direction:column;align-items:flex-start;gap:4px;padding-block:16px 28px}
  .legal nav{flex-direction:column;gap:0}
}

/* ---------- Section layouts (homepage bands) ---------- */
.story.big .text,.story.wide .text{display:flex;flex-direction:column;gap:10px;min-width:0}
.story.big .media,.story.wide .media{border-radius:8px}
.lead-list{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:48px;align-items:start}
.lead-list.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr)}
.lead-list.flip>.big{order:2}
.lead-list .big{gap:14px}
.hl-list{list-style:none;margin:0;padding:0;display:grid}
.hl-list>li+li{border-top:1px solid var(--line)}
.hl-list .hl{gap:8px;padding-block:20px}
.hl-list>li:first-child .hl{padding-top:0}
.lead-wide{display:grid;gap:40px}
.story.wide{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:center}
.story.wide .media{aspect-ratio:16/10}
.trio-cards{list-style:none;margin:0;padding:32px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.card-sm{gap:10px}
.card-sm .media{aspect-ratio:3/2;margin-bottom:4px}
.centre-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:start}
.centre-lead .cl-left{display:grid;gap:32px}
.centre-lead .cl-left .dek{display:none}
.centre-lead .big .media{aspect-ratio:4/3}
.lead-stack{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
.lead-stack .stack{display:grid;gap:32px}
@media (max-width:1023px){
  .centre-lead{grid-template-columns:repeat(2,minmax(0,1fr))}
  .centre-lead>.big{grid-column:1/-1;order:-1}
  .story.wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
}
@media (max-width:760px){
  .lead-list,.lead-list.flip,.lead-stack,.centre-lead{grid-template-columns:minmax(0,1fr);gap:32px}
  .lead-list.flip>.big{order:0}
  .story.wide{grid-template-columns:minmax(0,1fr);gap:14px}
  .trio-cards{grid-template-columns:minmax(0,1fr);gap:28px}
  .centre-lead .cl-left .dek{display:block}
  .card-sm{display:grid;grid-template-columns:minmax(0,1fr) 104px;column-gap:16px;row-gap:6px;align-content:start}
  .card-sm>*{grid-column:1}
  .card-sm .media{grid-column:2;grid-row:1/span 4;aspect-ratio:1;margin:0}
  .trio-cards,.centre-lead .cl-left,.lead-stack .stack{gap:24px}
}

/* ---------- Headline hierarchy, the same in every section ---------- */
/* Featured story headlines: TechCrunch h3 token (23 to 33px) */
.lead-list .big h3,.lead-stack .big h3,.centre-lead .big h3,.story.wide h3{font-size:var(--tc-23-33);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* Secondary headlines in section bands: 16 to 23px */
.band .row-story h3,.band .quad h3,.band .cat-more h3,.band .feature .list h3,.band .hl h3,.band .card-sm h3,.band .sp-card h3,.band .rv-row h3,.band .rf-row h3{font-size:var(--tc-16-23);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
/* Summaries: 16px everywhere, 17px under featured headlines */
.band .feature .list .dek,.band .hl .dek,.band .card-sm .dek{font-size:16px;line-height:1.5}
/* Featured summaries: TechCrunch body-1 (19px), the same in every section */
.band .big .dek,.story.wide .dek,.band .spot .dek,.band .rv-feat .dek,.band .sp-feat .dek,.band .rf-feat .dek{font-size:19px;line-height:1.45}

/* ---------- Colour: no blue accents; black and white on the approved backgrounds ---------- */
:root,.tone-light,.tone-grey,.tone-tint,.tone-pod{--accent:#000000;--accent-fg:#ffffff;--accent-soft:#e8e8ed}
.tone-dark,.tone-charcoal,.site-dark,.tone-ink{--accent:#ffffff;--accent-fg:#000000;--accent-soft:#2c2c2e}
:root[data-theme="dark"],:root[data-theme="dark"] .tone-light,:root[data-theme="dark"] .tone-grey,:root[data-theme="dark"] .tone-tint,:root[data-theme="dark"] .tone-pod{--accent:#ffffff;--accent-fg:#000000;--accent-soft:#2c2c2e}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]),:root:not([data-theme="light"]) .tone-light,:root:not([data-theme="light"]) .tone-grey,:root:not([data-theme="light"]) .tone-tint,:root:not([data-theme="light"]) .tone-pod{--accent:#ffffff;--accent-fg:#000000;--accent-soft:#2c2c2e}}
/* Newsletter band: the agreed black background */
.tone-ink{--bg:#000000;--sunken:#1c1c1f;--fg:#ffffff;--fg2:#c7c7cc;--muted:#a1a1a6;--line:#2c2c2e;--line-strong:#636366}
:root[data-theme="dark"] .tone-ink{--bg:#000000}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tone-ink{--bg:#000000}}
.wordmark i,.site-dark .wordmark i{background:currentColor}
.site-dark :focus-visible{outline-color:#fff}
.btn.primary:hover{opacity:1;background:#3a3a3c;color:#ffffff}
.site-dark .btn.primary:hover,.tone-dark .btn.primary:hover,.tone-charcoal .btn.primary:hover,.tone-ink .btn.primary:hover{opacity:1;background:#d2d2d7;color:#000000}
:root[data-theme="dark"] .tone-light .btn.primary:hover,:root[data-theme="dark"] .tone-grey .btn.primary:hover,:root[data-theme="dark"] .tone-pod .btn.primary:hover{background:#d2d2d7;color:#000000}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tone-light .btn.primary:hover,:root:not([data-theme="light"]) .tone-grey .btn.primary:hover,:root:not([data-theme="light"]) .tone-pod .btn.primary:hover{background:#d2d2d7;color:#000000}}
.site-dark .topic-grid a:hover,.site-dark .panel-list a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.ink,.brief .topic{color:var(--fg2)}
.chip.dot::before{background:var(--fg)}
.nl-eyebrow{color:var(--fg)}
.nl-card .top b i{color:#1d1d1f}
.nl-card .k,.nl-card .k[style]{background:#1d1d1f!important}
.nl-chip input:checked+span{background:#2c2c2e;border-color:#fff;color:#fff}
.nl-chip input:checked+span::before{background-color:#fff;border-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5.2l2 2 4-4.4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.nl-chip:hover span{border-color:#fff}
.tone-pod,.tone-pod-page{--pod:var(--fg)}
.see-all,.read-more{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .15s}
.see-all:hover,.read-more:hover,.story:hover .read-more{text-decoration-color:currentColor}
.prose a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.nl-card{background:#ffffff}
.nl-card .top{border-bottom-color:#e8e8ed}
.nl-card .l{background:#e8e8ed}
.nl-card .l.h{background:#c7c7cc}
:root[data-theme="dark"] .tone-pod,:root[data-theme="dark"] .tone-pod-page{--pod:var(--fg)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tone-pod,:root:not([data-theme="light"]) .tone-pod-page{--pod:var(--fg)}}

/* ---------- Page width: content up to 1360px (TechCrunch wide layout, 85rem), balanced side margins ---------- */
.wrap{max-width:calc(1360px + 2 * clamp(16px,4vw,40px))}
/* Headlines fill their column instead of breaking early (balanced wrapping made lines short) */
h1,h2,h3,.lead h3,.rv-feat h3,.nl h2,.rank .story h3{text-wrap:pretty}
.lead h3{max-width:20ch}
.rv-feat h3{max-width:none}
.nl h2{max-width:18ch}

/* ---------- More section layouts ---------- */
.mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.mosaic>.big{grid-column:1/span 2;grid-row:1/span 2}
.mosaic>.big .media{aspect-ratio:4/3}
.grid6{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.grid6 .media{aspect-ratio:16/9}
.hl-row{list-style:none;margin:40px 0 0;padding:28px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.hl-row .hl{gap:8px}
.trio-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.band .index .row-story h3{font-size:var(--tc-16-23)}
@media (max-width:1023px){
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mosaic>.big{grid-column:1/-1;grid-row:auto}
  .grid6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trio-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hl-row{grid-template-columns:minmax(0,1fr);gap:0}
  .hl-row>li+li{border-top:1px solid var(--line)}
  .hl-row .hl{padding-block:18px}
  .hl-row>li:first-child .hl{padding-top:0}
}
@media (max-width:760px){
  .mosaic,.grid6,.trio-cards{grid-template-columns:minmax(0,1fr);gap:24px}
  .grid6 .card-sm .media,.mosaic .card-sm .media{aspect-ratio:1}
}
.rv-type{flex-wrap:wrap;row-gap:2px;max-width:100%}
.rv-card .text,.rv-row .text,.rv-feat .text{min-width:0;overflow-wrap:break-word}

/* ---------- Featured story in every section ---------- */
.also5{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}
.also5-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px}
.also5 .big h3,.river-lead .big h3,.grid6 .big h3,.banner-lead .big h3{font-size:var(--tc-23-33);line-height:var(--tc-lh-sub);font-weight:700;letter-spacing:var(--tc-ls-head)}
.also5 .big .dek,.river-lead .big .dek,.grid6 .big .dek,.banner-lead .big .dek{font-size:19px;line-height:1.45}
.river>li.river-lead{display:block;padding-bottom:28px}
.river-lead .big{display:flex;flex-direction:column;gap:14px}
.river-lead .big .media{aspect-ratio:16/9;width:100%;max-width:none}
.banner-lead{display:grid;gap:40px}
.story.banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;row-gap:16px}
.story.banner .media{grid-column:1/-1;aspect-ratio:21/9}
.story.banner .text{grid-column:1/-1}
.grid6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.grid6>.big{grid-column:2/4;grid-row:1/3}
.grid6>.big .media{aspect-ratio:16/10}
.pod-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.pod-list>li:first-child{grid-column:span 2;grid-row:span 2}
.pod-list>li:first-child h3{font-size:var(--tc-23-33);line-height:var(--tc-lh-sub)}
@media (max-width:1023px){
  .also5{grid-template-columns:minmax(0,1fr)}
  .grid6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid6>.big{grid-column:1/-1;grid-row:auto}
  .story.banner .media{aspect-ratio:16/9}
  .pod-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pod-list>li:first-child{grid-column:1/-1;grid-row:auto}
}
@media (max-width:760px){
  .also5-grid,.grid6{grid-template-columns:minmax(0,1fr);gap:24px}
  .story.banner{grid-template-columns:minmax(0,1fr)}
  .also5-grid .card-sm .media,.grid6 .card-sm .media{aspect-ratio:1}
  .also5-grid .card-sm{display:grid;grid-template-columns:minmax(0,1fr) 104px;column-gap:16px;row-gap:6px;align-content:start}
  .also5-grid .card-sm>*{grid-column:1}
  .also5-grid .card-sm .media{grid-column:2;grid-row:1/span 4;margin:0}
}
@media (max-width:760px){
  .also5>.big{display:flex;flex-direction:column;align-items:stretch;gap:14px}
  .also5>.big .media{width:100%;aspect-ratio:16/10;margin:0}
  .pod-list{grid-template-columns:minmax(0,1fr)}
  .pod-list>li.pod-ep:first-child{grid-template-columns:minmax(0,1fr);gap:14px}
  .pod-list>li.pod-ep:first-child .cover{width:100%;aspect-ratio:16/10}
}
/* Page width grows with the screen: 1360px content on laptops, up to 1600px on large monitors */
.wrap{max-width:calc(max(1360px,min(1600px,84vw)) + 2 * clamp(16px,4vw,40px))}

/* ---------- Section links ("More in AI" and the rest): one consistent outlined button ---------- */
.band-head{align-items:flex-end}
.band-head>div{flex:1 1 420px}
.band-head .see-all{flex:none;align-self:flex-end;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px 0 20px;border-radius:999px;border:1px solid var(--line-strong);color:var(--fg);font-size:16px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.band-head .see-all:hover{background:var(--fg);color:var(--bg);border-color:var(--fg);text-decoration:none}
.band-head .see-all .ico{width:16px;height:16px}
@media (max-width:760px){.band-head .see-all{align-self:flex-start;margin-top:4px}}
@media (min-width:761px){.lead-list{align-items:center}}
/* Section buttons: solid and high contrast (black on light sections, white on dark ones) */
.band-head .see-all{background:var(--fg);color:var(--bg);border:2px solid var(--fg);font-weight:600}
.band-head .see-all:hover{background:var(--bg);color:var(--fg);border-color:var(--fg)}

/* ---------- Section headers, matched to the reference screenshots (2x captures) ----------
   Heading: Figtree 900, cap height 58px at desktop (font-size 83px), tracking -0.036em, line-height 1.
   Button: 123 x 53px, 1.5px #3D8740 border, fully rounded, 15px text, up-right arrow, 26px from the heading. */
.sec-head{display:block;margin-bottom:40px}
.sec-head .sh-row{display:flex;flex-wrap:wrap;align-items:center;column-gap:26px;row-gap:16px}
.sec-head h2{font-family:"Figtree",var(--font-display);font-weight:900;font-size:clamp(2.5rem,1.2rem + 4.6vw,5.1rem);line-height:1;letter-spacing:-.036em;margin:0;text-wrap:balance;overflow-wrap:normal;hyphens:manual}
.sec-head p{margin-top:14px}
.see-more{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-width:123px;height:53px;padding:0 15px 0 16.5px;border:1.5px solid #3D8740;border-radius:999px;background:transparent;color:#000;font:500 15px/1 var(--font-text);letter-spacing:0;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.see-more .ico{width:16px;height:16px;stroke-width:1.6;margin:0}
.see-more:hover{background:#3D8740;color:#fff}
.see-more:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.tone-dark .see-more,.tone-charcoal .see-more,.tone-ink .see-more{color:#fff}
:root[data-theme="dark"] .see-more{color:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .see-more{color:#fff}}
@media (max-width:760px){
  .sec-head{margin-bottom:28px}
  .sec-head h2{text-wrap:balance;white-space:normal;overflow-wrap:break-word;hyphens:manual;max-width:100%;min-width:0}
  .sec-head .sh-row{column-gap:16px;row-gap:14px}
  .see-more{height:44px;min-width:0;padding:0 14px 0 15px}
}

/* ---------- Corrections: black theme, original button position, button matched to reference ---------- */
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px}
.sec-head>div{flex:1 1 420px;min-width:0}
/* Button: 123 x 53px, 1.5px border, fully rounded, 15px text, 9.5px arrow 8px after the text */
.see-more{min-width:0;height:53px;padding:0 18px 0 17px;gap:6.5px;border:1.5px solid currentColor;color:var(--fg);background:transparent;font:500 15px/1 var(--font-text)}
.see-more .arr{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.see-more:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.tone-dark .see-more,.tone-charcoal .see-more,.tone-ink .see-more{color:#fff}
.tone-dark .see-more:hover,.tone-charcoal .see-more:hover{background:#fff;color:#000}
@media (max-width:760px){
  .sec-head{align-items:flex-start;flex-direction:column;gap:16px}
  .sec-head>div{flex:none;width:100%}
  .see-more{height:44px;padding:0 18px 0 17px}
}
/* ---------- Featured article headlines: larger and bolder in every section (TechCrunch h2 scale, 28 to 40px) ---------- */
.band .big h3,.band .story.wide h3,.band .spot h3,.band .rv-feat h3,.band .sp-feat h3,.band .rf-feat h3,
.band .feature.duo .side-card h3,.river-lead .big h3,.also5 .big h3,.pod-list>li.pod-ep:first-child h3,
.band .cat-more[style*="--cols:2"] h3{font-size:var(--tc-28-40);line-height:1.12;font-weight:800;letter-spacing:-.02em;text-wrap:pretty}
.river>li.river-lead .big{display:flex!important;flex-direction:column;gap:14px}
.river>li.river-lead .big .media{order:-1;width:100%;aspect-ratio:16/9;margin:0}

/* ---------- See More buttons scaled to the reference as viewed (1.5x display): 165 x 71px, 2px border, 20px text ---------- */
.see-more{height:71px;padding:0 23px 0 21.5px;gap:9px;border-width:2px;font-size:20px;font-weight:500}
.see-more .arr{width:17px;height:17px;stroke-width:1.6}
@media (max-width:760px){.see-more{height:52px;padding:0 20px 0 19px;gap:8px;font-size:17px}.see-more .arr{width:14px;height:14px}}

/* Header sizing (proportionate to 19px body text): 72px bar and 18px menu text on desktop, 68px on tablet, 60px on phones */
.bar{height:72px}
.wordmark{font-size:28px}
nav.primary a,.search-btn,.icon-btn,.menu-btn{font-size:18px}
.tools .sub,.tools .btn.primary{font-size:17px;min-height:44px;padding-inline:22px}
.panel{max-height:calc(100dvh - var(--top,0px) - 72px)}
@media (max-width:1139px){
  .bar{height:68px}
  .wordmark{font-size:26px}
  .panel,.menu-panel{max-height:calc(100dvh - var(--top,0px) - 68px)}
}
@media (max-width:640px){
  .bar{height:60px}
  .wordmark{font-size:24px}
  .search-btn,.icon-btn,.menu-btn{font-size:17px}
  .tools .sub,.tools .btn.primary{font-size:16px;min-height:42px;padding-inline:18px}
  .panel,.menu-panel{max-height:calc(100dvh - var(--top,0px) - 60px)}
}

/* Category page title: same as the AI category page */
.page-head h1.cat-title{font-family:"Figtree",var(--font-display);font-weight:900;font-size:clamp(3.5rem,2.4rem + 4.4vw,5.1rem);line-height:.95;letter-spacing:-.036em}
