@media (max-width: 1040px) {
  .site-header__inner { align-items: flex-start; flex-direction: column; padding: 14px 0; }
  .site-nav { flex-wrap: wrap; }
  .hero { grid-template-columns: 1fr; }
  .hero__poster { max-width: 680px; margin: 0 auto; }
  h1 { font-size: clamp(2.5rem, 9vw, 4.4rem); }
  .visit-details__heading,
  .visit-details__grid { grid-template-columns: 1fr; }
  .info-grid { grid-template-columns: 1fr; }
  .sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-band, .site-footer__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  .site-header__inner,
  .site-footer__inner,
  .page-shell { width: min(100% - 22px, 1180px); }
  .page-shell { padding-top: 20px; }
  .brand__logo { width: 48px; height: 48px; }
  .brand__text { font-size: .84rem; }
  .site-nav { gap: 12px; font-size: .84rem; }
  h1 { font-size: clamp(2.25rem, 12vw, 3.5rem); }
  .hero__content, .content-band, .sponsor-card { padding: 23px; border-radius: 22px; }
  .event-card { grid-template-columns: 1fr; }
  .sponsor-grid { grid-template-columns: 1fr; }
  .sponsor-tile { min-height: 106px; }
  .hours-list div,
  .admission-list div { align-items: flex-start; flex-direction: column; gap: 5px; }
  .hours-list dd,
  .admission-list strong { text-align: left; }
  .btn { width: 100%; }
  .hero__poster img { border-width: 5px; border-radius: 16px; }
  .featured-attractions, .feature-list { padding: 20px; border-radius: 22px; }
  .giveaway-feature { border-radius: 20px; }
  .giveaway-feature__media-pair { grid-template-columns: 1fr; padding: 12px; }
  .giveaway-feature__content { padding: 22px; }
  .personality-roster { padding: 20px; border-radius: 22px; }
  .personality-card { min-height: 96px; }
  .attraction-card, .feature-row { border-radius: 20px; }
}


@media (max-width: 760px) {
  .form-row {
    grid-template-columns: 1fr;
  }
}


@media (max-width: 640px) {
  .social-bar__inner {
    width: min(100% - 22px, 1180px);
    gap: 8px;
  }

  .social-bar__label {
    width: 100%;
    text-align: center;
  }

  .social-link {
    width: 100%;
    justify-content: center;
  }
}

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

@media (max-width: 640px) {
  .exhibitor-stats,
  .exhibitor-grid {
    grid-template-columns: 1fr;
  }

  .exhibitor-category__heading {
    flex-direction: column;
    gap: 12px;
  }

  .category-count {
    white-space: normal;
  }

  .directory-jump a {
    width: 100%;
    text-align: center;
  }
}
