/* ==========================================================================
   Responsive layer — compositions re-flow at each range rather than shrink.
   Desktop 1920–1280 · Tablet 1024–768 · Mobile 430–320
   ========================================================================== */

/* Unlinked social icons (no verified profile) */
.social__na { display: grid; place-items: center; width: 40px; height: 40px; border: 1px dashed var(--rule-dark); color: var(--on-dark-muted); opacity: .55; cursor: help; }
.social__na svg { width: 16px; height: 16px; fill: currentColor; }

/* ---------- ≥1600: breathing room on large screens ---------- */
@media (min-width: 1600px) {
  :root { --maxw: 1440px; }
  .hero-atlas__name { font-size: 200px; }
}

/* ---------- ≤1439 ---------- */
@media (max-width: 1439px) {
  .masthead__coord { display: none; }
}

/* ---------- ≤1279: primary links collapse into the Index ---------- */
@media (max-width: 1279px) {
  .primary-nav { display: none; }
  .index-toggle { margin-left: auto; }
  .route-h { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 48px; }
  .route-h::before { display: none; }
  .route-h li { padding-top: 0; border-top: 1px solid var(--brass-soft); padding-top: 18px; }
  .route-h .yr { height: auto; margin-bottom: 12px; }
  .region-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .instruments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yr-group > h2 { width: 110px; font-size: 52px; }
  .yr-group > ol { margin-left: 130px; }
}

/* ---------- ≤1100: tablet landscape ---------- */
@media (max-width: 1100px) {
  .index-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .colophon__main { grid-template-columns: 1fr 1fr; }
  .colophon__brand { grid-column: 1 / -1; }
  .intro-split { grid-template-columns: 1fr; }
  .intro-split .h-lg { position: static; }
  .current { grid-template-columns: 1fr; }
  .current__aside { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
  .current__aside .fig { margin-top: 0; }
  .dossier { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .career-layout { grid-template-columns: 1fr; }
  .career-map { position: sticky; top: calc(var(--header-h) + 7px); z-index: 4; background: var(--porcelain); padding: 10px 0 0; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); box-shadow: 0 12px 20px -18px rgba(16, 20, 24, .5); }
  .career-map .atlas svg { max-height: 26vh; }
  .career-map__readout { margin-top: 4px; padding: 8px 0; }
  .research { grid-template-columns: 1fr; }
  .research__notes { position: static; }
  .eam-head__grid { grid-template-columns: 1fr; }
  .eam-head .fig { top: 0; margin-bottom: 40px; }
  .eam-after-head { padding-top: clamp(64px, 9vw, 128px); }
  .region-panel { grid-template-columns: 1fr; }
  .region-panel__aside { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 32px; align-items: start; }
  .region-panel__aside .fig { margin-top: 0; grid-row: span 3; grid-column: 2; }
  .bilat { grid-template-columns: 240px minmax(0, 1fr); }
  .country__grid { grid-template-columns: 1fr; }
  .multi-head__grid { grid-template-columns: 1fr; }
  .south-grid { grid-template-columns: 1fr; }
  .policy-row, .policy-table-head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .policy-row h2, .policy-table-head span:first-child { grid-column: 1 / -1; }
  .policy-row > * + * { border-left: 0; padding-left: 0; }
  .policy-row > .b { border-left: 1px solid var(--rule-light); padding-left: 24px; }
  .policy-row > h2 { padding-bottom: 0; }
  .policy-table-head span:nth-child(2) { padding-left: 0; }
  .docs-head__grid { grid-template-columns: 1fr; }
  .contact { grid-template-columns: 1fr; }
  .contact__details { position: static; }
  .hero-atlas__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .plate__axis { display: none; }
}

/* ---------- ≤900: tablet portrait ---------- */
@media (max-width: 900px) {
  .grid-12 { grid-template-columns: minmax(0, 1fr); }
  .grid-12 > * { grid-column: 1 / -1 !important; }
  :root { --header-h: 60px; }
  .brand__name { font-size: 22px; }
  .hero-atlas__inner { grid-template-columns: 1fr; min-height: 0; padding-top: 40px; gap: 40px; }
  .plate { justify-self: center; max-width: 460px; }
  .plate__frame { height: auto; min-height: 0; aspect-ratio: 1129 / 1600; }
  .scroll-cue { display: none; }
  .intro-cols { columns: 1; }
  .dossier { grid-template-columns: 1fr; }
  .dossier__card { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
  .dossier__facts { margin-top: 0; }
  .dossier-head__grid { grid-template-columns: 1fr; }
  .stamp { width: 110px; height: 110px; justify-self: end; margin-top: -20px; }
  .archive-head__grid { grid-template-columns: 1fr; }
  .index-cards { grid-template-columns: 1fr 1fr; }
  .fs-head__grid { grid-template-columns: 1fr; }
  .office-cols { grid-template-columns: 1fr; }
  .office-cols > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule-light); }
  .office-cols > div { padding: 20px 0; }
  .theme__body { grid-template-columns: 1fr; padding-left: 0; }
  .theme__body > div:first-child { grid-column: auto; }
  .region-facets { grid-template-columns: 1fr; }
  .bilat { grid-template-columns: 1fr; }
  .directory { position: static; max-height: none; overflow: visible; border-bottom: 1px solid var(--charcoal); padding-bottom: 20px; }
  .directory nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .directory nav h2 { grid-column: 1 / -1; }
  .forum-notes { grid-template-columns: 1fr; }
  .record-strip { grid-template-columns: 1fr 1fr; }
  .record-strip div:nth-child(3) { border-left: 0; }
  .record-strip div:nth-child(n+3) { border-top: 1px solid var(--charcoal); }
  .procedure { grid-template-columns: 1fr; }
  .docket > li { grid-template-columns: 70px 1fr; }
  .docket > li > div { grid-column: 1 / -1; }
  .yr-group > h2 { position: static; float: none; width: auto; font-size: 44px; padding-top: 32px; }
  .yr-group > ol { margin-left: 0; }
  .archive-controls { position: static; }
  .book { grid-template-columns: 1fr; gap: 72px; }
  .book--rev .book__object { order: 0; }
  .lanes-key { grid-template-columns: 1fr; }
  .lanes-key div + div { border-left: 0; border-top: 1px solid var(--charcoal); }
  .newsgrid { grid-template-columns: 1fr; }
  .newsgrid > * + * { border-left: 0; padding-left: 0; border-top: 1px solid var(--rule-light); }
  .newsgrid > * { padding-right: 0; }
  .desk-cols { grid-template-columns: 1fr; }
  .desk-cols > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule-light); padding-top: 20px; }
  .gal-row--duo, .gal-row--portrait { grid-template-columns: 1fr; }
  .gal-timeline { grid-template-columns: 1fr; }
  .toc { columns: 1; }
  .region-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hotspot a, .hotspot button { padding: 5px 8px 5px 6px; font-size: 9.5px; letter-spacing: .1em; }
}

/* ---------- ≤768 ---------- */
@media (max-width: 768px) {
  .sec { padding-block: 64px; }
  .index-list .t { font-size: 21px; }
  .colophon__main { grid-template-columns: 1fr; }
  .colophon__links { grid-template-columns: 1fr 1fr; }
  .route-h { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .current__aside { grid-template-columns: 1fr; }
  .posting__grid { grid-template-columns: 1fr; gap: 4px; }
  .posting__grid dd { margin-bottom: 12px; }
  .region-panel__aside { grid-template-columns: 1fr; }
  .region-panel__aside .fig { grid-column: auto; grid-row: auto; margin-top: 20px; }
  .multi-head__figs { grid-template-columns: 1fr; }
  .instruments { grid-template-columns: 1fr; }
  .shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .book__colophon { grid-template-columns: 1fr; }
  .book__colophon div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule-light); }
  .form { grid-template-columns: 1fr; }

  /* Tables → stacked records */
  .ledger--stack thead, .repo thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ledger--stack tr, .repo tr { display: block; padding: 16px 0; border-bottom: 1px solid var(--rule-light); }
  .ledger--stack td, .repo td { display: block; position: relative; padding: 4px 0 4px 122px; border: 0; min-height: 26px; }
  .ledger--stack td::before, .repo td::before { position: absolute; left: 0; top: 5px; width: 110px; content: attr(data-label); font: 500 10px/1.8 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-strong); }
  .sec--ink .ledger--stack td::before, .sec--deep .ledger--stack td::before { color: var(--on-dark-muted); }
  .ledger--stack .date, .repo .date { white-space: normal; }
  .sec--ink .ledger--stack tr, .sec--deep .ledger--stack tr { border-color: var(--rule-dark); }

  .matrix thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .matrix, .matrix tbody, .matrix tr, .matrix th, .matrix td { display: block; width: 100%; }
  .matrix { border: 0; }
  .matrix tr { border: 1px solid var(--charcoal); margin-bottom: 16px; }
  .matrix td { display: block; position: relative; padding-left: 146px; border: 0; border-top: 1px solid var(--rule-light); }
  .matrix td::before { position: absolute; left: 16px; top: 15px; width: 120px; content: attr(data-label); font: 500 10px/1.8 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-strong); }
  .matrix tbody th { border: 0; }
}

/* ---------- ≤600: mobile ---------- */
@media (max-width: 600px) {
  .masthead__bar { gap: 12px; }
  .brand__sub { font-size: 8.5px; letter-spacing: .2em; }
  .index-toggle { padding: 0 12px; gap: 10px; }
  .index-list { grid-template-columns: 1fr; }
  .index-panel__foot { flex-direction: column; align-items: flex-start; }
  .hero-atlas__name { font-size: clamp(64px, 21vw, 110px); }
  .hero-atlas__ledger { grid-template-columns: 1fr 1fr; gap: 16px 24px; }
  .hero-atlas__ledger div:last-child { grid-column: 1 / -1; }
  .hero-atlas__cta .btn { width: 100%; justify-content: space-between; }
  .plate__cap { flex-direction: column; gap: 4px; }
  .route-h { grid-template-columns: 1fr; row-gap: 0; }
  .route-h li { display: grid; grid-template-columns: 84px 1fr; gap: 2px 14px; padding: 16px 0; }
  .route-h .yr { grid-row: span 3; margin: 0; padding-top: 4px; }
  .route-h .node { display: none; }
  .route-h .place { margin-top: 0; }
  .worldview__map .hotspots { display: none; }
  .region-list { grid-template-columns: 1fr; }
  .toc a { grid-template-columns: 34px 1fr; }
  .toc .c { display: none; }
  .dossier__card { grid-template-columns: 1fr; }
  .dossier__facts div { grid-template-columns: 96px 1fr; }
  .index-cards { grid-template-columns: 1fr; }
  .index-card:nth-child(n) { transform: none; }
  .omission { grid-template-columns: 1fr; gap: 8px; }
  .sheet--offset { transform: none; }
  .sheet__stamp { position: static; display: inline-block; margin-bottom: 16px; transform: rotate(-3deg); }
  .prints { padding: 12px 0 24px; }
  .research__body .para { padding-left: 36px; }
  .orgchart .box { min-width: 0; width: 100%; }
  .theme summary { grid-template-columns: 34px 1fr auto; }
  .year-rail { grid-auto-columns: 82%; }
  .world-atlas__map .hotspots { display: none; }
  .region-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .region-tabs button { text-align: left; }
  .country__head { grid-template-columns: 1fr; }
  .directory nav { grid-template-columns: 1fr; }
  .milestones li { grid-template-columns: 1fr; gap: 2px; }
  .record-strip { grid-template-columns: 1fr; }
  .record-strip div + div { border-left: 0; border-top: 1px solid var(--charcoal); }
  .summits li { grid-template-columns: 52px 1fr; }
  .summits .ord { font-size: 40px; }
  .stat { grid-template-columns: 1fr; }
  .stat__n { grid-row: auto; }
  .speech-strip { grid-template-columns: 1fr; }
  .speech-strip .fig:first-child { grid-row: auto; }
  .archive-controls .field, .archive-controls input[type="search"], .archive-controls select { width: 100%; min-width: 0; }
  .archive-count { margin-left: 0; }
  .transcript { grid-template-columns: 1fr; gap: 4px; }
  .cover__title { font-size: 36px; }
  .policy-row, .policy-table-head { grid-template-columns: 1fr; }
  .policy-row > .b { border-left: 0; padding-left: 0; border-top: 1px dashed var(--rule-light); }
  .policy-row > * { padding: 16px 0; }
  .policy-table-head { display: none; }
  .shelf { grid-template-columns: 1fr; }
  .ledger--stack td, .repo td { padding-left: 0; }
  .ledger--stack td::before, .repo td::before { position: static; display: block; width: auto; }
  .matrix td { padding-left: 16px; }
  .matrix td::before { position: static; display: block; width: auto; }
  .news-masthead__rule { justify-content: center; text-align: center; }
  .gal-strip > * { width: 84vw; }
  .contact__line dd { font-size: 26px; }
  .fig figcaption, .fig__cap { grid-template-columns: 1fr; }
  .fig figcaption .coord, .fig__cap .coord { grid-row: auto; }
}

/* ---------- ≤380: small phones (360 / 320) ---------- */
@media (max-width: 380px) {
  :root { --gutter: 16px; }
  .brand__sub { display: none; }
  .index-toggle__label { font-size: 10px; }
  .hero-atlas__name { font-size: 60px; }
  .hero-atlas__meta span { letter-spacing: .14em; font-size: 10px; }
  .hero-atlas__meta span + span::before { margin-right: 10px; }
  .phead__title { font-size: 42px; }
  .region-tabs { grid-template-columns: 1fr; }
  .cover { padding: 26px 22px; }
  .cover__title { font-size: 31px; }
  .file-label { font-size: 10px; }
  .file-label span { padding: 8px; }
  .news-masthead__name { font-size: 52px; }
  .contact__line dd { font-size: 22px; }
}

/* ---------- Print ---------- */
@media print {
  .masthead, .index-panel, .colophon__map, .scroll-cue, .archive-controls, .lightbox { display: none !important; }
  .sec--ink, .sec--deep, .sec--atlantic, .hero-atlas, .colophon { background: #fff !important; color: #000 !important; }
  .js .reveal, .js .reveal-img .fig__frame { opacity: 1 !important; transform: none !important; clip-path: none !important; }
}
