:root{
  --forest:#17392e;
  --forest-deep:#0b241c;
  --forest-soft:#2a4d40;
  --ivory:#f7f2e9;
  --cream:#fffaf2;
  --paper:#fcfaf6;
  --wood:#4a3022;
  --ink:#2d2924;
  --muted:#766f66;
  --bronze:#b58b52;
  --gold:#c7a166;
  --gold-light:#e0c492;
  --red:#7d2526;
  --line:#e7ded1;
  --shadow:0 24px 70px rgba(49,34,23,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:hidden;width:100%;max-width:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',system-ui,sans-serif;font-weight:400;overflow-x:hidden;width:100%;max-width:100%}
body.location-open{overflow:hidden}
img{max-width:100%;display:block}
a{text-decoration:none}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4,.brand-word{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.02em}
h1 em,h2 em,h3 em{font-weight:400;color:var(--gold-light)}
.kicker{margin:0 0 12px;text-transform:uppercase;letter-spacing:.28em;font-size:.62rem;font-weight:600;color:#9a7444}.kicker.light{color:#e2c68f}
.section-pad{padding:86px 0}.section-pad-sm{padding:64px 0}
.btn{border-radius:0;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:600;padding:.9rem 1.35rem;transition:.2s ease}
.btn-gold{background:linear-gradient(135deg,#b78e56,#cfaa70);border:1px solid #c9a36c;color:#fff}.btn-gold:hover,.btn-gold:focus{background:#a77a42;border-color:#a77a42;color:#fff;transform:translateY(-1px)}
.btn-ivory{background:rgba(250,246,238,.1);border:1px solid rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(5px)}.btn-ivory:hover{background:#fff;color:var(--forest)}
.btn-soft{border:1px solid var(--line);color:var(--ink);background:#fff}.btn-soft:hover{border-color:var(--bronze);color:#815f31}
.text-link{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;font-weight:600;color:#8a6738}.light-link{color:#dfc18a}
.soft-copy{color:var(--muted);line-height:1.9;font-size:.92rem}.display-serif{font-size:clamp(2.8rem,5vw,4.5rem);line-height:.98}

/* NAV */
.luxury-nav{z-index:1040;padding:15px 0;transition:background .25s ease,padding .25s ease,box-shadow .25s ease}.nav-overlay{position:absolute;left:0;right:0;top:0;background:linear-gradient(180deg,rgba(9,18,14,.72),rgba(9,18,14,0))}.nav-solid{position:relative;background:var(--forest-deep)}.luxury-nav.scrolled{position:fixed;top:0;left:0;right:0;background:rgba(11,36,28,.96);backdrop-filter:blur(10px);box-shadow:0 9px 28px rgba(0,0,0,.13);padding:10px 0}.brand-lockup{display:flex;flex-direction:column;line-height:.85}.brand-word{font-size:1.85rem;letter-spacing:.18em;color:#f2d7a1}.brand-sub{font-size:.38rem;letter-spacing:.2em;margin-top:7px;color:#e8d4ae;white-space:nowrap}.navbar-toggler-icon{filter:invert(1)}.luxury-nav .nav-link{color:rgba(255,255,255,.78);font-size:.72rem;padding:.7rem .9rem!important}.luxury-nav .nav-link:hover,.luxury-nav .nav-link.active{color:#f3d79e}.nav-book{display:none}.location-pill{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07);color:#fff;align-items:center;gap:7px;padding:9px 12px;font-size:.67rem}.location-pill:hover{border-color:rgba(255,255,255,.48)}
.btn-link{border:0;background:transparent;text-align:left;width:100%}

/* HERO */
.home-hero{position:relative;min-height:700px;background:#1f332b;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.82) contrast(.98)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,22,18,.77) 0%,rgba(21,26,20,.48) 48%,rgba(10,20,15,.12) 75%),linear-gradient(0deg,rgba(12,20,16,.3),transparent 45%)}.hero-content{position:relative;z-index:2;padding-top:150px;padding-bottom:75px}.hero-copy{max-width:620px}.hero-copy h1{font-size:clamp(3.35rem,7vw,5.65rem);line-height:.88;margin:10px 0 24px;color:#f8f3eb}.hero-copy h1 em{color:#e2ca9b}.hero-text{max-width:560px;color:rgba(255,255,255,.76);line-height:1.75;font-size:.92rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-location{margin-top:24px;border:0;background:transparent;color:#f0dfbf;padding:0;display:inline-flex;gap:8px;align-items:center;font-size:.72rem}.hero-location .change-word{text-transform:uppercase;letter-spacing:.13em;font-size:.57rem;opacity:.7;margin-left:4px}
.quick-book-strip{background:var(--cream);border-bottom:1px solid var(--line)}.quick-book-grid{display:grid;grid-template-columns:1.4fr repeat(3,.8fr) 1fr;align-items:stretch}.quick-book-grid>div,.quick-cta{padding:24px 26px;border-right:1px solid var(--line);display:flex;align-items:center;gap:11px}.quick-label{display:block!important}.quick-label span{display:block;text-transform:uppercase;letter-spacing:.22em;color:#9b7745;font-size:.58rem;margin-bottom:4px}.quick-label strong{font-family:'Cormorant Garamond',serif;font-size:1.08rem;font-weight:500}.quick-book-grid>div:not(.quick-label) b{width:28px;height:28px;border:1px solid #c6ad84;border-radius:50%;display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:.9rem;color:#8c6839}.quick-book-grid>div:not(.quick-label) span{font-size:.7rem;color:#655f58}.quick-cta{border-right:0;background:var(--forest);color:#f1d49f;justify-content:center;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:600}.quick-cta:hover{background:#0c2a20;color:#fff}

/* SECTION HEADINGS */
.section-heading h2{font-size:clamp(2.75rem,5vw,4rem);line-height:1;margin:0}.section-heading>p{color:var(--muted);line-height:1.8;font-size:.84rem}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.split-heading>p{max-width:440px;margin:0}.narrow{max-width:680px;margin:0 auto 35px}.narrow p:last-child{margin-top:14px}

/* TREATMENTS */
.featured-treatment-grid .col-12{display:flex}.lux-treatment-card{background:#fff;border:1px solid var(--line);width:100%;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.lux-treatment-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.treatment-photo{aspect-ratio:1.55/1;overflow:hidden;background:#ddd}.treatment-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.lux-treatment-card:hover .treatment-photo img{transform:scale(1.025)}.treatment-body{padding:24px;display:flex;flex-direction:column;flex:1}.treatment-topline{display:flex;justify-content:space-between;gap:12px;text-transform:uppercase;letter-spacing:.11em;font-size:.56rem;color:#8a8174}.treatment-topline strong{color:#9a7040}.treatment-body h3{font-size:1.75rem;margin:10px 0 8px}.treatment-body p{color:var(--muted);font-size:.76rem;line-height:1.7;margin-bottom:15px;flex:1}.next-slot{border-top:1px solid var(--line);padding:13px 0 14px;display:flex;justify-content:space-between;gap:10px;align-items:center}.next-slot span{font-size:.56rem;text-transform:uppercase;letter-spacing:.12em;color:#8b8174}.next-slot strong{font-size:.66rem;color:#5b4b39;font-weight:500;text-align:right}.btn-book-card{background:var(--forest);color:#f0d6a5;border:1px solid var(--forest);width:100%}.btn-book-card:hover{background:#0b2a20;color:#fff}
.compact-menu{background:#fff;border:1px solid var(--line);padding:28px}.compact-menu-head{padding-bottom:18px;border-bottom:1px solid var(--line)}.compact-menu-head h2{font-size:2.65rem;margin:0}.menu-category{padding-top:24px}.menu-category>h3{font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.64rem;color:#9a7040;margin:0 0 8px}.menu-treatment-row{display:grid;grid-template-columns:1.05fr 2fr auto;gap:24px;align-items:center;padding:15px 0;border-bottom:1px solid #eee7dd}.menu-treatment-main strong,.menu-treatment-main span{display:block}.menu-treatment-main strong{font-family:'Cormorant Garamond',serif;font-size:1.16rem;font-weight:600}.menu-treatment-main span{color:#898076;font-size:.62rem;line-height:1.55;margin-top:3px}.menu-prices{display:flex;flex-wrap:wrap;gap:6px}.menu-prices span{border:1px solid #e3d8ca;background:#fdfbf7;padding:6px 7px;font-size:.64rem;font-weight:600;color:#776d61}.menu-prices b{color:#8d6637;margin-left:2px;font-weight:700}.menu-book{padding:8px 12px;border:1px solid #b9935f;color:#8f6737;font-size:.58rem;font-weight:600;letter-spacing:.12em}.menu-book:hover{background:var(--forest);border-color:var(--forest);color:#fff}

/* ABOUT/GALLERY */
.wellness-split{display:grid;grid-template-columns:1fr 1fr;min-height:510px;background:var(--wood);color:#fff}.wellness-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.wellness-copy{padding:70px clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(120deg,#33241b,#563626)}.wellness-copy h2{font-size:clamp(3rem,5vw,4.6rem);line-height:.95;margin:5px 0 22px}.wellness-copy p{color:rgba(255,255,255,.68);font-size:.84rem;line-height:1.85;max-width:560px}.quiet-points{display:grid;gap:11px;margin:18px 0 26px}.quiet-points span{font-size:.69rem;color:#ead9bd;display:flex;align-items:center;gap:10px}.quiet-points span:before{content:'';width:20px;height:1px;background:#c69a5e}.quiet-points.dark span{color:#6d6257}.gallery-section{background:var(--ivory)}.gallery-mosaic{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:250px 190px;gap:10px}.gallery-mosaic img{width:100%;height:100%;object-fit:cover}.gallery-mosaic img:nth-child(4){grid-column:1/4;object-position:center 45%}.reviews-section{background:#fff}.review-card{height:100%;padding:28px;border:1px solid var(--line);background:var(--paper)}.stars{font-size:.7rem;letter-spacing:.2em;color:#ae8046}.review-card p{font-family:'Cormorant Garamond',serif;font-size:1.35rem;line-height:1.35;margin:14px 0}.review-card span{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#81776b}

/* LOCATIONS */
.locations-section{background:#f4eee5}.branch-card{background:#fff;border:1px solid #dfd4c5;padding:28px;height:100%;position:relative;overflow:hidden}.branch-card.featured-branch{border-color:#c5a26c}.branch-no{position:absolute;right:22px;top:15px;font-family:'Cormorant Garamond',serif;font-size:3.2rem;color:#eee6db}.branch-card h3{font-size:2.2rem;margin:2px 0 6px;position:relative}.branch-card p{font-size:.7rem;color:#7e7569;min-height:38px;max-width:78%}.branch-hours{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:18px 0;display:flex;justify-content:space-between;align-items:center}.branch-hours small{text-transform:uppercase;letter-spacing:.12em;font-size:.54rem;color:#928879}.branch-hours strong{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:600}.branch-card-actions{display:flex;gap:8px}.branch-card-actions .btn{flex:1}.branch-card-actions>a{width:44px;border:1px solid var(--line);display:grid;place-items:center;color:#7f6543}.branch-card-actions>a:hover{border-color:#b78d54;color:#b78d54}

/* INNER */
.inner-hero{background:linear-gradient(95deg,rgba(13,35,27,.96),rgba(39,54,43,.87)),url('../img/ambience-strip.webp') center/cover;color:#fff;padding:135px 0 72px}.inner-hero h1{font-size:clamp(3.2rem,7vw,5.3rem);line-height:.9;margin:0 0 18px}.inner-hero>div>p:last-child{max-width:580px;color:rgba(255,255,255,.68);line-height:1.75;font-size:.85rem}.treatment-category-block{display:grid;grid-template-columns:230px 1fr;gap:44px;margin-bottom:65px}.category-title{position:sticky;top:100px;height:max-content}.category-title h2{font-size:2.45rem}.category-list{border-top:1px solid var(--line)}.full-treatment{display:grid;grid-template-columns:145px 1fr auto;gap:25px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.full-treatment>img{width:145px;height:100px;object-fit:cover}.full-treatment-copy h3{font-size:1.6rem;margin:0 0 4px}.full-treatment-copy p{font-size:.68rem;line-height:1.6;color:#82786d;margin:0 0 8px}.duration-prices{display:flex;flex-wrap:wrap;gap:6px}.duration-prices span{font-size:.66rem;font-weight:600;border:1px solid #e3d9cc;padding:5px 6px}.duration-prices b{color:#92683a;font-weight:700}.editorial-image{width:100%;min-height:460px;object-fit:cover}.brand-story{background:#122f26;padding:70px 0}.brand-story-card{display:grid;grid-template-columns:.8fr 1fr;gap:60px;align-items:center;color:#fff}.brand-story-card img{width:100%;max-width:500px}.brand-story-card h2{font-size:3.3rem}.brand-story-card p:last-child{color:rgba(255,255,255,.66);font-size:.84rem;line-height:1.8;max-width:580px}

/* CONTACT */
.contact-branch-card{background:#fff;border:1px solid var(--line);padding:28px;height:100%}.contact-branch-card h2{font-size:2.25rem}.branch-address{color:#7d7468;font-size:.72rem;min-height:34px}.hours-list{margin:20px 0}.hours-list div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f0e9e0;font-size:.64rem}.hours-list span{color:#83796d}.hours-list strong{font-weight:500}.contact-branch-actions{display:flex;gap:8px;margin-top:20px}.contact-branch-actions .btn{flex:1;padding:.75rem .55rem}.map-link{display:inline-flex;margin-top:15px;color:#87663d;font-size:.64rem;text-transform:uppercase;letter-spacing:.09em}.contact-form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start;background:#f2ece2;padding:40px}.contact-form-wrap h2{font-size:3rem}.contact-form-wrap>div>p:last-child{font-size:.78rem;line-height:1.7;color:#766d61}.minimal-form{background:#fff;padding:28px}.minimal-form label,.field-label{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.57rem;font-weight:600;color:#6f665b;margin-bottom:8px}.minimal-form .form-control,.luxury-input,.luxury-select{border-radius:0;border:1px solid #ddd2c4;background:#fff;padding:.83rem .9rem;font-size:.78rem}.minimal-form .form-control:focus,.luxury-input:focus,.luxury-select:focus{border-color:#b48a51;box-shadow:0 0 0 .2rem rgba(180,138,81,.12)}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}

/* BOOKING */
.booking-shell{background:#f4efe7;min-height:78vh;padding:48px 0 90px}.booking-header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.booking-header h1{font-size:clamp(2.4rem,5vw,4rem);margin:0;line-height:1}.booking-branch{border:1px solid #d4c6b4;background:#fff;padding:12px 15px;display:flex;align-items:center;gap:10px;color:#403930}.booking-branch>span{display:flex;flex-direction:column;align-items:start;min-width:125px}.booking-branch small{font-size:.5rem;text-transform:uppercase;letter-spacing:.11em;color:#918577}.booking-branch strong{font-family:'Cormorant Garamond',serif;font-size:1.14rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}.booking-main{background:#fff;border:1px solid #e0d6c8;box-shadow:var(--shadow)}.booking-progress{padding:19px 30px;border-bottom:1px solid #ece4da;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center}.progress-step{border:0;background:transparent;padding:0;display:flex;align-items:center;gap:7px;color:#9a9186;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.progress-step b{width:24px;height:24px;border:1px solid #d8cdbf;border-radius:50%;display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:.82rem}.progress-step.active{color:#815f35}.progress-step.active b{background:var(--forest);color:#fff;border-color:var(--forest)}.booking-progress>span{height:1px;background:#e6ddd2;margin:0 10px}.booking-step-panel{display:none;padding:34px}.booking-step-panel.active{display:block}.step-title{display:flex;gap:18px;align-items:start;margin-bottom:28px}.step-title>span{font-family:'Cormorant Garamond',serif;font-size:2rem;color:#c8a46d;line-height:1}.step-title h2{font-size:2.25rem;margin:-5px 0 3px}.step-title p{font-size:.7rem;color:#81786d;margin:0;line-height:1.6}.field-label span{font-weight:400;color:#a1988d}.duration-choices{display:flex;gap:8px;flex-wrap:wrap}.duration-choice{border:1px solid #dfd4c6;background:#fff;padding:10px 12px;min-width:92px;text-align:center;color:#61584e}.duration-choice strong,.duration-choice span{display:block}.duration-choice strong{font-family:'Cormorant Garamond',serif;font-size:1.12rem}.duration-choice span{font-size:.54rem;color:#957143;margin-top:2px}.duration-choice.active{border-color:#997242;background:#f7f0e4;box-shadow:inset 0 0 0 1px #997242}.soft-note{font-size:.68rem;color:#92887b}.step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:24px;border-top:1px solid #eee7dd}.text-back{border:0;background:transparent;color:#786e62;text-transform:uppercase;letter-spacing:.1em;font-size:.59rem}.date-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.today-btn{height:43px;border:1px solid #d8cbbd;background:#f8f3eb;padding:0 15px;text-transform:uppercase;letter-spacing:.1em;font-size:.56rem;color:#705e49}.availability-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:26px;margin-bottom:11px}.availability-head>span:last-child{font-size:.59rem;color:#8e8376}.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;min-height:44px}.time-slot{border:1px solid #ddd1c2;background:#fff;padding:10px 5px;color:#554b40;font-size:.7rem}.time-slot:hover{border-color:#b68e56}.time-slot.active{background:var(--forest);border-color:var(--forest);color:#fff}.time-slot:disabled{opacity:.4}.no-slots{padding:30px;background:#f8f4ed;text-align:center;color:#766d62}.no-slots i,.no-slots strong,.no-slots span{display:block}.no-slots i{font-size:1.5rem;color:#b58b52}.no-slots strong{font-family:'Cormorant Garamond',serif;font-size:1.35rem;margin:7px 0}.no-slots span{font-size:.65rem}.therapist-options{display:grid;gap:9px}.therapist-option{position:relative;border:1px solid #dfd5c8;padding:12px;display:grid;grid-template-columns:auto 58px 1fr;gap:12px;align-items:center;cursor:pointer}.therapist-option input{position:absolute;opacity:0}.therapist-option img{width:58px;height:58px;object-fit:cover}.therapist-option>span:last-child strong,.therapist-option>span:last-child small{display:block}.therapist-option>span:last-child strong{font-family:'Cormorant Garamond',serif;font-size:1.2rem}.therapist-option>span:last-child small{font-size:.57rem;color:#8b8175;margin-top:2px}.therapist-check{width:22px;height:22px;border:1px solid #d0c2b2;border-radius:50%;display:grid;place-items:center;color:transparent}.therapist-option:has(input:checked){background:#f8f2e8;border-color:#a8804c}.therapist-option:has(input:checked) .therapist-check{background:var(--forest);border-color:var(--forest);color:#fff}.therapist-warning{margin-top:12px;padding:12px;background:#fff4dd;color:#745a31;font-size:.65rem}.payment-choice{display:grid;gap:8px}.payment-choice label{position:relative}.payment-choice input{position:absolute;opacity:0}.payment-choice label>span{border:1px solid #ded3c5;padding:13px;display:grid;grid-template-columns:24px 1fr;column-gap:10px;align-items:center}.payment-choice i{grid-row:1/3;font-size:1.2rem;color:#a07846}.payment-choice strong,.payment-choice small{display:block}.payment-choice strong{font-family:'Cormorant Garamond',serif;font-size:1.06rem}.payment-choice small{font-size:.55rem;color:#8f8578}.payment-choice label:has(input:checked)>span{border-color:#9f7847;background:#f8f1e6}.disabled-payment{opacity:.46}.privacy-check{display:flex;gap:9px;align-items:start;margin-top:18px;font-size:.6rem;color:#776e64}.privacy-check input{margin-top:2px}.booking-summary{position:sticky;top:90px;background:#14362b;color:#fff;padding:26px;box-shadow:0 25px 55px rgba(38,31,25,.13)}.booking-summary .kicker{color:#d3b277}.summary-line{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(255,255,255,.12);padding:12px 0}.summary-line span{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.52)}.summary-line strong{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:500;text-align:right}.summary-total{display:flex;justify-content:space-between;align-items:end;padding:20px 0}.summary-total span{text-transform:uppercase;letter-spacing:.13em;font-size:.57rem;color:#d8c7a6}.summary-total strong{font-family:'Cormorant Garamond',serif;font-size:2rem;color:#efd7a6}.summary-whatsapp{display:block;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;color:#e4c584;font-size:.62rem}.booking-alert{border-radius:0;margin-bottom:24px}.booking-alert strong{display:block;margin-top:4px}

/* LOCATION OVERLAY */
.location-overlay{position:fixed;z-index:2000;inset:0;background:rgba(7,19,15,.78);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:16px}.location-overlay.open{display:flex}.location-dialog{width:min(920px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#f6f0e7;padding:34px;position:relative;box-shadow:0 35px 90px rgba(0,0,0,.34)}.location-close{position:absolute;right:18px;top:18px;border:0;background:transparent;color:#6e6255;font-size:1rem}.location-logo-wrap{display:flex;justify-content:center}.location-logo-wrap img{width:210px;height:auto}.location-dialog h2{font-size:2.55rem;margin:4px 0 5px}.location-intro{font-size:.7rem;color:#80776c;margin-bottom:25px}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.location-card{border:1px solid #d8cbb9;background:#fff;padding:24px 20px;min-height:220px;display:flex;flex-direction:column;align-items:start;text-align:left;color:#3d352e;transition:.2s ease}.location-card:hover{background:#17392e;color:#fff;border-color:#17392e;transform:translateY(-2px)}.location-card-city{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600}.location-card-label{font-size:.66rem;color:#8a7d6d;margin-top:2px}.location-card:hover .location-card-label{color:rgba(255,255,255,.6)}.location-card-hours{font-family:'Cormorant Garamond',serif;font-size:1.25rem;margin-top:35px}.location-card-action{margin-top:auto;text-transform:uppercase;letter-spacing:.12em;font-size:.56rem;color:#986f3d}.location-card:hover .location-card-action{color:#e6c98f}

/* FOOTER */
.site-footer{background:#0b241c;color:#fff}.footer-logo{width:230px;max-width:100%;mix-blend-mode:screen}.footer-note{max-width:350px;color:rgba(255,255,255,.55);font-size:.72rem;line-height:1.7}.site-footer h6{text-transform:uppercase;letter-spacing:.16em;font-size:.57rem;color:#d1b377;margin-bottom:14px}.site-footer a,.footer-location{display:block;color:rgba(255,255,255,.62);font-size:.68rem;margin:9px 0;border:0;background:transparent;padding:0}.site-footer a:hover,.footer-location:hover{color:#fff}.footer-hours{font-family:'Cormorant Garamond',serif;color:#f0d79f;font-size:1.4rem}.footer-rule{border-color:rgba(255,255,255,.14)}.mobile-action-bar{position:fixed;z-index:1100;bottom:0;left:0;right:0;background:rgba(11,36,28,.97);padding:9px max(10px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:48px 1fr;gap:8px;box-shadow:0 -10px 30px rgba(0,0,0,.16)}.mobile-action-bar .btn{padding:.8rem}.mobile-whatsapp{display:grid;place-items:center;border:1px solid rgba(255,255,255,.27);color:#fff;font-size:1.15rem}

@media (min-width:992px){
  .nav-book{display:inline-flex}.luxury-nav .navbar-collapse{flex-grow:0}.home-hero{min-height:760px}.hero-content{padding-bottom:90px}.mobile-action-bar{display:none!important}
}
@media (max-width:991.98px){
  body{padding-bottom:68px}.section-pad{padding:68px 0}.luxury-nav{padding:12px 0}.nav-overlay{background:rgba(11,36,28,.77)}.luxury-nav .navbar-collapse{background:#0b241c;margin:12px -12px -12px;padding:10px 18px 18px}.luxury-nav .nav-link{padding:.72rem 0!important}.home-hero{min-height:650px}.hero-content{padding-top:130px;padding-bottom:55px}.quick-book-grid{grid-template-columns:1.25fr repeat(3,.8fr)}.quick-book-grid .quick-cta{display:none}.wellness-split{grid-template-columns:1fr}.wellness-photo{height:360px}.wellness-copy{padding:50px 32px}.treatment-category-block{grid-template-columns:1fr;gap:15px}.category-title{position:static}.full-treatment{grid-template-columns:120px 1fr auto}.full-treatment>img{width:120px}.contact-form-wrap{grid-template-columns:1fr;gap:20px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:-1}.booking-header{align-items:start}.location-grid{grid-template-columns:1fr 1fr}.gallery-mosaic{grid-template-rows:210px 170px}
}
@media (max-width:767.98px){
  .section-pad{padding:58px 0}.section-pad-sm{padding:50px 0}.brand-word{font-size:1.65rem}.brand-sub{font-size:.32rem}.location-pill{display:none!important}.home-hero{min-height:620px}.hero-media img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(11,21,16,.8),rgba(11,21,16,.48) 72%,rgba(11,21,16,.2))}.hero-copy h1{font-size:3.5rem}.hero-text{font-size:.8rem;max-width:90%}.quick-book-grid{grid-template-columns:repeat(3,1fr)}.quick-label{grid-column:1/4;border-bottom:1px solid var(--line);padding:14px 16px!important}.quick-book-grid>div:not(.quick-label){padding:15px 8px;flex-direction:column;text-align:center;border-right:1px solid var(--line)}.quick-book-grid>div:not(.quick-label) span{font-size:.56rem}.split-heading{display:block;margin-bottom:28px}.split-heading>p{margin-top:13px;max-width:100%}.section-heading h2{font-size:2.85rem}.lux-treatment-card{display:grid;grid-template-columns:125px 1fr;min-height:190px}.treatment-photo{aspect-ratio:auto;height:100%}.treatment-body{padding:17px}.treatment-topline{font-size:.5rem}.treatment-body h3{font-size:1.45rem;margin:7px 0 4px}.treatment-body p{font-size:.63rem;line-height:1.55;margin-bottom:8px}.next-slot{padding:8px 0 9px;display:block}.next-slot span{display:block;margin-bottom:2px}.next-slot strong{text-align:left;font-size:.58rem}.btn-book-card{padding:.6rem}.compact-menu{padding:18px}.compact-menu-head h2{font-size:2.25rem}.menu-treatment-row{grid-template-columns:1fr auto;gap:10px 12px}.menu-treatment-main{grid-column:1/3}.menu-prices{grid-column:1/2}.menu-book{align-self:end}.wellness-photo{height:290px}.wellness-copy{padding:40px 22px}.wellness-copy h2{font-size:3rem}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:160px 160px}.gallery-mosaic img:nth-child(4){grid-column:auto}.locations-section .section-heading{margin-bottom:18px}.inner-hero{padding:115px 0 55px}.inner-hero h1{font-size:3.45rem}.full-treatment{grid-template-columns:88px 1fr;gap:14px}.full-treatment>img{width:88px;height:88px}.full-treatment>.btn{grid-column:1/3;width:100%}.duration-prices{gap:4px}.brand-story-card{grid-template-columns:1fr;gap:25px}.brand-story-card h2{font-size:2.8rem}.contact-form-wrap{padding:24px}.minimal-form{padding:20px}.booking-shell{padding:26px 0 70px}.booking-header{display:block}.booking-header h1{font-size:2.65rem}.booking-branch{width:100%;margin-top:18px;justify-content:space-between}.booking-branch>span{margin-right:auto}.booking-progress{padding:13px 12px}.progress-step{display:block;text-align:center}.progress-step b{margin:auto}.progress-step span{display:none}.booking-progress>span{margin:0 4px}.booking-step-panel{padding:24px 18px}.step-title{gap:10px}.step-title h2{font-size:1.9rem}.time-slots{grid-template-columns:repeat(3,1fr)}.booking-summary{padding:20px}.location-dialog{padding:26px 16px}.location-grid{grid-template-columns:1fr}.location-card{min-height:135px;padding:17px}.location-card-hours{margin-top:15px}.location-card-action{margin-top:15px}.location-logo-wrap img{width:170px}.location-dialog h2{font-size:2.2rem}.footer-logo{width:200px}
}
@media (max-width:430px){
  .hero-copy h1{font-size:3rem}.hero-actions .btn{flex:1;padding:.85rem .5rem}.lux-treatment-card{grid-template-columns:108px 1fr}.treatment-body{padding:14px}.treatment-topline{display:block}.treatment-topline strong{display:block;margin-top:2px}.treatment-body h3{font-size:1.3rem}.treatment-body p{display:none}.menu-treatment-main span{display:none}.branch-card{padding:22px}.time-slots{grid-template-columns:repeat(3,1fr)}.step-actions .btn{padding:.78rem .8rem}.step-title>span{font-size:1.65rem}.booking-header h1{font-size:2.4rem}
}

/* ADMIN */
.admin-page{background:#f4efe7;min-height:80vh}.admin-login-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:34px}.admin-login-card h1{font-size:3rem;margin-bottom:24px}.admin-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.admin-head h1{font-size:3.2rem;margin:0}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.admin-stats>div{background:#fff;border:1px solid var(--line);padding:19px}.admin-stats span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.54rem;color:#8a8175}.admin-stats strong{display:block;font-family:'Cormorant Garamond',serif;font-size:2rem;color:#17392e;margin-top:5px}.admin-panel{background:#fff;border:1px solid var(--line)}.admin-panel-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.admin-panel-head h2{font-size:1.7rem;margin:0}.admin-table{font-size:.68rem}.admin-table th{white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;font-size:.53rem;color:#766d62;padding:12px}.admin-table td{padding:12px;min-width:95px}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{font-size:.56rem;color:#938a7e;margin-top:3px}.status-pill{display:inline-block;border-radius:40px;padding:5px 8px;text-transform:uppercase;letter-spacing:.08em;font-size:.5rem;background:#eee}.status-confirmed{background:#daf1e7;color:#245f4c}.status-completed{background:#dceaf5;color:#315b79}.status-cancelled{background:#f5dddd;color:#8c3333}.status-new{background:#fff1c9;color:#80641e}.blocked-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.blocked-row strong,.blocked-row span,.blocked-row small{display:block}.blocked-row strong{font-family:'Cormorant Garamond',serif;font-size:1.1rem}.blocked-row span{font-size:.59rem;color:#70675c;margin-top:2px}.blocked-row small{font-size:.54rem;color:#a09689;margin-top:2px}.message-card{border:1px solid #e7ded3;background:#fbf8f3;padding:16px;height:100%}.message-card strong,.message-card span,.message-card small{display:block}.message-card span,.message-card small{font-size:.57rem;color:#8a8175}.message-card p{font-size:.66rem;line-height:1.6;margin:10px 0}
@media(max-width:991.98px){.admin-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.admin-head{display:block}.admin-head>div:last-child{margin-top:14px}.admin-stats{grid-template-columns:1fr 1fr}.admin-login-card{padding:24px}.admin-table{font-size:.62rem}}
.loyalty-band{background:#efe8dd}.loyalty-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.loyalty-cards img{width:100%;box-shadow:0 18px 45px rgba(45,32,23,.12);border:1px solid rgba(181,139,82,.22)}
@media(max-width:767.98px){.loyalty-cards{grid-template-columns:1fr}}
.admin-body .mobile-action-bar{display:none!important}
.admin-body{padding-bottom:0!important}
.brand-lockup{flex-direction:row!important;align-items:center;gap:9px}.brand-copy{display:flex;flex-direction:column;line-height:.85}.brand-icon{width:25px;height:39px;object-fit:cover;border-radius:2px;mix-blend-mode:screen}
@media(max-width:430px){.brand-icon{width:22px;height:34px}.brand-copy .brand-word{font-size:1.5rem}.brand-copy .brand-sub{font-size:.28rem}}
.branch-contacts{display:flex;flex-wrap:wrap;gap:8px 12px;margin:12px 0 4px}.branch-contacts a{display:inline-flex;align-items:center;gap:6px;color:#7d6544;font-size:.61rem}.branch-contacts a:hover{color:#a27642}
/* SEO location + privacy additions */
.location-seo-hero{background:linear-gradient(90deg,rgba(18,39,31,.92),rgba(18,39,31,.62)),url('../img/hero-therapist.webp') center/cover no-repeat}
.local-info-band{background:#f2eee7}.local-info-card{height:100%;background:#fff;padding:24px;border:1px solid rgba(92,74,52,.12);display:flex;flex-direction:column;gap:8px}.local-info-card>span{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#9a7b52}.local-info-card>strong{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:500;color:#24372f}.local-info-card a,.local-link-button{color:#8a663c;text-decoration:none;font-size:.86rem;background:none;border:0;padding:0;text-align:left}.seo-hours{max-width:620px}.privacy-content{max-width:850px}.privacy-content h2{font-family:'Cormorant Garamond',serif;color:#20372f;font-size:2rem}.privacy-content p{color:#665f58;line-height:1.8}
@media(max-width:767.98px){.local-info-card{padding:20px}.location-seo-hero h1{font-size:2.8rem}}

/* COMPLETE BOOKING SYSTEM v4 */
.quick-strip-actions{display:grid!important;grid-template-columns:1fr 1fr;padding:0!important;border-right:0!important}.quick-strip-actions .quick-cta{border-right:1px solid rgba(255,255,255,.12);min-height:100%;padding:22px 16px}.quick-strip-actions .quick-cta:last-child{border-right:0}.quick-auto{background:#6b4a2f}.quick-inline-link{display:inline-flex;gap:7px;align-items:center;margin-top:10px;color:#8d6a3d;font-size:.72rem}.lead-small{font-size:.84rem;color:var(--muted);max-width:680px;line-height:1.7}.quickest-result{min-height:78px}.quickest-card{border:1px solid #d8c6a9;background:#fbf6ed;padding:18px;display:flex;flex-direction:column;gap:4px}.quickest-card span{text-transform:uppercase;letter-spacing:.14em;font-size:.55rem;color:#8f7048}.quickest-card strong{font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:var(--forest)}.quickest-card small{font-size:.65rem;color:#776d62}.manage-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:34px}.narrow-page{max-width:850px;margin:0 auto}.manage-card h1{font-size:3rem}.manage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.manage-grid>div{background:#fff;padding:15px}.manage-grid span{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.52rem;color:#8d8276}.manage-grid strong{display:block;margin-top:4px;color:#283f35}.cancel-form{border-top:1px solid var(--line);padding-top:20px}
.status-pendingpayment{background:#fff0c7;color:#785b18}.status-checkedin{background:#dcecf8;color:#24597b}.status-inprogress{background:#e4ddf5;color:#5a3d86}.status-noshow{background:#eee;color:#555}.status-paymentexpired{background:#f4ded9;color:#843b2d}
.admin-jump{display:flex;gap:6px;flex-wrap:wrap;margin:-8px 0 18px}.admin-jump a{background:#fff;border:1px solid var(--line);padding:7px 10px;color:#6d6257;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.admin-subtitle{font-family:'Montserrat',sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:#896a44;margin-bottom:14px}.admin-check{display:flex;gap:7px;align-items:flex-start;font-size:.65rem;color:#5f574e;margin:6px 0}.therapist-service-list{max-height:290px;overflow:auto;border:1px solid var(--line);padding:12px;background:#fbf9f5}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.staff-admin-card{border:1px solid var(--line);margin-bottom:10px;background:#fcfaf6}.staff-admin-card summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;list-style:none}.staff-admin-card summary::-webkit-details-marker{display:none}.staff-admin-card summary strong,.staff-admin-card summary span{display:block}.staff-admin-card summary strong{font-family:'Cormorant Garamond',serif;font-size:1.35rem}.staff-admin-card summary span:not(.status-pill){font-size:.58rem;color:#887e72}.staff-admin-body{border-top:1px solid var(--line);padding:16px}.schedule-title{font-family:'Montserrat',sans-serif;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em}.schedule-form{border:1px solid var(--line);padding:12px;margin-top:10px}.schedule-grid{display:grid;gap:4px;margin-top:8px}.schedule-day{display:grid;grid-template-columns:44px 1fr 1fr 60px;gap:6px;align-items:center;font-size:.58rem}.schedule-day input[type=time]{width:100%;border:1px solid #ddd3c6;background:#fff;padding:5px}.schedule-day label{display:flex;gap:4px;align-items:center}.payment-admin-card{height:100%;border:1px solid var(--line);background:#fbf8f2;padding:17px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.payment-admin-card strong,.payment-admin-card span{display:block}.payment-admin-card span{font-size:.58rem;color:#8b8174;margin-top:3px}.payment-admin-card p{font-size:.65rem;color:#6e665d;margin:10px 0 0}.audit-row{padding:9px 0;border-bottom:1px solid var(--line)}.audit-row strong,.audit-row span{display:block}.audit-row strong{font-size:.7rem}.audit-row span{font-size:.55rem;color:#8e8478}
@media(max-width:991.98px){.quick-strip-actions{display:none!important}.service-grid{grid-template-columns:1fr}.schedule-day{grid-template-columns:38px 1fr 1fr 55px}}
@media(max-width:767.98px){.manage-card{padding:22px}.manage-grid{grid-template-columns:1fr}.manage-card h1{font-size:2.4rem}.quick-inline-link{font-size:.66rem}.admin-jump{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.admin-jump a{white-space:nowrap}.schedule-day{grid-template-columns:34px 1fr 1fr 48px;gap:4px}.staff-admin-body{padding:12px}}

/* Complete booking system — operations schedule */
.schedule-board{display:grid;gap:.65rem}.schedule-date{font-family:var(--font-serif,Georgia,serif);font-size:1.12rem;margin:1rem 0 .15rem;color:var(--ink,#2f2a24)}.schedule-date:first-child{margin-top:0}.schedule-appointment{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.8rem .9rem;border:1px solid rgba(70,57,43,.12);border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:transform .15s ease,border-color .15s ease}.schedule-appointment:hover{transform:translateY(-1px);border-color:rgba(164,126,77,.45);color:inherit}.schedule-appointment time{font-weight:700;color:#7a5b35}.schedule-appointment div{min-width:0}.schedule-appointment strong,.schedule-appointment span{display:block}.schedule-appointment div span{font-size:.82rem;color:#746d65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:575.98px){.schedule-appointment{grid-template-columns:52px minmax(0,1fr);gap:.7rem}.schedule-appointment>.status-pill{grid-column:2;justify-self:start}.admin-table td{min-width:115px}.admin-table td:nth-child(3),.admin-table td:nth-child(4){min-width:190px}}
.payment-method-add{display:grid;grid-template-columns:minmax(230px,1.3fr) minmax(130px,.7fr) minmax(130px,.65fr) minmax(220px,1fr) auto;gap:.65rem;align-items:end;padding:1rem;border:1px dashed rgba(70,57,43,.2);border-radius:14px;background:rgba(255,255,255,.62)}.payment-method-add>div span{display:block;margin-top:.2rem}@media(max-width:991.98px){.payment-method-add{grid-template-columns:1fr 1fr}.payment-method-add>div{grid-column:1/-1}}@media(max-width:575.98px){.payment-method-add{grid-template-columns:1fr}}
