/* v2.3.0. Original masthead, articles and footer remain. Only ad-aware grids and topic-card rhythm change. */
:root { --ad-rail-width:300px; --ad-grid-gap:32px; --patron-logo-height:26px; }
.home-layout { max-width:1280px;grid-template-columns:minmax(0,1fr) var(--ad-rail-width);column-gap:var(--ad-grid-gap);padding-top:22px; }
.home-news-mosaic { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px; }
.home-lead-media>img { height:240px; }
.home-lead-copy h3 { font-size:clamp(24px,2vw,30px); }
.home-row-copy h3 { font-size:15px; }
.home-main>section+section { margin-top:26px; }
.home-section-heading p { font-size:12px; }
.home-sidebar { display:flex;flex-direction:column;gap:16px;min-width:0;width:300px; }
.home-atlas { padding:20px;min-height:0; }
.home-atlas>h2 { font-size:26px;line-height:1.02;max-width:240px; }
.home-atlas>.eyebrow { font-size:9px; }
.home-atlas-layout { gap:6px;grid-template-columns:1fr 1fr; }
.home-atlas-layout p { font-size:12px;line-height:1.45; }
.home-atlas-map { min-width:0;max-height:130px; }
.home-atlas .home-atlas-stats dd { font-size:23px; }
.home-atlas>.button { min-height:39px;font-size:12px;width:100%; }
.home-atlas-source { font-size:9px; }
.home-explore { margin:0; }
.home-explore>a { padding:10px 12px; }
.home-explore strong { font-size:12px; }
.home-explore small { font-size:10px; }
.home-eko { min-height:315px;padding:22px 16px 14px;margin:0; }
.home-eko h2 { font-size:28px; }
.home-eko p { font-size:12px;max-width:135px; }
.home-eko>small { font-size:10px; }
.home-eko .button { width:100%;max-width:100%;font-size:11px;padding:9px 8px;position:relative;z-index:2; }
.home-sidebar .ad-slot { margin:0; }
.home-main>.ad-slot { margin:22px 0; }
.compact-topic-cta { display:none; }
.compact-topic-copy { padding:11px 10px 10px; }
.compact-topic h3 { font-size:15px;line-height:1.18;min-height:2.4em;letter-spacing:-.03em; }
.compact-topic-description { font-size:11px;min-height:3.8em;margin-bottom:12px; }
.compact-topic-image { height:125px; }
.compact-topic-patron { margin:7px 0 0;padding:10px 0 2px;min-height:49px;justify-content:flex-start; }
.compact-topic-patron .managed-patron { flex-wrap:wrap;justify-content:space-between;width:100%;gap:4px; }
.compact-topic-patron .managed-patron img { max-width:78px;height:var(--patron-logo-height); }
.compact-topic-patron .patron-role { font-size:8px;max-width:53px; }
.compact-topic .topic-metrics { margin:0;gap:3px; }
.compact-topic .topic-metrics dt { font-size:9px; }
.compact-topic .topic-metrics dd { font-size:12px; }
.compact-topic { border-radius:9px; }
.compact-topic:hover { transform:translateY(-1px);border-color:#adc990;box-shadow:0 7px 18px #0728180b; }
.compact-topic::after { content:'↗';position:absolute;top:9px;right:9px;color:#0d412a;background:#fffffff0;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font:700 13px Arial;opacity:0;transition:opacity .15s; }
.compact-topic:hover::after,.compact-topic:focus-visible::after { opacity:1; }
.home-columns-grid { gap:10px; }
.home-column-card h3 { font-size:13px; }
.home-column-card p { font-size:11px; }
.editorial-grid.article-layout { grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start; }
.article-route main { max-width:1280px; }
.article-route .article-main { min-width:0; }
.article-route .article-header { display:block;margin:0 0 20px;padding:0; }
.article-route .article-header h1 { font-size:clamp(28px,2.65vw,40px);line-height:1.08;letter-spacing:-.047em;color:var(--ink-900);max-width:920px; }
.article-route .article-lead { font-size:17px;line-height:1.48; }
.article-route .article-header__mark { display:inline-flex;gap:8px;padding:7px 10px;margin-top:8px; }
.article-route .article-hero { margin:0 0 20px; }
.article-route .article-hero>img { width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:10px; }
.article-route .article-body { max-width:748px;margin-inline:auto; }
.article-route .right-rail { width:300px; }
.article-route .right-rail>.ad-slot { margin:0 0 18px; }
.article-route .article-after-banner { margin:22px 0; }
.hub-compact .editorial-grid { grid-template-columns:minmax(0,1fr) 300px;gap:32px; }
.hub-compact .right-rail { width:300px; }
.hub-compact .atlas-rail h2 { font-size:27px; }
@media(min-width:1100px) and (max-width:1239px) {
 .compact-topic { flex-basis:calc((100% - 30px)/4); }
 .compact-topic-image { height:108px; }
 .home-columns-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-row-copy h3 { font-size:13px; }
 .home-section-heading p { max-width:240px; }
}
@media(min-width:768px) and (max-width:1099px) {
 .home-layout { display:block; }
 .home-sidebar { width:100%;margin-top:24px;display:grid;grid-template-columns:repeat(2,300px);justify-content:center;align-items:start;gap:18px; }
 .home-sidebar>* { grid-column:auto!important;grid-row:auto!important;width:300px!important;margin:0; }
 .compact-topic { flex-basis:calc((100% - 30px)/4); }
 .home-atlas-layout { grid-template-columns:1fr 1fr; }
 .home-explore,.home-eko { grid-column:auto; }
 .home-lead-media>img { height:230px; }
 .editorial-grid.article-layout,.hub-compact .editorial-grid { grid-template-columns:1fr; }
 .article-route .right-rail,.hub-compact .right-rail { width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
 .article-route .right-rail .ad-slot,.hub-compact .right-rail .ad-slot { width:300px;justify-self:center; }
}
@media(max-width:767px) {
 .home-layout { display:block; }
 .home-sidebar { width:100%;display:flex;align-items:center;margin-top:22px;gap:16px; }
 .home-sidebar>* { width:100%;max-width:390px; }
 .home-sidebar .ad-slot { max-width:100%; }
 .home-lead-media>img { height:210px; }
 .home-atlas { padding:23px; }
 .home-atlas-layout { grid-template-columns:1fr 1fr; }
 .home-news-mosaic { grid-template-columns:1fr; }
 .home-atlas>h2 { font-size:29px; }
 .home-eko { width:100%; }
 .home-eko h2 { font-size:30px; }
 .compact-topic-image { height:112px; }
 .compact-topic h3 { font-size:15px;min-height:3.4em; }
 .compact-topic .topic-metrics { grid-template-columns:repeat(2,minmax(0,1fr));row-gap:7px; }
 .compact-topic-description { min-height:4.1em; }
 .compact-topic-patron .patron-role { max-width:55px; }
 .home-columns-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-columns-grid .home-column-card { grid-template-columns:1fr;text-align:center;justify-items:center; }
 .editorial-grid.article-layout,.hub-compact .editorial-grid { grid-template-columns:1fr; }
 .article-route .right-rail,.hub-compact .right-rail { width:100%; }
 .article-route .article-header h1 { font-size:30px; }
 .article-route .article-lead { font-size:16px; }
 .article-route .article-body { max-width:100%; }
}
.home-atlas-layout dd { font-size:23px; }
.home-layout>[data-ad-slot="page-bottom"] { grid-column:1/-1; }
.rail-knowledge { border:1px solid #dfe8dd;background:#fff;border-radius:9px;overflow:hidden; }
.rail-knowledge>summary { min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;color:#123943;font-size:13px;font-weight:750;list-style:none; }
.rail-knowledge>summary::after { content:'+';font-size:19px;font-weight:500; }
.rail-knowledge[open]>summary::after { content:'−'; }
.rail-knowledge>summary::-webkit-details-marker { display:none; }
.rail-knowledge .home-explore { border:0;border-top:1px solid #edf2ea;border-radius:0; }
.home-focus-return { margin-top:22px;padding:25px 28px;border-radius:10px;background:linear-gradient(100deg,#073a25,#164e36);color:white; }
.home-focus-return>.eyebrow { color:#b6e35f;font-size:10px; }
.home-focus-return h2 { color:white;font-size:28px;letter-spacing:-.04em;margin:6px 0 8px; }
.home-focus-return p { color:#d5e3d6;font-size:14px;line-height:1.5;max-width:580px;margin:0 0 18px; }
.home-focus-return>div { display:flex;align-items:center;gap:18px;flex-wrap:wrap; }
.home-focus-return .button { font-size:12px;min-height:40px; }
.focus-atlas-link { color:#f0f7e8;font-size:12px;font-weight:700; }
.home-focus-return>small { display:block;font-size:10px;color:#d0dfce;margin-top:14px; }
.home-eko { min-height:270px; }
.home-eko .home-eko-mascot { max-height:220px; }
@media(max-width:767px){.home-focus-return{padding:22px}.home-focus-return h2{font-size:25px}}
