@media (max-width:1100px){
  .nav-links{gap:22px}.rating-card{right:28px;width:250px}.hero-slide__content{padding-right:300px}.trust-grid{grid-template-columns:repeat(3,1fr)}.trust-item:nth-child(3){border-right:0}
}
@media (max-width:860px){
  :root{--header-h:74px}.container{width:min(calc(100% - 28px),var(--container))}.topbar__left span,.topbar__left a:nth-child(2){display:none}.topbar__book{padding-inline:16px}.menu-toggle{display:block;position:relative;z-index:1002}.nav-links{position:fixed;inset:0 0 0 auto;width:min(84vw,360px);height:100svh;background:#0d0d0c;padding:110px 28px 40px;display:flex;flex-direction:column;align-items:stretch;gap:6px;transform:translateX(105%);transition:transform var(--transition);box-shadow:-30px 0 80px rgba(0,0,0,.42);z-index:1001}.nav-links.is-open{transform:none}.nav-links a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07)}.nav-cta{text-align:center;margin-top:12px}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-slide__content{padding-top:140px;padding-right:0;padding-bottom:245px}.hero h1,.hero h2{font-size:clamp(48px,10vw,72px);max-width:760px}.rating-card{left:14px;right:14px;top:auto;bottom:78px;transform:none;width:auto;padding:18px 20px;display:grid;grid-template-columns:1fr auto;column-gap:12px}.rating-card .rating-stars,.rating-card strong,.rating-card span{grid-column:1}.rating-card a{grid-column:2;grid-row:1/4;align-self:center;margin:0}.hero-controls{bottom:26px}.preview-grid{grid-template-columns:1fr;gap:38px}
}
@media (max-width:640px){
  body{padding-bottom:62px}.topbar{height:38px}.topbar__left{font-size:12px}.topbar__book{font-size:10px}.brand img{width:142px}.hero,.hero-slider,.hero-slide{min-height:860px}.hero-slide__overlay{background:linear-gradient(180deg,rgba(0,0,0,.68),rgba(0,0,0,.72) 45%,rgba(0,0,0,.92))}.hero-slide__content{padding-top:145px;padding-bottom:270px}.hero h1,.hero h2{font-size:48px;line-height:1}.hero-copy{font-size:15px;line-height:1.7;margin-top:20px}.hero-actions{flex-direction:column;align-items:stretch;margin-top:26px}.btn{width:100%}.rating-card{bottom:86px;display:block}.rating-card strong{font-size:22px}.rating-card a{margin-top:12px}.hero-controls{bottom:26px}.trust-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.trust-grid::-webkit-scrollbar{display:none}.trust-item{min-width:72%;min-height:92px;scroll-snap-align:start;border-right:1px solid rgba(255,255,255,.08)}.preview-section{padding:74px 0}.preview-section h2{font-size:44px}.booking-card{padding:26px}.mobile-cta{position:fixed;z-index:1200;inset:auto 0 0;display:grid;grid-template-columns:repeat(3,1fr);height:62px;background:#0b0b0a;border-top:1px solid var(--gold)}.mobile-cta a{display:grid;place-items:center;font-family:Montserrat,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.1)}.mobile-cta a:last-child{background:var(--gold);color:#111;border-right:0}
}
@media (max-width:380px){.hero h1,.hero h2{font-size:42px}.eyebrow{font-size:10px}.topbar__left{gap:8px}.topbar__book{padding-inline:10px}.rating-card{padding:15px}.trust-item{min-width:82%}}

/* Trust badges responsive fix */
@media (max-width:1100px){
  .trust-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .trust-item{
    min-width:0;
    min-height:104px;
    padding:20px 16px;
    border-right:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .trust-item:nth-child(3n){border-right:0}
  .trust-item:nth-last-child(-n+3){border-bottom:0}
}

@media (max-width:640px){
  .trust-strip{padding:12px 0}
  .trust-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    overflow:visible;
    scroll-snap-type:none;
  }
  .trust-item{
    min-width:0;
    min-height:108px;
    padding:16px 10px;
    flex-direction:column;
    gap:8px;
    border:1px solid rgba(216,190,130,.16)!important;
    background:rgba(255,255,255,.025);
    scroll-snap-align:none;
    line-height:1.35;
  }
  .trust-item span{
    font-size:18px;
    line-height:1;
  }
  .trust-item strong{
    max-width:100%;
    overflow-wrap:anywhere;
    font-size:11px;
    letter-spacing:.02em;
  }
}

@media (max-width:360px){
  .trust-grid{grid-template-columns:1fr}
  .trust-item{
    min-height:82px;
    flex-direction:row;
    justify-content:flex-start;
    text-align:left;
    padding:16px 18px;
  }
  .trust-item strong{font-size:12px}
}

/* Step 2 responsive */
@media (max-width:1100px){
  .welcome-grid{gap:64px}.welcome-media__badge{right:-18px}.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-card{min-height:280px}.section-heading--split{gap:50px}.booking-band__inner{align-items:flex-start;flex-direction:column;gap:30px}.booking-band__actions{width:100%}.booking-band__actions .btn{flex:1}
}
@media (max-width:860px){
  .section{padding:90px 0}.welcome-grid{grid-template-columns:1fr;gap:62px}.welcome-media{margin-inline:auto;width:min(88%,520px)}.section-heading--split{grid-template-columns:1fr;gap:24px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:last-child{grid-column:1/-1;width:calc(50% - 14px);margin-inline:auto}
}
@media (max-width:640px){
  .section{padding:72px 0}.section h2{font-size:44px}.section-heading{margin-bottom:36px}.welcome-media{width:calc(100% - 18px);padding:12px 0 0 12px}.welcome-media__frame{inset:0 12px 12px 0}.welcome-media__badge{right:-8px;bottom:24px;width:104px;height:104px;border-width:6px}.welcome-media__badge strong{font-size:23px}.lead{font-size:22px!important}.welcome-points{grid-template-columns:1fr}.welcome-points>div{min-height:66px}.section-actions{align-items:stretch;flex-direction:column}.section-actions .text-link{justify-content:center;padding:8px}.journey-grid{grid-template-columns:1fr;gap:12px;border:0}.journey-card{min-height:0;border:1px solid var(--line);padding:28px 24px}.journey-card__icon{margin-bottom:28px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card:last-child{grid-column:auto;width:auto}.service-card__image img{aspect-ratio:4/3.7}.service-card p{min-height:0}.booking-band{padding:64px 0}.booking-band__actions{flex-direction:column}.booking-band__actions .btn{width:100%}
}
@media (max-width:380px){.section h2{font-size:39px}.welcome-points>div{padding:14px}.service-card__body{padding:22px}.service-card h3{font-size:32px}}

/* Step 3 responsive */
@media (max-width:1100px){
  .ambience-grid{gap:54px}.ambience-collage{min-height:540px;padding-left:60px}.ambience-collage__main{height:540px}.ambience-collage__small{height:210px}
  .membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-card{flex-basis:calc((100% - 18px)/2)}
}
@media (max-width:860px){
  .ambience-section{background:#0b0b0a}.ambience-grid{grid-template-columns:1fr;gap:60px}.ambience-collage{width:min(100%,650px);margin-inline:auto}
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px}.gallery-item--wide{grid-column:span 2}
  .reviews-head{align-items:flex-start;flex-direction:column}.google-summary{text-align:left}
}
@media (max-width:640px){
  .luxury-list{grid-template-columns:1fr}.ambience-collage{min-height:450px;padding:0 0 64px 34px}.ambience-collage__main{height:450px}.ambience-collage__small{width:58%;height:170px;border-width:7px}.ambience-collage__label{right:-8px;top:24px}
  .why-grid{grid-template-columns:1fr;border:0;gap:10px}.why-card{min-height:0;border:1px solid var(--line);padding:26px}.why-card h3{margin-top:20px}
  .gallery-grid{grid-auto-rows:180px;gap:9px}.gallery-item--tall{grid-row:span 2}.gallery-item--wide{grid-column:span 2}.lightbox__nav--prev{left:8px}.lightbox__nav--next{right:8px}.lightbox__close{right:10px;top:10px}
  .membership-grid{grid-template-columns:1fr}.membership-card{padding:28px 24px}.membership-card h3{font-size:43px}
  .review-card{flex-basis:100%;min-height:310px;padding:27px}.reviews-actions{align-items:stretch;flex-direction:column}.reviews-actions .btn{width:100%}.review-controls{align-self:flex-start}
}
@media (max-width:380px){.ambience-collage{padding-left:18px}.ambience-collage__small{width:66%}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:230px}.gallery-item--tall{grid-row:span 1}.gallery-item--wide{grid-column:span 1}}

/* Step 4 responsive */
@media(max-width:1100px){.faq-layout,.contact-grid,.serving-grid{gap:48px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.faq-layout,.contact-grid,.serving-grid{grid-template-columns:1fr}.faq-intro{position:static}.footer-rating{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.faq-item button{font-size:19px;padding:20px 0}.faq-item.is-open .faq-answer>p{padding-right:0}.contact-actions{flex-direction:column}.booking-form{padding:25px 20px}.booking-form h3{font-size:36px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.serving-grid{gap:25px}.footer-grid{grid-template-columns:1fr;gap:38px;padding-bottom:44px}.footer-rating>div:first-child{grid-template-columns:1fr}.footer-rating small{grid-column:1}.footer-rating>div:last-child{width:100%;flex-direction:column}.footer-rating a{text-align:center}.footer-bottom .container{align-items:flex-start;flex-direction:column}.footer-bottom nav{gap:12px}.floating-actions,.back-to-top{display:none}.cookie-banner{left:10px;right:10px;bottom:72px;align-items:stretch;flex-direction:column}.cookie-banner button{width:100%}}

/* About page responsive */
@media (max-width:1024px){.about-story__grid,.choose-about__grid{gap:48px}.values-grid{grid-template-columns:repeat(2,1fr)}.promise-card{margin-left:-35px;padding:38px}.about-story__media img{height:590px}}
@media (max-width:767px){.inner-hero{min-height:76vh;padding:170px 0 70px;background-position:62% center}.inner-hero h1{font-size:48px}.inner-hero__content>p:not(.eyebrow){font-size:15px}.about-story__grid,.choose-about__grid,.promise-grid{grid-template-columns:1fr;gap:38px}.about-story__media img{height:490px}.about-story__badge{right:12px;bottom:18px}.purpose-grid,.values-grid,.about-gallery__grid{grid-template-columns:1fr}.purpose-card,.value-card{padding:28px}.choose-about__images{min-height:500px}.choose-about__large{height:470px}.choose-about__small{height:220px;border-width:7px}.about-stats__grid{grid-template-columns:repeat(2,1fr);gap:0}.about-stats__grid>div{padding:20px 10px;border-bottom:1px solid rgba(0,0,0,.25)}.about-stats__grid>div:nth-child(2){border-right:0}.about-stats strong{font-size:42px}.promise-visual img{height:390px}.promise-card{margin:-40px 14px 0;padding:30px}.about-gallery__grid .gallery-item img{height:280px}.breadcrumb{margin-bottom:20px}}
@media (max-width:420px){.inner-hero h1{font-size:42px}.about-story__media img{height:430px}.choose-about__images{min-height:445px}.choose-about__large{width:86%;height:420px}.choose-about__small{width:52%;height:190px}.about-stats strong{font-size:36px}}

/* Services page responsive */
@media(max-width:1100px){.services-intro__grid{gap:52px}.services-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-grid{gap:45px}.service-care__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-care__card:nth-child(2){border-right:0}.service-care__card:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:820px){.services-intro__grid,.recommendation-grid{grid-template-columns:1fr}.services-intro__grid{gap:28px}.recommendation-result{padding:35px}.services-hero{background-position:58% center}}
@media(max-width:640px){.services-page-grid{grid-template-columns:1fr}.service-detail-card__body{padding:23px}.service-detail-card h3{font-size:32px}.service-detail-card__actions{align-items:stretch;flex-direction:column}.service-detail-card__actions .text-link{justify-content:center}.service-detail-card__actions .btn{width:100%}.recommendation-options{grid-template-columns:1fr}.recommendation-result{padding:28px 22px}.recommendation-result h3{font-size:38px}.service-care__grid{grid-template-columns:1fr}.service-care__card{min-height:0;border-right:0!important;border-bottom:1px solid var(--line)!important;padding:28px 24px}.service-care__card:last-child{border-bottom:0!important}.service-care__card h3{margin-top:38px}.mobile-cta a,.mobile-cta button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-right:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;text-transform:none}.mobile-cta button{border-right:0}.mobile-cta i{color:var(--gold-light);font-size:16px}.mobile-cta span{white-space:nowrap}}
@media(max-width:390px){.mobile-cta a,.mobile-cta button{gap:5px;font-size:11px}.mobile-cta i{font-size:14px}.recommendation-result h3{font-size:34px}}

@media (max-width:1024px){.service-overview__grid{gap:45px}.service-overview__media>img{height:560px}.service-benefits__grid{grid-template-columns:repeat(2,1fr)}.session-journey__grid{gap:50px}.service-suitability__grid{grid-template-columns:1fr}.related-services__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.service-single-hero{min-height:76vh}.service-overview__grid,.session-journey__grid{grid-template-columns:1fr;gap:38px}.service-overview__media>img{height:450px}.service-price-card{right:12px;bottom:12px;min-width:170px;padding:18px}.service-price-card strong{font-size:34px}.service-facts{grid-template-columns:1fr}.service-benefits__grid,.related-services__grid{grid-template-columns:1fr}.session-journey__grid>div:first-child{position:static}.session-steps li{grid-template-columns:48px 1fr;gap:12px}.service-suitability__grid{gap:25px}.service-note{padding:28px 22px}}
@media (max-width:430px){.service-overview__media>img{height:380px}.service-benefits__grid article{padding:25px 20px}.service-overview__content h2,.session-journey h2,.service-suitability h2{font-size:40px}}


/* Pricing page responsive */
@media(max-width:1100px){.pricing-intro__grid{gap:50px}.price-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-notes__grid{grid-template-columns:repeat(2,1fr)}.pricing-notes__grid article:nth-child(2){border-right:0}.pricing-notes__grid article:last-child{grid-column:1/-1;border-top:1px solid var(--line)}}
@media(max-width:760px){.pricing-intro__grid{grid-template-columns:1fr;gap:24px}.price-list-grid{grid-template-columns:1fr}.price-service-card{min-height:0;padding:25px}.price-service-card h3{font-size:32px}.price-service-card__actions{align-items:stretch;flex-direction:column}.price-service-card__actions .text-link{justify-content:center}.price-service-card__actions .btn{width:100%}.pricing-notes__grid{grid-template-columns:1fr}.pricing-notes__grid article{min-height:0;border-right:0!important;border-bottom:1px solid var(--line);padding:28px 24px}.pricing-notes__grid article:last-child{grid-column:auto;border-bottom:0}.pricing-disclaimer{padding:18px}}


/* Gallery page responsiveness */
@media (max-width:1024px){
  .gallery-page__intro{grid-template-columns:1fr;gap:18px}.gallery-page__grid{grid-auto-rows:220px}
  .gallery-story__grid{gap:48px}.gallery-story__media img{height:560px}
  .gallery-rating__card{grid-template-columns:1fr auto}.gallery-rating__card>a{grid-column:1/-1;justify-self:start}
}
@media (max-width:767px){
  .gallery-filters{overflow-x:auto;flex-wrap:nowrap;margin-inline:-20px;padding:0 20px 8px;scrollbar-width:none}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filters button{flex:0 0 auto}
  .gallery-page__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:9px}.gallery-page__grid .gallery-item--wide{grid-column:span 2}.gallery-page__grid .gallery-item--tall{grid-row:span 2}
  .gallery-page__caption{padding:48px 12px 12px}.gallery-page__caption strong{font-size:15px}
  .gallery-story__grid{grid-template-columns:1fr;gap:48px}.gallery-story__media{margin-right:14px}.gallery-story__media img{height:470px}.gallery-story__media::before{inset:14px -14px -14px 14px}
  .gallery-rating__card{grid-template-columns:1fr;padding:30px 24px;gap:26px}.gallery-rating__score{justify-items:start}.gallery-rating__card>a{grid-column:auto;width:100%}
  .lightbox figcaption{flex-direction:column;gap:4px;padding-inline:46px}.lightbox img{max-width:92vw;max-height:76vh}
}
@media (max-width:380px){
  .gallery-page__grid{grid-template-columns:1fr;grid-auto-rows:245px}.gallery-page__grid .gallery-item--wide{grid-column:span 1}.gallery-page__grid .gallery-item--tall{grid-row:span 1}
}

/* Contact page responsive */
@media(max-width:1100px){.contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-page-grid{gap:48px}.contact-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-benefit-grid article:nth-child(2){border-right:0}.contact-benefit-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:820px){.contact-page-grid{grid-template-columns:1fr}.contact-page-copy{position:static}.contact-map-head{align-items:flex-start;flex-direction:column}.contact-map iframe{height:430px}.contact-hero{background-position:62% center}}
@media(max-width:640px){.contact-card-grid{grid-template-columns:1fr}.contact-card{padding:27px 22px}.contact-card strong{font-size:24px}.contact-map-section{padding:75px 0}.contact-map iframe{height:360px}.contact-benefit-grid{grid-template-columns:1fr}.contact-benefit-grid article{min-height:0;border-right:0!important;border-bottom:1px solid var(--line)!important;padding:28px 23px}.contact-benefit-grid article:last-child{border-bottom:0!important}.contact-benefit-grid h3{margin-top:28px}.contact-page-address>div{grid-template-columns:38px 1fr}.contact-page-address i{width:38px;height:38px}.contact-page-form{padding:27px 20px}}

@media (max-width: 820px){.legal-layout{grid-template-columns:1fr;gap:30px}.legal-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.legal-nav strong{grid-column:1/-1}.utility-card{padding:48px 24px}}
@media (max-width: 480px){.legal-nav{grid-template-columns:1fr}.utility-page{min-height:520px}.utility-card{padding:40px 18px}.utility-card .hero-actions{display:grid}.utility-card .btn{width:100%}}

/* Sprint 3 Blog Responsive */
@media (max-width: 991px){.article-shell{grid-template-columns:1fr;gap:35px}.article-toc{position:static;border-left:0;border:1px solid rgba(200,164,93,.2);padding:22px;border-radius:15px}.article-toc .btn{width:auto}.blog-hub-hero,.blog-hero{min-height:55vh;padding:150px 0 70px}}
@media (max-width: 767px){.blog-grid{grid-template-columns:1fr}.blog-hub-hero h1,.blog-hero h1{font-size:clamp(2.7rem,14vw,4.2rem)}.article-shell{padding-top:55px;padding-bottom:60px}.article-quick__grid,.article-related-grid{grid-template-columns:1fr}.article-section h2,.article-faq>h2,.article-related>h2{font-size:2.2rem}.article-lead{font-size:1.4rem}.article-author{align-items:flex-start;flex-direction:column}.article-meta{gap:10px 14px}.article-meta span{font-size:.8rem}}

/* VERSION 2.0 — SPRINT 4 RESPONSIVE POLISH */
@media (max-width:1100px){
  .rating-card{animation:none}
  .hero-slide__content::before,.inner-hero__content::before,.area-hero .container::before,.blog-hero__content::before{display:none}
  .service-card:hover,.membership-card:hover,.journey-card:hover,.why-card:hover,.value-card:hover,.review-card:hover,.contact-card:hover,.area-service-card:hover,.area-hub-card:hover,.area-link-card:hover,.article-related-card:hover,.card:hover{transform:none}
}
@media (max-width:768px){
  :root{--radius-md:14px;--radius-lg:20px}
  .section,.preview-section{padding-top:82px;padding-bottom:82px}
  .site-header.is-scrolled .navbar{backdrop-filter:blur(12px)}
  .nav-links{background:linear-gradient(160deg,rgba(17,17,14,.99),rgba(7,7,7,.99))!important;backdrop-filter:blur(18px)}
  .nav-links a{font-size:14px}
  .nav-cta{border-radius:999px!important}
  .hero-slide__content,.inner-hero__content{padding-top:145px}
  .hero h1,.hero h2,.inner-hero h1,.area-hero h1,.blog-hero h1{font-size:clamp(43px,12vw,62px)!important;line-height:1!important}
  .hero-copy,.inner-hero p,.area-hero p,.blog-hero p{font-size:15px!important;line-height:1.75!important}
  .hero-actions{gap:10px}
  .hero-actions .btn{width:100%}
  .hero-controls{bottom:78px}
  .s4-scroll-cue{display:none}
  .booking-modal{padding:10px;align-items:flex-end!important}
  .booking-modal__panel{max-height:92svh;border-radius:22px 22px 0 0!important;padding:24px 18px calc(24px + env(safe-area-inset-bottom))!important}
  .booking-modal__panel::before{margin-right:42px;font-size:10px}
  .booking-modal__close{top:14px!important;right:14px!important}
  .booking-form .form-grid{grid-template-columns:1fr!important}
  .footer-grid{gap:38px!important}
  .mobile-cta a,.mobile-cta button{font-size:12px!important;gap:6px!important;padding:12px 5px calc(12px + env(safe-area-inset-bottom))!important}
  .mobile-cta i{font-size:16px!important}
}
@media (max-width:390px){
  .container{width:min(calc(100% - 26px),var(--container))}
  .hero h1,.hero h2,.inner-hero h1,.area-hero h1,.blog-hero h1{font-size:40px!important}
  .btn{padding-inline:17px}
  .mobile-cta span{font-size:11px}
  .booking-modal__panel{padding-inline:14px!important}
}

/* =========================================================
   FINAL QA — PHASE 3 MOBILE & RESPONSIVE HARDENING
   Shared component fixes applied globally (320px–768px)
========================================================= */
@media (max-width:768px){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  img,video,iframe,svg,canvas{max-width:100%;height:auto}
  table{max-width:100%}
  .container{width:min(calc(100% - 28px),var(--container));margin-inline:auto}

  /* Header and navigation */
  .navbar{min-height:74px}
  .brand{max-width:calc(100% - 58px)}
  .brand img{display:block;max-width:148px;height:auto}
  .menu-toggle{width:44px;height:44px;display:grid;place-content:center;flex:0 0 44px}
  .nav-links{width:min(88vw,380px);padding:100px 24px calc(36px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .nav-links a,.nav-links button{min-height:44px;display:flex;align-items:center}
  .nav-links .nav-cta{justify-content:center;width:100%;margin-top:14px;padding:13px 18px!important}

  /* Hero systems */
  .hero,.hero-slider,.hero-slide{min-height:max(760px,100svh)}
  .inner-hero,.area-hero,.blog-hero,.blog-hub-hero{min-height:70svh;padding-top:150px;padding-bottom:72px}
  .hero-slide__content,.inner-hero__content,.area-hero .container,.blog-hero__content{width:100%;max-width:100%}
  .hero h1,.hero h2,.inner-hero h1,.area-hero h1,.blog-hero h1,.blog-hub-hero h1{overflow-wrap:anywhere;text-wrap:balance}
  .hero-copy,.inner-hero p,.area-hero p,.blog-hero p,.blog-hub-hero p{max-width:100%;overflow-wrap:anywhere}
  .hero-actions,.contact-actions,.section-actions,.booking-band__actions,.reviews-actions{width:100%}
  .hero-actions .btn,.contact-actions .btn,.booking-band__actions .btn{min-height:48px}
  .breadcrumb{display:flex;flex-wrap:wrap;gap:6px 9px;max-width:100%;overflow-wrap:anywhere}
  .rating-card{max-width:calc(100% - 28px);left:14px;right:14px}

  /* Shared cards and grids */
  .service-grid,.services-grid,.services-page-grid,.membership-grid,.why-grid,.values-grid,.purpose-grid,.contact-card-grid,.contact-benefit-grid,.area-service-grid,.area-feature-grid,.area-links-grid,.area-hub-grid,.blog-grid,.article-quick__grid,.article-related-grid,.pricing-grid,.package-grid{grid-template-columns:1fr!important}
  .service-card,.service-detail-card,.membership-card,.why-card,.value-card,.purpose-card,.contact-card,.area-service-card,.area-feature-card,.area-link-card,.area-hub-card,.blog-card,.article-related-card{width:100%;min-width:0}
  .service-card__body,.service-detail-card__body,.membership-card,.area-service-card,.area-feature-card,.area-link-card,.blog-card__body{padding-left:22px;padding-right:22px}
  .service-card h3,.service-detail-card h3,.membership-card h3,.area-service-card h3,.area-feature-card h3,.blog-card h2,.blog-card h3{overflow-wrap:anywhere}

  /* Content layouts */
  .welcome-grid,.ambience-grid,.about-story__grid,.choose-about__grid,.promise-grid,.faq-layout,.contact-grid,.serving-grid,.contact-page-grid,.legal-layout,.article-shell,.area-intro,.area-intro__grid{grid-template-columns:1fr!important}
  .article-content,.article-main,.legal-content,.contact-page-copy,.area-intro__content{min-width:0}
  .article-section p,.article-section li,.legal-content p,.legal-content li,.area-intro p{overflow-wrap:anywhere}
  .article-toc{max-height:none;overflow:visible}
  .article-toc a{min-height:40px;display:flex;align-items:center}

  /* Tables */
  .comparison-table,.pricing-table,.table-wrap,.service-comparison{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  .comparison-table table,.pricing-table table,.service-comparison table{min-width:680px}

  /* Forms and modal */
  input,select,textarea,button{font-size:16px}
  input,select,textarea{max-width:100%}
  .booking-form,.contact-page-form{width:100%;min-width:0}
  .booking-modal__panel{overscroll-behavior:contain}
  .booking-modal__close{width:44px!important;height:44px!important;display:grid!important;place-items:center!important}
  .s4bc-time-chip{min-height:44px}

  /* Gallery and media */
  .gallery-grid,.gallery-page__grid,.about-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gallery-item,.gallery-page__item{min-width:0}
  .lightbox__close,.lightbox__nav{min-width:44px;min-height:44px}
  .contact-map iframe{width:100%;border:0}

  /* Footer and persistent CTA */
  .footer-grid{grid-template-columns:1fr!important}
  .footer-col,.footer-rating,.footer-bottom .container{min-width:0}
  .footer-col a,.footer-bottom a{overflow-wrap:anywhere}
  .mobile-cta{height:auto;min-height:66px;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,minmax(0,1fr))}
  .mobile-cta a,.mobile-cta button{min-width:0;min-height:62px;padding:9px 4px!important;line-height:1.15;text-align:center}
  .mobile-cta span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cookie-banner{max-height:calc(100svh - 90px);overflow:auto}
}

@media (max-width:430px){
  .container{width:min(calc(100% - 24px),var(--container))}
  .topbar__left{min-width:0}
  .topbar__left a,.topbar__left span{white-space:nowrap}
  .topbar__book{flex:0 0 auto}
  .hero,.hero-slider,.hero-slide{min-height:max(780px,100svh)}
  .hero-slide__content{padding-inline:0;padding-top:138px;padding-bottom:275px}
  .inner-hero,.area-hero,.blog-hero,.blog-hub-hero{padding-top:138px;padding-bottom:64px}
  .hero h1,.hero h2,.inner-hero h1,.area-hero h1,.blog-hero h1,.blog-hub-hero h1{font-size:clamp(38px,11.5vw,50px)!important}
  .section h2,.section-heading h2,.article-section h2,.article-faq>h2,.article-related>h2{font-size:clamp(34px,10vw,44px)!important;line-height:1.05}
  .lead,.article-lead{font-size:20px!important;line-height:1.45}
  .gallery-grid,.gallery-page__grid,.about-gallery__grid{grid-template-columns:1fr!important;grid-auto-rows:240px}
  .gallery-item--wide,.gallery-page__item--wide{grid-column:auto!important}
  .gallery-item--tall,.gallery-page__item--tall{grid-row:auto!important}
  .rating-card{bottom:80px;padding:16px 17px}
  .rating-card a{width:100%;text-align:center}
  .footer-rating>div:last-child{width:100%}
  .footer-rating .btn,.footer-rating a{width:100%;justify-content:center}
}

@media (max-width:360px){
  .container{width:min(calc(100% - 20px),var(--container))}
  .brand img{max-width:132px}
  .nav-links{width:92vw;padding-inline:20px}
  .hero h1,.hero h2,.inner-hero h1,.area-hero h1,.blog-hero h1,.blog-hub-hero h1{font-size:36px!important}
  .hero-copy,.inner-hero p,.area-hero p,.blog-hero p{font-size:14px!important}
  .btn{padding-left:14px;padding-right:14px;font-size:11px}
  .service-card__body,.service-detail-card__body,.membership-card,.area-service-card,.area-feature-card,.area-link-card,.blog-card__body{padding-left:18px;padding-right:18px}
  .booking-modal__panel{padding-left:12px!important;padding-right:12px!important}
  .mobile-cta a,.mobile-cta button{font-size:10px!important;gap:4px!important}
  .mobile-cta i{font-size:14px!important}
}

/* =========================================================
   PHASE 3 HOTFIX — MOBILE MENU + HERO RATING POSITION
   Fixes invisible hamburger lines and hero CTA/rating overlap.
========================================================= */
@media (max-width:860px){
  .navbar__inner{position:relative}
  .menu-toggle{
    display:grid!important;
    place-items:center;
    align-content:center;
    gap:5px;
    padding:8px!important;
    border-color:rgba(216,190,130,.52)!important;
    background:rgba(8,8,8,.32)!important;
    color:var(--gold-light);
  }
  .menu-toggle span{
    display:block!important;
    width:23px!important;
    height:2px!important;
    margin:0!important;
    border-radius:999px;
    background:var(--gold-light)!important;
    justify-self:center;
    transform-origin:center;
  }
  .menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.is-open span:nth-child(2){opacity:0}
  .menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

@media (max-width:640px){
  .hero,.hero-slider,.hero-slide{min-height:950px!important}
  .hero-slide__content{
    padding-top:148px!important;
    padding-bottom:330px!important;
  }
  /* Mobile already has a persistent WhatsApp CTA, so keep the hero clean. */
  .hero-actions .btn--ghost{display:none!important}
  .hero-actions .btn--gold{width:100%;min-height:56px}
  .rating-card{
    top:650px!important;
    bottom:auto!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    z-index:8!important;
    padding:20px 22px!important;
    background:rgba(10,10,9,.88)!important;
    backdrop-filter:blur(14px);
  }
  .rating-card a{display:inline-flex!important;margin-top:12px!important}
  .hero-controls{display:none!important}
}

@media (max-width:430px){
  .hero,.hero-slider,.hero-slide{min-height:930px!important}
  .hero-slide__content{padding-bottom:320px!important}
  .rating-card{top:640px!important}
}

@media (max-width:380px){
  .hero,.hero-slider,.hero-slide{min-height:910px!important}
  .rating-card{top:620px!important;left:14px!important;right:14px!important;padding:17px 18px!important}
  .rating-card .rating-stars{font-size:18px}
  .rating-card strong{font-size:21px}
}

/* SAFE MOBILE HERO SOURCE */
@media (max-width:768px){.hero-slide{background-image:var(--hero-image-mobile,var(--hero-image-desktop,var(--hero-image)))}}
