@media (max-width: 860px) {
  .container { width: min(calc(100% - 34px), var(--container-width)); }
  .header-inner { min-height: 78px; }
  .brand img { width: 48px; height: 48px; }
  .brand img { mix-blend-mode: multiply; }
  .menu-toggle { display: block; }
  .site-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 24px 24px; border-bottom: 1px solid var(--color-border); background: var(--color-ivory); box-shadow: var(--shadow-soft); }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 13px 0; border-bottom: 1px solid var(--color-border); }
  .hero-grid, .split-feature, .split-feature--reverse, .contact-layout { grid-template-columns: 1fr; gap: 38px; }
  .booking-panel { grid-template-columns: 1fr; gap: 20px; }
  .booking-panel-actions { padding-left: 0; }
  .hero-copy { max-width: 680px; }
  .hero-image { justify-self: start; width: min(100%, 540px); }
  .split-feature--reverse .feature-copy, .split-feature--reverse .feature-media { order: initial; }
  .feature-media--portrait { max-width: 540px; }
  .card-grid { grid-template-columns: 1fr; }
  .image-card, .image-card img { min-height: 330px; }
  .home-callout, .experience-feature { grid-template-columns: 1fr; gap: 20px; }
  .gallery-item, .gallery-item--wide { grid-column: span 6; }
  .facility-grid { grid-template-columns: 1fr; }
  .event-grid, .location-panel, .feedback-layout { grid-template-columns: 1fr; }
  .review-items { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .event-card { grid-template-columns: minmax(130px, .65fr) 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: span 2; }
  .numbered-list { gap: 18px; }
}
@media (max-width: 520px) {
  h1 { font-size: clamp(2.7rem, 15vw, 4.2rem); }
  .container { width: min(calc(100% - 28px), var(--container-width)); }
  .hero { padding-top: 24px; }
  .hero-meta { gap: 18px; }
  .stat-band { grid-template-columns: 1fr; gap: 20px; }
  .gallery-grid { display: block; }
  .gallery-item { margin-bottom: 28px; }
  .gallery-item img, .gallery-item--portrait img { height: auto; max-height: none; }
  .facility-card { grid-template-columns: 110px 1fr; gap: 15px; }
  .facility-card img { width: 110px; height: 110px; }
  .booking-actions, .stay-feature-actions { align-items: stretch; flex-direction: column; }
  .booking-actions .button, .stay-feature-actions .button, .booking-panel-actions .button { width: 100%; }
  .event-card { display: block; }
  .event-card img { height: 220px; min-height: 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > :first-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; gap: 6px; }
  .review-items { grid-template-columns: 1fr; }
}