/* ==========================================================================
   Responsive refinements — cross-cutting breakpoint adjustments that don't
   belong to one component. Component/layout files already carry their own
   mobile-first media queries; this file handles composition-level tuning.
   ========================================================================== */

/* Small phones (~320–374px): tighten button stacking and hero spacing. */
@media (max-width: 374px) {
  .hero__actions .btn,
  .final-cta__actions .btn {
    width: 100%;
  }

  .site-header__bar {
    block-size: 4rem;
  }
}

/* Landscape phones: reduce vertical hero/section padding so content fits
   without excessive scrolling in a short viewport. */
@media (max-height: 480px) and (orientation: landscape) {
  .hero {
    padding-block: var(--space-lg);
  }

  .mobile-nav__list a {
    padding-block: var(--space-sm);
  }
}

/* Tablet portrait (~768px): promote credibility strip and answers grid to
   two columns before the desktop three/four-column layouts kick in. */
@media (min-width: 768px) and (max-width: 1023px) {
  .footer-grid__brand {
    grid-column: 1 / -1;
  }
}

/* Large desktop (~1440px+): the container's own max-width + margin-inline:auto
   already centers content with equal space outside — no extra padding needed.
   This only nudges a couple of type sizes up slightly for the larger canvas. */
@media (min-width: 1440px) {
  .hero__lede,
  .section-head p {
    font-size: var(--text-md);
  }
}

/* Ensure no horizontal scroll from long unbroken tokens (URLs, emails). */
.container,
.prose {
  overflow-wrap: break-word;
}
