@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600&family=Parisienne&display=swap');

:root{
  --brown:#4a2a18;
  --brown-deep:#24150e;
  --brown-soft:#6f4a32;
  --cream:#f8f4ed;
  --cream-2:#efe7dc;
  --gold:#c79b55;
  --gold-light:#e2c38b;
  --ink:#3b2418;
  --muted:#75665a;
  --white:#fff;
  --line:rgba(104,73,43,.18);
  --shadow:0 18px 50px rgba(70,43,25,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:hidden}
body{width:100%;max-width:100%;overflow-x:hidden}
body{font-family:"Cormorant Garamond",Georgia,serif;color:var(--ink);background:var(--cream);line-height:1.65}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1140px,92%);margin:auto}

h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.05;color:var(--ink);font-weight:600}
h1{font-size:clamp(3.5rem,7vw,6.2rem)}
h2{font-size:clamp(2.4rem,4.5vw,4rem)}
h3{font-size:1.65rem}
p{font-family:"Cormorant Garamond",Georgia,serif;color:var(--muted);font-size:17px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:999px;font-family:"Cormorant Garamond",Georgia,serif;font-size:16px;font-weight:600;transition:.25s;border:1px solid transparent}
.btn-primary{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-primary:hover{background:#b98842;border-color:#b98842;transform:translateY(-2px)}
.btn-outline{border-color:rgba(255,255,255,.72);color:#fff;background:transparent}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* Reference-style header */
.topbar{display:none}
header{position:absolute;top:0;left:0;right:0;z-index:10000;background:transparent;border:0;color:#fff}
.nav{height:92px;display:flex;align-items:center;justify-content:space-between;position:relative;width:100%}
.brand{display:flex;align-items:center;gap:10px;color:#fff}
.brand img{width:92px;height:72px;object-fit:contain;mix-blend-mode:screen}
.brand span{font-family:"Cormorant Garamond",Georgia,serif;font-size:31px;font-weight:600;color:#fff;line-height:1}
.brand small{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:10px;letter-spacing:1.3px;color:#ead7b5;margin-top:5px}
nav{position:relative;z-index:3001;margin-left:auto}nav ul{list-style:none;display:flex;gap:34px;align-items:center}
nav a{font-family:"Cormorant Garamond",Georgia,serif;font-size:16px;font-weight:600;color:rgba(255,255,255,.94);position:relative;padding:8px 0}
nav a:hover,nav a.active{color:var(--gold-light)}
nav a.active:after{content:"";position:absolute;left:50%;bottom:-3px;width:18px;height:1px;background:var(--gold-light);transform:translateX(-50%)}
nav a.btn{padding:10px 20px;border:1px solid rgba(255,255,255,.5);color:#fff}
nav a.btn:after{display:none}
nav a.btn:hover{background:rgba(255,255,255,.12);border-color:#fff}
.menu{display:none;background:none;border:0;color:#fff;font-size:28px;cursor:pointer;position:relative;z-index:3003;touch-action:manipulation;min-width:44px;min-height:44px;padding:6px;line-height:1;-webkit-tap-highlight-color:rgba(216,180,106,.25)}

/* Hero: warm, cinematic, full-background treatment like the reference */
.hero{min-height:78vh;height:720px;max-height:860px;position:relative;display:flex;align-items:center;overflow:hidden;background:#3a2418}
.hero-slides,.hero-slide{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{opacity:0;transition:opacity 1s ease;display:block;background:#3a2418}
.hero-slide.active{opacity:1}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:none;box-shadow:none;border-radius:0}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,23,13,.82) 0%,rgba(58,31,18,.65) 30%,rgba(52,28,17,.34) 57%,rgba(26,18,13,.18) 100%)}
.hero-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 45%,rgba(255,210,150,.06),transparent 45%);pointer-events:none}
.hero-content{position:relative;z-index:2;padding:115px 0 75px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.25)}
.hero-content>div{max-width:600px}
.hero-content h1{color:#fff;max-width:610px;font-size:clamp(3.8rem,6.8vw,6.3rem);line-height:.9;text-shadow:0 4px 25px rgba(0,0,0,.28);margin-top:10px}
.hero-content h1 span{display:block;color:#fff}
.hero-content h1 span:after{content:""}
.hero-content p{font-size:19px;line-height:1.45;max-width:560px;margin:28px 0 30px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.hero-content .eyebrow{color:#e4c58e;text-shadow:0 2px 12px rgba(0,0,0,.5);font-size:17px}
.hero-content .actions{display:flex;gap:12px;align-items:center}
.hero-content .btn-primary{background:#d5a85f;color:#fff;border-color:#d5a85f}
.hero-content .btn-outline{background:transparent;border-color:rgba(255,255,255,.78);color:#fff}

/* Decorative typography */
.eyebrow{font-family:"Cormorant Garamond",Georgia,serif;font-size:16px;font-weight:600;letter-spacing:1.8px;color:var(--gold);text-transform:none}
.section{padding:85px 0}
.section-head{max-width:820px;margin:0 auto 42px;text-align:center}
.section-head p{margin-top:14px}
.section-head .eyebrow{display:inline-block}

/* Homepage intro */
.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.logo-panel{background:#fff;border:1px solid var(--line);border-radius:4px;padding:50px;box-shadow:var(--shadow);display:grid;place-items:center}
.logo-panel img{width:min(300px,80%)}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}
.feature{background:#fff;padding:25px;border-radius:3px;border:1px solid var(--line);box-shadow:0 8px 25px rgba(70,43,25,.05)}
.feature .num{font-family:"Cormorant Garamond";font-size:36px;color:var(--gold)}
.feature h3{font-size:1.45rem;margin:5px 0 8px}
.feature p{font-size:15px}

/* Dark sections become rich chocolate instead of navy */
.dark{background:var(--brown-deep);color:#fff}
.dark h2,.dark h3{color:#fff}.dark p{color:#d7c8b9}
.treatment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.treatment{background:rgba(255,255,255,.045);border:1px solid rgba(226,195,139,.18);border-radius:4px;padding:30px;position:relative;overflow:hidden}
.treatment .tag{color:#dfbd7c;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700}
.treatment h3{margin:8px 0 9px}

/* Spa menu styling closely follows the supplied reference */
.spa-menu-heading{display:inline-block;margin-bottom:9px;padding:0;color:var(--brown);font-size:17px;letter-spacing:1.5px;font-weight:600;text-transform:none;background:none;border:0}
.spa-menu-title{font-size:clamp(42px,5vw,66px);line-height:1.02;color:var(--brown);margin:0 auto;max-width:820px}
.spa-menu-title em{font-style:normal;color:var(--brown)}
.spa-menu-text{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:18px}
.menu-group{display:block;padding:22px 0;border-bottom:0}
.menu-number{display:none}
.menu-group h3{margin:0 0 12px;color:var(--brown);font-size:1.55rem}
.menu-group p{margin:12px 0;font-size:15px;line-height:1.45}
.menu-group p strong{color:var(--brown)}
.menu-group p span{display:block;color:var(--brown-soft);font-weight:700;font-size:13px;margin-top:4px;font-family:Inter,Arial,sans-serif}

/* Other site pages */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery figure{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 8px 30px rgba(70,43,25,.07);border:1px solid var(--line)}
.gallery img{width:100%;height:270px;object-fit:cover}
.gallery figcaption{padding:17px 19px;font-weight:600;color:var(--brown)}
.about-hero,.page-hero{padding:0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-photo{border-radius:4px;overflow:hidden;box-shadow:var(--shadow)}
.about-photo img{width:100%;height:520px;object-fit:cover}
.checks{display:grid;gap:12px;margin:25px 0}
.check{display:flex;gap:12px;align-items:flex-start;background:#fff;padding:15px 17px;border-radius:4px;border:1px solid var(--line)}
.check b{color:var(--gold)}
.memberships{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.member{background:#fff;border-radius:4px;padding:22px;box-shadow:0 8px 30px rgba(70,43,25,.06);border:1px solid var(--line)}
.member h3{font-size:1.35rem}
.member strong{display:block;color:var(--brown-soft);font-size:22px;margin:10px 0}
.member small{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}
.contact-card,.form-card{background:#fff;border-radius:4px;padding:35px;box-shadow:var(--shadow);border:1px solid var(--line)}
.contact-item{padding:18px 0;border-bottom:1px solid #eadfd3}
.contact-item:last-child{border-bottom:0}
.contact-item span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-family:Inter,Arial,sans-serif;font-weight:700}
.contact-item a{color:var(--brown);font-weight:600}
label{display:block;font-size:13px;font-weight:600;color:var(--brown);margin:0 0 7px;font-family:Inter,Arial,sans-serif}
input,textarea,select{width:100%;padding:13px 14px;border:1px solid #decfbe;border-radius:3px;background:#fffdf9;font:inherit;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:17px}
textarea{min-height:130px;resize:vertical}
.map{margin-top:28px;border-radius:4px;overflow:hidden;min-height:230px;background:#e9dfd3;display:grid;place-items:center;text-align:center;padding:25px}
.map strong{font-family:"Cormorant Garamond";font-size:30px;color:var(--brown)}

/* Footer */
footer{background:#24150e;color:#cbbcae;padding:55px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:40px}
footer h3{color:#fff;font-size:28px;margin-bottom:12px}
footer a:hover{color:#fff}
.footer-links{list-style:none;display:grid;gap:7px;font-size:14px}
.copy{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:18px;font-size:12px;display:flex;justify-content:space-between;gap:20px;font-family:Inter,Arial,sans-serif}

/* Floating contact plugin */

/* Floating contact/message plugin - click the message button to reveal WhatsApp + Phone */
.contact-float{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}
.contact-float-btn{width:60px;height:60px;border:0;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 34px rgba(36,21,14,.28);transition:transform .2s ease,background .2s ease,box-shadow .2s ease;pointer-events:auto}
.contact-float-btn:hover{transform:scale(1.07);box-shadow:0 17px 38px rgba(36,21,14,.34)}
.contact-message-icon,.contact-close-icon{grid-area:1/1;transition:opacity .18s ease,transform .18s ease}
.contact-message-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-close-icon{font-family:Arial,sans-serif;font-size:31px;line-height:1;opacity:0;transform:scale(.7)}
.contact-float.open .contact-message-icon{opacity:0;transform:scale(.7)}
.contact-float.open .contact-close-icon{opacity:1;transform:scale(1)}
.contact-float.open .contact-float-btn{background:var(--brown-deep)}
.contact-popup{width:286px;background:#fffdf9;border:1px solid rgba(105,72,48,.15);border-radius:16px;padding:14px;box-shadow:0 18px 55px rgba(36,21,14,.22);opacity:0;visibility:hidden;transform:translateY(10px) scale(.96);transform-origin:bottom right;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;pointer-events:none}
.contact-float.open .contact-popup{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.contact-popup-title{padding:5px 8px 11px;color:var(--brown);font-family:Inter,Arial,sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:700}
.contact-option{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:11px;text-decoration:none;border:1px solid transparent;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.contact-option:hover{transform:translateY(-1px);background:#f8f1e8;border-color:#e5d5c4}
.contact-option-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 42px}
.whatsapp-option .contact-option-icon{background:#25D366}.whatsapp-option .contact-option-icon img{width:42px;height:42px;display:block}
.phone-option .contact-option-icon{background:var(--gold);color:#fff}.phone-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-option strong{display:block;color:var(--brown);font-size:15px;line-height:1.2}.contact-option small{display:block;color:#806d5c;font:12px/1.4 Inter,Arial,sans-serif;margin-top:2px}
@media(max-width:600px){
  .contact-float{right:15px}
  .contact-float-btn{width:56px;height:56px}
  .contact-popup{width:min(286px,calc(100vw - 42px))}
}

.notice{display:none;margin-top:15px;padding:12px 14px;border-radius:4px;background:#f0f8ef;color:#37623a;font-size:13px}

/* Existing gallery/media helpers */
.spa-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.spa-gallery figure{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 8px 30px rgba(70,43,25,.07)}.spa-gallery img{width:100%;height:330px;object-fit:cover;transition:transform .45s ease}.spa-gallery figure:hover img{transform:scale(1.04)}.spa-gallery figcaption{padding:16px 18px;font-weight:600;color:var(--brown);font-size:14px}.gallery-section{padding-top:40px}
.gallery-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.gallery-media-grid figure{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 8px 30px rgba(70,43,25,.07);margin:0}.gallery-media-grid img,.gallery-media-grid video{width:100%;height:300px;display:block;object-fit:cover;background:#24150e}.gallery-media-grid figcaption{padding:16px 18px;font-weight:600;color:var(--brown);font-size:14px}

/* About page text-first layout retained */
.about-intro-section{padding-top:75px}.about-intro-grid{grid-template-columns:1fr 1fr;gap:70px}.about-intro-grid h1{font-size:clamp(48px,5.2vw,78px);line-height:1.02;margin-top:10px}.map-wrap{margin-top:40px}.map-heading{margin-bottom:22px}.map-heading h2{margin:6px 0 10px}.map-heading p{max-width:760px}.map iframe{width:100%;height:100%;border:0;display:block}
.about-text-only{max-width:900px}.about-text-only h1{font-size:clamp(3.2rem,7vw,6rem);max-width:900px;margin-top:10px}.about-lead{font-size:19px;line-height:1.85;max-width:820px;margin-top:22px}.about-details-section{padding-top:35px}.about-details{max-width:920px}.about-details>h2{margin:8px 0 28px}.about-contact-block{background:#fff;border:1px solid var(--line);border-radius:4px;padding:28px 32px;margin-bottom:55px;box-shadow:0 10px 35px rgba(70,43,25,.06)}.about-contact-block h3{font-size:1.45rem;margin-top:12px;margin-bottom:4px}.about-contact-block h3:first-child{margin-top:0}.about-contact-block a{color:var(--brown-soft);font-weight:700}.about-service{padding:48px 0;border-top:1px solid #e1d6ca}.about-service h2{font-size:clamp(2rem,4vw,3.1rem);margin:8px 0 20px}.about-service p{max-width:860px;margin:12px 0}.about-bullets{margin:18px 0 18px 22px;color:var(--muted)}.about-bullets li{padding:4px 0}.pricing-box{margin-top:26px;padding:22px 26px;border-left:4px solid var(--gold);background:#fff;border-radius:0 4px 4px 0;box-shadow:0 8px 25px rgba(70,43,25,.05)}.pricing-box h3{font-size:1.5rem;margin-bottom:8px}.pricing-box p{margin:4px 0;color:var(--brown)}.about-philosophy{padding:55px 0 10px;border-top:1px solid #e1d6ca}.about-philosophy h2{margin:8px 0 18px}.about-philosophy>p{max-width:850px}.about-checks{margin-top:30px;display:grid;gap:18px}.about-checks .check{background:#fff;border:1px solid var(--line);border-radius:4px;padding:20px 22px;box-shadow:0 8px 25px rgba(70,43,25,.05)}

@media(max-width:1000px){
  nav ul{gap:19px}
  nav a{font-size:15px}
  .spa-menu-text{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  header{z-index:10000}
  nav{z-index:10001}
  nav ul{display:none;position:fixed;top:82px;left:50%;right:auto;transform:translateX(-50%);width:calc(100vw - 32px);max-width:360px;z-index:20000;background:rgba(50,27,16,.99);padding:14px;flex-direction:column;gap:2px;box-shadow:0 12px 25px rgba(0,0,0,.28);pointer-events:auto;border-radius:14px;max-height:calc(100vh - 92px);overflow-y:auto;overflow-x:hidden}
  nav ul.open{display:flex}.menu{display:block;z-index:10003;pointer-events:auto}
  nav ul li{width:100%;text-align:center;display:block}
  nav ul li a{display:flex;width:100%;padding:13px 10px;min-height:46px;box-sizing:border-box;touch-action:manipulation;align-items:center;justify-content:center;position:relative;z-index:10004}
  .hero{height:700px;min-height:78vh}
  .hero-content{padding:120px 0 65px}.hero-content>div{max-width:570px}
  .intro-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
  .features{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.memberships{grid-template-columns:repeat(2,1fr)}
  .spa-gallery{grid-template-columns:1fr 1fr}.gallery-media-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .container{width:92%;max-width:100%;}
  .nav{height:72px}.brand img{width:70px;height:58px}.brand span{font-size:25px}.brand small{font-size:8px}
  nav ul{top:78px;left:50%;right:auto;width:calc(100vw - 24px);max-width:350px;transform:translateX(-50%);z-index:20000}
  .hero{height:690px;min-height:0;align-items:flex-end}
  .hero-slide img{object-position:center;object-fit:cover}
  .hero-slide:after{background:linear-gradient(180deg,rgba(39,22,14,.32) 0%,rgba(39,22,14,.5) 45%,rgba(32,18,11,.88) 100%)}
  .hero-content{padding:0 0 48px}.hero-content>div{max-width:100%}
  .hero-content .eyebrow{font-size:14px;letter-spacing:1.2px}
  .hero-content h1{font-size:clamp(3rem,15vw,4.4rem);line-height:.9;margin-top:8px}
  .hero-content p{font-size:16px;line-height:1.38;margin:18px 0 22px;max-width:100%}
  .hero-content .actions{flex-wrap:wrap}.hero-content .btn{font-size:15px;padding:10px 18px}
  .section{padding:68px 0}.features,.treatment-grid,.gallery,.memberships,.form-row,.spa-gallery,.gallery-media-grid{grid-template-columns:1fr}
  .spa-menu-text{grid-template-columns:1fr;gap:8px}.menu-group{padding:14px 0}.spa-menu-title{font-size:42px}
  .logo-panel{padding:30px}.about-photo img{height:350px}.footer-grid{grid-template-columns:1fr}.copy{flex-direction:column}
  
  .about-text-only h1{font-size:3.2rem}.about-lead{font-size:17px}.about-contact-block{padding:22px}.about-service{padding:38px 0}.about-philosophy{padding-top:40px}
}


/* Inner pages: full-width image hero with centered page title, matching the reference layout */
.inner-hero{height:570px;min-height:570px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-image:var(--page-bg);background-size:cover;background-position:center}
.inner-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,15,8,.42) 0%,rgba(28,15,8,.30) 42%,rgba(28,15,8,.48) 100%)}
.inner-hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding-top:60px}
.inner-hero-content h1{margin:0;color:#fff;font-family:Inter,Arial,sans-serif;font-size:clamp(44px,4.3vw,62px);font-weight:700;line-height:1.05;text-shadow:0 3px 18px rgba(0,0,0,.42)}
.inner-page-image{display:none}

/* Consistent inner-page title + image treatment */
.inner-page-image{padding:0 0 52px;background:var(--cream)}
.inner-page-image .container{max-width:1180px}
.inner-page-image img{display:block;width:100%;height:360px;object-fit:cover;border-radius:0 0 24px 24px;box-shadow:0 18px 45px rgba(36,21,14,.12)}
@media(max-width:700px){.inner-page-image{padding-bottom:34px}.inner-page-image img{height:220px;border-radius:0 0 18px 18px}}

/* Inner hero responsive sizing */
@media(max-width:900px){.inner-hero{height:500px;min-height:500px}.inner-hero-content{padding-top:48px}}
@media(max-width:600px){.inner-hero{height:390px;min-height:390px;background-position:center}.inner-hero-content{padding-top:38px}.inner-hero-content h1{font-size:42px}}


/* Four new inner-page banner images and reference-style page titles */
.inner-hero{
  min-height:570px;
  height:570px;
  margin:0;
  position:relative;
  overflow:hidden;
  background-image:var(--page-bg);
  background-size:cover;
  background-position:center;
}
.inner-hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(30,18,11,.42);
}
.inner-hero-content{
  position:relative;
  z-index:2;
  min-height:570px;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.inner-hero-content h1{
  margin:0;
  color:#fff;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(3.2rem,5vw,5.2rem);
  font-weight:600;
  line-height:1;
  text-shadow:0 3px 18px rgba(0,0,0,.28);
}
@media(max-width:700px){
  .inner-hero,.inner-hero-content{min-height:430px;height:430px}
  .inner-hero-content h1{font-size:clamp(2.7rem,12vw,4rem)}
}


/* Homepage expansion inspired by the supplied luxury-spa content structure */
.home-about h3{font-size:clamp(2rem,3vw,3rem);margin-bottom:16px}
.home-image-stack{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:end}
.home-image-stack img{width:100%;height:330px;object-fit:cover;border-radius:4px;box-shadow:var(--shadow)}
.home-image-stack img:last-child{height:240px}
.home-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.home-service{display:grid;grid-template-columns:180px 1fr;gap:20px;background:rgba(255,255,255,.045);border:1px solid rgba(226,195,139,.18);padding:16px;border-radius:4px}
.home-service img{width:180px;height:190px;object-fit:cover;border-radius:3px}
.home-service span{font:600 11px/1.3 Inter,Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#dfbd7c}
.home-service h3{margin:8px 0 8px;color:#fff}
.home-service p{font-size:14px;line-height:1.55}
.home-service a{font:600 13px Inter,Arial,sans-serif;color:#dfbd7c}
.features.four{grid-template-columns:repeat(4,1fr)}
.features.four .feature{background:rgba(255,255,255,.04);border:1px solid rgba(226,195,139,.18);padding:24px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust-grid article{padding:25px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 30px rgba(70,43,25,.06)}
.trust-icon{font:600 13px Inter,Arial,sans-serif;color:var(--gold);letter-spacing:1.5px}
.trust-grid h3{margin:12px 0 8px}
.trust-grid p{font-size:14px;line-height:1.55}
.contact-home-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}
.contact-home-card{background:rgba(255,255,255,.05);border:1px solid rgba(226,195,139,.18);padding:14px}
.contact-home-card img{width:100%;height:310px;object-fit:cover;display:block;margin-bottom:16px}
.contact-home-card div{padding:0 8px 8px;color:#d7c8b9}
@media(max-width:1000px){
  .features.four,.trust-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .home-service-grid{grid-template-columns:1fr}
  .contact-home-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .home-image-stack{grid-template-columns:1fr}
  .home-image-stack img,.home-image-stack img:last-child{height:280px}
  .features.four,.trust-grid{grid-template-columns:1fr}
  .home-service{grid-template-columns:1fr}
  .home-service img{width:100%;height:230px}
}


/* Homepage content cleanup */
.home-about-copy{max-width:980px;margin:0 auto}
.home-about .section-head{text-align:center}
.home-about-copy{text-align:center}
.home-about-copy .btn{margin-top:8px}
.gallery-home .gallery{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.gallery-home .gallery{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gallery-home .gallery{grid-template-columns:1fr}}

/* Wellness section image beside the heading and copy */
.wellness-touch-grid{grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.wellness-touch-grid .home-about-copy{text-align:left}
.wellness-touch-image{border-radius:4px;overflow:hidden;box-shadow:var(--shadow);height:100%;min-height:360px}
.wellness-touch-image img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
@media(max-width:900px){
  .wellness-touch-grid{grid-template-columns:1fr;gap:30px}
  .wellness-touch-grid .home-about-copy{text-align:center}
  .wellness-touch-image{min-height:300px}
  .wellness-touch-image img{min-height:300px}
}

/* Homepage Google Maps */
.home-map-wrap{margin:22px 0 0;max-width:720px}
.home-map{display:block;width:100%;height:300px;border:0;border-radius:16px;box-shadow:0 14px 35px rgba(0,0,0,.18)}
.map-link{display:inline-block;margin-top:10px;color:#d8b46a;font-weight:700;text-decoration:none}
.map-link:hover{text-decoration:underline}
@media(max-width:700px){.home-map{height:240px}.home-map-wrap{margin-top:18px}}

/* Mobile hero CTA reliability: keep the image layer non-interactive and put CTAs above every hero layer. */
.hero-slides,
.hero-slide,
.hero-slide img,
.hero-slide::after,
.hero-overlay{pointer-events:none !important;}
.hero-content{z-index:50 !important;pointer-events:auto !important;}
.hero-content .actions{position:relative;z-index:60 !important;pointer-events:auto !important;}
.hero-content .actions .btn{position:relative;z-index:61 !important;display:inline-flex;align-items:center;justify-content:center;pointer-events:auto !important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;}
@media(max-width:600px){
  .hero-content .actions{width:100%;gap:10px;}
  .hero-content .actions .btn{min-height:48px;}
}

/* FINAL: mobile hero buttons must receive the tap directly */
.hero-mobile-actions{position:relative !important;z-index:99999 !important;pointer-events:auto !important;}
.hero-mobile-actions .hero-cta-link{position:relative !important;z-index:100000 !important;pointer-events:auto !important;cursor:pointer !important;display:inline-flex !important;}
@media(max-width:600px){
  .hero-mobile-actions{position:relative !important;z-index:99999 !important;display:flex !important;}
  .hero-mobile-actions .hero-cta-link{position:relative !important;z-index:100000 !important;min-height:52px !important;touch-action:manipulation !important;-webkit-user-select:none !important;user-select:none !important;}
}

/* FINAL MOBILE LINK SAFETY: all normal anchors remain native clickable links. */
a[href] { pointer-events:auto !important; }
.btn, .map-link, .home-service a, .footer-links a, nav a,
.hero-content a, .section a, .actions a { touch-action:manipulation !important; -webkit-tap-highlight-color:rgba(216,180,106,.25); }
@media (max-width: 900px) {
  .hero-content a, .hero-content .actions, .hero-mobile-actions,
  .hero-mobile-actions a, .home-about-copy a, .home-service a,
  .section a, .map-link, .actions a, footer a { pointer-events:auto !important; }
  .hero-mobile-actions a { position:relative !important; z-index:100001 !important; }
}


/* Mobile tap reliability */
a[href] { cursor:pointer; -webkit-user-select:none; user-select:none; }
@media (max-width: 900px) {
  a[href] { touch-action:manipulation !important; }
  nav a, .btn, .map-link, .home-service a, .footer-links a { -webkit-touch-callout:none; }
  nav ul.open { pointer-events:auto; }
  nav ul li a { min-height:48px; }
  .contact-float-btn { min-width:48px; min-height:48px; touch-action:manipulation; -webkit-tap-highlight-color:rgba(216,180,106,.25); }
  .contact-option { min-height:58px; touch-action:manipulation; }
}
