/* Pass 81: sitewide consistency, directory, and evidence-control layer. */
:root {
  --type-body-size: 1rem;
  --type-body-leading: 1.65;
  --type-kicker-size: .75rem;
  --type-caption-size: .875rem;
  --type-control-size: .75rem;
  --type-source-size: .78rem;
}

body { font-size: var(--type-body-size); line-height: var(--type-body-leading); }
.site-header .brand { display:inline-flex; align-items:center; gap:10px; }
.site-header .brand::before { content:none!important; display:none!important; }
.site-header .brand .brand-emblem { display:block!important; width:46px!important; height:46px!important; flex:0 0 46px; object-fit:contain; }
.enlarge-image { appearance:none; display:block; padding:9px 12px; border:1px solid #b99b59; background:#071d26; color:#efd18e; font:600 .75rem/1.4 var(--nav); letter-spacing:.08em; text-transform:uppercase; cursor:zoom-in; }
.enlarge-image:hover,.enlarge-image:focus-visible { background:#15353d; outline:2px solid #efd18e; outline-offset:2px; }
main :is(h1,h2,h3,h4) { text-transform:uppercase; color:var(--gold2); }
.survey-index { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.story-main .story-grid > .story-figure { margin:0; }
.library-page .story-main .story-hero { min-height:0; padding-top:40px; }
.um-hurricane-section { padding:clamp(24px,4vw,64px)!important; }
.um-hurricane-media { align-content:start; }
.um-page-previews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
.um-page-previews button { min-width:0; padding:8px; border:1px solid #8a7648; background:#071d26; color:#efd18e; text-align:left; cursor:zoom-in; }
.um-page-previews img { display:block; width:100%; height:160px; object-fit:contain; }
.um-page-previews span { display:block; margin-top:8px; font:.85rem/1.4 var(--nav); }
.um-image-card strong { font:400 1.25rem/1.25 var(--deco)!important; text-transform:uppercase; color:var(--gold2); }
@media(max-width:900px) { .survey-index { grid-template-columns:1fr; } }
@media(max-width:700px) { .site-header .brand .brand-emblem { width:32px!important; height:32px!important; flex-basis:32px; } }
@media(max-width:480px) { .um-page-previews { grid-template-columns:1fr; } .um-page-previews button { display:grid; grid-template-columns:80px 1fr; gap:12px; align-items:center; } .um-page-previews img { height:110px; } }
/* Scientific figures preserve every axis and label; controls live below. */
.visual-card .image-well { display:block; aspect-ratio:auto; min-height:0; overflow:visible; }
.visual-card .image-well img { width:100%; height:auto; max-height:none; object-fit:contain; }
.visual-card > .enlarge-image { display:block; max-width:calc(100% - 32px); margin:12px 16px 0; white-space:normal; }
.animation-card { display:block; min-height:0; align-self:start; }
.animation-card video { width:100%; height:auto; }
.animation-caption { position:static; padding:18px 20px; background:#071b22; pointer-events:auto; }
.film-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))!important; align-items:start; }
.fp-grid { align-items:start; }
.publication-record .catalog-record-cover { min-height:0; padding:12px 14px; aspect-ratio:auto; }
.publication-record .catalog-record-cover strong { display:none; }
.library-main.research-library { width:calc(100% - 48px)!important; max-width:1600px!important; margin-inline:auto!important; box-sizing:border-box; padding:clamp(20px,3vw,44px)!important; }
.research-library > p { max-width:78ch; margin-left:0; text-align:left; }
.research-library .curator-card { border-radius:0; background:#071d26; }
.research-library .curator-card img { border-radius:0; object-fit:contain; }
@media(max-width:700px) { .library-main.research-library { width:calc(100% - 24px)!important; padding:18px!important; } }
.fp-card .catalog-preview { display:block; width:100%; height:auto; max-height:260px; object-fit:contain; margin:0 0 14px; }
main :is(h1,h2,h3,h4) { font-family:var(--deco); font-weight:400; }
main :is(p,li,dd,td) { font-family:var(--nav); }
.brand-with-emblem.brand-emblem-visible::before {
  width:clamp(34px,3.4vw,46px)!important;
  height:clamp(34px,3.4vw,46px)!important;
  flex-basis:clamp(34px,3.4vw,46px)!important;
  opacity:1!important;
  transform:scale(1)!important;
}
:is(.section-kicker,.eyebrow,.context-kicker,.source-label,.publication-type,.film-badge,.nr-badge) {
  font-family: var(--nav) !important;
  font-size: var(--type-kicker-size) !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
:is(.story-main,.story-page,.dossier-main,.station-main,.marker-main,.archive-wrap,.film-page,.ra,.nr) :is(h1,h2,h3),
:is(.publication-record,.doc-card,.source-card,.research-card,.film-card,.fp-card,.ra-card,.knowledge-card,.research-visual-card,.nr-card) h2,
:is(.publication-record,.doc-card,.source-card,.research-card,.film-card,.fp-card,.ra-card,.knowledge-card,.research-visual-card,.nr-card) h3 {
  font-family: var(--deco) !important;
  font-weight: 400 !important;
  letter-spacing: .035em;
  text-wrap: balance;
}
:is(figcaption,.caption,.nr-meta,.publication-byline,.film-meta,.fp-meta) {
  font-family: var(--nav);
  font-size: var(--type-caption-size) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
:is(.source-link,.compact-source,.film-source,.station-links a,.research-card a,.nr-card a) {
  font-family: var(--nav);
  font-size: var(--type-source-size);
  font-weight: 600;
  line-height: 1.4;
}
:is(button,select,input,summary) { font-family: var(--nav); }

.site-directory-button {
  appearance: none;
  padding: 7px 9px 6px;
  border: 1px solid rgba(214,174,91,.48);
  background: rgba(5,25,33,.74);
  color: #e4c779;
  font: 650 var(--type-control-size)/1 var(--nav);
  letter-spacing: .09em;
  white-space: nowrap;
  cursor: pointer;
}
.site-directory-button:hover,.site-directory-button:focus-visible { background:#d5b36d; color:#061018; }
.site-directory { width:min(1060px,calc(100% - 28px)); max-height:calc(100dvh - 28px); padding:0; border:1px solid #b99b59; background:#031118; color:#e8dec0; box-shadow:0 30px 100px rgba(0,0,0,.78); }
.site-directory::backdrop { background:rgba(0,7,10,.88); backdrop-filter:blur(5px); }
.site-directory-panel { padding:clamp(18px,3vw,34px); }
.site-directory-panel>header { display:flex; align-items:start; justify-content:space-between; gap:22px; padding-bottom:16px; border-bottom:1px solid rgba(216,174,91,.34); }
.site-directory-panel>header span { color:#b8cbc7; font:650 .7rem/1.2 var(--nav); letter-spacing:.14em; }
.site-directory-panel h2 { margin:5px 0 0; color:#f1d28a; font:400 clamp(2rem,4vw,3.7rem)/1 var(--deco); letter-spacing:.035em; text-transform:uppercase; }
.site-directory-close { min-height:42px; padding:9px 12px; border:1px solid rgba(216,174,91,.55); background:#08212a; color:#efd18d; cursor:pointer; }
.site-directory { width:min(1380px,calc(100% - 28px)); }
.site-directory-groups { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; margin-top:22px; }
.site-directory-groups section { min-width:0; border:1px solid rgba(216,174,91,.25); background:linear-gradient(145deg,rgba(10,38,47,.85),rgba(2,14,20,.9)); padding:17px; }
.site-directory-groups h3 { margin:0 0 10px; color:#e9cb84; font:400 1.25rem/1.1 var(--deco); text-transform:uppercase; }
.site-directory-groups a { display:block; padding:8px 0; border-top:1px solid rgba(216,174,91,.14); color:#d4ddd5; font-size:.94rem; line-height:1.3; }
.site-directory-groups a:hover,.site-directory-groups a:focus-visible { color:#f5d58d; }

.nr { max-width:1400px; }
.nr-grid {
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)) !important;
  grid-auto-flow:row dense;
  grid-auto-rows:8px;
  align-items:start;
}
.nr-card { display:flex; flex-direction:column; min-width:0; padding:18px !important; border:1px solid var(--museum-line) !important; border-radius:0 !important; background:var(--museum-panel) !important; box-shadow:0 14px 34px rgba(0,0,0,.18); }
.nr-card h2 { min-height:2.7em; margin:.55rem 0 .35rem; font-size:1.25rem !important; line-height:1.15; }
.nr-card>p:last-child { margin-top:auto; }
.nr-card>a,.nr-card>a:has(.nr-preview) { display:block; width:100%; margin:14px 0 4px; overflow:hidden; background:#020b10; }
.nr-preview { width:100% !important; height:auto !important; max-height:430px; aspect-ratio:4 / 5; margin:0 !important; object-fit:contain; object-position:top center; background:#020b10 !important; }
.nr-preview-fallback { margin:14px 0; padding:11px 12px; border-left:3px solid #c8a65e; background:rgba(200,166,94,.08); color:#c7d1c9; font-size:.9rem; line-height:1.5; }

.forecast-primary .story-figure { width:min(100%,600px); margin-inline:auto; background:#020b10; }
.forecast-primary .story-viewer-button { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:auto !important; padding:12px; overflow:visible; background:#020b10; }
.forecast-primary .story-viewer-button img {
  display:block; width:auto !important; max-width:100% !important; height:auto !important;
  max-height:calc(100dvh - 180px) !important; object-fit:contain !important; object-position:center !important;
}
.forecast-primary figcaption { padding:14px 16px; background:#071a22; }
.forecast-primary + .story-section { margin-top:clamp(42px,7vw,78px); }

.embedded-film-grid .video-consent span,
.embedded-film-grid .video-consent small { overflow-wrap:anywhere; }

@media (max-width:1180px) {
  .site-header .main-nav { gap:7px; }
  .site-header .main-nav a { font-size:.62rem; letter-spacing:.05em; }
  .site-directory-button { font-size:.62rem; }
  .site-directory-groups { grid-template-columns:1fr; }
}
@media (max-width:980px) {
  body.nav-open .site-header .site-directory-button { display:block; width:100%; margin-top:8px; padding:11px 0; }
}

/* Release 114: source cards on Hurricanes 101 are complete links rather than
   large cards with only a small text target. */
#sources .source-card-link {
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:22px;
  color:inherit;
  cursor:pointer;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
#sources .source-card-link::after { content:none; }
#sources .source-card-link h3,
#sources .source-card-link p,
#sources .source-card-link .source-card-action {
  position:static;
  z-index:auto;
  display:block;
  width:auto;
  max-width:none;
  margin-left:0;
  margin-right:0;
  padding:0;
  background:transparent;
}
#sources .source-card-link .source-card-action {
  margin-top:auto;
  padding-top:14px;
  color:var(--gold2);
  font:600 .9rem/1.4 var(--nav);
}
#sources .source-card-link:hover,
#sources .source-card-link:focus-visible {
  transform:translateY(-3px);
  border-color:rgba(241,202,120,.78);
  background:linear-gradient(180deg,rgba(12,42,51,.94),rgba(3,15,21,.98));
  outline:2px solid rgba(241,202,120,.72);
  outline-offset:3px;
}
/* Uniform research-card media; remove the obsolete special last-card sizing. */
.research-interpretations .research-visual-card { display:flex!important; flex-direction:column; }
.research-interpretations .research-visual-card > img,
.research-interpretations .research-visual-card > .research-image-link img,
.research-interpretations .research-visual-card:last-child:nth-child(3n+1) > img {
  width:100%; height:230px!important; min-height:0!important; aspect-ratio:auto!important;
  object-fit:contain!important; object-position:center!important; margin:0 0 14px!important;
}
.research-interpretations .research-image-link.nassau-preview { position:relative; display:block; height:230px; overflow:hidden; margin-bottom:14px; background:#fff; }
.research-interpretations .research-visual-card > .nassau-preview img {
  position:absolute; right:0; top:0; width:210%!important; max-width:none!important;
  height:auto!important; transform:translateY(-44%); margin:0!important;
}
@media (max-width:620px) {
  .site-directory { width:calc(100% - 12px); max-height:calc(100dvh - 12px); }
  .site-directory-panel { padding:15px; }
  .site-directory-panel>header { position:sticky; top:0; z-index:1; margin:-15px -15px 0; padding:15px; background:#031118; }
  .site-directory-panel h2 { font-size:1.8rem; }
  .site-directory-groups { grid-template-columns:1fr; gap:10px; }
  .site-directory-groups section { padding:14px; }
  .nr { padding-inline:14px !important; }
  .nr-card h2 { min-height:0; }
  .nr-preview { max-height:68svh; }
}

/* Pass 82 emergency mobile control layer.  Keep every source available while
   preventing desktop card grids from producing extremely tall, narrow boxes. */
@media (max-width:700px) {
  .brand-with-emblem.brand-emblem-visible::before {
    width:34px!important; height:34px!important; flex-basis:34px!important;
  }
  .site-header { overflow:visible!important; }
  .site-header .main-nav {
    position:fixed!important;
    z-index:9999!important;
    top:70px!important;
    right:8px!important;
    bottom:auto!important;
    left:8px!important;
    width:auto!important;
    max-height:calc(100dvh - 78px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    padding:10px!important;
    background:rgba(1,12,17,.995)!important;
    border:1px solid rgba(216,174,91,.55)!important;
    box-shadow:0 24px 70px rgba(0,0,0,.82)!important;
  }
  body:not(.nav-open) .site-header .main-nav { display:none!important; }
  body.nav-open .site-header .main-nav { display:grid!important; visibility:visible!important; opacity:1!important; }
  body.nav-open .site-header .main-nav :is(a,button) {
    display:flex!important; align-items:center; justify-content:center;
    min-width:0!important; min-height:46px!important; margin:0!important;
    padding:9px 6px!important; white-space:normal!important; text-align:center;
  }
  body.nav-open .site-header .main-nav .site-directory-button,
  body.nav-open .site-header .main-nav .search-button { grid-column:1/-1; width:100%!important; }

  .exhibit-section { padding:28px 14px!important; overflow:hidden; }
  .exhibit-section :is(h2,h3) { overflow-wrap:normal!important; word-break:normal!important; hyphens:none; }
  .exhibit-section h2 { max-width:100%!important; font-size:clamp(1.75rem,8.2vw,2.35rem)!important; }
  .section-lede { font-size:1rem!important; line-height:1.58!important; }

  :is(.source-rail,.weather-source-rail,.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail,.room-gallery) {
    display:flex!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    grid-auto-flow:unset!important;
    gap:10px!important;
    width:100%!important;
    margin-top:18px!important;
    padding:2px 2px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    align-items:stretch!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  :is(.source-rail,.weather-source-rail,.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail) > .source-card {
    flex:0 0 min(76vw,290px)!important;
    width:min(76vw,290px)!important;
    min-width:min(76vw,290px)!important;
    height:260px!important;
    min-height:260px!important;
    scroll-snap-align:start;
  }
  :is(.source-rail,.weather-source-rail,.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail) > .source-card img {
    position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
    aspect-ratio:auto!important; object-fit:cover!important; object-position:center!important;
  }
  :is(.source-rail,.weather-source-rail,.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail) > .source-card span {
    margin-top:auto!important;
  }
  :is(.source-rail,.weather-source-rail,.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail) > .source-card strong {
    margin-bottom:15px!important;
  }
  .room-gallery > .room-item {
    flex:0 0 min(74vw,280px)!important;
    width:min(74vw,280px)!important;
    min-width:min(74vw,280px)!important;
    min-height:0!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column;
    justify-content:flex-start;
    align-self:flex-start;
    scroll-snap-align:start;
  }
  .room-gallery > .room-item img { flex:0 0 auto; height:170px!important; min-height:0!important; object-fit:contain!important; }

  .chapter-grid,.lobby-preview-grid {
    display:flex!important; gap:9px!important; overflow-x:auto!important; padding-bottom:11px!important;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .chapter-grid > *, .lobby-preview-grid > * {
    flex:0 0 min(76vw,290px)!important; width:min(76vw,290px)!important;
    min-width:min(76vw,290px)!important; scroll-snap-align:start;
  }
  .chapter-card { min-height:210px!important; }

  .mobile-explore { left:8px!important; bottom:max(8px,env(safe-area-inset-bottom))!important; }
  .mobile-explore-toggle { padding:9px 12px!important; font-size:.62rem!important; }
  .back-to-top { right:8px!important; bottom:max(8px,env(safe-area-inset-bottom))!important; }
}

/* Pass 101: shared viewport rhythm and iPhone rotation corrections. */
:root { --site-content-width:1480px; }

/* The main hero and the sections immediately below it share one outer width. */
body:not(.countdown-page) .hero-shell {
  box-sizing:border-box;
  width:min(var(--site-content-width),calc(100vw - 36px));
  margin-inline:auto;
  padding-inline:0;
}
.archive-highlights.lobby-preview,
.exhibit-section,
.museum-scroll { width:min(var(--site-content-width),calc(100vw - 36px)); box-sizing:border-box; }

/* Story pages no longer reserve a second header-sized void above their title. */
.library-page .story-main {
  width:min(100%,1240px);
  max-width:1240px;
  box-sizing:border-box;
  padding-top:24px!important;
}
.library-page .story-main .story-hero {
  margin-top:0!important;
  padding-top:28px!important;
}

/* Fixed shortcut pills obscured text and images on iPhone. The working header
   menu provides the same navigation without covering exhibit content. */
@media (max-width:700px) {
  .mobile-explore,.back-to-top { display:none!important; }
  .archive-highlights.lobby-preview,
  .exhibit-section,
  .museum-scroll,
  body:not(.countdown-page) .hero-shell { width:calc(100vw - 16px)!important; }
  .library-page .story-main { padding:12px 12px 52px!important; }
  .library-page .story-main .story-hero { padding-top:18px!important; }
}

/* An iPhone in landscape is wide enough to trigger tablet/desktop rules but
   far too short for their vertical spacing and multi-row collage geometry. */
@media (orientation:landscape) and (max-height:520px) {
  .site-header { height:62px!important; min-height:62px!important; padding-inline:14px!important; }
  .site-header .brand .brand-emblem { width:32px!important; height:32px!important; flex-basis:32px!important; }
  .site-header .brand { font-size:1.05rem!important; }
  .site-header .main-nav { top:62px!important; max-height:calc(100dvh - 70px)!important; }
  .menu-button { min-height:44px; }

  .library-page .story-main { padding:10px 14px 44px!important; }
  .library-page .story-main .story-hero { padding:16px 18px!important; }
  .library-page .story-main .story-hero h1 { font-size:clamp(2.1rem,8vw,3.7rem)!important; }
  .library-page .story-main .story-hero .story-lede { font-size:1rem!important; line-height:1.5!important; }
  .story-main>section { margin-block:12px!important; }

  body:not(.countdown-page) .hero-shell {
    width:calc(100vw - 16px)!important;
    height:auto!important;
    min-height:0!important;
    padding-block:8px!important;
  }
  body:not(.countdown-page) .hero-frame {
    min-height:calc(100dvh - 78px)!important;
    height:auto!important;
    padding:18px 24px!important;
    grid-template-columns:minmax(0,1fr) minmax(210px,.68fr)!important;
    grid-template-rows:auto!important;
    gap:16px!important;
  }
  body:not(.countdown-page) .hero-copy { order:initial!important; }
  body:not(.countdown-page) .hero-art-wrap { order:initial!important; width:min(33vw,58dvh,300px)!important; }

  .archive-highlights.lobby-preview,
  .exhibit-section,
  .museum-scroll { width:calc(100vw - 16px)!important; margin-block:16px!important; }
  .archive-highlights.lobby-preview { padding:10px!important; }
  .lobby-preview-grid,
  .chapter-grid {
    display:flex!important;
    grid-template-columns:none!important;
    grid-auto-rows:auto!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 8px!important;
    scroll-snap-type:x mandatory;
  }
  .lobby-preview-grid>* , .chapter-grid>* {
    flex:0 0 min(42vw,300px)!important;
    width:min(42vw,300px)!important;
    min-width:min(42vw,300px)!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    scroll-snap-align:start;
  }
  .lobby-preview-card img { width:100%!important; height:100%!important; object-fit:contain!important; transform:none!important; }
  .lobby-preview-crop-letter img { transform:none!important; }

  :is(.source-rail,.weather-source-rail,.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail,.room-gallery) {
    display:flex!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    grid-auto-flow:unset!important;
    gap:10px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    align-items:flex-start!important;
    scroll-snap-type:x mandatory;
  }
  .room-gallery>.room-item {
    flex:0 0 min(42vw,300px)!important;
    width:min(42vw,300px)!important;
    min-width:min(42vw,300px)!important;
    height:auto!important;
    min-height:0!important;
    align-self:flex-start!important;
  }
  .room-gallery>.room-item img { height:150px!important; object-fit:contain!important; }
  .mobile-explore,.back-to-top { display:none!important; }
}

/* Release 113: one reliable mobile navigation layer in portrait and landscape.
   Safari can retain the button state through rotation while clipping a fixed
   descendant to the header; these final rules deliberately override earlier
   phone/tablet menu variants. */
@media (max-width:980px) {
  .site-header {
    overflow:visible!important;
    isolation:isolate;
    z-index:10000!important;
  }
  .site-header .menu-button {
    position:relative!important;
    z-index:10002!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    touch-action:manipulation;
  }
  .site-header .main-nav {
    position:fixed!important;
    z-index:10001!important;
    top:var(--mobile-nav-top,70px)!important;
    right:8px!important;
    bottom:auto!important;
    left:8px!important;
    width:auto!important;
    max-height:calc(100dvh - var(--mobile-nav-top,70px) - 8px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    padding:10px!important;
    background:rgba(1,12,17,.995)!important;
    border:1px solid rgba(216,174,91,.62)!important;
    box-shadow:0 24px 70px rgba(0,0,0,.86)!important;
  }
  body:not(.nav-open) .site-header .main-nav { display:none!important; }
  body.nav-open .site-header .main-nav {
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.nav-open .site-header .main-nav :is(a,button) {
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:8px 6px!important;
    white-space:normal!important;
    text-align:center;
    touch-action:manipulation;
  }
  body.nav-open .site-header .main-nav :is(.site-directory-button,.search-button) {
    grid-column:1/-1;
    width:100%!important;
  }
}

/* Podcast links remain available independently of the embedded player. */
.hero-podcast-link {display:block;margin:12px auto 0;color:var(--gold2);font:600 .8rem/1.5 var(--nav);text-decoration:underline;text-underline-offset:4px;}
.podcast-external-link {grid-column:1/-1;margin:0!important;display:flex;flex-wrap:wrap;justify-content:center;gap:16px;text-align:center;}
.podcast-external-link a {font-size:.85rem;line-height:1.5;padding:10px;border:1px solid var(--museum-line);}
.story-main .podcast-section {width:100%!important;margin-inline:0;}

/* Podcast: compact introduction, immediate player, resilient direct link. */
.podcast-main {padding-top:24px!important;}
.podcast-main>section {margin:0 0 28px;padding:0;min-height:0;}
.podcast-intro {display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:center;}
.podcast-cover {width:160px;height:160px;object-fit:contain;}
.podcast-intro h1 {font-size:clamp(1.8rem,4vw,3rem);margin:8px 0;line-height:1.12;}
.podcast-intro p {margin:8px 0;}.podcast-subtitle {font-size:1.1rem;}
.podcast-listen iframe {display:block;width:100%;height:202px;border:0;border-radius:12px;background:#071a22;}
.podcast-direct {display:inline-block;margin-top:10px;color:var(--gold2);}
.podcast-main h2 {font-size:1.45rem;margin:0 0 14px;}
.podcast-description p {max-width:85ch;}
.podcast-platforms {display:flex;flex-wrap:wrap;gap:10px;}
.podcast-platforms a {padding:10px 14px;border:1px solid var(--museum-line);color:var(--gold2);font:600 .88rem/1.5 var(--nav);}
@media(max-width:600px){.podcast-intro{grid-template-columns:86px minmax(0,1fr);gap:14px;}.podcast-cover{width:86px;height:86px;}.podcast-intro h1{font-size:1.65rem;}.podcast-intro .section-kicker{font-size:.66rem;}.podcast-intro p{font-size:.85rem;}.podcast-platforms a{flex:1 1 135px;text-align:center;}}

/* Match visible outer boundaries, including wide desktop layouts. */
body:not(.countdown-page) #hero, body:not(.countdown-page) #highlights {width:min(1480px,calc(100% - 36px))!important;max-width:1480px!important;margin-inline:auto!important;box-sizing:border-box;}
body:not(.countdown-page) #hero>.hero-frame {width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box;}
@media(max-width:700px),(orientation:landscape) and (max-height:520px){body:not(.countdown-page) #hero,body:not(.countdown-page) #highlights {width:calc(100% - 16px)!important;}}

/* A short explanation should not stretch to the height of a tall clipping. */
.dike-evidence-grid {align-items:start!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}
.dike-evidence-grid .story-card {align-self:start;min-height:0;height:auto;}
.dike-evidence-grid .story-figure img {display:block;width:auto!important;height:auto!important;max-width:100%;max-height:min(600px,70dvh);object-fit:contain;margin-inline:auto;}
@media(max-width:700px){.dike-evidence-grid {grid-template-columns:1fr;}}

/* Release 114: conservative mobile navigation + viewer safety repair. */
@media (max-width:980px) {
  .site-header .main-nav {top:var(--mobile-nav-top,70px)!important;max-height:calc(100dvh - var(--mobile-nav-top,70px) - max(8px, env(safe-area-inset-bottom)))!important;padding-bottom:max(10px, env(safe-area-inset-bottom))!important;}
}
.exhibit-modal {z-index:20000!important;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))!important;}
.exhibit-modal .modal-close {position:fixed!important;top:max(12px, env(safe-area-inset-top))!important;right:max(12px, env(safe-area-inset-right))!important;z-index:20020!important;min-width:44px!important;min-height:44px!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.source-viewer .modal-panel.source-viewer-panel {max-width:calc(100vw - max(24px, env(safe-area-inset-left) + env(safe-area-inset-right)))!important;max-height:calc(100dvh - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;}
@media (max-width:1120px) {.source-viewer .modal-panel.source-viewer-panel {height:auto!important;min-height:0!important}.source-viewer .viewer-stage {min-height:min(58dvh,620px)!important}.source-viewer .viewer-info {max-height:32dvh;overflow:auto;-webkit-overflow-scrolling:touch}}
@media (max-width:620px) {.exhibit-modal {place-items:stretch!important}.source-viewer .modal-panel.source-viewer-panel {width:100%!important;height:calc(100dvh - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;max-height:none!important;overflow:hidden!important;grid-template-rows:minmax(0,1fr) auto}.source-viewer .viewer-stage {min-height:0!important;height:100%!important}.source-viewer .viewer-canvas {min-height:0!important}.source-viewer .viewer-info {max-height:34dvh;padding:18px!important;overflow:auto!important}.source-viewer .viewer-toolbar {padding-right:58px!important;max-height:30dvh;overflow:auto;-webkit-overflow-scrolling:touch}}
@media (max-width:980px) and (orientation:landscape) {.source-viewer .modal-panel.source-viewer-panel {grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr)!important;grid-template-rows:1fr!important;height:calc(100dvh - max(16px, env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important}.source-viewer .viewer-stage {min-height:0!important;height:100%!important}.source-viewer .viewer-info {max-height:none!important;height:100%;overflow:auto!important}.source-viewer .viewer-toolbar {max-height:38dvh}}

/* Release 115: compact University of Miami postcard evidence pair. */
.postcard-companion-section .story-grid {align-items:start!important;}
.postcard-companion-section .story-grid > .story-figure,
.postcard-companion-section .story-grid > .story-card {align-self:start!important;height:auto!important;min-height:0!important;}
.postcard-companion-section .story-figure {display:block!important;}
.postcard-companion-section .story-card {padding-bottom:21px!important;}

/* Release 116: unified postcard evidence card + viewer bounded below sticky header. */
.postcard-companion-section .postcard-evidence-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:0;border:1px solid rgba(214,170,87,.38);background:rgba(3,22,29,.72);overflow:hidden}
.postcard-companion-section .postcard-evidence-media{margin:0!important;border:0!important;background:#031016!important;height:auto!important;min-height:0!important;align-self:start!important}
.postcard-companion-section .postcard-evidence-media>a{display:block!important;height:auto!important;min-height:0!important;line-height:0;background:#031016}
.postcard-companion-section .postcard-evidence-media img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:top center!important;margin:0!important}
.postcard-companion-section .postcard-evidence-media .enlarge-image{margin:12px 16px!important}
.postcard-companion-section .postcard-evidence-media figcaption{margin:0!important}
.postcard-companion-section .postcard-evidence-copy{padding:26px 26px 24px;align-self:start;min-height:0}
.postcard-companion-section .postcard-evidence-copy h3{margin:.05rem 0 .8rem;font-family:var(--deco);font-size:1.45rem;font-weight:400;text-transform:uppercase;color:#f3ce7d}
.postcard-companion-section .postcard-evidence-copy p{margin:.7rem 0}
.postcard-companion-section .postcard-evidence-copy .story-links{margin-top:18px}
@media(max-width:900px){.postcard-companion-section .postcard-evidence-card{grid-template-columns:1fr}.postcard-companion-section .postcard-evidence-copy{padding:22px}}

:root{--viewer-header-offset:70px}
.exhibit-modal.source-viewer{inset:auto 0 0 0!important;top:var(--viewer-header-offset)!important;height:calc(100dvh - var(--viewer-header-offset))!important;min-height:0!important;padding:12px!important;place-items:center!important;z-index:20000!important}
.exhibit-modal.source-viewer .modal-backdrop{inset:0!important}
.source-viewer .modal-panel.source-viewer-panel{position:relative!important;width:min(1360px,100%)!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden!important}
.source-viewer .modal-close{position:absolute!important;top:10px!important;right:12px!important;z-index:20020!important;min-width:44px!important;min-height:44px!important;margin:0!important}
.source-viewer .viewer-toolbar{position:relative!important;top:auto!important;padding-right:64px!important}
@media(max-width:980px){:root{--viewer-header-offset:62px}.exhibit-modal.source-viewer{padding:8px!important}.source-viewer .modal-close{top:8px!important;right:8px!important}.source-viewer .viewer-toolbar{padding-right:60px!important}}
@media(max-width:620px){.exhibit-modal.source-viewer{place-items:stretch!important}.source-viewer .modal-panel.source-viewer-panel{height:100%!important;max-height:100%!important}.source-viewer .viewer-toolbar{max-height:28dvh!important;overflow:auto!important;-webkit-overflow-scrolling:touch}}
