
/* Layout: news-first. Lead story beside a dated Latest stream, then a regulatory watch, then topic rows with one labelled partner slot every six stories. */
:root{
  --bg:#FFFFFF; --bg-2:#F2F6F9; --ink:#111A21; --ink-2:#4A5862; --rule:#DCE3E8;
  --brand:#4DB2EC; --brand-ink:#0B2A3D; --accent:#14699E; --accent-soft:#E4F2FB;
  --alert:#B5381F; --alert-soft:#FBEAE5; --ok:#1C7246;
  --mast:#111A21; --mast-ink:#FFFFFF;
  --f-head:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --f-read:"Source Serif 4",Georgia,serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --max:1240px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D1419; --bg-2:#141E25; --ink:#E7EEF3; --ink-2:#9CAAB4; --rule:#26343E;
  --brand:#4DB2EC; --brand-ink:#0B2A3D; --accent:#6CC0F2; --accent-soft:#132C3B;
  --alert:#F08A6E; --alert-soft:#33201B; --ok:#62C793; --mast:#070B0E; --mast-ink:#FFFFFF; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0D1419; --bg-2:#141E25; --ink:#E7EEF3; --ink-2:#9CAAB4; --rule:#26343E;
  --brand:#4DB2EC; --brand-ink:#0B2A3D; --accent:#6CC0F2; --accent-soft:#132C3B;
  --alert:#F08A6E; --alert-soft:#33201B; --ok:#62C793; --mast:#070B0E; --mast-ink:#FFFFFF; color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-head);font-size:16px;line-height:1.5;margin:0}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.in{max-width:var(--max);margin:0 auto}
a{color:inherit;text-decoration:none}
a:hover .hl{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;background:var(--bg-2)}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
.mono{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.04em}
.kicker{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-weight:500}
.adlabel{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
button{font:inherit}

/* Prototype strip */
.proto{background:var(--brand);color:var(--brand-ink);font-size:.82rem}
.proto .in{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:6px}
.proto button{background:var(--brand-ink);color:#fff;border:0;border-radius:99px;padding:6px 14px;min-height:32px;cursor:pointer}
.note{display:none;background:#FFF4C2;color:#3A3000;border:1px solid #E6CE5A;border-radius:6px;padding:8px 10px;font-size:.8rem;line-height:1.4}
.note b{font-weight:700}
body.notes .note{display:block}

/* Masthead */
.util{border-bottom:1px solid var(--rule);font-size:.8rem;color:var(--ink-2)}
.util .in{display:flex;justify-content:space-between;gap:12px;padding-block:8px;flex-wrap:wrap}
.util nav{display:flex;gap:18px}
.mast{background:var(--mast);color:var(--mast-ink);position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--mast)}
.mast .in{display:flex;align-items:center;gap:20px;min-height:64px}
.logo{display:inline-flex;align-items:stretch;font-family:var(--f-head);font-weight:800;line-height:1;border:2px solid currentColor}
.logo span{padding:5px 8px 6px;font-size:1.45rem;letter-spacing:-.02em}
.logo .a{background:currentColor}
.logo .a i{font-style:normal;color:var(--mast)}
.mast nav{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.mast nav a{padding:10px 12px;font-weight:500;font-size:.92rem;white-space:nowrap;border-radius:4px;min-height:44px;display:flex;align-items:center}
.mast nav a:hover{background:rgba(255,255,255,.1)}
.mast nav a.reg{color:#FFD58A}
.iconbtn{background:none;border:0;color:inherit;min-width:44px;min-height:44px;display:grid;place-items:center;cursor:pointer;border-radius:4px}
.cta{background:var(--brand);color:var(--brand-ink);font-weight:700;border:0;border-radius:4px;padding:10px 16px;min-height:44px;cursor:pointer;white-space:nowrap}
.menu{display:none}
.cta .short{display:none}
@media (max-width:900px){
  .mast nav{display:none}
  .menu{display:grid}
  .mast .in{justify-content:space-between;gap:6px}
  .cta .long{display:none} .cta .short{display:inline}
  .logo span{font-size:1.25rem;padding:4px 7px 5px}
  .mast .cta{padding:8px 12px;font-size:.85rem}
  .util nav{display:none}
}
.mnav{display:none;background:var(--mast);border-top:1px solid rgba(255,255,255,.12)}
.mnav.open{display:block}
.mnav a{display:flex;align-items:center;min-height:48px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);font-weight:500}

/* Leaderboard */
.lb{padding-block:14px;border-bottom:1px solid var(--rule);background:var(--bg-2)}
.lb .in{display:grid;gap:4px;justify-items:center}
.lb .slot{width:min(728px,100%);aspect-ratio:728/90;border:1px dashed var(--rule);border-radius:4px;display:grid;place-items:center;background:var(--bg);color:var(--ink-2);font-size:.85rem;text-align:center;padding:6px}

@media (max-width:1180px) and (min-width:901px){
  .mast .in{gap:10px}
  .mast nav a{padding:10px 9px;font-size:.88rem}
  .cta .long{display:none} .cta .short{display:inline}
  .mast nav a.opt{display:none}
  .menu{display:grid}
  .mnav.open{display:block}
}
/* Top block */
main{display:grid;gap:26px;padding-block:18px 40px}
.top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px}
@media (max-width:900px){.top{grid-template-columns:1fr;gap:24px}}
.lead{display:grid;gap:14px}
.lead .pic{aspect-ratio:16/9;border-radius:4px;overflow:hidden}
.lead h1{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.08;font-weight:800;letter-spacing:-.02em}
.lead .dek{font-family:var(--f-read);font-size:1.12rem;color:var(--ink-2);max-width:62ch}
.byline{display:flex;gap:10px;flex-wrap:wrap;color:var(--ink-2);font-size:.84rem}
.brief-mini{border-left:3px solid var(--brand);padding:4px 0 4px 14px;display:grid;gap:6px;font-size:.95rem}
.brief-mini ul{margin:0;padding-left:1.1em;display:grid;gap:4px}

.latest{display:grid;align-content:start;gap:0;border-top:4px solid var(--ink)}
.sechead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-block:10px 8px}
.sechead h2{font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.sechead a{font-size:.82rem;color:var(--accent);font-weight:500}
.latest ol{list-style:none;margin:0;padding:0}
.latest li a{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--rule)}
.latest time{font-family:var(--f-mono);font-size:.72rem;color:var(--ink-2);padding-top:2px;white-space:nowrap}
.latest time.today{color:var(--alert);font-weight:500}
.latest .hl{font-weight:600;font-size:.96rem;line-height:1.3}
.latest .cat{display:block;font-size:.74rem;color:var(--ink-2);margin-top:2px}

/* Watch + secondary */
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px}
@media (max-width:900px){.row2{grid-template-columns:1fr}}
.watch{background:var(--alert-soft);border-radius:6px;padding:16px;display:grid;gap:10px;align-content:start}
.watch h2{font-size:1.05rem;font-weight:800;display:flex;align-items:center;gap:8px}
.watch h2::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--alert);box-shadow:0 0 0 3px color-mix(in srgb,var(--alert) 25%,transparent)}
.watch ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.watch li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid color-mix(in srgb,var(--alert) 20%,transparent);font-size:.9rem;line-height:1.35}
.watch .t{font-family:var(--f-mono);font-size:.66rem;font-weight:500;padding:2px 6px;border-radius:3px;background:var(--bg);color:var(--alert);height:fit-content;letter-spacing:.05em}
.watch small{display:block;color:var(--ink-2);font-size:.74rem;margin-top:2px}
.watch .src{font-size:.74rem;color:var(--ink-2)}

.cards{display:grid;gap:24px}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cards.c3 .hl{font-size:1rem}
@media (max-width:640px){.cards.c3{grid-template-columns:1fr}}
.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.c2,.c4{grid-template-columns:1fr}}
.card{display:grid;gap:8px;align-content:start}
.card .pic{aspect-ratio:3/2;border-radius:4px;overflow:hidden}
.card .hl{font-weight:700;font-size:1.06rem;line-height:1.22}
.card p.ex{font-family:var(--f-read);font-size:.93rem;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{font-size:.78rem;color:var(--ink-2)}
@media (max-width:560px){
  .c4 .card{grid-template-columns:110px minmax(0,1fr);gap:12px}
  .c4 .card .pic{grid-row:span 3;aspect-ratio:1}
  .c4 .card p.ex{display:none}
}

.partner{border:1px solid var(--rule);border-radius:6px;padding:14px;display:grid;gap:10px;align-content:start;background:var(--bg-2)}
.partner .pmark{width:100%;aspect-ratio:3/2;border-radius:4px;display:grid;place-items:center;font-weight:800;font-size:1.6rem;letter-spacing:-.02em;color:#fff;text-align:center;padding:12px}
.partner .hl{font-weight:700;line-height:1.25}

.section{display:grid;gap:14px;align-content:start}
.section > .sechead{border-top:4px solid var(--ink)}

/* Signup */
.signup{background:var(--brand);color:var(--brand-ink);border-radius:8px;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:center}
@media (max-width:760px){.signup{grid-template-columns:1fr;padding:22px}}
.signup h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.signup p{margin-top:8px;font-size:.98rem;max-width:52ch}
.signup form{display:grid;gap:10px}
.signup .f{display:flex;gap:8px;flex-wrap:wrap}
.signup input[type=email]{flex:1 1 220px;min-width:0;min-height:48px;border:2px solid var(--brand-ink);border-radius:4px;padding:0 14px;font:inherit;background:#fff;color:#111}
.signup button{min-height:48px;border:0;border-radius:4px;background:var(--brand-ink);color:#fff;font-weight:700;padding:0 20px;cursor:pointer}
.signup .opts{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem}
.signup label{display:flex;gap:6px;align-items:center;min-height:32px}
.signup .ok{font-weight:700}

.two{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px}
@media (max-width:900px){.two{grid-template-columns:1fr}}
.mostread ol{margin:0;padding:0;list-style:none;counter-reset:mr}
.mostread li a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid var(--rule);counter-increment:mr}
.mostread li a::before{content:counter(mr);font-weight:800;font-size:1.4rem;color:var(--brand);line-height:1}
.mostread .hl{font-weight:600;font-size:.95rem;line-height:1.3}

footer{background:var(--mast);color:#C9D3DA;padding-block:40px;font-size:.88rem}
footer .in{display:grid;gap:24px;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))}
@media (max-width:760px){footer .in{grid-template-columns:1fr 1fr}}
footer h3{color:#fff;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
footer a{display:inline-flex;min-height:32px;align-items:center}
footer .logo{color:#fff}

/* Article */
.art{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding-block:28px 56px}
/* the story sidebar stays in view while the story scrolls (top set by app.js so a tall rail still shows its end) */
@media (min-width:1001px){.art > .rail{position:sticky;top:var(--rt,88px);align-self:start}}
@media (max-width:1000px){.art{grid-template-columns:1fr}}
.art .body{max-width:680px;display:grid;gap:20px}
.crumbs{font-size:.86rem;color:var(--ink-2);display:flex;gap:6px;flex-wrap:wrap}
.crumbs a{color:var(--accent);min-height:32px;display:inline-flex;align-items:center}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips a{border:1px solid var(--rule);border-radius:99px;padding:0 14px;min-height:36px;display:inline-flex;align-items:center;font-size:.84rem;font-weight:500}
.art h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.06;font-weight:800;letter-spacing:-.025em}
.art .dek{font-family:var(--f-read);font-style:italic;font-size:1.2rem;color:var(--ink-2)}
.author{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.88rem;color:var(--ink-2);padding-block:12px;border-block:1px solid var(--rule)}
.author .av{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-weight:800;font-size:.8rem}
.author b{color:var(--ink)}
.listen{margin-left:auto;display:inline-flex;gap:8px;align-items:center;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:99px;padding:0 16px;min-height:44px;cursor:pointer;font-weight:600}
.listen[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.brief{background:var(--accent-soft);border-radius:8px;padding:20px 22px;display:grid;gap:12px}
.brief h2{font-size:1rem;font-weight:800;letter-spacing:.01em;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.brief ul{margin:0;padding-left:1.1em;display:grid;gap:8px;font-size:1rem;line-height:1.45}
.brief .shelf{border-top:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding-top:12px;font-size:.98rem}
.brief .shelf b{color:var(--accent)}
.art figure{margin:0;display:grid;gap:6px}
.art figure .pic{aspect-ratio:16/9;border-radius:4px;overflow:hidden}
/* portrait photos (headshots) are shown whole, never cropped to a strip */
.art figure.tall .pic{aspect-ratio:auto;max-width:min(340px,100%)}
.art figure.tall .pic img{height:auto;transform:none!important}
.art figcaption{font-size:.8rem;color:var(--ink-2)}
.prose{font-family:var(--f-read);font-size:1.15rem;line-height:1.7;display:grid;gap:1.05em}
.prose h2{font-family:var(--f-head);font-size:1.45rem;font-weight:800;letter-spacing:-.01em;margin-top:.6em}
.prose ol{margin:0;padding-left:1.3em;display:grid;gap:.5em}
.inline-sign{border-block:2px solid var(--ink);padding-block:18px;display:grid;gap:10px}
.inline-sign .f{display:flex;gap:8px;flex-wrap:wrap}
.inline-sign input{flex:1 1 220px;min-width:0;min-height:48px;border:1px solid var(--ink-2);border-radius:4px;padding:0 14px;font:inherit;background:var(--bg);color:var(--ink)}
.inline-sign button{min-height:48px;border:0;border-radius:4px;background:var(--ink);color:var(--bg);font-weight:700;padding:0 20px;cursor:pointer}
.rail{display:grid;gap:28px;align-content:start}
.rail .slot{aspect-ratio:300/250;border:1px dashed var(--rule);border-radius:4px;display:grid;place-items:center;color:var(--ink-2);font-size:.85rem;text-align:center;padding:10px;background:var(--bg-2)}
/* ---------- Banner ads (AdRotate slots) ---------- */
.adslot{display:grid;gap:4px;justify-items:center}
.adslot .ad{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;width:min(728px,100%);aspect-ratio:728/90;border-radius:4px;padding:0 18px;color:#fff;background:var(--adc,#333);overflow:hidden;position:relative}
.adslot .ad b{font-size:clamp(1rem,2.4vw,1.5rem);font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.adslot .ad span{font-size:.8rem;opacity:.9;line-height:1.3;min-width:0}
.adslot .ad i{font-style:normal;font-size:.75rem;font-weight:700;border:1.5px solid currentColor;border-radius:99px;padding:5px 12px;white-space:nowrap}
.adslot.mpu .ad{width:min(300px,100%);aspect-ratio:1;grid-template-columns:1fr;text-align:center;justify-items:center;align-content:center;padding:18px;gap:10px}
.adslot .slotinfo{font-family:var(--f-mono);font-size:.64rem;color:var(--ink-2);letter-spacing:.04em}
.lbband{padding-block:10px;background:var(--bg-2);border-bottom:1px solid var(--rule)}
@media (max-width:560px){.adslot .ad{grid-template-columns:minmax(0,1fr) auto;padding:0 12px;aspect-ratio:320/60}.adslot .ad span{display:none}.adslot .ad b{font-size:1rem}}

.adslot .banner{display:block;width:100%;max-width:730px;margin:0 auto;line-height:0;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px var(--rule)}
.adslot .banner img{width:100%;height:auto;display:block;transition:opacity .45s ease}
.adslot .banner.wide{max-width:100%}
.adslot .banner.sq{max-width:300px}
.adslot.multi{gap:14px}
.adslot[data-rot] .banner{max-width:730px}
.adslot .banner.swap img{opacity:0}
.houseband{display:grid;gap:12px;background:var(--bg-2);border-radius:10px;padding:18px}
.houseband .sechead{border-top:0;padding-top:0}
.houseband .adslot.multi{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch;align-items:center}
.houseband .adslot.multi > .adlabel{grid-column:1/-1;justify-self:center}
.houseband .adslot.multi > .banner.wide{grid-column:1/-1}
@media (max-width:760px){.houseband .adslot.multi{grid-template-columns:1fr}}
.prose .adslot{margin-block:.4em}
@media (prefers-reduced-motion:reduce){.adslot .banner img{transition:none}}
.utilr{display:flex;gap:14px;align-items:center}
.follow{display:inline-flex;gap:2px;align-items:center}
.follow a{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:inherit}
.follow a:hover{background:var(--bg-2);color:var(--accent)}
.follow svg{width:15px;height:15px;fill:currentColor}
footer .follow{gap:8px}
footer .follow a{width:40px;height:40px;background:rgba(255,255,255,.08);color:#fff}
footer .follow a:hover{background:var(--brand);color:var(--brand-ink)}
.sharerow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sharerow .slab{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);margin-right:4px}
.sico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--rule);background:var(--bg);color:var(--ink);cursor:pointer;padding:0;transition:transform .15s ease,background .15s ease,color .15s ease}
.sico svg{width:17px;height:17px;fill:currentColor}
.sico:hover{transform:translateY(-2px)}
.s-ig:hover{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%);border-color:#d6249f;color:#fff}
.s-li:hover{background:#0A66C2;border-color:#0A66C2;color:#fff}.s-fb:hover{background:#1877F2;border-color:#1877F2;color:#fff}.s-x:hover{background:#111;border-color:#111;color:#fff}.s-wa:hover{background:#1FAF55;border-color:#1FAF55;color:#fff}.s-mail:hover,.s-link:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.sharebtn{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--rule);background:var(--bg);color:var(--ink);border-radius:99px;padding:0 12px;min-height:34px;cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;white-space:nowrap}
.sharebtn svg{width:14px;height:14px;fill:currentColor}
.sharebtn:hover{border-color:var(--accent);color:var(--accent)}
.byline .sharebtn{margin-left:auto;min-height:30px}
.numbers .sharebtn{background:transparent;color:#9FD4F5;border-color:rgba(255,255,255,.22)}
.mkhero .sharebtn{background:transparent;color:#9FD4F5;border-color:rgba(255,255,255,.22)}
.statacts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.storyshare{border-block:1px solid var(--rule);padding-block:14px;display:grid;gap:10px;justify-items:start}
#sharepop{position:fixed;z-index:50;background:var(--bg);border:1px solid var(--rule);border-radius:12px;padding:10px 12px;box-shadow:0 14px 34px -12px rgba(0,0,0,.4)}
#sharepop[hidden]{display:none}
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:99px;font-size:.88rem;z-index:60}
.partner .pic{aspect-ratio:3/2;border-radius:4px;overflow:hidden}
.partner .pic img{object-position:50% 40%}
.mshare{display:none}
@media (max-width:700px){
  .mshare{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bg);border-top:1px solid var(--rule);padding:8px max(16px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .mshare .sharerow{justify-content:space-between;gap:2px}.mshare .slab{display:none}.mshare .sico{width:38px;height:38px}
  body.on-article footer{padding-bottom:96px}
  .utilr .follow{display:none}
}
@media (min-width:1180px){.cards.c3w{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.c3w > :nth-child(even){transform:none}.cards.c3w > :nth-child(3n+2){transform:translateY(var(--pp,0px))}}
.cards.c3w .card .hl{font-size:1rem}
.rlist{display:grid}
.rlist a.mid-only{display:none}
@media (max-width:1179px){.cards .card.wide-only{display:none}.rlist a.mid-only{display:grid}}
.rlist > .kicker{padding-bottom:6px}
.rlist a{display:grid;gap:3px;padding:11px 0;border-top:1px solid var(--rule)}
.rlist a .hl{font-weight:700;line-height:1.28}
.rlist a:hover .hl{color:var(--accent)}
/* ---------- IHR Plugin banner ---------- */
.plug{display:grid;gap:4px}
.plug-lab{justify-self:center}
.plug-in{background:radial-gradient(120% 140% at 85% 0%,#163447 0%,#0E1A22 55%,#0A1218 100%);color:#E8F1F6;border-radius:12px;padding:clamp(20px,3vw,34px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(18px,3vw,36px);align-items:center;overflow:hidden;position:relative}
@media (max-width:820px){.plug-in{grid-template-columns:1fr}}
.plug-copy{display:grid;gap:12px;align-content:center}
.plug-kick{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#9FD4F5}
.plug-kick b{color:#fff;background:var(--brand);color:var(--brand-ink);padding:2px 7px;border-radius:3px;font-weight:600;margin-right:4px}
.plug h2{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.02;font-weight:800;letter-spacing:-.03em;color:#fff}
.plug p{color:#BFD0DA;font-size:1rem;line-height:1.5;max-width:46ch}
.plug-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.plug-chips li{border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:5px 12px;font-size:.8rem;color:#E8F1F6}
.plug-ctas{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:4px}
.plug-cta{background:var(--brand);color:var(--brand-ink);font-weight:800;border-radius:6px;padding:0 18px;min-height:46px;display:inline-flex;align-items:center;transition:transform .15s ease,box-shadow .15s ease}
.plug-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(77,178,236,.7)}
.plug-sec{color:#fff;font-weight:600;min-height:46px;display:inline-flex;align-items:center;padding:0 6px}
.plug-sec:hover{color:#9FD4F5}
.plug-fine{font-size:.74rem;color:#8EA4B2}
.plug-viz{margin:0;display:grid;gap:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:14px}
.plug-viz svg{width:100%;height:auto;display:block}
.plug-status{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.07em;position:relative;height:1.2em}
.plug-status span{position:absolute;left:0;top:0}
.plug-status .s1{color:#FFD58A}.plug-status .s2{color:#4BD08B;opacity:0}
.node circle{fill:#5C7382}.node text{fill:#DCE7EE;font:600 11px var(--f-head)}.node text.sub{fill:#8EA4B2;font:500 9px var(--f-mono)}
.n-kel circle{fill:#FFD58A}.n-kel .ring{fill:none;stroke:#FFD58A;stroke-width:1.5;opacity:.7;transform-box:fill-box;transform-origin:center}
.n-van circle{fill:var(--brand)}.n-van .glow{fill:rgba(77,178,236,.25);opacity:0}
.node text.sub.x{fill:#FF8B79;opacity:0}.node text.sub.ok{fill:#4BD08B;opacity:0}
.ln{stroke:rgba(255,255,255,.22);stroke-width:1.4;stroke-dasharray:4 5;opacity:0}
.ln-van{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.plug-split{display:grid;gap:6px}
.plug-split .lbl{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:#8EA4B2}
.plug-split .bar{display:flex;height:26px;border-radius:5px;overflow:hidden;background:rgba(255,255,255,.06)}
.plug-split .bar i{width:var(--w);display:grid;place-items:center;transform:scaleX(0);transform-origin:left;font-style:normal}
.plug-split .bar b{font:700 .75rem var(--f-mono);color:#0A1218}
.b1,.k1{background:#9FB4C2}.b2,.k2{background:var(--brand)}.b3,.k3{background:#FFD58A}.b4,.k4{background:#FF8B79}
.plug-split .keys{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.72rem;color:#BFD0DA}
.plug-split .keys span{display:inline-flex;gap:5px;align-items:center}
.plug-split .keys i{width:9px;height:9px;border-radius:2px;display:inline-block}
/* the route plays each time the banner comes into view (9 s cycle) */
.plug.play .n-kel .ring{animation:ring 1.6s ease-out infinite}
.plug.play .ln-kam{animation:showln 9s ease infinite}
.plug.play .n-kam .sub.x{animation:xin 9s ease infinite}
.plug.play .ln-cal{animation:showcal 9s ease infinite}
.plug.play .ln-van{animation:route 9s cubic-bezier(.5,0,.2,1) infinite}
.plug.play .n-van .glow{animation:glow 9s ease infinite}
.plug.play .n-van .sub.ok{animation:okin 9s ease infinite}
.plug.play .plug-split .bar i{animation:bar 9s cubic-bezier(.2,.7,.2,1) infinite}
.plug.play .plug-split .b2{animation-delay:.15s}.plug.play .plug-split .b3{animation-delay:.3s}.plug.play .plug-split .b4{animation-delay:.45s}
.plug.play .plug-status .s1{animation:s1 9s ease infinite}.plug.play .plug-status .s2{animation:s2 9s ease infinite}
@keyframes ring{from{transform:scale(.8);opacity:.9}to{transform:scale(2.3);opacity:0}}
@keyframes showln{0%,8%{opacity:0}14%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes xin{0%,16%{opacity:0}20%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes showcal{0%,20%{opacity:0}26%,90%{opacity:.6}96%,100%{opacity:0}}
@keyframes route{0%,28%{stroke-dashoffset:1;opacity:1}42%,90%{stroke-dashoffset:0;opacity:1}96%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes glow{0%,40%{opacity:0}46%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes okin{0%,40%{opacity:0}46%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes bar{0%,48%{transform:scaleX(0)}60%,90%{transform:scaleX(1)}97%,100%{transform:scaleX(0)}}
@keyframes s1{0%,40%{opacity:1}44%,92%{opacity:0}97%,100%{opacity:1}}
@keyframes s2{0%,40%{opacity:0}44%,92%{opacity:1}97%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .plug .ln{opacity:1}.plug .ln-cal{opacity:.6}.plug .ln-van{stroke-dashoffset:0}.plug .n-van .glow,.plug .node text.sub.x,.plug .node text.sub.ok{opacity:1}
  .plug .plug-split .bar i{transform:none}.plug .plug-status .s1{opacity:0}.plug .plug-status .s2{opacity:1}
  .plug *{animation:none!important}
}
/* ---------- Stock ticker ---------- */
.stocks{background:#0A1116;color:#E8EEF2;overflow:hidden;border-bottom:1px solid #1E2B33}
.stocks .trk{display:flex;width:max-content;will-change:transform}
.stocks a{display:inline-flex;gap:8px;align-items:baseline;padding:8px 22px 8px 0;white-space:nowrap;font-family:var(--f-mono);font-size:.78rem;min-height:36px;align-items:center}
.stocks a .s{font-weight:500;color:#fff}
.stocks a .p{color:#B9C6CF}
.stocks a .up{color:#4BD08B}.stocks a .dn{color:#FF7A6B}
.stocks a.idx{background:var(--brand);color:var(--brand-ink);padding:8px 16px;margin-right:22px;font-family:var(--f-head);font-weight:800}
.stocks a.idx .p{color:var(--brand-ink)}
.stocks a.idx .up,.stocks a.idx .dn{color:var(--brand-ink)}
@media (prefers-reduced-motion:reduce){.stocks{overflow-x:auto}}

/* ---------- Markets page ---------- */
.mk{display:grid;gap:24px;padding-block:18px 40px}
.mkhero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:end;background:var(--mast);color:#fff;border-radius:10px;padding:28px}
@media (max-width:860px){.mkhero{grid-template-columns:1fr}}
.mkhero h1{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:800;line-height:1.05;letter-spacing:-.02em}
.mkhero .val{font-size:clamp(2.6rem,6vw,4.2rem);font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--brand)}
.mkhero .sub{color:#B9C6CF;font-size:.9rem;line-height:1.45}
.mkhero .chg{font-family:var(--f-mono);font-size:.9rem}
.mkhero svg{width:100%;height:auto;display:block}
.mkhero .ax{font-family:var(--f-mono);font-size:10px;fill:#8FA3B1}
.movers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:860px){.movers{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mv{border:1px solid var(--rule);border-radius:8px;padding:14px;display:grid;gap:4px}
.mv .lab{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.mv b{font-size:1.05rem}
.mv .n{font-family:var(--f-mono);font-size:1.25rem;font-weight:500}
.up{color:var(--ok)}.dn{color:var(--alert)}
.chips2{display:flex;gap:8px;flex-wrap:wrap}
.chips2 button{border:1px solid var(--rule);background:var(--bg);color:var(--ink);border-radius:99px;padding:0 14px;min-height:40px;cursor:pointer;font:inherit;font-size:.86rem}
.chips2 button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tbl{overflow-x:auto;border:1px solid var(--rule);border-radius:8px}
.tbl table{border-collapse:collapse;width:100%;min-width:760px;font-size:.92rem}
.tbl th,.tbl td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:middle}
.tbl thead th{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:500;background:var(--bg-2);position:sticky;top:0}
.tbl thead th button{all:unset;cursor:pointer}
.tbl thead th button:focus-visible{outline:2px solid var(--accent)}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--f-mono);font-size:.85rem}
.tbl tr.row{cursor:pointer}
.tbl tr.row:hover{background:var(--bg-2)}
.tbl .nm b{display:block}
.tbl .nm small{color:var(--ink-2);font-family:var(--f-mono);font-size:.72rem}
.tbl tr.det td{background:var(--bg-2);font-size:.9rem}
.tbl tr.det[hidden]{display:none}
.tbl .rng{position:relative;width:110px;height:6px;background:var(--rule);border-radius:3px;margin:4px 0 6px}
.tbl td small.fine{display:block;white-space:nowrap}
.tbl .rng i{position:absolute;top:-3px;width:3px;height:12px;background:var(--ink);border-radius:2px}
.tbl .grp td{background:var(--bg);font-family:var(--f-mono);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);padding-top:16px}
.spark{width:96px;height:28px;display:block}
.cov{display:grid;gap:6px}
.cov a{color:var(--accent);font-weight:600}
.brief-art{display:grid;gap:14px;max-width:720px;align-content:start}
.rail{align-content:start}
.brief-art h2{font-size:1.25rem;font-weight:800;margin-top:6px}
.brief-art .prose{font-size:1.08rem}
.fine{font-size:.8rem;color:var(--ink-2)}

/* ---------- Motion layer ---------- */
/* Ticker */
.ticker{background:var(--brand);color:var(--brand-ink);overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--brand-ink) 15%,transparent)}
.ticker .trk{display:flex;width:max-content;will-change:transform}
.ticker a{display:inline-flex;gap:10px;align-items:center;padding:10px 26px 10px 0;white-space:nowrap;font-size:.88rem;font-weight:500;min-height:40px}
.ticker a b{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;background:var(--brand-ink);color:#fff;padding:2px 7px;border-radius:3px}
.ticker a b.rc{background:#8E2A14}
.ticker a::after{content:"•";padding-left:26px;opacity:.5}
@media (prefers-reduced-motion:reduce){.ticker{overflow-x:auto}}

/* Rotating lead */
.lead{position:relative}
.slides{display:grid}
.slide{grid-area:1/1;display:grid;gap:14px;align-content:start;transition:opacity .45s ease}
.slide[aria-hidden=true]{opacity:0;pointer-events:none}
.lead .pic{position:relative}
.lead .pic img{transform:scale(var(--z,1));transition:transform .2s linear}
.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:6px}
.tabs button{all:unset;cursor:pointer;display:grid;gap:6px;font-size:.8rem;line-height:1.25;color:var(--ink-2);min-height:44px;padding-top:2px}
.tabs button[aria-current=true]{color:var(--ink);font-weight:600}
.tabs .bar{height:3px;background:var(--rule);border-radius:2px;overflow:hidden}
.tabs .bar b{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.tabs button[aria-current=true] .bar b{animation:fill 8s linear forwards}
.lead.paused .tabs .bar b{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pausebtn{position:absolute;right:10px;top:10px;z-index:2;background:rgba(0,0,0,.55);color:#fff;border:0;border-radius:99px;min-width:44px;min-height:44px;cursor:pointer}
@media (max-width:560px){.tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tabs span.t{display:none}}

/* Numbers band */
.numbers{background:var(--mast);color:#fff;border-radius:8px;padding:24px 22px 22px;position:relative;overflow:hidden;display:grid;gap:22px}
.numbers .big{position:absolute;left:0;top:50%;font-weight:800;font-size:clamp(5rem,14vw,12rem);line-height:.8;letter-spacing:-.04em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);transform:translate(var(--x,0px),-50%);pointer-events:none}
.numbers h2{position:relative;font-size:1.05rem;font-weight:800;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.numbers h2 span{font-family:var(--f-mono);font-weight:400;font-size:.74rem;color:#9FB2C0;letter-spacing:.05em}
.stats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);border-radius:6px;overflow:hidden}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.stats{grid-template-columns:1fr}}
.stat{background:var(--mast);padding:18px 16px;display:grid;gap:6px;align-content:start}
.stat .n{font-weight:800;font-size:clamp(2rem,4.4vw,3.1rem);line-height:1;letter-spacing:-.03em;color:var(--brand);font-variant-numeric:tabular-nums}
.stat p{font-size:.9rem;color:#D3DDE4;line-height:1.35}
.stat a.more{font-size:.78rem;color:#9FD4F5;min-height:32px;display:inline-flex;align-items:center}
.stat a.more:hover{text-decoration:underline}

/* Business stack */
.stack{display:block}
.stack-card{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px + var(--i,0) * 14px);margin-bottom:16px;background:var(--bg);border:1px solid var(--rule);border-radius:10px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:300px;box-shadow:0 -8px 24px -18px rgba(0,0,0,.35);transform-origin:50% 0}
.stack-card::after{content:"";position:absolute;inset:0;background:#000;opacity:var(--dim,0);pointer-events:none;border-radius:inherit}
.stack-card:last-child{margin-bottom:0}
.stack-card .pic{overflow:hidden;background:var(--bg-2);min-height:220px}
.stack-card .txt{padding:24px;display:grid;gap:10px;align-content:center}
.stack-card .hl{font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:800;line-height:1.12;letter-spacing:-.015em}
.stack-card p.ex{font-family:var(--f-read);color:var(--ink-2);font-size:1rem}
.stack-card .num{font-family:var(--f-mono);font-size:.72rem;color:var(--ink-2)}
@media (max-width:700px){.stack-card{grid-template-columns:1fr;min-height:0;top:calc(env(safe-area-inset-top,0px) + 72px + var(--i,0) * 10px)}.stack-card .pic{min-height:0;aspect-ratio:16/9}.stack-card .txt{padding:16px}.stack-card p.ex{display:none}}

/* Line of the week */
.line{display:grid;gap:12px;padding-block:0;max-width:980px}
.line q{font-family:var(--f-read);font-size:clamp(1.6rem,3.6vw,2.7rem);line-height:1.22;quotes:none;letter-spacing:-.01em}
.line q .w{color:color-mix(in srgb,var(--ink) 22%,var(--bg));transition:color .25s}
.line q .w.lit{color:var(--ink)}
.line cite{font-style:normal;font-size:.9rem;color:var(--ink-2)}
.line cite a{color:var(--accent);font-weight:600}

/* Reveal and image zoom */
.rv{transition:opacity .5s ease,transform .5s ease}
.rv.pre{opacity:0;transform:translateY(22px)}
.card .pic img,.stack-card .pic img{transform:scale(var(--z,1))}

/* Article progress */
.progress{position:absolute;left:0;bottom:-3px;height:3px;width:100%;background:var(--brand);transform:scaleX(var(--p,0));transform-origin:left;display:none}
body.on-article .progress{display:block}
.art figure .pic img{transform:scale(1.08) translateY(var(--py,0px))}
@media (prefers-reduced-motion:reduce){
  .slide{transition:none}.rv.pre{opacity:1;transform:none}
  .tabs button[aria-current=true] .bar b{animation:none;transform:scaleX(1)}
  .line q .w{color:var(--ink)}
  .art figure .pic img{transform:none}
}
/* ---------- Motion round 2 ---------- */
.lead .pic{clip-path:inset(var(--ci,0%) var(--ci,0%) 0% var(--ci,0%) round var(--cr,4px))}
.sechead.draw{position:relative;border-top-color:transparent!important}
.section > .sechead.draw::before,.hrail .sechead.draw::before{content:"";position:absolute;left:0;right:0;top:-4px;height:4px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.sechead.draw.is-in::before{transform:scaleX(1)}
.latest > .sechead.draw::before{display:none}
.sechead.draw h2{transition:transform .6s ease .15s,opacity .6s ease .15s}
.sechead.draw:not(.is-in) h2{transform:translateY(8px);opacity:.15}
.wipe{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.2,.7,.2,1)}
.wipe.is-in{clip-path:inset(0 0 0% 0)}
.cards.c2 > :nth-child(even),.cards.c4 > :nth-child(even){transform:translateY(var(--pp,0px))}
@media (max-width:560px){.cards.c2 > :nth-child(even),.cards.c4 > :nth-child(even){transform:none}}
.latest li{animation:slidein .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--k,0) * 70ms + 150ms)}
@keyframes slidein{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.brief li{animation:slidein .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--k,0) * 220ms + 300ms)}
.pq{margin:.4em 0;padding:.2em 0 .2em 22px;position:relative;font-family:var(--f-head);font-weight:800;font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.2;letter-spacing:-.015em;transform:scale(calc(.94 + var(--q,1) * .06));transform-origin:left center}
.pq::before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:var(--brand);transform:scaleY(var(--q,1));transform-origin:top;border-radius:3px}
.pq p{margin:0}
/* pinned sideways rail */
.hrail{position:relative;min-width:0;width:100%}
.hr-sticky{min-width:0;grid-template-columns:minmax(0,1fr);position:sticky;top:calc(env(safe-area-inset-top,0px) + 64px);overflow:hidden;display:grid;gap:12px;padding-block:8px 12px;background:var(--bg)}
.hr-sticky > *{justify-self:stretch;min-width:0}
.hr-sticky > .hr-track{justify-self:start}
.hr-track{display:flex;gap:20px;width:max-content;will-change:transform}
.hr-card{flex:0 0 auto;width:320px;display:grid;gap:8px;align-content:start}
.hr-card .pic{aspect-ratio:3/2;border-radius:6px;overflow:hidden}
.hr-card .pic img{transform:scale(var(--z,1))}
.hr-card .hl{font-weight:700;font-size:1.08rem;line-height:1.22}
.hr-card .meta{font-size:.78rem;color:var(--ink-2)}
.hr-recall{background:var(--alert-soft);border-radius:8px;padding:18px;min-height:100%;border-top:4px solid var(--alert)}
.hr-recall .rtag{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--alert);font-weight:500}
.hr-recall p{font-family:var(--f-read);color:var(--ink-2);font-size:.95rem}
.hr-end{background:var(--mast);color:#fff;border-radius:8px;padding:22px;align-content:end;min-height:240px;width:240px}
.hr-end b{font-size:1.3rem;color:var(--brand)}
@media (max-width:700px){
  .hrail{height:auto!important}
  .hr-sticky{position:static;overflow:visible}
  .hr-sticky > .hr-track{justify-self:stretch}
  .hr-track{width:auto;max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-bottom:6px}
  .hr-card{width:78vw;scroll-snap-align:start}
}
/* charts draw themselves */
.drawline{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.3,.6,.2,1)}
.drawwrap.is-in .drawline{stroke-dashoffset:0}
.drawwrap .dotend{opacity:0;transition:opacity .4s ease 1.4s}
.drawwrap.is-in .dotend{opacity:1}
@media (prefers-reduced-motion:reduce){
  .lead .pic{clip-path:none}
  .sechead.draw::before{transform:none!important}.sechead.draw:not(.is-in) h2{transform:none;opacity:1}
  .wipe{clip-path:none!important}
  .cards.c2 > :nth-child(even),.cards.c4 > :nth-child(even),.pq{transform:none!important}
  .latest li,.brief li{animation:none}
  .hrail{height:auto!important}.hr-sticky{position:static;overflow:visible}.hr-sticky > .hr-track{justify-self:stretch}.hr-track{width:auto;max-width:100%;overflow-x:auto;transform:none!important}
  .drawline{stroke-dasharray:none;stroke-dashoffset:0}.drawwrap .dotend{opacity:1}
}
.reveal{animation:none}
@media (prefers-reduced-motion:no-preference){
  .view{animation:fade .25s ease-out}
  @keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
}

/* ---------- Live site additions ---------- */
.nlstrip{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;border-block:1px solid var(--line,#d9d9d9);padding-block:14px}
.nlstrip p{margin:0;font-size:1rem;max-width:62ch}
.nlstrip .kicker{margin-right:8px}
.nlstrip .nlbtn{min-height:44px;flex:none}
.nlbtn{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:4px;background:var(--ink);color:var(--bg);font-weight:700;justify-self:start}
.adslot.ar img{width:100%;max-width:730px;height:auto;display:block;margin:0 auto}
.adslot .ar.sq img,.adslot .ar.sq{max-width:300px;margin:0 auto}
.adslot .ar a,.adslot.ar a{display:block}
.stocks[hidden]{display:none}
.msearch{display:none;background:var(--mast);border-top:1px solid rgba(255,255,255,.12)}
.msearch.open{display:block}
.msearch form{display:flex;gap:8px;padding-block:10px}
.msearch input{flex:1;min-width:0;min-height:44px;border-radius:4px;border:0;padding:0 14px;font:inherit}
.msearch button{min-height:44px;border:0;border-radius:4px;background:var(--brand);color:var(--brand-ink);font-weight:700;padding:0 16px;cursor:pointer}
.prose img{max-width:100%;height:auto}
.prose figure{margin:0}
.prose iframe{max-width:100%}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.prose td,.prose th{border:1px solid var(--rule);padding:6px 8px}
.ssr{max-width:var(--max);margin:0 auto;padding:24px 0;display:grid;gap:12px}

/* ---------- Listing pages (categories, tags, search, writers, archives) ---------- */
.arch{display:grid;gap:24px;padding-block:18px 40px}
.archhead{display:grid;gap:8px;border-bottom:4px solid var(--ink);padding-bottom:16px}
.archhead h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.02}
.archdesc{font-family:var(--f-read);font-size:1.08rem;color:var(--ink-2);max-width:70ch}
.archmeta{font-family:var(--f-mono);font-size:.74rem;color:var(--ink-2);letter-spacing:.04em}
.archsearch{display:flex;gap:8px;max-width:560px;margin-top:6px}
.archsearch input{flex:1;min-width:0;min-height:46px;border:1px solid var(--rule);border-radius:4px;padding:0 14px;font:inherit;background:var(--bg);color:var(--ink)}
.archsearch button{min-height:46px;border:0;border-radius:4px;background:var(--ink);color:var(--bg);font-weight:700;padding:0 18px;cursor:pointer}
.archempty{display:grid;gap:10px;padding:20px;background:var(--bg-2);border-radius:8px}
.arch-lead{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:center}
.arch-lead .pic{aspect-ratio:16/9;border-radius:6px;overflow:hidden}
.arch-lead .txt{display:grid;gap:10px}
.arch-lead .hl{font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:800;line-height:1.08;letter-spacing:-.02em}
.arch-lead .ex{font-family:var(--f-read);color:var(--ink-2);font-size:1.05rem}
.arch-lead .meta{font-size:.8rem;color:var(--ink-2)}
.arch-lead:hover .hl{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media (max-width:760px){.arch-lead{grid-template-columns:1fr;gap:14px}}
.card.noimg{border-top:3px solid var(--rule);padding-top:12px}
.pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.pager a,.pager span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:4px;padding:0 12px;font-weight:600;font-size:.92rem}
.pager a:hover{border-color:var(--accent);color:var(--accent)}
.pager .pg-cur{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pager .pg-gap{border:0;min-width:24px}

/* ---------- WordPress pages and simple page-builder content ---------- */
.prose .vc_row,.prose .wpb_row,.prose .vc_column_container,.prose .wpb_column,.prose .vc_column-inner,.prose .wpb_wrapper{display:block;width:auto;margin:0;padding:0;float:none}
.prose .wpb_text_column,.prose .wpb_content_element{margin-bottom:1em}
.prose .vc_separator{border-top:1px solid var(--rule);margin:1.2em 0}
.prose .vc_empty_space{height:auto!important;min-height:0}
.prose .td-block-title,.prose .block-title{font-family:var(--f-head);font-size:1.3rem;font-weight:800;margin:.6em 0 .3em}
.prose iframe{width:100%;border:0}
.prose .wpcf7{background:var(--bg-2);border-radius:8px;padding:18px}
.prose .wpcf7 p{margin:0 0 12px}
.prose .wpcf7 label{display:grid;gap:4px;font-family:var(--f-head);font-size:.92rem;font-weight:600}
.prose .wpcf7 input[type=text],.prose .wpcf7 input[type=email],.prose .wpcf7 input[type=tel],.prose .wpcf7 input[type=url],.prose .wpcf7 textarea,.prose .wpcf7 select{width:100%;min-height:46px;border:1px solid var(--rule);border-radius:4px;padding:8px 12px;font:400 1rem var(--f-head);background:var(--bg);color:var(--ink)}
.prose .wpcf7 textarea{min-height:140px}
.prose .wpcf7 input[type=submit]{min-height:46px;border:0;border-radius:4px;background:var(--ink);color:var(--bg);font:700 1rem var(--f-head);padding:0 22px;cursor:pointer}
.prose .wpcf7-response-output{margin:12px 0 0;padding:10px 12px;border-radius:4px;border:1px solid var(--rule);font-family:var(--f-head);font-size:.92rem}
.prose .wpcf7-not-valid-tip{color:var(--alert);font-size:.85rem}
.prose .screen-reader-response{position:absolute;left:-9999px}

/* Images inside stories and pages keep their own size and alignment */
.prose img{width:auto;height:auto;max-width:100%;object-fit:initial;display:inline-block;vertical-align:top;background:none}
.prose img.alignleft,.prose .alignleft{float:left;margin:4px 18px 10px 0;max-width:45%}
.prose img.alignright,.prose .alignright{float:right;margin:4px 0 10px 18px;max-width:45%}
.prose .aligncenter,.prose img.aligncenter{display:block;margin:0 auto}
.prose figure img,.prose .wp-block-image img,.prose img.size-large,.prose img.size-full:not(.alignleft):not(.alignright){display:block}
.prose h2,.prose h3,.prose hr,.prose blockquote,.prose .adslot{clear:both}
.prose::after{content:"";display:table;clear:both}
.prose hr{border:0;border-top:1px solid var(--rule);margin:1.2em 0}

/* IHR stand-in for stories without a photo */
.pic:has(>.ph){container-type:inline-size}
.ph{display:grid;place-content:center;justify-items:center;gap:.35em;width:100%;height:100%;min-height:100%;
  background:radial-gradient(110% 90% at 88% 0%,rgba(77,178,236,.45) 0%,transparent 58%),linear-gradient(155deg,#0B2A3D 0%,#071A26 100%);color:#fff;text-align:center;padding:8%}
.ph b{font-family:var(--f-head);font-weight:800;letter-spacing:-.02em;line-height:1;color:#4DB2EC;font-size:clamp(1.3rem,20cqw,4.2rem)}
.ph i{font-style:normal;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.12em;opacity:.8;font-size:clamp(.5rem,4.2cqw,.8rem)}
@container (max-width:140px){.ph i{display:none}}

/* questions readers ask, under older stories */
.faq{margin:28px 0;padding-top:16px;border-top:4px solid var(--ink)}
.faq h2{font-size:1.25rem;margin-bottom:6px}
.faq h3{font-size:1.02rem;font-weight:700;margin:16px 0 4px}
.faq p{font-family:var(--f-read);color:var(--ink-2);line-height:1.6}
