/* resources-mobile.css (v20260705a) — site-wide mobile-safety for resources content (loaded last; mobile only).
   Targets the common overflow causes: multi-column inline grids, wide tables, code blocks,
   non-wrapping rows, oversized media, and header rows. */
@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  img, svg, video, iframe, canvas { max-width: 100%; height: auto; }
  /* wide tables become horizontally scrollable instead of breaking the page */
  table:not(.styled) { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  /* code/pre wrap instead of overflowing */
  pre, code { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; max-width: 100%; }
  /* collapse any inline multi-column grid to a single column on phones */
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  /* common resources grids by class */
  .grid, .meta-row, .cards, .two-col, .three-col, .col-grid, .kpi-grid, .matrix { grid-template-columns: 1fr !important; display: block; }
  .meta-row > *, .grid > * { margin-bottom: .5rem; }
  /* header / nav rows wrap rather than overflow */
  .site-header .wrap, .site-header .w, header .wrap, .site-nav, .nav, .meta-row, .breadcrumbs { flex-wrap: wrap; }
  .site-header .wrap, .site-header .w { height: auto; min-height: 56px; gap: .5rem; }
  /* keep content padding sane on small screens */
  .wrap, .wrap-narrow, .content, .article-body { padding-left: 18px !important; padding-right: 18px !important; }
  /* very long unbroken strings (urls, codes) shouldn't push width */
  p, li, td, th, h1, h2, h3, .lede, .pull, .tldr { overflow-wrap: anywhere; }
}
/* 2026-07-04 — share bar + styled tables on phones */
@media (max-width: 760px) {
  .rsc-share { padding-left: 18px; padding-right: 18px; }
  .rsc-share-email input[type=email] { min-width: 0; width: 100%; }
  .tbl-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch; max-width: 100%; }
  .tbl-wrap table.styled { display: table !important; min-width: 600px; width: max-content; max-width: none; }
  /* lone styled tables (no wrapper) still scroll instead of squashing */
  table.styled { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tbl-wrap table.styled { display: table !important; }
  /* Industry View dashboard: let dense one-pager scroll sideways instead of clipping */
  .iv-shell { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .iv-shell .page { min-width: 0; }
  .site-nav { row-gap: .35rem; justify-content: center; }
}

/* 2026-07-04 — collapsing hamburger nav on mobile (CSS-only, checkbox hack) */
.rsc-nav-cb{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.rsc-nav-toggle{display:none !important}
@media (max-width:860px){
  .site-header .wrap{position:relative;display:flex !important;flex-wrap:nowrap !important;align-items:center}
  .rsc-nav-toggle{display:inline-flex !important;align-items:center;justify-content:center;width:44px;height:40px;border:1px solid var(--rule,#E0E2EA);border-radius:10px;background:rgba(47,60,126,.05);color:var(--navy-ink,#1A1F3A);cursor:pointer;order:3;margin-left:auto}
  .rsc-nav-toggle svg{width:22px;height:22px}
  .site-header .site-nav{display:none !important;position:absolute;top:calc(100% + 1px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(250,250,251,.98);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--rule-soft,#ECEDF2);box-shadow:0 24px 44px -22px rgba(26,31,58,.3);padding:.35rem 0 .8rem}
  .rsc-nav-cb:checked ~ .site-nav{display:flex !important}
  .site-header .site-nav .nav-primary,.site-header .site-nav a.nav-primary{display:block;width:100%;padding:.9rem clamp(20px,6vw,40px);font-size:1rem;color:var(--navy-ink,#1A1F3A);border-bottom:1px solid var(--rule-soft,#ECEDF2)}
  .site-header .site-nav .cta-link{display:block;margin:.7rem clamp(20px,6vw,40px) .2rem;text-align:center;padding:.85rem 1rem;border-radius:999px}
  .site-header .site-nav .full-label,.site-header .site-nav .hide-sm{display:inline !important}
}
