/* =======================================================
   TABLET  ≤ 900px
   ======================================================= */
@media (max-width: 900px) {
	.primary-nav, .header-cta .btn-ghost, .header-cta .btn-primary { display: none; }
	.nav-toggle { display: inline-flex; }
	.header-cta { gap: 0.6rem; }

	.intro-grid,
	.team-grid,
	.nature-grid,
	.contact-panel { grid-template-columns: 1fr; }

	.intro-media, .team-media { order: -1; }

	.offers-grid { grid-template-columns: repeat(2, 1fr); }
	.overview-grid { grid-template-columns: 1fr; }

	.nature-media { height: 360px; margin-bottom: 1rem; }

	.footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }

	.contact-panel-media { min-height: 260px; }
	.contact-panel-body { padding: 2.5rem; }

	.hero { min-height: 82vh; }
}

/* =======================================================
   MOBILE ≤ 600px
   ======================================================= */
@media (max-width: 600px) {
	.container { padding-inline: 18px; }

	.site-branding small { display: none; }
	.site-branding span { font-size: 0.95rem; }
	.site-branding img, .site-branding .brand-mark-fallback { width: 36px; height: 36px; }
	.site-branding .custom-logo { height: 36px; }

	h1 { font-size: clamp(2rem, 8vw, 2.6rem); }
	h2 { font-size: clamp(1.6rem, 7vw, 2rem); }

	.intro-section, .offers-section, .gallery-section,
	.team-section, .nature-section, .contact-section,
	.content-section { padding-block: 3.25rem; }

	.hero { min-height: 88vh; align-items: center; }
	.hero-inner { padding-block: 2rem; text-align: left; }
	.hero-actions { flex-direction: column; align-items: stretch; }
	.hero-actions .btn { justify-content: center; }
	.hero-scroll-cue { display: none; }

	.offers-grid { grid-template-columns: 1fr; }

	.gallery-slide { width: 84vw; }

	.footer-grid { grid-template-columns: 1fr; gap: 2.25rem; }
	.footer-bottom { flex-direction: column; align-items: flex-start; }

	.contact-panel-body { padding: 1.75rem; gap: 1.1rem; }

	.detail-cta { flex-direction: column; align-items: flex-start; }

	.intro-media::before { display: none; }

	.page-header { padding-block: 6rem 3rem; }

	.tilt-card { transform: none !important; }
}

/* Guard against accidental horizontal overflow */
html, body { max-width: 100%; overflow-x: hidden; }
