/* AMC 2027 — Responsive audit patch V10 (13 Oct 2026).
   Corrects mobile horizontal overflow and welcome section layout.
   Loaded after existing site and V9 inline styles; no original stylesheet changed. */

/* Give the speaker welcome a full-width composition: portrait left, letter right.
   Avoid an unnecessary 3-column nesting (label, portrait, letter) at laptop sizes. */
.about {
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
.about > div:last-child,
.about .welcome-feature,
.about .welcome-copy {
  min-width: 0;
}
.about .welcome-feature {
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
  gap: clamp(24px, 4.3vw, 70px);
  align-items: start;
}
.about .welcome-portrait-card {
  max-width: 300px;
  width: 100%;
  margin: 0;
}
.about .welcome-copy h2 {
  overflow-wrap: break-word;
}

@media (max-width: 820px) {
  .about .welcome-feature {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .about .welcome-portrait-card {
    position: static;
    max-width: 280px;
  }
}

/* On narrow phones, show all 3 committee tabs without page-wide scrolling. */
@media (max-width: 560px) {
  .committee-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
    align-items: stretch;
  }
  .committee-tabs button {
    min-width: 0;
    width: 100%;
    padding: 11px 4px;
    font-size: 11px;
    line-height: 1.4;
    text-align: center;
    overflow-wrap: normal;
    white-space: normal;
  }

  /* Previously the three auto-sized archive columns pushed links beyond 320px. */
  .archive-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
    min-width: 0;
  }
  .archive-row strong {
    grid-column: 1 / -1;
    font-size: 22px;
  }
  .archive-row a {
    min-width: 0;
    overflow-wrap: anywhere;
    line-height: 1.5;
  }
  .archive-row a:last-child {
    text-align: right;
  }
}

/* Footer labels and links must wrap in the 320–430px range. */
@media (max-width: 600px) {
  .footer-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    justify-content: stretch;
  }
  .footer-bottom > span {
    grid-column: 1 / -1;
  }
  .footer-bottom a {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Prevent unexpectedly long headings / downloaded resource names from breaking
   the layout on compact screens. */
@media (max-width: 420px) {
  .about .welcome-portrait-card {
    max-width: min(280px, 100%);
    margin: 0;
  }
  .sponsor-level h3 {
    flex-wrap: wrap;
  }
  .download-row strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
