@media (max-width: 1140px) {
  .section {
    padding: 74px 0;
  }

  .hero-layout,
  .showcase-grid,
  .agenda-grid,
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .card-grid.grid-4,
  .card-grid.grid-3,
  .states-panel,
  .search-form {
    grid-template-columns: 1fr 1fr;
  }

  .showcase-list {
    grid-template-columns: 1fr;
  }
  .split-heading,
  .register-card {
    flex-direction: column;
    align-items: start;
  }

  .topbar-inner {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 16px 0;
  }

  .main-nav {
    justify-content: flex-start;
  }
}

@media (max-width: 780px) {
  .section {
    padding: var(--space-section-mobile) 0;
  }

  .hero-section {
    padding-top: 34px;
    padding-bottom: 42px;
  }

  .search-section {
    padding-top: 18px;
    padding-bottom: 28px;
  }

  .section-heading {
    margin-bottom: 28px;
  }

  p {
    font-size: 16px;
  }

  .hero-layout,
  .showcase-grid,
  .agenda-grid,
  .footer-grid,
  .hero-stats,
  .card-grid.grid-4,
  .card-grid.grid-3,
  .search-form,
  .states-panel,
  .agenda-feature,
  .efemeride-card {
    grid-template-columns: 1fr;
  }

  .split-heading,
  .register-card,
  .topbar-inner {
    flex-direction: column;
    align-items: start;
  }

  .agenda-list li {
    flex-direction: column;
  }

  .agenda-list span {
    white-space: normal;
  }

  .hero-image {
    min-height: 340px;
  }

  .hero-copy h1 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .map-box {
    min-height: 280px;
  }

  .brand {
    font-size: 28px;
  }

  .topbar {
    position: static;
  }

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

  .split-heading h2,
  .search-copy h2,
  .showcase-main h2 {
    font-size: clamp(26px, 7vw, 36px);
  }

  .sector-card h3,
  .row-copy h3,
  .internacional-card h3,
  .publication-copy h3,
  .efemeride-copy h3,
  .history-copy h3 {
    font-size: 20px;
  }

  .register-section {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .register-card {
    padding: 28px 24px;
    gap: 20px;
  }

  .register-card h2 {
    font-size: 28px;
  }

  .register-card p {
    font-size: 17px;
  }

  .register-card .btn-primary {
    width: 100%;
  }
}