/* Site design templates (Settings → Appearance → Design). Loaded only when a template other than the default is chosen; each one is scoped to
   html[data-design="…"] and adjusts layout, spacing and surfaces while the colours and fonts still come from the theme. */

/* ───────── Magazine: a cover story over its picture, a featured row, rounded cards that lift on hover ───────── */
html[data-design=magazine] .masthead{border-bottom:0;background:linear-gradient(var(--panel),transparent);box-shadow:0 1px 0 var(--line)}
html[data-design=magazine] .logo{font-size:clamp(36px,6.5vw,66px);padding:14px 0 18px}
html[data-design=magazine] nav[aria-label=Primary]{font-weight:600}
html[data-design=magazine] .home-lead{position:relative;display:flex;grid-template-columns:none;min-height:clamp(340px,44vw,540px);border:0;padding:0;margin:8px 0 34px;border-radius:20px;overflow:hidden;background:var(--panel);isolation:isolate}
html[data-design=magazine] .home-lead-img{position:absolute;inset:0;z-index:-2}
html[data-design=magazine] .home-lead-img img{width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover}
html[data-design=magazine] .home-lead::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(5,8,12,.88) 0,rgba(5,8,12,.55) 38%,rgba(5,8,12,.05) 72%)}
html[data-design=magazine] .home-lead-text{align-self:flex-end;max-width:820px;padding:clamp(20px,4vw,48px);text-align:left;color:#fff}
html[data-design=magazine] .home-lead-text h2{font-size:clamp(30px,4.6vw,56px);line-height:1.08;margin:10px 0 12px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
html[data-design=magazine] .home-lead-text h2 a,html[data-design=magazine] .home-lead-text .kicker{color:#fff}
html[data-design=magazine] .home-lead-text .dek{color:rgba(255,255,255,.9)}
html[data-design=magazine] .home-lead-text .meta,html[data-design=magazine] .home-lead-text .meta a{color:rgba(255,255,255,.78)}
html[data-design=magazine] .home-lead-text .badge{border-color:rgba(255,255,255,.55);color:#fff}
html[data-design=magazine] .home-lead:not(:has(.home-lead-img)){min-height:0}
html[data-design=magazine] .home-lead:not(:has(.home-lead-img))::after{display:none}
html[data-design=magazine] .home-lead:not(:has(.home-lead-img)) .home-lead-text{color:var(--text)}
html[data-design=magazine] .home-lead:not(:has(.home-lead-img)) .home-lead-text h2 a{color:var(--text)}
html[data-design=magazine] .home-lead:not(:has(.home-lead-img)) .home-lead-text .dek{color:var(--text2)}
html[data-design=magazine] .rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
html[data-design=magazine] .row{grid-template-columns:1fr;gap:0;padding:0;border:1px solid var(--line);border-top:3px solid var(--amber);border-radius:14px;background:var(--panel);overflow:hidden;transition:transform .18s,box-shadow .18s}
html[data-design=magazine] .row:hover{transform:translateY(-3px);box-shadow:0 16px 30px -22px #000}
html[data-design=magazine] .row:has(.k-science){border-top-color:var(--teal)}
html[data-design=magazine] .row:has(.k-cases){border-top-color:var(--cases)}
html[data-design=magazine] .row:has(.k-history){border-top-color:var(--history)}
html[data-design=magazine] .row:has(.k-analysis){border-top-color:var(--analysis)}
html[data-design=magazine] .row:first-child{padding-top:0}
html[data-design=magazine] .row-img img{border-radius:0;aspect-ratio:16/9}
html[data-design=magazine] .row>div{padding:14px 18px 18px}
html[data-design=magazine] .row h3{font-size:22px}
html[data-design=magazine] .row p{display:block}
html[data-design=magazine] .rows>.row:first-child:has(.row-img){grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
html[data-design=magazine] .rows>.row:first-child .row-img img{height:100%;aspect-ratio:auto;min-height:260px}
html[data-design=magazine] .rows>.row:first-child>div{align-self:center;padding:24px 30px}
html[data-design=magazine] .rows>.row:first-child h3{font-size:clamp(24px,2.8vw,34px);line-height:1.15}
html[data-design=magazine] .cards{gap:24px}
html[data-design=magazine] .card{border:1px solid var(--line);border-top:3px solid var(--amber);border-radius:14px;background:var(--panel);padding:14px;overflow:hidden;transition:transform .18s}
html[data-design=magazine] .card:hover{transform:translateY(-3px)}
html[data-design=magazine] .thumb,html[data-design=magazine] .hero-img{border-radius:10px}
html[data-design=magazine] .side{border-radius:14px;box-shadow:0 10px 24px -20px #000}
html[data-design=magazine] .sec-head{border-bottom:0;padding-bottom:0;margin:6px 0 16px}
html[data-design=magazine] .sec-head h2{padding:6px 14px;border-radius:99px;background:rgba(var(--amber-rgb),.14);color:var(--amber);display:inline-block}
@media(max-width:760px){html[data-design=magazine] .home-lead{display:block;min-height:0;border-radius:14px;background:var(--panel)}html[data-design=magazine] .home-lead-img{position:static}html[data-design=magazine] .home-lead-img img{height:auto;aspect-ratio:16/10}html[data-design=magazine] .home-lead::after{display:none}html[data-design=magazine] .home-lead-text{color:var(--text);padding:16px}html[data-design=magazine] .home-lead-text h2,html[data-design=magazine] .home-lead-text h2 a,html[data-design=magazine] .home-lead-text .kicker{color:var(--text);text-shadow:none}html[data-design=magazine] .home-lead-text .dek{color:var(--text2)}html[data-design=magazine] .home-lead-text .meta,html[data-design=magazine] .home-lead-text .meta a{color:var(--dim)}html[data-design=magazine] .home-lead-text .badge{border-color:var(--line);color:var(--dim)}html[data-design=magazine] .rows{grid-template-columns:1fr}html[data-design=magazine] .rows>.row:first-child:has(.row-img){grid-template-columns:1fr}html[data-design=magazine] .rows>.row:first-child .row-img img{height:auto;aspect-ratio:16/9;min-height:0}html[data-design=magazine] .row p{display:none}html[data-design=magazine] .row>div{padding:12px 14px 14px}}

/* ───────── Newsroom: a wire-service front page: sans headlines, two columns of compact stories, flat rails ───────── */
html[data-design=newsroom] body{font-size:16px;line-height:1.5}
html[data-design=newsroom] h1,html[data-design=newsroom] h2,html[data-design=newsroom] h3{font-family:var(--sans);letter-spacing:-.012em}
html[data-design=newsroom] .body{font-size:17.5px;line-height:1.65}
html[data-design=newsroom] .logo{text-align:left;font-size:clamp(26px,3.4vw,38px);padding:4px 0 6px;letter-spacing:-.3px}
html[data-design=newsroom] .top{padding:6px 0}
html[data-design=newsroom] nav[aria-label=Primary]{justify-content:flex-start;padding:4px 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.07em}
html[data-design=newsroom] .masthead{border-bottom:3px solid var(--amber)}
html[data-design=newsroom] .home-lead{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;padding:4px 0 18px;margin-bottom:4px}
html[data-design=newsroom] .home-lead-img img{aspect-ratio:3/2;border-radius:3px}
html[data-design=newsroom] .home-lead-text .kicker{display:inline-block;padding:2px 8px;background:var(--amber);color:var(--on-amber);border-radius:2px}
html[data-design=newsroom] .home-lead-text h2{font-size:clamp(26px,3vw,38px);line-height:1.1;font-weight:800;margin:8px 0 8px}
html[data-design=newsroom] .home-lead-text .dek{font:17px/1.45 var(--sans);color:var(--text2)}
html[data-design=newsroom] .home-grid{grid-template-columns:minmax(0,1fr) 290px;gap:30px}
html[data-design=newsroom] .sec-head{margin:18px 0 10px;border-bottom:1px solid var(--line)}
html[data-design=newsroom] .sec-head h2{border-left:4px solid var(--amber);padding-left:9px;font-size:12px}
html[data-design=newsroom] .rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}
html[data-design=newsroom] .row{grid-template-columns:minmax(0,1fr) 112px;gap:12px;padding:12px 0;align-items:start}
html[data-design=newsroom] .row:first-child{padding-top:12px}
html[data-design=newsroom] .row .row-img{order:2}
html[data-design=newsroom] .row-img img{border-radius:3px;aspect-ratio:4/3}
html[data-design=newsroom] .row h3{font-size:17px;font-weight:700;line-height:1.25;margin:3px 0 4px}
html[data-design=newsroom] .row p{font-size:14px;line-height:1.4;margin:0 0 3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html[data-design=newsroom] .row .kicker{font-size:11px}
html[data-design=newsroom] .row .meta{font-size:12px}
html[data-design=newsroom] .cards{gap:16px;margin:18px 0}
html[data-design=newsroom] .card h3{font-size:17px;font-weight:700}
html[data-design=newsroom] .thumb,html[data-design=newsroom] .hero-img{border-radius:3px}
html[data-design=newsroom] .side{border:0;border-top:2px solid var(--amber);border-radius:0;padding:10px 0 0;background:transparent}
html[data-design=newsroom] .home-side{gap:20px}
html[data-design=newsroom] .badge{border-radius:2px}
@media(min-width:761px){html[data-design=newsroom] .masthead .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:28px;align-items:end}html[data-design=newsroom] .masthead .top{grid-column:1/-1}html[data-design=newsroom] .masthead .desktop-nav{padding-bottom:12px}}
@media(max-width:980px){html[data-design=newsroom] .rows{grid-template-columns:1fr}html[data-design=newsroom] .home-grid{grid-template-columns:1fr}}
@media(max-width:760px){html[data-design=newsroom] .home-lead{grid-template-columns:1fr;gap:12px}html[data-design=newsroom] .row{grid-template-columns:minmax(0,1fr) 92px}}

/* ───────── Minimal: one calm reading column ───────── */
html[data-design=minimal] .wrap{max-width:min(var(--page-max,1120px),880px)}
html[data-design=minimal] body{line-height:1.7}
html[data-design=minimal] .logo{font-size:clamp(26px,4vw,40px);padding:6px 0 8px;font-weight:600}
html[data-design=minimal] .masthead{border-bottom:1px solid var(--line)}
html[data-design=minimal] nav[aria-label=Primary]{font-size:12.5px;letter-spacing:.14em;gap:4px 22px}
html[data-design=minimal] .home-lead{grid-template-columns:1fr;gap:16px;border-bottom:1px solid var(--line);padding-bottom:28px}
html[data-design=minimal] .home-lead-img img{aspect-ratio:16/9;border-radius:6px}
html[data-design=minimal] .home-lead-text h2{font-size:clamp(28px,4vw,40px)}
html[data-design=minimal] .home-grid{grid-template-columns:1fr;gap:10px}
html[data-design=minimal] .home-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px}
html[data-design=minimal] .home-side .side{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 0 0}
html[data-design=minimal] .row{grid-template-columns:96px minmax(0,1fr);gap:16px;padding:22px 0}
html[data-design=minimal] .row-img img{border-radius:4px;aspect-ratio:1/1}
html[data-design=minimal] .row h3{font-size:22px}
html[data-design=minimal] .cards{grid-template-columns:1fr;gap:0}
html[data-design=minimal] .card{padding:20px 0;border-top:1px solid var(--line)}
html[data-design=minimal] .thumb{display:none}
html[data-design=minimal] .sec-head{border-bottom:1px solid var(--line)}
html[data-design=minimal] article.full{max-width:700px}
html[data-design=minimal] .body{font-size:20px;line-height:1.8}
html[data-design=minimal] .foot{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
html[data-design=minimal] .foot>div:first-child{grid-column:1/-1}
@media(max-width:760px){html[data-design=minimal] .home-side{grid-template-columns:1fr}html[data-design=minimal] .row{grid-template-columns:84px minmax(0,1fr)}}

/* ───────── Rows without a picture (The Wire, search results, text-only lists): never reserve a thumbnail column ───────── */
html[data-design] .row:not(:has(.row-img)){grid-template-columns:1fr}
html[data-design=magazine] .rows:has(.wire-row){display:flex;flex-direction:column;gap:0}
html[data-design=magazine] .wire-row.row{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:16px 0;overflow:visible;grid-template-columns:150px minmax(0,1fr);gap:16px}
html[data-design=magazine] .wire-row.row:not(:has(.row-img)){grid-template-columns:1fr}
html[data-design=magazine] .wire-row .row-img img{border-radius:10px;aspect-ratio:3/2}
html[data-design=magazine] .wire-row.row>div{padding:0}
html[data-design=newsroom] .rows:has(.wire-row){grid-template-columns:1fr}
html[data-design=newsroom] .wire-row{padding:9px 0}
html[data-design=newsroom] .wire-row h3{font-size:17px}
html[data-design=newsroom] .wire-row.row:has(.row-img){grid-template-columns:minmax(0,1fr) 110px}
html[data-design=minimal] .wire-row{padding:16px 0}
html[data-design=minimal] .wire-row h3{font-size:19px}
html[data-design=minimal] .wire-row.row:has(.row-img){grid-template-columns:84px minmax(0,1fr)}
html[data-design=minimal] .wire-row.row:has(.row-img) .row-img img{aspect-ratio:1/1}
@media(max-width:760px){html[data-design] .wire-row.row:has(.row-img){grid-template-columns:84px minmax(0,1fr)}html[data-design=magazine] .wire-row.row:has(.row-img){grid-template-columns:84px minmax(0,1fr)}}
/* a lead whose picture is only the headline set as a card: show the headline once, on the beat's own colour, instead of laying it over itself */
html[data-design] .home-lead.home-lead-card{background:var(--lead-tint,var(--panel));border-left:6px solid var(--accent);border-radius:14px;padding:clamp(18px,3vw,32px);display:block}
html[data-design] .home-lead.home-lead-card .home-lead-text{max-width:820px;color:#f0f3f7}
html[data-design] .home-lead.home-lead-card .home-lead-text h2 a,html[data-design] .home-lead.home-lead-card .home-lead-text .kicker{color:#fff}
html[data-design] .home-lead.home-lead-card .home-lead-text .dek{color:rgba(240,243,247,.88)}
html[data-design] .home-lead.home-lead-card .home-lead-text .meta,html[data-design] .home-lead.home-lead-card .home-lead-text .meta a{color:rgba(240,243,247,.75)}
html[data-design] .home-lead.home-lead-card .home-lead-text .badge{border-color:rgba(255,255,255,.5);color:#fff}
html[data-design=magazine] .home-lead.home-lead-card{min-height:0;margin:8px 0 34px}
html[data-design=magazine] .home-lead.home-lead-card::after{display:none}

/* ───────── Glass: frosted panels over a soft wash of the accent colour — the look of the fact-card headers, across the whole site ───────── */
html[data-design=glass] body{background:radial-gradient(1100px 520px at 12% -6%,rgba(var(--amber-rgb),.16),transparent 62%),radial-gradient(900px 480px at 96% 4%,rgba(var(--amber-rgb),.09),transparent 60%),var(--bg);background-attachment:fixed}
html[data-design=glass] .masthead{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08);background:color-mix(in srgb,var(--bg) 62%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}
html[data-design=glass] .logo{font-size:clamp(28px,4.6vw,46px);padding:6px 0 8px}
html[data-design=glass] nav[aria-label=Primary]{padding:2px 0 12px;font-size:12.5px;font-weight:600}
html[data-design=glass] .row,html[data-design=glass] .card,html[data-design=glass] .side,html[data-design=glass] .home-newsletter,html[data-design=glass] .reader-summary,html[data-design=glass] .disclosure-note{background:color-mix(in srgb,var(--panel) 58%,transparent);border:1px solid rgba(255,255,255,.1);border-radius:16px;-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 18px 40px -26px rgba(0,0,0,.55)}
@media(prefers-color-scheme:light){html[data-design=glass]:not([data-theme=dark]) .row,html[data-design=glass]:not([data-theme=dark]) .card,html[data-design=glass]:not([data-theme=dark]) .side,html[data-design=glass]:not([data-theme=dark]) .home-newsletter,html[data-design=glass]:not([data-theme=dark]) .reader-summary{background:color-mix(in srgb,#fff 66%,transparent);border-color:rgba(20,30,45,.1);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 16px 36px -28px rgba(20,30,45,.45)}}
html[data-theme=light][data-design=glass] .row,html[data-theme=light][data-design=glass] .card,html[data-theme=light][data-design=glass] .side,html[data-theme=light][data-design=glass] .home-newsletter,html[data-theme=light][data-design=glass] .reader-summary{background:color-mix(in srgb,#fff 66%,transparent);border-color:rgba(20,30,45,.1);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 16px 36px -28px rgba(20,30,45,.45)}
html[data-design=glass] .rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
html[data-design=glass] .row{grid-template-columns:1fr;gap:0;padding:0;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
html[data-design=glass] .row:hover,html[data-design=glass] .card:hover{transform:translateY(-3px);border-color:rgba(var(--amber-rgb),.45)}
html[data-design=glass] .row:first-child{padding-top:0}
html[data-design=glass] .row-img img{border-radius:0;aspect-ratio:16/9}
html[data-design=glass] .row>div{padding:14px 18px 18px}
html[data-design=glass] .row h3{font-size:21px}
html[data-design=glass] .card{padding:14px;overflow:hidden;border-top:1px solid rgba(255,255,255,.1)}
html[data-design=glass] .thumb,html[data-design=glass] .hero-img{border-radius:12px}
html[data-design=glass] .home-lead{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;align-items:stretch;border:1px solid rgba(255,255,255,.1);border-radius:22px;overflow:hidden;padding:0;margin:6px 0 30px;background:color-mix(in srgb,var(--panel) 55%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 26px 60px -34px rgba(0,0,0,.7)}
html[data-design=glass] .home-lead-img img{height:100%;min-height:340px;aspect-ratio:auto;border-radius:0;object-fit:cover}
html[data-design=glass] .home-lead-text{padding:clamp(20px,3.2vw,40px);align-self:center}
html[data-design=glass] .home-lead-text h2{font-size:clamp(27px,3.4vw,42px);line-height:1.1}
html[data-design=glass] .home-lead:not(:has(.home-lead-img)){grid-template-columns:1fr}
html[data-design=glass] .sec-head{border-bottom:0;margin:8px 0 14px}
html[data-design=glass] .sec-head h2{display:inline-block;padding:6px 14px;border-radius:99px;background:rgba(var(--amber-rgb),.14);border:1px solid rgba(var(--amber-rgb),.3);color:var(--amber);font-size:12px}
html[data-design=glass] .badge{background:color-mix(in srgb,var(--panel) 55%,transparent);border-color:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html[data-design=glass] .btn,html[data-design=glass] button:not(.alt){border-radius:99px;padding:9px 18px;box-shadow:0 8px 20px -10px rgba(var(--amber-rgb),.7)}
html[data-design=glass] article.full .body{font-size:19px;line-height:1.75}
html[data-design=glass] .disclosure-note{border-left:1px solid rgba(255,255,255,.1);padding:14px 18px}
html[data-design=glass] .reader-summary{padding:18px 22px;margin:22px 0}
html[data-design=glass] .hero-fig img{border-radius:18px;box-shadow:0 24px 50px -30px rgba(0,0,0,.7)}
html[data-design=glass] footer{background:color-mix(in srgb,var(--foot) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
html[data-design=glass] .rows:has(.wire-row){display:flex;flex-direction:column;gap:10px}
html[data-design=glass] .wire-row.row{grid-template-columns:140px minmax(0,1fr)}
html[data-design=glass] .wire-row.row:not(:has(.row-img)){grid-template-columns:1fr}
html[data-design=glass] .wire-row.row>div{padding:12px 16px}
html[data-design=glass] .wire-row .row-img img{aspect-ratio:3/2;height:100%;object-fit:cover}
@media(max-width:980px){html[data-design=glass] .rows{grid-template-columns:1fr}html[data-design=glass] .home-lead{grid-template-columns:1fr}html[data-design=glass] .home-lead-img img{min-height:0;aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){html[data-design=glass] .row,html[data-design=glass] .card{transition:none}html[data-design=glass] .row:hover,html[data-design=glass] .card:hover{transform:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html[data-design=glass] .row,html[data-design=glass] .card,html[data-design=glass] .side,html[data-design=glass] .home-lead,html[data-design=glass] .masthead{background:var(--panel)}}
