/* ==========================================================================
   Type 1b DESKTOP layer: wide container, multi-column news layouts.
   Generated by tools/build_type1b.py; loaded last on every page.
   ========================================================================== */
:root{--max:1440px;--gut:48px}
body{font-size:17px}
.wrap{max-width:var(--max);padding:0 var(--gut)}
.header-inner{max-width:var(--max);padding:0 var(--gut);height:76px}
.brand-mark{font-size:2.05rem}
.brand-cue{font-size:11px}
.nav{font-size:14.5px;gap:30px}
.nav .btn{padding:12px 24px;font-size:13.5px}
.site-footer{padding:64px var(--gut) 40px;margin-top:0}
.footer-inner{max-width:calc(var(--max) - 2*var(--gut));grid-template-columns:2fr 1fr 1fr;gap:48px}
.footer-bottom{max-width:calc(var(--max) - 2*var(--gut))}
.footer-tag{font-size:16px;max-width:46ch}
.footer-col a{font-size:15px}
.hero,.section,.donate-inner{max-width:var(--max);padding-left:var(--gut);padding-right:var(--gut)}
.section-head{margin-bottom:26px;padding-bottom:12px}
.section-head h2{font-size:2.05rem}
.section-head a{font-size:12.5px;color:var(--muted)}
.btn{padding:12px 22px;font-size:13px}

/* shared story atoms */
.f-label{display:inline-block;font-family:var(--font-body);font-stretch:90%;font-weight:800;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fchip{font-family:var(--font-body);font-stretch:85%;font-weight:700;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:6px 12px;border-radius:999px;cursor:pointer;transition:all .12s}
.fchip small{font-weight:600;color:var(--muted);margin-left:5px}
.fchip:hover{border-color:var(--primary)}
.fchip.on{background:var(--primary);border-color:var(--primary);color:#fff}
.fchip.on small{color:rgba(255,255,255,.65)}
.fchip:disabled{opacity:.45;cursor:not-allowed}
.fchip.fmt.on{background:var(--accent);border-color:var(--accent)}
.kick-muted{color:var(--muted)}
a.kick:hover{text-decoration:underline}
.kline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kick{font-family:var(--font-body);font-stretch:88%;font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.kx{font-family:var(--font-body);font-stretch:88%;font-weight:800;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--primary);padding:3px 7px;border-radius:2px}
.dmeta{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--font-body);font-stretch:90%;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dmeta .dot{color:#B9B1A5}
.yt-thumb{border-radius:2px}

/* lead package: 16:9 still on ~2/3 of the width, headline column beside it */
.edition{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 0 14px;border-bottom:1px solid var(--border);
  font-family:var(--font-body);font-stretch:90%;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.edition b{color:var(--text);font-weight:800}
.edition a{color:var(--accent)}
.lead-pkg{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:48px;align-items:start;padding:36px 0 44px;border-bottom:3px solid var(--primary)}
.lead-media{margin:0}
.lead-media figcaption{margin:12px 0 0;font-family:var(--font-read);font-style:italic;font-size:14.5px;color:var(--muted)}
.lead-media figcaption:empty{display:none}
.lead-text{display:flex;flex-direction:column;gap:18px;padding-top:2px}
.lead-text h1,.lead-text h2{font-family:var(--font-display);font-stretch:72%;font-weight:850;font-size:clamp(2.3rem,2.9vw,2.95rem);line-height:.98;letter-spacing:-.012em;margin:0;color:var(--text);text-transform:none}
.lead-text a:hover h1,.lead-text a:hover h2{color:var(--accent)}
.lead-dek{font-family:var(--font-read);font-size:1.2rem;line-height:1.52;color:#3A4250;margin:0}
.lead-cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:4px}
.lead-more{font-family:var(--font-body);font-stretch:88%;font-weight:800;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text);border-bottom:2px solid var(--accent);padding-bottom:2px}
.lead-left{display:flex;flex-direction:column;gap:22px}
.lead-rel{border-top:1px solid var(--border);padding-top:16px}
.lead-rel ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lead-rel li a{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start}
.lead-rel li span{font-family:var(--font-display);font-stretch:80%;font-weight:750;font-size:1rem;line-height:1.14}
.lead-rel li a:hover span{color:var(--accent)}

/* 4-up card grid (open, no boxes) */
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.grid4 .dcard + .dcard{position:relative}
.grid4 .dcard + .dcard::before{content:"";position:absolute;left:-18px;top:0;bottom:0;border-left:1px solid var(--border)}
.dcard a{display:flex;flex-direction:column;gap:14px;color:inherit}
.dcard-body{display:flex;flex-direction:column;gap:9px}
.dcard h3{margin:0;font-family:var(--font-display);font-stretch:78%;font-weight:800;font-size:1.48rem;line-height:1.06;letter-spacing:-.005em}
.dcard a:hover h3{color:var(--accent)}
.dcard p{margin:0;font-family:var(--font-read);font-size:15.5px;line-height:1.5;color:var(--muted)}
.blk{padding:44px 0 8px}

/* main column + right rail */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:64px;align-items:start;padding:44px 0 64px}
.drow{display:grid;grid-template-columns:360px minmax(0,1fr);gap:32px;padding:28px 0;border-bottom:1px solid var(--border);align-items:start}
.drow:first-of-type{padding-top:4px}
.drow-body{display:flex;flex-direction:column;gap:10px}
.drow h3{margin:0;font-family:var(--font-display);font-stretch:76%;font-weight:800;font-size:1.82rem;line-height:1.04;letter-spacing:-.006em}
.drow a:hover h3{color:var(--accent)}
.drow p{margin:0;font-family:var(--font-read);font-size:16.5px;line-height:1.55;color:var(--muted);max-width:66ch}
.drow .tagline{font-family:var(--font-body);font-stretch:90%;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.drow .tagline a{color:var(--accent)}
.drow.hide{display:none}
.rail{position:sticky;top:100px;display:flex;flex-direction:column;gap:28px}
.rbox{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:22px 24px 24px}
.rbox-h{margin:0 0 6px;padding-bottom:10px;border-bottom:3px solid var(--primary);font-family:var(--font-display);font-stretch:74%;font-weight:900;font-size:1.3rem;letter-spacing:.01em;text-transform:uppercase;line-height:1}
.rbox.navy{background:var(--primary);border-color:var(--primary);color:#F6F3EE;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.rbox.navy::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0%,rgba(158,27,46,.45),transparent 60%);pointer-events:none}
.rbox.navy > *{position:relative;z-index:1}
.rbox.navy h2{margin:0;font-family:var(--font-display);font-stretch:72%;font-weight:900;font-size:1.85rem;line-height:1;color:#fff}
.rbox.navy p{margin:0;font-family:var(--font-read);font-size:15.5px;line-height:1.5;color:rgba(246,243,238,.82)}
.rbox.navy .btn{align-self:flex-start;margin-top:4px}
.srows,.brows{list-style:none;margin:0;padding:0}
.srows li a{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;padding:13px 0;border-bottom:1px dashed var(--border)}
.srows li:last-child a{border-bottom:0;padding-bottom:0}
.srows b{font-family:var(--font-display);font-stretch:62%;font-weight:900;font-size:2.3rem;line-height:.9;color:var(--accent);text-align:right}
.srows span{font-family:var(--font-display);font-stretch:80%;font-weight:750;font-size:1.04rem;line-height:1.15}
.srows small{display:block;font-family:var(--font-read);font-weight:400;font-size:13.5px;color:var(--muted);margin-top:3px;line-height:1.35}
.srows a:hover span{color:var(--accent)}
.brows li a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid #ECE7DF;font-family:var(--font-body);font-stretch:85%;font-weight:750;font-size:14.5px}
.brows li:last-child a{border-bottom:0;padding-bottom:0}
.brows b{font-stretch:66%;font-weight:900;font-size:1.25rem;color:var(--muted)}
.brows a:hover b{color:var(--accent)}
.rnote{margin:12px 0 0;font-family:var(--font-read);font-style:italic;font-size:13.5px;color:var(--muted);line-height:1.4}

/* reader-funded band */
.donate-strip{margin:0}
.donate-inner{padding-top:40px;padding-bottom:40px}
.donate-copy h2{font-size:2.3rem}
.donate-copy p{font-size:17px;max-width:64ch}
.dstrip .wrap{padding-top:26px;padding-bottom:26px}
.dstrip p{font-size:17.5px}

/* ---------- categories index ---------- */
.ix-hero{padding-top:56px}
.ix-hero .inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:end;padding-bottom:36px}
.ix-hero h1{font-size:clamp(4rem,6.4vw,6.4rem);margin:14px 0 0}
.ix-hero p{font-size:1.3rem;max-width:56ch}
.ix-hero .jump{margin-top:22px}
.cgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:40px 0 24px}
.ccard{border-radius:4px}
.ccard.span2{grid-column:span 2}
.ctop{grid-template-columns:auto 1fr;padding:24px 26px 20px;min-height:154px;align-items:center}
.ctop .num{font-size:5rem}
.ctop h2{font-size:1.7rem}
.ctop p{font-size:15.5px}
.clead{display:flex;flex-direction:column;gap:12px;padding:22px 26px 6px}
.clead h3{margin:0;font-family:var(--font-display);font-stretch:78%;font-weight:800;font-size:1.5rem;line-height:1.06}
.clead a:hover h3{color:var(--accent)}
.ccard .heads{padding:6px 26px 10px}
.ccard .heads li{grid-template-columns:132px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:0;border-top:1px dashed var(--border)}
.ccard .heads .h{font-size:1.06rem}
.cfoot{margin-top:auto}
.tile2{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:24px 26px;flex:1}
.tile2 .f-label{display:block;margin-bottom:10px}
.docs{padding:4px 26px 24px}
.docs .f-label{display:block;margin-bottom:12px;padding-top:18px;border-top:1px dashed var(--border)}
.docs-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.docs-row a{display:flex;flex-direction:column;gap:8px}
.docs-row span{font-family:var(--font-display);font-stretch:80%;font-weight:750;font-size:.98rem;line-height:1.14}
.docs-row a:hover span{color:var(--accent)}

/* ---------- category pages ---------- */
.c-hero{padding:44px 0 40px}
.c-hero .wrap{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:72px;align-items:end}
.c-hero h1{font-size:clamp(3.2rem,4.6vw,4.6rem);max-width:none;margin:10px 0 14px}
.c-hero p.c-desc{font-size:1.28rem;max-width:62ch}
.c-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border-top:1px solid rgba(246,243,238,.18)}
.c-stat{padding:20px 0 18px;border-bottom:1px solid rgba(246,243,238,.18)}
.c-stat:nth-child(odd){padding-right:24px;border-right:1px solid rgba(246,243,238,.18)}
.c-stat:nth-child(even){padding-left:28px}
.c-stat{padding:16px 0 14px}
.c-stat b{font-size:2.8rem}
.c-pkg .lead-pkg{border-bottom:1px solid var(--border);padding-top:32px}
.c-pkg .cols{padding-bottom:24px}
.earlier{padding:24px 0 72px}
.earlier .list-head{margin-bottom:28px}
.list-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:3px solid var(--primary);padding-bottom:12px;margin-bottom:24px}
.list-head h2{margin:0;font-family:var(--font-display);font-stretch:74%;font-weight:900;font-size:2.05rem;text-transform:uppercase;line-height:1}
.fbox .f-label{display:block;margin:14px 0 10px}
.fbox .chipset{display:flex;flex-wrap:wrap;gap:8px}
.fchip{font-size:12.5px;padding:6px 12px}
.hubs2 li a{grid-template-columns:52px 1fr}

/* ---------- article ---------- */
.article-wrap{max-width:var(--max);padding:52px var(--gut) 24px}
.article-layout{grid-template-columns:minmax(0,1fr) 380px;gap:72px}
.breadcrumb{font-family:var(--font-body);font-stretch:90%;font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.article-header h1{font-size:clamp(3rem,4.2vw,4.4rem);line-height:.98;max-width:22ch;font-stretch:72%;font-weight:850}
.article-header .dek{font-size:1.45rem;line-height:1.48;max-width:60ch;color:#3A4250}
.byline{font-size:13px;padding:16px 0}
.hero-art.yt-thumb{margin-top:8px}
.hero-art-caption{font-family:var(--font-read);font-style:italic;font-size:14.5px}
.prose{max-width:740px;font-size:1.24rem;line-height:1.72}
.prose blockquote{font-size:1.45rem}
.article-cta{max-width:740px;padding:28px 32px}
.article-cta strong{font-size:1.6rem}
.article-cta p{font-size:15.5px;max-width:52ch}
.sidebar{top:100px;gap:28px}
.side-card{padding:22px 24px}
.side-card > h2{font-size:12px}
.related-item{display:grid;grid-template-columns:150px minmax(0,1fr);grid-auto-rows:min-content;column-gap:16px;row-gap:4px;padding:14px 0}
.related-item .yt-thumb{grid-row:1 / span 3;align-self:start}
.related-item .r-chip{margin:0}
.related-item h3{font-size:1.06rem;margin:0}
.side-card.ds{display:none}
.more-from{border-top:3px solid var(--primary);margin-top:24px;padding:20px 0 64px}
.more-from .list-head{border:0;margin-bottom:22px;padding:0}

/* ---------- series hub ---------- */
.s-hero{padding:60px 0 56px}
.s-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:center}
.s-hero h1{font-size:clamp(3.2rem,4.8vw,4.9rem);max-width:none;line-height:.96}
.s-meta{font-size:13.5px;gap:28px;font-family:var(--font-body);font-stretch:90%;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.s-hero figure{margin:0}
.s-hero figcaption{margin-top:10px;font-family:var(--font-read);font-style:italic;font-size:14px;color:rgba(246,243,238,.65)}
.s-cols{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:72px;align-items:start;padding:52px 0 24px}
.s-intro{margin:0 0 48px;max-width:none;font-size:1.32rem;line-height:1.65}
.s-intro p:first-child::first-letter{font-family:var(--font-display);font-stretch:66%;font-weight:900;float:left;font-size:4.6em;line-height:.8;margin:6px 12px 0 0;color:var(--accent)}
.section-h{border-top:0;border-bottom:3px solid var(--primary);padding:0 0 12px;margin-bottom:30px}
.timeline{max-width:none;border-left:2px solid var(--border);margin-bottom:24px}
.timeline li{padding:0 0 36px 36px}
.timeline li.has-thumb{display:grid;grid-template-columns:330px minmax(0,1fr);gap:28px;align-items:start}
.timeline li::before{top:8px}
.t-title{font-size:1.7rem;line-height:1.05;margin:8px 0 10px;font-stretch:76%}
.t-dek{margin:0;font-family:var(--font-read);font-size:16px;line-height:1.55;color:var(--muted)}
.donate-block{margin:8px 0 72px;padding:44px 48px}
.donate-block h2{font-size:2.4rem}
.donate-block p{font-family:var(--font-read);font-size:17px}
.glance dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:0}
.glance dt,.glance dd{padding:11px 0;border-bottom:1px solid #ECE7DF;margin:0}
.glance dt{font-family:var(--font-body);font-stretch:88%;font-weight:800;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-right:16px}
.glance dd{font-family:var(--font-body);font-stretch:85%;font-weight:750;font-size:15px;text-align:right}
.glance dd a{color:var(--accent)}

/* other wide pages (donate/about/series index) */
.page-hero,.donate-wrap,.about-wrap,.container{max-width:var(--max)}
