/* Site-wide layout guardrails — loaded last on every page.
   Keeps phones from getting sideways scroll or crushed text if a new section misbehaves. */

/* nothing may push the page wider than the screen */
html { overflow-x: clip; }

/* media never wider than its container */
img, video, iframe, canvas { max-width: 100%; }
img { height: auto; }

/* long words / URLs wrap instead of overflowing */
h1, h2, h3, h4, h5, h6, p, li, blockquote, figcaption { overflow-wrap: break-word; }

/* grid and flex children can shrink below their content width */
[style*="display:grid"] > *, [style*="display: grid"] > * { min-width: 0; }

/* small phones: drop the "— Product Designer" tagline so the nav fits on one line */
@media (max-width: 430px) {
  .brand .sub { display: none; }
}

@media (max-width: 760px) {
  /* any inline multi-column grid collapses to one column on phones */
  [style*="grid-template-columns"]:not([data-keep-cols]) { grid-template-columns: 1fr !important; }

  /* horizontally scrolling tables: give cells enough room to read */
  .journey-table { min-width: 1500px !important; }
  .journey-table.j5 { min-width: 960px !important; }
}
