@media (max-width: 1200px) {
  .sponsor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
  .menu-toggle {
    display: inline-block;
    border: 0;
    border-radius: 999px;
    background: #ebdfd8;
    padding: 0.55rem 1rem;
    font-weight: 700;
  }
  .menu {
    display: none;
    position: absolute;
    top: calc(100% + 0.45rem);
    left: 1rem;
    right: 1rem;
    flex-direction: column;
    align-items: stretch;
    background: #fffdfb;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    border: 1px solid var(--color-line);
    padding: 0.8rem;
    max-height: 72vh;
    overflow: auto;
  }
  .menu.open { display: flex; }
  .has-submenu .submenu {
    position: static;
    display: block;
    box-shadow: none;
    border: 0;
    background: #f7f0ea;
    margin-top: 0.5rem;
  }
  .menu > li > a,
  .submenu li a {
    display: block;
    padding: 0.55rem 0.5rem;
  }
  .btn-contact { display: none; }
  .topbar {
    justify-content: flex-start;
    padding-inline: 1.1rem;
  }
}

@media (max-width: 1024px) {
  .cards-grid,
  .footer-grid,
  .split { grid-template-columns: 1fr 1fr; }
  .menu { gap: 0.75rem; }
}

@media (max-width: 768px) {
  .cards-grid,
  .footer-grid,
  .split,
  .sponsor-grid { grid-template-columns: 1fr; }
  .hero,
  .page-hero { border-radius: 22px; }
}

@media (max-width: 480px) {
  .hero-actions .btn { width: 100%; text-align: center; }
  .exit-site { width: calc(100% - 2rem); right: 1rem; }
}
