/* Shared reading and touch defaults, after all collection styles. */
body { font-size:16px; }
small { font-size:14px; }
.brand-sub { font-size:12px; letter-spacing:1.2px; }
.eyebrow,.geo-kicker,.section-number,.topic-num,.pill { font-size:12px; line-height:1.5; }
.hero-art-caption { font-size:12px; flex-wrap:wrap; line-height:1.5; }
.hero-art-caption span:last-child { font-size:14px; }
.hero-foot,.footer-bottom,.article-byline,.finance-facts,.card-meta { font-size:14px; }
.footer-brand span { font-size:12px; line-height:1.6; letter-spacing:1.1px; }
.footer-grid p { font-size:14px; }
.footer-grid>div:not(:first-child) { gap:2px; font-size:14px; }
.footer-grid>div>a { display:block; min-height:44px; padding-block:10px; }
.footer-bottom { flex-wrap:wrap; gap:8px 24px; }
.footer-bottom span:last-child { text-align:left; }
button,select,summary,input:not([type=checkbox]):not([type=radio]) { min-height:44px; }
button { min-width:44px; }
input,select { font-size:16px; }
input[type=range] { height:44px; padding-block:10px; touch-action:pan-y; }
summary { padding-block:10px; cursor:pointer; }
.icon-button,.theme-toggle { min-width:44px; min-height:44px; }
.text-button,.read-link,.back-link { display:inline-flex; align-items:center; min-height:44px; padding-block:9px; line-height:1.5; }
.sources a,.geo-sources a,.geo-breadcrumb a,.essay-references a,.essay-hero-bottom a { display:inline-block; min-height:44px; padding-block:9px; }
.article-body p a,.essay-prose p a { padding-block:3px; }
.search-box { min-height:44px; padding-block:0; }
.search-box input { min-height:44px; font-size:16px; }
.search-box kbd { font-size:12px; }
.calculator details p,.calc-note,.lab-note { font-size:14px; }
.controls label,.money-controls label { font-size:14px; }
.section-heading,.finance-actions,.home-hero-actions { flex-wrap:wrap; }
.section-heading>div { min-width:0; }
.story-card { position:relative; }
.story-card-link { display:flex; flex:1; flex-direction:column; min-width:0; }
.story-card-link:hover h3 { color:var(--green); }
.story-card-link:focus-visible { outline:3px solid var(--green); outline-offset:-4px; }
.story-card .card-bottom { padding-right:52px; min-height:58px; }
.story-card .card-bottom .read-link { font-size:14px; }
.story-card>button.save { position:absolute; right:20px; bottom:17px; width:44px; height:44px; border-color:var(--line); z-index:1; }
.featured-topics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.featured-topics .topic-link { padding-top:28px; }
.topic-notes { display:flex; align-items:center; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; padding-top:22px; }
.topic-notes p { font-size:14px; color:var(--muted); margin:0; }
.topic-notes nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.topic-notes a { display:inline-flex; gap:8px; align-items:center; min-height:44px; font-size:14px; }
.topic-notes a span { color:var(--muted); font-size:12px; }
.not-found { padding-block:100px; min-height:65vh; }
.not-found h1 { font-size:clamp(40px,5vw,76px); line-height:1.1; margin-block:24px; }
.not-found p { max-width:600px; font-size:18px; }
.not-found>div { display:flex; flex-wrap:wrap; gap:16px 32px; margin-top:32px; }
/* Keep data labels at their intended size; small screens can pan a chart. */
.chart-scroll { overflow-x:auto; overscroll-behavior-inline:contain; max-width:100%; }
.chart-scroll>svg { display:block; width:100%; min-width:600px; height:auto; max-height:none; }
.chart-scroll:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.chart-scroll-note { display:none; font-size:12px; margin:8px 0; }
@media(max-width:700px) {
  .hero-art-caption { position:static; padding:16px 20px; background:#173d34; }
  .hero-art { overflow:hidden; }
  .hero-art img { width:100%; }
  .featured-topics { grid-template-columns:1fr; }
  .featured-topics .topic-link { border-right:0; border-bottom:1px solid var(--line); padding:24px 16px; }
  .featured-topics .topic-link:last-child { border-bottom:0; }
  .topic-notes nav { gap:4px 18px; }
  .chart-scroll-note { display:block; }
  .footer-grid { grid-template-columns:1fr; gap:16px; }
  .footer-grid>div:first-child { grid-column:auto; }
  .article-byline { align-items:flex-start; gap:12px; }
  .nav { gap:8px; }
  .nav-actions { gap:4px; }
  .brand { gap:7px; }
  .brand>span { font-size:26px; }
  .brand-sub { font-size:12px; letter-spacing:.5px; }
  .nav-actions .reading-button { min-width:44px; padding:0; }
}
@media(max-width:359px) {
  .brand img { width:28px; height:28px; }
  .brand>span { font-size:23px; }
  .nav-actions { gap:0; }
  .nav-actions .saved-count { display:none; }
}

sup,sub { font-size:12px; }
@media(max-width:700px) {
 .geo-topline { font-size:12px; flex-direction:column; gap:6px; }
 .geo-topline>span:last-child { text-align:left; }
 .ocean-visual>svg text, .ocean-visual>svg text[letter-spacing] { font-size:40px; }
}

/* Inline source links retain their reading flow and gain a usable target. */
a { display:inline-block; min-height:24px; }
.gold-poster-transcript a,.atlas-continue a,.atlas-method>a { display:inline-flex; min-height:44px; align-items:center; padding-block:8px; }
.atlas-touch-map { display:none; }
.atlas-pointer-map>svg,.atlas-touch-map>svg { display:block; width:100%; height:auto; }
@media(max-width:1000px),(pointer:coarse) {
 .atlas-pointer-map { display:none; }
 .atlas-touch-map { display:block; }
}

.hero-art img { object-fit:contain; }
