@media (max-width: 1280px) {
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .grid-3,
  .grid-4,
  .grid-2 {
    grid-template-columns: 1fr;
  }

  .site-header .topbar,
  .full-width-nav .topbar {
    gap: 14px;
  }

  .app-header__bar,
  .admin-header__bar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .container {
    width: min(var(--ds-container-width), calc(100% - 24px));
  }

  .brand-lockup p {
    display: none;
  }

  .full-width-nav .nav-panel.is-open,
  .site-header .nav-panel.is-open {
    display: grid;
  }

  .app-header__search,
  .admin-header__tools input {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .btn,
  .primary-button,
  .secondary-button,
  .action-button,
  .icon-action-button {
    min-height: 44px;
  }

  .modal,
  .modal-card {
    padding: 14px;
  }
}

@media (max-width: 768px) {
  .public-page .page-main { width: min(var(--ds-container-width), calc(100% - 24px)); }
  .public-hero-modern { min-height: 680px; background-position: 62% center; }
  .public-hero-modern__content { padding: 42px 20px 58px; }
  .public-hero-modern h1 { font-size: clamp(3.4rem, 17vw, 5.5rem); }
  .public-hero-modern__mark { right: 20px; bottom: 18px; font-size: 4rem; }
  .public-intro__grid, .modern-card-grid, .journey-grid, .sponsor-grid { grid-template-columns: 1fr; }
  .public-intro__grid { gap: 22px; }
  .journey-grid { gap: 1px; }
  .journey-grid article { min-height: 160px; }
  .journey-grid h3 { margin-top: 20px; }
  .impact-band, .participate-band { align-items: start; flex-direction: column; padding: 36px 24px; }
  .hero-cta-group { flex-wrap: wrap; }
  .hero-cta-group .primary-button, .hero-cta-group .secondary-button { flex: 1 1 190px; }
}
