/* Content reflow: preserve the type scale while allowing long labels and grids to wrap. */

main { overflow-wrap: anywhere; }
main :is(section, article, header, nav, div, dl, dt, dd, p, h2, h3, h4, h5, li, a, span, summary) { min-width: 0; }
.hero-identity { overflow-wrap: anywhere; }
.sec-meta { flex-wrap: wrap; }
.sec-meta .sec-note { flex: 1 1 12rem; }
.sec-head h2 { overflow-wrap: anywhere; }
.period, .chip, .viz-tag, .status-rows dt { white-space: normal; }
.case-index { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.case-index a { flex-wrap: wrap; }
.pane-bar { flex-wrap: wrap; }
.case-study .pane-title { overflow-wrap: anywhere; }
.record-row { grid-template-columns: minmax(0, 9.5rem) minmax(0, 1fr) auto; }
.platform-foundations, .platform-products { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.commerce-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 12rem); }
.version-bridge .version-arrow { flex: none; }
.case-facts > div { min-width: 0; }
.email > span { flex: none; }
.tools-grid, .systems-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }

@media (max-width: 800px) {
  .record-row { grid-template-columns: minmax(0, 1fr) auto; }
  .commerce-layout, .modern-tracks { grid-template-columns: minmax(0, 1fr); }
  .work-grid, .meta { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  /* Keep nesting from consuming the reading column when the user enlarges text. */
  main .wrap { padding-inline: max(5vw, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)); }
  main .status-rows { width: 100%; margin-left: 0; padding-inline: 0; }
  .case-brief, .case-intro, .engineering-viz, .case-dossier .work-grid,
  .case-study .pane-bar, .case-dossier > summary { padding-inline: min(1rem, 4vw); }
  .record-row { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'period' 'main' 'chip'; }
  .case-facts > div { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
  .approach li { grid-template-columns: minmax(0, 1fr); }
  .approach li > div { grid-column: 1; grid-row: 2; }
  .approach .ap-ic { grid-column: 1; grid-row: 1; justify-self: center; }
  .platform-foundations .viz-card { display: block; padding: min(.8rem, 4vw); }
  .platform-products .viz-card { padding: min(.8rem, 4vw); }
  .platform-foundations .viz-card::before { position: static; }
  .commerce-layers li { grid-template-columns: minmax(0, 1fr); }
  .layer-index { grid-row: auto; }
  .commerce-layers .viz-chips { grid-column: 1; }
  .version-bridge { flex-wrap: wrap; }
  .version-bridge > span:not(.version-arrow) { flex: 1 1 5rem; }
  .player-actions { display: flex; flex-wrap: wrap; gap: .3rem; }
  .graph-player .flow-controls output { white-space: normal; flex: 1 1 8rem; }
  .player-route { flex: 1 1 100%; margin-right: 0; min-height: 0; }
  .player-zoom { margin-left: auto; }
  .graph-reading { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
  .mini-migrations, .mini-commerce { grid-template-columns: minmax(0, 1fr); }
  .viz-chips span { max-width: 100%; }
}
