@media (max-width: 1050px) {
  .section { padding: 95px 0; }
  .main-nav { gap: 17px; font-size: .78rem; }
  .hero-facts { width: 80vw; }
  .party-feature { grid-template-columns: .8fr 1.2fr; }
  .faq-layout { gap: 55px; }
}

@media (max-width: 820px) {
  body { font-size: 16px; }
  h1 { font-size: 3.75rem; }
  h2 { font-size: 3rem; }
  h3 { font-size: 1.75rem; }
  .container { width: calc(100% - 34px); max-width: 680px; margin-right: auto; margin-left: auto; }
  .section { padding: 78px 0; }
  .split, .split.reverse, .two-cols, .aperitivo-grid, .faq-layout, .booking-box { grid-template-columns: 1fr; }
  .menu-toggle { display: block; }
  .main-nav { position: absolute; top: 82px; right: 0; left: 0; display: none; align-items: stretch; padding: 22px; background: #082f3d; box-shadow: 0 20px 35px rgba(0,0,0,.2); }
  .main-nav.open { display: grid; }
  .main-nav a, .main-nav button { padding: 8px; }
  .hero { min-height: 930px; }
  .hero-content { padding: 135px 0 240px; }
  .hero-facts { right: 17px; bottom: 18px; left: 17px; width: auto; border-radius: 14px; }
  .hero-facts span { padding: 18px; }
  .image-stack img, .captain-photo img { height: 580px; }
  .party-feature { grid-template-columns: 1fr; }
  .party-gallery { min-height: 450px; }
  .party-gallery img { height: 450px; }
  .experience-visual { order: 2; }
  .experience-visual img { height: 600px; }
  .aperitivo-images { transform: none; }
  .coast-collage { height: 540px; }
  .coast-copy { grid-template-columns: 1fr; gap: 18px; }
  .coast-copy small { grid-column: auto; }
  .gallery-grid { height: auto; grid-template-columns: repeat(2, 1fr); grid-template-rows: none; overflow: visible; }
  .gallery-item { height: 250px; }
  .gallery-item.wide { grid-column: span 2; }
  .gallery-item.tall { grid-row: auto; }
  .gallery-cta { align-items: flex-start; flex-direction: column; }
  .booking-note { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  h1 { font-size: 3.25rem; }
  h2 { font-size: 2.5rem; }
  .brand strong { font-size: .8rem; }
  .brand small { font-size: .56rem; }
  .brand-mark { width: 40px; height: 40px; }
  .site-logo { width: 165px; }
  .hero { min-height: 1040px; }
  .hero-content { padding-bottom: 330px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .hero-facts { grid-template-columns: 1fr; }
  .hero-facts span { border-top: 1px solid rgba(8, 47, 61, .14); border-left: 0; }
  .hero-facts strong { display: inline; margin-right: 5px; }
  .image-stack img, .captain-photo img, .experience-visual img { height: 480px; }
  .image-stack figcaption { right: 10px; }
  .card-content { padding: 32px 25px; }
  .check-list { grid-template-columns: 1fr; }
  .party-gallery { min-height: 360px; }
  .party-gallery img { height: 360px; }
  .party-copy { padding: 38px 25px; }
  .floating-note { right: 12px; }
  .aperitivo-images { grid-template-columns: 1fr 1fr; }
  .aperitivo-images img, .aperitivo-images img:first-child { height: 250px; }
  .aperitivo-images img:first-child { grid-column: 1 / -1; grid-row: auto; }
  .coast-collage { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 320px 220px; }
  .coast-collage img:first-child { grid-column: 1 / -1; grid-row: auto; }
  .gallery-grid { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: none; }
  .gallery-item { height: 210px; }
  .gallery-item.wide { grid-column: 1 / -1; height: 260px; }
  .booking-box { width: 100%; border-radius: 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
  .lightbox { padding: 20px; }
}
