@media (max-width: 900px) {
  .feature-grid, .event-grid { grid-template-columns: 1fr 1fr; }
  .story, .find-us, .booking { gap: 2rem; }
  .footer__grid { gap: 1.5rem; }
}

@media (max-width: 768px) {
  .section { padding: 3.5rem 0; }
  .nav { min-height: 70px; grid-template-columns: auto 1fr auto; }
  .nav__toggle { display: block; grid-column: 1; grid-row: 1; }
  .nav__brand { width: 132px; grid-column: 2; grid-row: 1; justify-self: center; }
  .nav__cta { min-height: 40px; grid-column: 3; grid-row: 1; padding: .5rem .7rem; font-size: .76rem; }
  .nav__links { position: absolute; top: 70px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; border-bottom: 1px solid var(--border); padding: .5rem 1rem 1rem; background: var(--white); }
  .nav__links.is-open { display: flex; }
  .nav__links--right { top: 204px; padding-top: 0; }
  .nav__link { display: block; padding: .65rem; text-align: center; }
  .nav__link--active::after { display: none; }
  .hero { min-height: 600px; }
  .story, .find-us, .booking { grid-template-columns: 1fr; }
  .story__image { order: -1; }
  .feature-grid, .event-grid { grid-template-columns: 1fr; }
  .info-strip, .footer__grid { grid-template-columns: 1fr; }
  .preview-grid { grid-template-columns: 1fr 1fr; }
  .menu-grid, .menu-extras__grid { grid-template-columns: 1fr; }
  .gallery { columns: 2; }
  .map { min-height: 420px; }
}

@media (max-width: 480px) {
  .hero__actions, .enquiry__actions { flex-direction: column; }
  .form__grid { grid-template-columns: 1fr; }
  .form__field--full { grid-column: auto; }
  .gallery { columns: 1; }
  .nav__cta { padding-inline: .5rem; font-size: .7rem; }
}
