:root {
  --bg: #F6F3F0; --white: #FFFFFF; --teal: #9AB6B1; --teal-dk: #7A9E99;
  --dark: #333941; --mid: #555C66; --light: #8A8F99; --strip-bg: #EDE8E2;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--dark);overflow-x:hidden;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:80px;display:flex;align-items:center;padding:0 40px;background:rgba(246,243,240,.97);backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(51,57,65,.12),0 1px 0 rgba(51,57,65,.06);transition:box-shadow .4s;}
nav.scrolled{box-shadow:0 6px 28px rgba(51,57,65,.16),0 1px 0 rgba(51,57,65,.08);}
.nav-logo{display:flex;align-items:center;text-decoration:none;margin-right:auto;height:56px;}
.nav-logo img{height:52px;width:auto;display:block;object-fit:contain;}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;}
.nav-links a{text-decoration:none;font-size:.82rem;font-weight:400;color:var(--dark);letter-spacing:.03em;position:relative;padding-bottom:2px;transition:color .25s;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--teal);transition:width .3s;}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--dark);border-radius:2px;transition:all .3s;transform-origin:center;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:80px;left:0;right:0;background:rgba(246,243,240,.98);backdrop-filter:blur(16px);padding:1.5rem 40px 2rem;z-index:999;border-bottom:1px solid rgba(154,182,177,.3);opacity:0;transform:translateY(-8px);transition:all .3s;pointer-events:none;}
.mobile-menu.open{opacity:1;transform:translateY(0);pointer-events:all;}
.mobile-menu a{display:block;padding:.75rem 0;border-bottom:1px solid rgba(154,182,177,.2);text-decoration:none;color:var(--dark);font-size:.9rem;}

/* HERO */
.hero{min-height:100vh;background:var(--bg);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:100px 0 60px;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 60% at 25% 50%,rgba(154,182,177,.12) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 80% 20%,rgba(201,169,110,.08) 0%,transparent 60%);}
.orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;animation:floatOrb 14s ease-in-out infinite;}
.orb-1{width:360px;height:360px;background:rgba(154,182,177,.2);top:-80px;right:0;animation-delay:0s;}
.orb-2{width:240px;height:240px;background:rgba(201,169,110,.13);bottom:40px;left:5%;animation-delay:-5s;}
@keyframes floatOrb{0%,100%{transform:translate(0,0) scale(1);}40%{transform:translate(16px,-26px) scale(1.03);}70%{transform:translate(-10px,16px) scale(.97);}}
.hero-photo-col{position:relative;display:flex;justify-content:center;align-items:center;padding:0 40px 0 60px;opacity:0;animation:fadeUp .9s ease forwards .2s;}
.hero-photo-wrap{position:relative;width:100%;max-width:460px;aspect-ratio:3/4;}
.hero-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;border-radius:6px;}
.hero-text-col{padding:0 60px 0 40px;position:relative;z-index:2;}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,3.8vw,3.6rem);font-weight:400;color:var(--dark);line-height:1.1;margin-bottom:.4rem;opacity:0;animation:fadeUp .9s ease forwards .4s;}
.hero-namaste{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:400;font-style:italic;color:var(--dark);margin-bottom:1.4rem;opacity:0;animation:fadeUp .9s ease forwards .55s;}
.hero-body{font-size:.95rem;font-weight:300;line-height:1.85;color:var(--mid);margin-bottom:2rem;opacity:0;animation:fadeUp 1s ease forwards .7s;}
.btn-book{display:inline-block;background:var(--dark);color:#fff;text-decoration:none;font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 2.4rem;border-radius:50px;transition:background .3s;opacity:0;animation:fadeUp 1s ease forwards .85s,bookPulse 3s ease-in-out infinite 2.5s;}
.btn-book:hover{background:var(--teal-dk);}
@keyframes bookPulse{0%,100%{box-shadow:0 0 0 0 rgba(154,182,177,.45);}50%{box-shadow:0 0 0 12px rgba(154,182,177,0);}}
.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;animation:fadeIn 1s ease forwards 1.6s;}
.scroll-hint span{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--light);}
.scroll-mouse{width:20px;height:32px;border:1.5px solid var(--light);border-radius:10px;position:relative;}
.scroll-mouse::before{content:'';position:absolute;top:4px;left:50%;transform:translateX(-50%);width:3px;height:6px;background:var(--light);border-radius:2px;animation:scrollDot 1.6s ease-in-out infinite;}
@keyframes scrollDot{0%{transform:translateX(-50%) translateY(0);opacity:1;}100%{transform:translateX(-50%) translateY(12px);opacity:0;}}

/* PAGE HERO (inner pages) */
.page-hero{padding:140px 40px 70px;background:var(--strip-bg);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 70% 50%,rgba(154,182,177,.15) 0%,transparent 70%);pointer-events:none;}
.page-hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.page-hero-text .section-eyebrow{margin-bottom:.6rem;}
.page-hero-text h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.6rem);font-weight:400;color:var(--dark);line-height:1.1;margin-bottom:1.2rem;}
.page-hero-text h1 em{font-style:italic;color:var(--teal-dk);}
.page-hero-text p{font-size:.95rem;color:var(--mid);line-height:1.85;font-weight:300;margin-bottom:1.5rem;}
.page-hero-img{width:100%;border-radius:8px 40px 8px 40px;display:block;}
.page-hero-img-round{width:220px;height:220px;border-radius:50%;object-fit:cover;object-position:top;display:block;margin:0 auto;}

/* SECTIONS */
.services{background:var(--bg);padding:70px 40px;}
.journey{background:var(--strip-bg);padding:70px 40px;}
.content-section{background:var(--bg);padding:70px 40px;}
.content-section.alt{background:var(--strip-bg);}
.section-inner{max-width:1100px;margin:0 auto;}
.section-eyebrow{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-dk);margin-bottom:.6rem;display:flex;align-items:center;gap:.6rem;}
.section-eyebrow::before{content:'';display:inline-block;width:22px;height:1px;background:var(--teal);}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;color:var(--dark);margin-bottom:.6rem;line-height:1.2;}
.section-title em{font-style:italic;color:var(--teal-dk);}
.services-intro{font-size:.9rem;font-weight:300;color:var(--mid);line-height:1.75;max-width:640px;margin-bottom:2.5rem;}

/* SERVICE CARDS */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.4rem;}
.service-card{background:#fff;border:1px solid rgba(154,182,177,.18);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s,border-color .35s;display:flex;flex-direction:column;}
.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(51,57,65,.1);border-color:rgba(154,182,177,.4);}
.service-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;display:block;transition:transform .5s;}
.service-card:hover .service-card-img{transform:scale(1.04);}
.service-card-body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1;}
.service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;color:var(--dark);margin-bottom:.35rem;}
.service-card p{font-size:.82rem;color:var(--mid);line-height:1.6;font-weight:300;flex:1;}
.card-more{display:inline-flex;align-items:center;gap:.35rem;margin-top:.9rem;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;font-weight:500;color:var(--teal-dk);text-decoration:none;transition:gap .3s;}
.service-card:hover .card-more{gap:.6rem;}

/* JOURNEY */
.journey-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:4rem;align-items:start;}
.journey-img{width:100%;border-radius:8px 40px 8px 40px;display:block;}
.journey-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:400;color:var(--dark);line-height:1.2;margin-bottom:1.2rem;}
.journey-text p{font-size:.92rem;color:var(--mid);line-height:1.85;font-weight:300;margin-bottom:.9rem;}

/* TWO COL CONTENT */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:1100px;margin:0 auto;}
.two-col.reverse{direction:rtl;}.two-col.reverse>*{direction:ltr;}
.two-col img{width:100%;border-radius:12px;display:block;}
.two-col-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:400;color:var(--dark);line-height:1.2;margin-bottom:1rem;}
.two-col-text h2 em{font-style:italic;color:var(--teal-dk);}
.two-col-text p{font-size:.92rem;color:var(--mid);line-height:1.85;font-weight:300;margin-bottom:.9rem;}
.two-col-text h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:var(--dark);margin:1.2rem 0 .5rem;}

/* THREE COL IMAGE CARDS */
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto;}
.img-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid rgba(154,182,177,.2);}
.img-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
.img-card-body{padding:1.2rem 1.4rem 1.5rem;}
.img-card-body h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;color:var(--dark);margin-bottom:.3rem;}
.img-card-body .sub{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-dk);font-weight:500;margin-bottom:.5rem;}
.img-card-body p{font-size:.84rem;color:var(--mid);line-height:1.6;font-weight:300;}

/* CHECKLIST */
.check-list{list-style:none;margin:.8rem 0;}
.check-list li{font-size:.9rem;color:var(--mid);line-height:1.7;font-weight:300;padding-left:1.4rem;position:relative;margin-bottom:.3rem;}
.check-list li::before{content:'✔';position:absolute;left:0;color:var(--teal-dk);font-size:.8rem;}
.x-list li::before{content:'❗';color:#AF4B43;}

/* QUOTE STRIP */
.quote-strip{background:var(--dark);padding:52px 40px;text-align:center;}
.quote-strip blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:300;font-style:italic;color:var(--bg);max-width:700px;margin:0 auto;line-height:1.65;}
.quote-strip blockquote span{color:var(--teal);}
.quote-strip cite{display:block;margin-top:.7rem;font-family:'DM Sans',sans-serif;font-size:.7rem;font-style:normal;letter-spacing:.13em;text-transform:uppercase;color:rgba(246,243,240,.4);}

/* MISSION */
.mission{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;}
.mission-bg{position:absolute;inset:0;}
.mission-bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.mission-bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.35);}
.mission-overlay{position:relative;z-index:2;width:50%;padding:3.5rem 4rem;background:rgba(51,57,65,.4);backdrop-filter:blur(2px);}
.mission-overlay .section-eyebrow{color:rgba(255,255,255,.75);}
.mission-overlay .section-eyebrow::before{background:rgba(255,255,255,.5);}
.mission-overlay h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:400;color:#fff;margin-bottom:1.2rem;line-height:1.2;}
.mission-overlay h2 em{font-style:italic;}
.mission-overlay p{font-size:.92rem;color:rgba(255,255,255,.88);line-height:1.8;font-weight:300;margin-bottom:1.8rem;}

/* MISSION PAGE SPECIFIC */
.mission-page-section{background:var(--bg);padding:70px 40px;}
.mission-page-section.alt{background:var(--strip-bg);}
.mission-inline{max-width:1100px;margin:0 auto;}
.mission-inline h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:400;color:var(--dark);margin-bottom:1rem;line-height:1.2;}
.mission-inline h2 em{font-style:italic;color:var(--teal-dk);}
.mission-inline p{font-size:.92rem;color:var(--mid);line-height:1.85;font-weight:300;margin-bottom:.9rem;max-width:700px;}

/* CONTACT FORM */
.contact-section{background:var(--bg);padding:70px 40px;}
.contact-inner{max-width:680px;margin:0 auto;}
.contact-intro{font-size:.95rem;color:var(--mid);line-height:1.8;font-weight:300;margin-bottom:2rem;}
.contact-form{display:flex;flex-direction:column;gap:1rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-field{display:flex;flex-direction:column;gap:.4rem;}
.form-field label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);font-weight:500;}
.form-field input,.form-field textarea{border:1.5px solid rgba(51,57,65,.2);border-radius:8px;padding:.75rem 1rem;font-family:'DM Sans',sans-serif;font-size:.9rem;color:var(--dark);background:#fff;outline:none;transition:border-color .3s,box-shadow .3s;}
.form-field input:focus,.form-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(154,182,177,.2);}
.form-field textarea{resize:vertical;min-height:140px;}
.form-submit{background:var(--dark);color:#fff;border:none;padding:.9rem 2.4rem;border-radius:50px;font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .3s;align-self:flex-start;}
.form-submit:hover{background:var(--teal-dk);}
#formThanks{display:none;color:var(--teal-dk);font-size:.9rem;margin-top:.5rem;}
.contact-email-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--teal-dk);text-decoration:none;font-size:.9rem;font-weight:500;margin-bottom:2rem;}
.contact-email-link:hover{text-decoration:underline;}

/* EMAIL SIGNUP */
.email-section{background:var(--bg);padding:64px 40px;text-align:center;}
.email-section h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:400;color:var(--dark);margin-bottom:.5rem;}
.email-section p{font-size:.88rem;color:var(--mid);font-weight:300;margin-bottom:1.8rem;}
.email-form{display:flex;justify-content:center;max-width:420px;margin:0 auto;border:1.5px solid var(--dark);border-radius:50px;overflow:hidden;transition:box-shadow .3s;}
.email-form:focus-within{box-shadow:0 0 0 3px rgba(154,182,177,.3);}
.email-form input{flex:1;border:none;background:transparent;padding:.85rem 1.4rem;font-family:'DM Sans',sans-serif;font-size:.85rem;color:var(--dark);outline:none;}
.email-form input::placeholder{color:var(--light);}
.email-form button{border:none;background:var(--dark);color:#fff;padding:.85rem 1.8rem;font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .3s;flex-shrink:0;}
.email-form button:hover{background:var(--teal-dk);}
#emailThanks{display:none;color:var(--teal-dk);font-size:.88rem;margin-top:.9rem;}

/* BUTTONS */
.btn-outline{display:inline-block;border:1.5px solid var(--dark);color:var(--dark);text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.75rem 2rem;border-radius:50px;margin-top:.6rem;transition:background .3s,color .3s;}
.btn-outline:hover{background:var(--dark);color:#fff;}
.btn-white{display:inline-block;background:#fff;color:var(--teal-dk);text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 2.2rem;border-radius:50px;transition:background .3s,color .3s;}
.btn-white:hover{background:var(--dark);color:#fff;}
.btn-teal{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 2.2rem;border-radius:50px;transition:background .3s;}
.btn-teal:hover{background:var(--teal-dk);}

/* PRIVACY PAGE */
.prose-section{background:var(--bg);padding:120px 40px 70px;}
.prose-inner{max-width:800px;margin:0 auto;}
.prose-inner h1{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:400;color:var(--dark);margin-bottom:2rem;}
.prose-inner h2{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--dark);margin:2rem 0 .8rem;}
.prose-inner p{font-size:.92rem;color:var(--mid);line-height:1.85;font-weight:300;margin-bottom:.9rem;}
.prose-inner ul{padding-left:1.5rem;margin:.5rem 0;}
.prose-inner ul li{font-size:.92rem;color:var(--mid);line-height:1.7;font-weight:300;margin-bottom:.3rem;}

/* FOOTER */
footer{background:var(--dark);padding:28px 40px;text-align:center;}
footer p{font-size:.78rem;color:rgba(246,243,240,.55);line-height:1.7;}
footer a{color:rgba(246,243,240,.55);text-decoration:none;transition:color .25s;}
footer a:hover{color:var(--teal);}
.footer-sacred{display:block;margin-top:.3rem;font-style:italic;color:rgba(246,243,240,.4);}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}
.reveal-d4{transition-delay:.32s}.reveal-d5{transition-delay:.40s}.reveal-d6{transition-delay:.48s}
.reveal-d7{transition-delay:.56s}.reveal-d8{transition-delay:.64s}

@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

/* ════════════════════════════════
   RESPONSIVE — TABLET (≤900px)
════════════════════════════════ */
@media(max-width:900px){
  /* Hero: stack vertically, photo above text */
  .hero{grid-template-columns:1fr;padding:100px 24px 80px;text-align:center;min-height:auto;}
  .hero-photo-col{padding:0 10%;max-width:100%;margin:0 auto;width:100%;}
  .hero-photo-wrap{max-width:320px;margin:0 auto;aspect-ratio:3/4;}
  .hero-text-col{padding:0 24px;}
  .hero-body{margin:0 auto 1.8rem;max-width:520px;}
  .scroll-hint{display:none;}

  /* Inner page heroes */
  .page-hero{padding:110px 24px 50px;}
  .page-hero-inner{grid-template-columns:1fr;gap:2rem;}
  .page-hero-inner>div:last-child{display:none;} /* hide right image on tablet — shows on desktop only */

  /* Journey */
  .journey-inner{grid-template-columns:1fr;gap:2rem;}
  .journey-img{max-width:280px;margin:0 auto;display:block;}

  /* Two col layouts */
  .two-col{grid-template-columns:1fr;gap:2rem;}
  .two-col.reverse{direction:ltr;}

  /* Three col → two col */
  .three-col{grid-template-columns:1fr 1fr;}

  /* Mission overlay full width */
  .mission-overlay{width:100%;padding:3rem 2.5rem;background:rgba(51,57,65,.55);}

  /* Form */
  .form-row{grid-template-columns:1fr;}

  /* Services grid → 2 cols */
  .services-grid{grid-template-columns:repeat(2,1fr);}
}

/* ════════════════════════════════
   RESPONSIVE — MOBILE (≤480px)
════════════════════════════════ */
@media(max-width:480px){
  /* NAV */
  nav{padding:0 16px;height:70px;}
  .nav-logo img{height:44px;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .mobile-menu{display:block;top:70px;padding:1rem 16px 1.5rem;}

  /* HERO */
  .hero{padding:90px 16px 60px;gap:0;}
  .hero-photo-col{padding:0 24px;}
  .hero-photo-wrap{max-width:260px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;}
  .hero-photo-wrap img{border-radius:50%;}
  .hero-text-col{padding:0 4px;}
  .hero-h1{font-size:2rem;margin-top:1.2rem;}
  .hero-namaste{font-size:1.2rem;margin-bottom:1rem;}
  .hero-body{font-size:.88rem;line-height:1.7;}
  .btn-book{font-size:.75rem;padding:.75rem 2rem;}

  /* SECTIONS */
  .services{padding:44px 16px;}
  .journey{padding:44px 16px;}
  .content-section,.mission-page-section,.contact-section,.email-section{padding:44px 16px;}
  .quote-strip{padding:36px 16px;}
  .page-hero{padding:100px 16px 44px;}
  .prose-section{padding:100px 16px 44px;}
  footer{padding:24px 16px;}

  /* Section inner padding */
  .section-inner{padding:0;}

  /* SERVICES GRID → single column on mobile */
  .services-grid{grid-template-columns:1fr;}
  .service-card-img{aspect-ratio:16/9;}

  /* THREE COL → single column */
  .three-col{grid-template-columns:1fr;}

  /* JOURNEY */
  .journey-img{max-width:240px;}

  /* MISSION overlay */
  .mission{min-height:auto;}
  .mission-overlay{width:100%;padding:2.5rem 1.5rem;}
  .mission-overlay h2{font-size:1.5rem;}
  .mission-overlay p{font-size:.85rem;}

  /* TWO COL already stacked — tighten gap */
  .two-col{gap:1.5rem;}

  /* Page hero: show image on mobile too, smaller */
  .page-hero-inner>div:last-child{display:block;}
  .page-hero-img{border-radius:8px 24px 8px 24px;max-height:220px;object-fit:cover;width:100%;}

  /* CONTACT FORM */
  .form-submit{width:100%;text-align:center;justify-content:center;}

  /* EMAIL FORM */
  .email-form{flex-direction:column;border-radius:12px;border:1.5px solid var(--dark);}
  .email-form input{padding:.9rem 1.2rem;border-radius:12px 12px 0 0;}
  .email-form button{border-radius:0 0 12px 12px;padding:.9rem;text-align:center;}

  /* WHATSAPP panel full width on mobile */
  .wa-panel{width:calc(100vw - 32px);right:16px;bottom:90px;}
  .wa-bubble{bottom:20px;right:16px;}
  .wa-btn{width:52px;height:52px;}

  /* Typography scale down */
  .section-title{font-size:1.7rem;}
  .section-eyebrow{font-size:.65rem;}

  /* Inline grids inside sound-healing page */
  div[style*="grid-template-columns:1fr 1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr 1fr"]{
    display:flex!important;flex-direction:column!important;gap:1rem!important;
  }
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr"]{
    display:flex!important;flex-direction:column!important;gap:1rem!important;
  }
}

/* ════════════════════════════════
   RESPONSIVE — SMALL MOBILE (≤375px)
════════════════════════════════ */
@media(max-width:375px){
  .hero-h1{font-size:1.75rem;}
  .hero-body{font-size:.84rem;}
  nav{height:64px;}
  .mobile-menu{top:64px;}
  .nav-logo img{height:38px;}
}

/* ── WHATSAPP CHAT BUTTON ── */
.wa-bubble{
  position:fixed; bottom:28px; right:28px; z-index:2000;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
}
.wa-btn{
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,.45);
  transition:transform .3s, box-shadow .3s;
  animation:waPulse 2.5s ease-in-out infinite;
  flex-shrink:0;
}
.wa-btn:hover{transform:scale(1.1); box-shadow:0 10px 32px rgba(37,211,102,.6); animation:none;}
.wa-btn svg{width:30px;height:30px;fill:#fff;}
@keyframes waPulse{
  0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.45);}
  50%{box-shadow:0 6px 32px rgba(37,211,102,.7),0 0 0 8px rgba(37,211,102,.12);}
}
.wa-tooltip{
  background:var(--dark); color:#fff; font-family:'DM Sans',sans-serif;
  font-size:.78rem; font-weight:400; letter-spacing:.02em;
  padding:.5rem 1rem; border-radius:24px;
  white-space:nowrap; opacity:0; pointer-events:none;
  transform:translateX(8px);
  transition:opacity .3s, transform .3s;
}
.wa-bubble:hover .wa-tooltip{opacity:1;transform:translateX(0);}

/* Chat popup panel */
.wa-panel{
  position:fixed; bottom:100px; right:28px; z-index:2000;
  width:320px; background:#fff; border-radius:18px;
  box-shadow:0 20px 60px rgba(51,57,65,.2);
  overflow:hidden;
  transform:scale(.92) translateY(16px); transform-origin:bottom right;
  opacity:0; pointer-events:none;
  transition:transform .35s cubic-bezier(.23,1,.32,1), opacity .35s;
}
.wa-panel.open{transform:scale(1) translateY(0); opacity:1; pointer-events:all;}
.wa-panel-header{
  background:#25D366; padding:1.2rem 1.4rem;
  display:flex; align-items:center; gap:.9rem;
}
.wa-panel-avatar{
  width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-size:1.4rem;
}
.wa-panel-info h4{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:500;color:#fff;margin-bottom:2px;}
.wa-panel-info p{font-size:.72rem;color:rgba(255,255,255,.8);}
.wa-panel-close{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.8);cursor:pointer;font-size:1.4rem;line-height:1;padding:0 0 0 .5rem;}
.wa-panel-close:hover{color:#fff;}
.wa-chat-bubble{
  margin:1.2rem 1.4rem;background:#f0f0f0;border-radius:12px 12px 12px 0;
  padding:.9rem 1.1rem;font-family:'DM Sans',sans-serif;font-size:.85rem;
  color:var(--dark);line-height:1.6;font-weight:300;
}
.wa-panel-input{
  display:flex;align-items:center;gap:.6rem;
  padding:.8rem 1rem 1rem;border-top:1px solid rgba(154,182,177,.2);
}
.wa-panel-input input{
  flex:1;border:1.5px solid rgba(154,182,177,.3);border-radius:24px;
  padding:.6rem 1rem;font-family:'DM Sans',sans-serif;font-size:.84rem;
  color:var(--dark);background:#fff;outline:none;
  transition:border-color .3s;
}
.wa-panel-input input:focus{border-color:var(--teal);}
.wa-panel-input input::placeholder{color:var(--light);}
.wa-send-btn{
  width:38px;height:38px;border-radius:50%;background:#25D366;
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:background .3s;
}
.wa-send-btn:hover{background:#1da851;}
.wa-send-btn svg{width:18px;height:18px;fill:#fff;}

/* ── TOUCH / TAP IMPROVEMENTS ── */
/* Larger tap targets on mobile */
@media(max-width:480px){
  .nav-links a, .mobile-menu a { min-height: 44px; display:flex; align-items:center; }
  .btn-book, .btn-outline, .btn-white, .btn-teal { min-height: 48px; display:inline-flex; align-items:center; justify-content:center; }
  .wa-btn { min-width:52px; min-height:52px; }
  .card-more { min-height:40px; display:inline-flex; align-items:center; }
  /* remove hover transform on touch — prevents stuck states */
  .service-card:hover { transform:none; }
  .service-card:active { transform:translateY(-3px); box-shadow:0 8px 20px rgba(51,57,65,.1); }
}

/* ── NAV LOGO: constrain on all screens ── */
.nav-logo img {
  max-width: 220px;
  height: auto;
  max-height: 52px;
}
@media(max-width:480px){
  .nav-logo img { max-width: 160px; max-height: 44px; }
}
