@media (max-width: 1180px) {
    :root { --container: 1040px; }
    .header-shell { grid-template-columns: 190px 1fr auto; gap: 16px; }
    .brand img { width: 180px; }
    .main-navigation { gap: 13px; }
    .main-navigation a { font-size: .68rem; }
    .header-phone span:last-child { display: none; }
    .booking-form { width: 900px; }
    .dining-gallery { grid-template-columns: 1fr 220px; }
    .footer-grid { grid-template-columns: 1.2fr .7fr .9fr 1.1fr; }
    .newsletter-column { grid-column: 1 / -1; display: grid; grid-template-columns: 160px 1fr 340px; align-items: center; gap: 20px; }
    .newsletter-column h3, .newsletter-column p { margin: 0; }
}

@media (max-width: 992px) {
    :root { --header-height: 72px; }
    .section-shell { width: min(100% - 32px, var(--container)); }
    .section-pad { padding: 72px 0; }
    .header-shell { grid-template-columns: 1fr auto auto; }
    .brand img { width: 182px; }
    .mobile-menu-toggle { display: inline-flex; order: 3; }
    .header-actions { margin-left: auto; }
    .main-navigation { position: fixed; z-index: 999; left: 0; right: 0; top: var(--header-height); display: grid; align-content: start; gap: 0; max-height: 0; overflow: hidden; background: #fff; box-shadow: 0 16px 30px rgba(20,55,25,.13); transition: max-height .35s ease; }
    .main-navigation.open { max-height: calc(100vh - var(--header-height)); overflow-y: auto; border-top: 1px solid #eef1eb; }
    .main-navigation a { padding: 15px 24px; border-bottom: 1px solid #f0f2ed; font-size: .78rem; }
    .main-navigation a::after { display: none; }
    .main-navigation a.active { background: var(--sage); }
    .hero-section { min-height: 610px; background-position: 65% center; }
    .hero-section::before { background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.87) 40%, rgba(255,255,255,.18) 70%); }
    .hero-content { height: 510px; }
    .hero-copy { max-width: 520px; }
    .hero-copy h1 { font-size: 3.45rem; }
    .booking-form { width: 760px; grid-template-columns: repeat(3, 1fr); }
    .booking-submit { grid-column: 1 / -1; margin: 12px 0 0; }
    .booking-field:nth-child(3) { border-right: 0; }
    .hero-booking-wrap { bottom: -85px; }
    .stats-strip { padding-top: 110px; }
    .stats-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
    .stat-item { flex-direction: column; gap: 6px; padding: 8px; text-align: center; }
    .stat-item div { align-items: center; }
    .about-grid { grid-template-columns: 1fr 1fr; gap: 46px; }
    .about-image-wrap > img { height: 470px; }
    .award-card { left: 12px; }
    .feature-pills span { padding: 9px 10px; }
    .dining-card { grid-template-columns: 250px 1fr; }
    .dining-gallery { grid-template-columns: 1fr 180px; }
    .dining-copy { padding: 34px 25px; }
    .dining-copy h2 { font-size: 2rem; }
    .trust-card { grid-template-columns: 125px 1fr; padding: 23px; }
    .sustainable-card { grid-template-columns: 1fr 125px; }
    .trust-image { width: 110px; height: 110px; }
    .explore-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1.2fr repeat(3, .8fr); }
    .newsletter-column { grid-column: 1 / -1; }
    .value-grid, .amenities-page-grid { grid-template-columns: repeat(2, 1fr); }
    .split-highlight { gap: 45px; }
    .room-list-card { grid-template-columns: 1fr 1fr; }
    .room-list-copy { padding: 28px; }
    .dining-page-grid { gap: 42px; }
    .gallery-grid { grid-template-columns: repeat(3, 1fr); }
    .place-detail-card { grid-template-columns: 340px 1fr; }
    .contact-grid { grid-template-columns: 1fr; }
    .contact-info-card { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
    .contact-info-card > img { height: 100%; min-height: 360px; grid-column: 2; grid-row: 1 / 6; }
    .room-detail-grid { grid-template-columns: 1fr 320px; gap: 35px; }
}

@media (max-width: 767px) {
    :root { --header-height: 68px; }
    .section-shell { width: calc(100% - 32px); }
    .section-pad { padding: 58px 0; }
    .section-pad-top { padding: 18px 0 56px; }
    h1 { font-size: clamp(2.35rem, 10.5vw, 3rem); }
    h2 { font-size: clamp(1.9rem, 8vw, 2.35rem); }
    p { font-size: .9rem; }
    .header-shell { width: calc(100% - 24px); grid-template-columns: 1fr auto; gap: 10px; }
    .brand img { width: 165px; }
    .header-actions { display: none; }
    .mobile-menu-toggle { order: initial; }
    .hero-section { min-height: auto; padding: 0 0 24px; background-position: 63% center; }
    .hero-section::before { background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 53%, rgba(255,255,255,.18) 100%), linear-gradient(0deg, rgba(255,255,255,.12), rgba(255,255,255,.12)); }
    .hero-content { height: 525px; align-items: flex-start; padding-top: 82px; padding-bottom: 0; }
    .hero-copy { max-width: 92%; }
    .hero-copy h1 { font-size: clamp(2.55rem, 11vw, 3.2rem); }
    .hero-copy p { max-width: 94%; font-size: .88rem; }
    .hero-buttons { align-items: flex-start; flex-wrap: wrap; }
    .hero-booking-wrap { position: relative; left: auto; bottom: auto; transform: none; margin-top: -34px; }
    .booking-form { width: 100%; grid-template-columns: 1fr; gap: 0; padding: 12px; border-radius: 20px; }
    .booking-field { min-height: 76px; padding: 10px 12px; border-right: 0; border-bottom: 1px solid #e8ece5; }
    .booking-field:nth-child(3) { border-bottom: 0; }
    .booking-submit { grid-column: auto; min-height: 52px; margin: 12px 0 0; }
    .stats-strip { padding: 25px 0 12px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 0; }
    .stat-item { min-height: 120px; border-right: 1px solid #dfe6da; border-bottom: 1px solid #dfe6da; }
    .stat-item:nth-child(even) { border-right: 0; }
    .stat-item:last-child { grid-column: 1 / -1; border-bottom: 0; }
    .about-grid { grid-template-columns: 1fr; gap: 54px; }
    .about-image-wrap > img { height: 400px; }
    .award-card { left: 12px; bottom: -24px; }
    .feature-pills { display: grid; grid-template-columns: 1fr 1fr; }
    .feature-pills span { justify-content: flex-start; }
    .section-heading-row { align-items: flex-start; flex-direction: column; }
    .section-heading-actions { width: 100%; }
    .section-heading-actions .btn { margin-right: auto; }
    .rooms-home { padding-bottom: 42px; }
    .room-card:hover { transform: none; }
    .amenities-bar { width: calc(100% - 32px); padding: 18px 14px; }
    .amenities-grid { grid-template-columns: repeat(2, 1fr); }
    .amenity-item { min-height: 90px; border-right: 1px solid #e4e9e0; border-bottom: 1px solid #e4e9e0; }
    .amenity-item:nth-child(even) { border-right: 0; }
    .amenity-item:nth-last-child(-n+2) { border-bottom: 0; }
    .dining-section { padding-top: 35px; }
    .dining-card { grid-template-columns: 1fr; }
    .dining-copy { padding: 32px 24px; }
    .dining-gallery { grid-template-columns: 1fr; padding-top: 0; }
    .dining-main-image { height: 290px; }
    .dining-small-images { grid-template-columns: repeat(3, 1fr); grid-template-rows: 105px; }
    .trust-section { grid-template-columns: 1fr; }
    .trust-card, .sustainable-card { grid-template-columns: 115px 1fr; }
    .sustainable-card .trust-copy { order: 2; }
    .sustainable-card .trust-image { order: 1; }
    .trust-image { width: 100px; height: 100px; }
    .testimonial-slider-wrap { gap: 7px; }
    .testimonial-slider-wrap > .slider-arrow { display: none; }
    .explore-card-header { flex-direction: column; }
    .moments-images { grid-template-columns: repeat(2, 1fr); height: 250px; }
    .home-place-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-cta-inner { flex-direction: column; align-items: flex-start; padding: 28px 24px; border-radius: 18px 18px 0 0; }
    .footer-cta h2 { font-size: 1.9rem; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 24px; padding-top: 48px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-contact { grid-column: 1 / -1; }
    .newsletter-column { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 8px; }
    .newsletter-form { max-width: 430px; }
    .footer-bottom { flex-direction: column; align-items: center; text-align: center; }
    .floating-whatsapp { right: 14px; bottom: 70px; }
    .back-to-top { right: 18px; }
    .inner-hero { min-height: 350px; background-position: 66% center; }
    .inner-hero::before { background: linear-gradient(90deg, rgba(255,255,255,.97), rgba(255,255,255,.88) 57%, rgba(255,255,255,.22)); }
    .inner-hero-content { padding: 55px 0; }
    .value-grid, .value-grid.three-cols, .amenities-page-grid { grid-template-columns: 1fr; }
    .split-highlight, .dining-page-grid { grid-template-columns: 1fr; gap: 30px; }
    .split-highlight img { height: 330px; }
    .reverse-mobile img { order: 2; }
    .room-list-card { grid-template-columns: 1fr; }
    .room-list-card:nth-child(even) .room-image { order: initial; }
    .room-list-card .room-image { min-height: 270px; }
    .room-list-copy { padding: 25px; }
    .room-list-bottom { align-items: flex-start; flex-direction: column; }
    .rooms-amenities { margin-top: 36px; margin-bottom: 55px; }
    .dining-page-collage .large { height: 280px; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 190px; }
    .gallery-item.wide { grid-column: span 2; }
    .place-detail-card { grid-template-columns: 1fr; }
    .place-detail-card:nth-child(even) .place-detail-image { order: initial; }
    .place-detail-image { height: 250px; }
    .place-detail-card > div:last-child { padding: 28px; }
    .contact-info-card { display: block; }
    .contact-info-card > img { min-height: 0; height: 240px; margin-top: 22px; }
    .form-row { grid-template-columns: 1fr; }
    .room-detail-hero { height: 430px; }
    .room-detail-title { bottom: 35px; }
    .room-detail-grid { grid-template-columns: 1fr; }
    .room-rate-card { position: static; }
    .simple-room-grid { grid-template-columns: 1fr; }
    .legal-layout { grid-template-columns: 1fr; }
    .legal-nav { position: static; grid-template-columns: 1fr 1fr; }
    .legal-card { padding: 26px; }
    .faq-layout { grid-template-columns: 1fr; gap: 35px; }
    .faq-layout > div:first-child { position: static; }
}

@media (max-width: 480px) {
    .section-shell { width: calc(100% - 30px); }
    .hero-content { height: 500px; padding-top: 62px; }
    .hero-copy { max-width: 100%; }
    .hero-copy h1 { font-size: 2.55rem; }
    .hero-buttons { gap: 14px; }
    .hero-buttons .btn { min-height: 46px; padding: 11px 15px; }
    .video-button { font-size: .76rem; }
    .video-icon { width: 40px; height: 40px; }
    .about-image-wrap > img { height: 340px; }
    .award-card { min-width: 165px; padding: 14px; }
    .feature-pills { grid-template-columns: 1fr; }
    .dining-small-images { grid-template-columns: 1fr 1fr; grid-template-rows: 105px 105px; }
    .dining-small-images img:last-child { grid-column: 1 / -1; }
    .trust-card, .sustainable-card { grid-template-columns: 1fr; text-align: left; }
    .trust-image { margin-bottom: 12px; }
    .trust-copy h2 { font-size: 1.8rem; }
    .moments-images, .home-place-grid { grid-template-columns: 1fr 1fr; }
    .home-place-card { min-height: 115px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand, .footer-contact, .newsletter-column { grid-column: auto; }
    .footer-cta-inner .btn { width: 100%; }
    .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
    .gallery-item.wide { grid-column: auto; }
    .check-list.two-columns { grid-template-columns: 1fr; }
    .legal-nav { grid-template-columns: 1fr; }
}

/* SEO content responsive additions */
@media (max-width: 991px) {
    .seo-copy-grid { gap: 18px; }
    .seo-copy-card { padding: 28px; }
    .quick-link-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .seo-copy-grid { grid-template-columns: 1fr; }
    .seo-copy-card { padding: 25px; border-radius: 17px; }
    .quick-link-grid { margin-top: 18px; }
    .quick-link-grid > a { min-height: 84px; padding: 15px; }
    .content-heading { text-align: left; }
    .content-heading > p { margin-left: 0; margin-right: 0; }
    .section-lead { font-size: .86rem; }
    .long-value-grid .value-card p { font-size: .86rem; }
    .seo-check-list { margin: 20px 0; }
    .explore-card-header p { max-width: none; }
}

@media (max-width: 480px) {
    .seo-copy-card { padding: 22px; }
    .quick-link-grid > a { grid-template-columns: 42px 1fr auto; gap: 11px; }
    .quick-link-grid > a > span { width: 42px; height: 42px; }
    .quick-link-grid strong { font-size: 1rem; }
}
