
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --forest:#373A36;--foliage:#476857;--coral:#D9875D;
  --pink:#F7D5CC;--gold:#D9B965;--cgreen:#D6DFC9;
  --white:#EFEFE8;--peach:#DFB198;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Roboto Condensed',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--white);color:var(--forest);overflow-x:hidden}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;align-items:center;justify-content:space-between;padding:1rem 3rem;background:rgba(239,239,232,0.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(55,58,54,0.08);transition:padding .3s}
.logo{display:flex;align-items:center;text-decoration:none;cursor:pointer;flex-shrink:0}
.logo span{color:var(--coral)}
.nav-links{display:flex;align-items:center;gap:1.8rem;list-style:none}
.nav-links a{font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--forest);text-decoration:none;transition:color .2s;cursor:pointer}
.nav-links a:hover,.nav-links a.active{color:var(--coral)}
.nav-links li.loc-gate{opacity:.4;pointer-events:none;transition:opacity .3s}
.nav-links li.loc-gate.unlocked{opacity:1;pointer-events:all}
.nav-right{display:flex;gap:.6rem;align-items:center}
.loc-pill{display:flex;align-items:center;gap:.4rem;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--foliage);background:var(--cgreen);padding:.42rem .9rem;border-radius:2rem;cursor:pointer;border:none;white-space:nowrap;transition:background .2s}
.loc-pill:hover{background:var(--peach)}
.loc-dot{width:7px;height:7px;border-radius:50%;background:var(--foliage);display:inline-block}
.book-btn{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--white);background:var(--coral);padding:.5rem 1.2rem;border-radius:2rem;text-decoration:none;border:none;cursor:pointer;transition:background .2s;white-space:nowrap}
.book-btn:hover{background:var(--forest)}

/* ── LOC BANNER ── */
.loc-banner{background:var(--foliage);padding:.55rem 3rem;display:none;align-items:center;gap:1rem;margin-top:var(--nav-h,72px)}
.loc-banner.show{display:flex}
.loc-banner span{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cgreen)}
.loc-banner button{margin-left:auto;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);background:none;border:none;cursor:pointer}

/* ── MODAL ── */
.overlay{position:fixed;inset:0;z-index:500;background:rgba(55,58,54,.65);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:2rem}
.overlay.open{display:flex}
.modal{background:var(--white);border-radius:1.2rem;max-width:860px;width:100%;padding:2.8rem;position:relative;animation:up .3s ease}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.modal-close{position:absolute;top:1.1rem;right:1.4rem;font-size:1.3rem;cursor:pointer;background:none;border:none;color:var(--forest)}
.modal-eyebrow{font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--coral);margin-bottom:.4rem}
.modal-title{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--forest);margin-bottom:.3rem}
.modal-sub{font-size:.82rem;opacity:.5;margin-bottom:1.8rem}
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.loc-card{border:1.5px solid rgba(55,58,54,.12);border-radius:1rem;padding:1.4rem;cursor:pointer;transition:all .2s;background:white}
.loc-card:hover{border-color:var(--coral);transform:translateY(-2px)}
.loc-card.selected{border-color:var(--foliage);background:var(--cgreen)}
.loc-card.soon{opacity:.5;cursor:default}
.loc-card.soon:hover{transform:none;border-color:rgba(55,58,54,.12)}
.lbadge{font-size:.52rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--foliage);color:white;padding:.18rem .55rem;border-radius:1rem;display:inline-block;margin-bottom:.5rem}
.lbadge.coming{background:var(--peach);color:var(--forest)}
.lcity{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--forest);margin-bottom:.12rem}
.lhood{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--foliage);margin-bottom:.5rem}
.laddr{font-size:.76rem;opacity:.5;line-height:1.5;margin-bottom:.7rem}
.ltags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem}
.ltag{font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--cgreen);color:var(--foliage);padding:.18rem .45rem;border-radius:.4rem}
.ltag.no{background:rgba(55,58,54,.08);color:rgba(55,58,54,.4);text-decoration:line-through}
.lbtn{display:block;width:100%;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--coral);color:white;border:none;border-radius:2rem;padding:.52rem;cursor:pointer;transition:background .2s;text-align:center;margin-top:.5rem}
.lbtn:hover{background:var(--forest)}

/* ── PAGES ── */
.page{display:none}.page.active{display:block}

/* ── HERO ── */
.hero{position:relative;height:100vh;min-height:660px;display:flex;align-items:flex-end;overflow:hidden;background:var(--forest)}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(55,58,54,.05) 0%,rgba(55,58,54,.65) 100%)}
.hero-content{position:relative;z-index:2;padding:0 3rem 5rem;max-width:680px}
.eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--peach);margin-bottom:.8rem}
.hero h1{font-family:var(--serif);font-size:clamp(3rem,6vw,5.2rem);font-weight:300;line-height:1.05;color:var(--white);margin-bottom:1.3rem}
.hero h1 em{font-style:italic;color:var(--pink)}
.hero p{font-size:.92rem;color:rgba(239,239,232,.78);line-height:1.75;margin-bottom:2rem;max-width:420px}
.sound-nudge{display:none}
.ctas{display:flex;gap:.9rem;flex-wrap:wrap}

/* ── MARQUEE ── */
.marquee{background:var(--foliage);color:var(--cgreen);padding:.8rem 0;overflow:hidden;white-space:nowrap}
.marquee-inner{display:inline-flex;animation:scroll 32s linear infinite}
.mi{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:0 2rem}
.md{color:var(--coral)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SECTION ── */
.sw{padding:5rem 3rem}.cm{max-width:1200px;margin:0 auto}
.slabel{font-size:.58rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin-bottom:.7rem}
.stitle{font-family:var(--serif);font-size:clamp(1.9rem,3.5vw,3rem);font-weight:300;line-height:1.1;color:var(--forest);margin-bottom:1.1rem}
.stitle em{font-style:italic;color:var(--foliage)}
.sbody{font-size:.92rem;line-height:1.75;opacity:.7;max-width:560px;margin-bottom:1.5rem}

/* ── ABOUT SPLIT ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.split img{width:100%;height:500px;object-fit:cover;border-radius:1rem}
.about-body{font-family:var(--serif);font-size:1.2rem;font-weight:300;line-height:1.85;opacity:.85;margin-bottom:1.8rem}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.8rem}
.stat{border-left:2px solid var(--coral);padding-left:.9rem}
.stat-n{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--foliage);line-height:1}
.stat-l{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.5}

/* ── SERVICE NAV (sub-nav on service pages) ── */
.svc-subnav{background:var(--forest);padding:1rem 3rem;display:flex;align-items:center;gap:2rem;overflow-x:auto}
.svc-subnav a{font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(239,239,232,.5);text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .2s;padding-bottom:.2rem;border-bottom:2px solid transparent}
.svc-subnav a:hover{color:var(--white)}
.svc-subnav a.active{color:var(--gold);border-bottom-color:var(--gold)}

/* ── SERVICE PAGE HERO ── */
.svc-hero{background:var(--forest);color:var(--white);padding:5rem 3rem 4rem}
.svc-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:1200px;margin:0 auto}
.svc-hero img{width:100%;height:420px;object-fit:cover;border-radius:1rem}
.svc-hero .eyebrow{color:var(--peach)}
.svc-hero .stitle{color:var(--white)}
.svc-hero .stitle em{color:var(--gold)}
.svc-hero .sbody{color:rgba(239,239,232,.7);max-width:100%}

/* ── LOC AWARE BAND ── */
.loc-aware-band{background:var(--cgreen);border-radius:1rem;padding:2rem 2.5rem;margin-bottom:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.lab-left h3{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--forest);margin-bottom:.3rem}
.lab-left p{font-size:.8rem;opacity:.6;line-height:1.5}
.lab-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}
.lab-tag{font-size:.55rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--foliage);color:white;padding:.18rem .5rem;border-radius:.4rem}
.lab-tag.warn{background:var(--coral)}
.no-loc-notice{background:rgba(55,58,54,.06);border:1.5px dashed rgba(55,58,54,.15);border-radius:1rem;padding:2rem 2.5rem;text-align:center;margin-bottom:2rem}
.no-loc-notice p{font-family:var(--serif);font-size:1.2rem;font-style:italic;opacity:.6;margin-bottom:.8rem}

/* ── WHY GRID ── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.why-card{background:white;border-radius:1rem;padding:1.8rem;border:1px solid rgba(55,58,54,.08)}
.why-icon{font-size:1.5rem;margin-bottom:.8rem}
.why-title{font-family:var(--serif);font-size:1.2rem;font-weight:300;color:var(--forest);margin-bottom:.5rem}
.why-body{font-size:.8rem;opacity:.6;line-height:1.65}

/* ── CAROUSEL ── */
.ch{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem}
.cnav{display:flex;gap:.55rem}
.cbtn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(55,58,54,.2);background:transparent;color:var(--forest);font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.cbtn:hover{background:var(--coral);border-color:var(--coral);color:white}
.cbtn.light{border-color:rgba(239,239,232,.25);color:var(--white)}
.cbtn.light:hover{background:var(--coral);border-color:var(--coral)}
.tw{overflow:hidden}.track{display:flex;gap:1.2rem;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}

/* ── SVC CARDS (on service pages) ── */
.scard{flex:0 0 calc(50% - .6rem);background:white;border-radius:1rem;overflow:hidden;border:1.5px solid rgba(55,58,54,.08);transition:all .25s}
.scard:hover{border-color:var(--coral);transform:translateY(-2px)}
.scard-img{width:100%;height:200px;object-fit:cover;display:block}
.scard-body{padding:1.4rem}
.scard-tag{font-size:.55rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--coral);margin-bottom:.4rem}
.scard-title{font-family:var(--serif);font-size:1.35rem;font-weight:300;color:var(--forest);margin-bottom:.5rem}
.scard-desc{font-size:.78rem;opacity:.6;line-height:1.6;margin-bottom:1rem}
.scard-price{font-family:var(--serif);font-size:1.3rem;font-weight:300;color:var(--foliage);margin-bottom:.9rem}
.scard-soon{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);padding:.4rem .9rem;border-radius:2rem;border:1px solid var(--coral);display:inline-block}

/* ── STAFF GRID ── */
.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.staff-card{background:white;border-radius:1rem;overflow:hidden;transition:transform .2s}
.staff-card:hover{transform:translateY(-3px)}
.staff-card img{width:100%;height:210px;object-fit:cover;object-position:top}
.staff-body{padding:1rem}
.staff-name{font-family:var(--serif);font-size:1.15rem;font-weight:300;color:var(--forest);margin-bottom:.12rem}
.staff-role{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--foliage);margin-bottom:.4rem}
.staff-bio{font-size:.74rem;opacity:.55;line-height:1.55}

/* ── PACKAGES ── */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2rem}
.pkg{background:white;border-radius:1rem;padding:1.9rem;border:1.5px solid rgba(55,58,54,.08);position:relative;transition:all .2s}
.pkg:hover{border-color:var(--coral);transform:translateY(-2px)}
.pkg.feat{border-color:var(--foliage)}
.pkg-badge{position:absolute;top:-.65rem;left:50%;transform:translateX(-50%);background:var(--foliage);color:white;font-size:.52rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .8rem;border-radius:2rem;white-space:nowrap}
.pkg-name{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--forest);margin-bottom:.2rem}
.pkg-tag{font-size:.72rem;opacity:.5;margin-bottom:1rem}
.pkg-price{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--foliage);line-height:1;margin-bottom:.2rem}
.pkg-note{font-size:.62rem;opacity:.45;margin-bottom:1.1rem}
.pkg-list{list-style:none;margin-bottom:1.4rem}
.pkg-list li{font-size:.8rem;padding:.35rem 0;border-bottom:1px solid rgba(55,58,54,.06);display:flex;align-items:center;gap:.5rem}
.pkg-list li::before{content:'✓';color:var(--foliage);font-weight:700;font-size:.7rem;flex-shrink:0}
.pkg-btn{display:block;width:100%;text-align:center;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:white;background:var(--coral);border:none;border-radius:2rem;padding:.65rem;cursor:pointer;transition:background .2s}
.pkg-btn:hover{background:var(--forest)}

/* ── REVIEWS ── */
.rev-card{flex:0 0 calc(50% - .6rem);background:white;border-radius:1rem;padding:2rem}
.rev-stars{color:var(--gold);font-size:.85rem;margin-bottom:.7rem}
.rev-quote{font-family:var(--serif);font-size:1.15rem;font-style:italic;font-weight:300;line-height:1.7;color:var(--forest);margin-bottom:1.1rem}
.rev-author{display:flex;align-items:center;gap:.65rem}
.rev-av{width:36px;height:36px;border-radius:50%;background:var(--cgreen);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:var(--foliage);flex-shrink:0}
.rev-name{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--forest)}
.rev-svc{font-size:.68rem;opacity:.4;margin-top:.08rem}

/* ── FOOTER ── */
footer{background:var(--forest);color:rgba(239,239,232,.4);padding:3.5rem 3rem 1.8rem}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto 2.5rem}
.fb{margin-bottom:.6rem}
.ft{font-size:.75rem;line-height:1.7;max-width:220px;margin-bottom:1rem}
.fcol-t{font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--peach);margin-bottom:.9rem}
.flinks{list-style:none}
.flinks li{margin-bottom:.4rem}
.flinks a{font-size:.78rem;color:rgba(239,239,232,.4);text-decoration:none;transition:color .2s;cursor:pointer}
.flinks a:hover{color:var(--white)}
.fbot{border-top:1px solid rgba(239,239,232,.07);padding-top:1.6rem;display:flex;justify-content:space-between;font-size:.68rem;max-width:1200px;margin:0 auto}

/* ── GIFT ── */
.gift{display:grid;grid-template-columns:1fr 1fr;min-height:400px}
.gift-c{background:var(--forest);padding:4rem 3rem;display:flex;flex-direction:column;justify-content:center}
.gift-c .slabel{color:var(--peach)}
.gift-c .stitle{color:var(--white)}
.gift-c .stitle em{color:var(--pink)}
.gift-c .sbody{color:rgba(239,239,232,.65);max-width:100%}
.gift-c img{width:100%;height:100%;object-fit:cover}

/* ── DIFF BADGE ── */
.dbadge{display:inline-block;font-size:.5rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--coral);color:white;padding:.15rem .45rem;border-radius:.35rem;margin-left:.35rem;vertical-align:middle}
.dbadge.ok{background:var(--foliage)}

/* ── BTNS ── */
.btn{font-size:.64rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:white;background:var(--coral);padding:.8rem 1.8rem;border-radius:2rem;text-decoration:none;border:none;cursor:pointer;transition:all .2s;display:inline-block}
.btn:hover{background:var(--forest);transform:translateY(-1px)}
.btn.ghost{background:transparent;border:1px solid rgba(239,239,232,.4);color:var(--white)}
.btn.ghost:hover{background:rgba(239,239,232,.1)}
.btn.dk{background:var(--forest)}
.btn.dk:hover{background:var(--foliage)}
.btn.gold{background:var(--gold);color:var(--forest)}
.btn.gold:hover{background:var(--peach)}

/* ── FADE UP ── */
.fu{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.fu.vis{opacity:1;transform:translateY(0)}

/* ── NO-LOC GATE ── */
.gate-wall{text-align:center;padding:4rem 2rem;background:rgba(55,58,54,.04);border-radius:1rem;margin:2rem 0}
.gate-wall h3{font-family:var(--serif);font-size:1.8rem;font-weight:300;font-style:italic;color:var(--forest);margin-bottom:.5rem}
.gate-wall p{font-size:.85rem;opacity:.55;margin-bottom:1.5rem}

/* ═══════════════════════════════════════════════════════════
   HOME HERO
═══════════════════════════════════════════════════════════ */
.home-hero {
  margin-top:0; min-height:100vh;
  display:grid; grid-template-columns:1fr 1fr; align-items:center;
  background:linear-gradient(135deg,#EFEFE8 0%,#F7D5CC 35%,#DFB198 65%,#D6DFC9 100%);
  position:relative; overflow:hidden;
}
.hero-left  { padding:6rem 3rem 6rem 4rem; position:relative; z-index:2; }
.hero-right { padding:4rem 4rem 4rem 2rem; position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:1.2rem; }
.hero-trust { display:flex; gap:2rem; flex-wrap:wrap; }

/* ═══════════════════════════════════════════════════════════
   MOBILE NAV DRAWER
═══════════════════════════════════════════════════════════ */
.nav-hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer;
  padding:.5rem; flex-shrink:0; margin-left:.25rem;
}
.nav-hamburger span {
  display:block; width:22px; height:2px;
  background:var(--forest); border-radius:2px; transition:all .25s;
}

/* Drawer — ALWAYS fixed overlay, hidden by default */
.nav-drawer {
  display:none;
  position:fixed; inset:0; z-index:9999;
  background:var(--white);
  flex-direction:column;
  padding:5rem 2rem 2rem;
  overflow-y:auto;
}
.nav-drawer.open { display:flex; }
.nav-drawer a {
  font-size:1.4rem; font-family:var(--serif); font-weight:300;
  color:var(--forest); text-decoration:none;
  padding:.9rem 0; border-bottom:1px solid rgba(55,58,54,.08);
  display:block;
}
.nav-drawer a:hover { color:var(--coral); }
.nav-drawer-close {
  position:absolute; top:1.2rem; right:1.4rem;
  background:none; border:none; font-size:1.6rem;
  cursor:pointer; color:var(--forest); line-height:1;
}
.nav-drawer-actions { margin-top:1.5rem; display:flex; flex-direction:column; gap:.75rem; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE ≤ 640px
═══════════════════════════════════════════════════════════ */
@media (max-width:640px) {

  /* Viewport — prevent overflow */
  body { overflow-x:hidden; }

  /* NAV */
  nav { padding:.7rem 1rem; gap:0; }
  .logo { flex:1; } .logo img { height:30px !important; }
  .nav-links { display:none !important; }
  .nav-right { display:flex; align-items:center; gap:.4rem; flex-shrink:0; }
  .loc-pill { font-size:.52rem; padding:.35rem .65rem; }
  .book-btn { font-size:.52rem; padding:.38rem .75rem; letter-spacing:.08em; }
  .nav-hamburger { display:flex; }
  .loc-banner { padding:.5rem 1rem; margin-top:var(--nav-h,56px); }
  .loc-banner span { font-size:.55rem; }

  /* LOC MODAL — bottom sheet */
  .overlay { padding:0 !important; align-items:flex-end; }
  .modal {
    border-radius:1.2rem 1.2rem 0 0 !important;
    padding:1.5rem 1.25rem !important;
    max-height:88vh; overflow-y:auto;
    margin:0 !important; width:100%;
  }
  .modal-title { font-size:1.4rem; }
  .modal-sub { font-size:.75rem; margin-bottom:1rem; }
  .loc-grid { grid-template-columns:1fr !important; gap:.6rem; }
  .loc-card { padding:.9rem 1rem; }
  .lcity { font-size:1.15rem; }

  /* HOME HERO — stacked */
  .home-hero { grid-template-columns:1fr !important; min-height:auto; }
  .hero-left { padding:5.5rem 1.25rem 1.5rem !important; order:1; }
  .hero-left h1 { font-size:clamp(2.2rem,8vw,3rem) !important; }
  .hero-right { padding:0 1.25rem 2.5rem !important; order:2; gap:.75rem; }
  .hero-right > div:first-child { display:none; } /* hide "Welcome to Nurture" label */
  .hero-trust { gap:1rem; }

  /* SECTIONS */
  .sw { padding:2.5rem 1.25rem; }

  /* SPLIT / ABOUT — stack, image full width */
  .split { grid-template-columns:1fr !important; gap:1.5rem; }
  .split img { height:240px; width:100%; border-radius:.75rem; }
  .about-body { font-size:1.05rem; line-height:1.7; }
  .stats { grid-template-columns:1fr 1fr; gap:.8rem; }
  .stat-n { font-size:1.6rem; }

  /* SERVICE PAGE HERO */
  .svc-hero { padding:5rem 1.25rem 2rem; }
  .svc-hero-inner { grid-template-columns:1fr !important; gap:1.5rem; }
  .svc-hero-inner > div { height:auto !important; }
  .svc-hero-inner video,
  .svc-hero-inner img { height:200px !important; }

  /* WHY GRID */
  .why-grid { grid-template-columns:1fr !important; gap:.75rem; }

  /* CAROUSEL HEADER */
  .ch { flex-direction:column; align-items:flex-start; gap:.75rem; margin-bottom:1.2rem; }

  /* SERVICE + REVIEW CARDS */
  .scard { flex:0 0 84vw !important; }
  .scard-img { height:160px; }
  .rev-card { flex:0 0 84vw !important; padding:1.3rem; }
  .rev-quote { font-size:1rem; }

  /* PACKAGES */
  .pkg-grid { grid-template-columns:1fr !important; gap:.8rem; }
  .pkg { padding:1.4rem; }

  /* STAFF */
  .staff-grid { grid-template-columns:1fr 1fr !important; gap:.7rem; }
  .staff-card img { height:150px; }
  .staff-body { padding:.75rem; }
  .staff-name { font-size:1rem; }

  /* HOME 4-TILE GRID */
  div[style*="repeat(4,1fr)"] { grid-template-columns:repeat(2,1fr) !important; }

  /* FOOTER */
  footer { padding:2.5rem 1.25rem 1.5rem; }
  .fg { grid-template-columns:1fr !important; gap:1.2rem; }
  .fbot { flex-direction:column; gap:.4rem; text-align:center; font-size:.62rem; }

  /* GIFT */
  .gift { grid-template-columns:1fr !important; }
  .gift-c { padding:2.5rem 1.25rem; }
  .gift > img { height:200px !important; object-fit:cover; }

  /* SHOWFLO */
  #sfOuter, .sf-outer { overflow:hidden; max-width:100vw; }
  .sf-tile { width:200px !important; height:80px !important; }
  .sf-tw { margin-right:16px !important; }
  .sf-cap { max-width:200px !important; font-size:.68rem; }
  .sf-spotlight-body { flex-direction:column; align-items:center; gap:1rem; }
  .sf-side { max-width:100%; text-align:center; align-items:center; }
  .sf-spotlight-tile { width:240px !important; height:78px !important; }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — TABLET 641–900px
═══════════════════════════════════════════════════════════ */
@media (min-width:641px) and (max-width:900px) {
  nav { padding:.85rem 1.5rem; }
  .nav-links li:not(:first-child) { display:none; }
  .nav-hamburger { display:flex; }
  .loc-banner { padding:.55rem 1.5rem; margin-top:var(--nav-h,62px); }
  .sw { padding:3.5rem 2rem; }
  .home-hero { grid-template-columns:1fr; min-height:auto; }
  .hero-left { padding:5.5rem 2.5rem 2rem; }
  .hero-right { padding:0 2.5rem 3rem; }
  .hero-right > div:first-child { display:none; }
  .split { grid-template-columns:1fr; gap:2rem; }
  .split img { height:300px; }
  .svc-hero-inner { grid-template-columns:1fr; gap:2rem; }
  .why-grid { grid-template-columns:1fr 1fr; }
  .pkg-grid { grid-template-columns:1fr; }
  .staff-grid { grid-template-columns:repeat(2,1fr) !important; }
  .fg { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .gift { grid-template-columns:1fr; }
  .gift > img { height:260px; }
  .loc-grid { grid-template-columns:1fr; }
  .modal { padding:2rem; }
}

/* ── DOULA AVAILABILITY GRID ── */
@media (max-width: 640px) {
  #doula-avail-grid { grid-template-columns: repeat(2,1fr) !important; gap:.6rem !important; }
}
@media (min-width:641px) and (max-width:900px) {
  #doula-avail-grid { grid-template-columns: repeat(3,1fr) !important; }
}
