*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F5F1EB;--bone:#EDE8DF;--sand:#D9D3C7;
  --taupe:#B8B0A4;--stone:#8C8680;--charcoal:#3D3A37;
  --deep:#1A1817;--white:#FDFCFA;
}
html{scroll-behavior:smooth}
a:focus-visible,button:focus-visible{outline:2px solid var(--charcoal);outline-offset:3px;border-radius:2px}
body{background:var(--cream);color:var(--deep);font-family:'Inter',sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;transition:background .35s,backdrop-filter .35s}
.nav.scrolled{background:rgba(245,241,235,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:.5px solid var(--sand)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:300;letter-spacing:.24em;color:var(--white);transition:color .3s}
.nav.scrolled .nav-logo{color:var(--deep)}
.nav-book{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white);border:.5px solid rgba(255,255,255,.4);padding:7px 18px;border-radius:2px;transition:all .3s}
.nav.scrolled .nav-book{color:var(--deep);border-color:var(--taupe)}
.nav-book:hover{background:var(--deep);border-color:var(--deep);color:var(--white)!important}

/* HERO */
.hero{position:relative;width:100%;min-height:100svh;overflow:hidden;background:var(--charcoal)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 72%;opacity:.88}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,24,23,.08) 0%,rgba(26,24,23,.04) 38%,rgba(26,24,23,.48) 70%,rgba(26,24,23,.80) 100%)}
.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:100svh;padding:0 1.5rem 4rem;text-align:center}
.hero-eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(253,252,250,.85);margin-bottom:.9rem}
.hero-wordmark{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(3.6rem,16vw,8rem);letter-spacing:.16em;color:var(--white);line-height:1;margin-bottom:.5rem}
.hero-sub{font-size:11px;letter-spacing:.38em;text-transform:uppercase;color:rgba(253,252,250,.8);margin-bottom:2.5rem}
.hero-cta{display:inline-flex;align-items:center;gap:9px;background:var(--white);color:var(--deep);font-size:.75rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;padding:14px 34px;border-radius:2px;transition:background .2s,transform .15s;margin-bottom:1.5rem}
.hero-cta:hover{background:var(--bone);transform:translateY(-1px)}
.hero-tagline{font-family:'Cormorant Garamond',serif;font-size:clamp(.9rem,3.5vw,1.1rem);font-style:italic;color:rgba(253,252,250,.72);letter-spacing:.03em}
.scroll-hint{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.3;animation:fadeHint 2s 2s both}
@keyframes fadeHint{from{opacity:0;transform:translateX(-50%) translateY(6px)}to{opacity:.3;transform:translateX(-50%) translateY(0)}}
.scroll-line{width:1px;height:34px;background:linear-gradient(to bottom,rgba(253,252,250,.9),transparent)}
.scroll-hint span{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--white)}

/* SHARED */
.label{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--stone);text-align:center;margin-bottom:.9rem}
.title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.75rem,5.5vw,2.3rem);font-weight:300;text-align:center;color:var(--deep);line-height:1.2}
.rule{width:28px;height:.5px;background:var(--taupe);margin:1.5rem auto 2.2rem}
.body-text{font-size:.85rem;line-height:1.8;color:var(--stone);text-align:center;max-width:420px;margin:0 auto}

/* INTRO */
.section-intro{padding:5rem 1.5rem;background:var(--cream)}
.section-intro-inner{max-width:540px;margin:0 auto}

/* SPLIT */
.split{display:flex;flex-direction:column}
.split-img{width:100%;height:480px;object-fit:cover;flex-shrink:0}
.split-text{padding:3.5rem 1.5rem;background:var(--bone);display:flex;flex-direction:column;justify-content:center}
.split-text .label,.split-text .title,.split-text .body-text{text-align:left}
.split-text .title{font-size:clamp(1.6rem,5vw,2rem)}
.split-text .rule{margin:1.2rem 0 1.6rem}
.split-text .body-text{margin:0}
@media(min-width:768px){
  .split{flex-direction:row;min-height:560px}
  .split.reverse{flex-direction:row-reverse}
  .split-img{width:55%;height:auto;min-height:560px}
  .split-text{width:45%;padding:4rem 3rem}
}

/* IMAGE POSITIONS */
.img-interior {object-position:center 40%}
.img-chairs   {object-position:center 28%}
.img-sculpture{object-position:center 50%}
.img-mirrors  {object-position:center 52%}
.img-light    {object-position:center 38%}

/* SERVICES */
.section-services{padding:5rem 1.5rem;background:var(--cream)}
.section-services-inner{max-width:540px;margin:0 auto}
.svc{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:.5px solid var(--bone);transition:padding-left .2s}
.svc:first-child{border-top:.5px solid var(--bone)}
.svc:hover{padding-left:6px}
.svc-name{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--deep)}
.svc-sub{font-size:.78rem;color:var(--taupe);margin-top:2px;letter-spacing:.02em}
.svc-price{font-size:.88rem;font-weight:500;color:var(--charcoal);white-space:nowrap;margin-left:1rem}
.book-row{text-align:center;margin-top:2.5rem}
.btn-dark{display:inline-flex;align-items:center;gap:9px;background:var(--deep);color:var(--white);font-size:.75rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;padding:14px 34px;border-radius:2px;transition:background .2s,transform .15s}
.btn-dark:hover{background:var(--charcoal);transform:translateY(-1px)}

/* FULL WIDTH IMAGE */
.img-full{width:100%;height:420px;object-fit:cover;display:block}
@media(min-width:768px){.img-full{height:540px}}

/* MEMBERSHIP */
.section-membership{background:var(--sand);display:flex;flex-direction:column}
.mem-text{padding:4rem 1.5rem;display:flex;flex-direction:column}
.mem-text .label,.mem-text .title{text-align:left}
.mem-text .title{font-size:clamp(1.6rem,5vw,2rem)}
.mem-text .rule{margin:1.2rem 0 1.6rem}
.mem-price-block{display:flex;align-items:baseline;gap:.3rem;margin-bottom:1.5rem}
.mem-dollar{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--stone);align-self:flex-start;margin-top:.4rem}
.mem-amount{font-family:'Cormorant Garamond',serif;font-size:3.2rem;font-weight:300;color:var(--deep);line-height:1}
.mem-period{font-size:.75rem;color:var(--stone);letter-spacing:.05em}
.mem-perks{display:flex;flex-direction:column;gap:10px;margin-bottom:2rem}
.mem-perk{display:flex;align-items:center;gap:12px;font-size:.82rem;color:var(--charcoal)}
.mem-perk::before{content:'';display:block;width:3px;height:3px;border-radius:50%;background:var(--stone);flex-shrink:0}
.mem-spots{font-size:.72rem;color:var(--stone);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem}
.mem-img{width:100%;height:380px;object-fit:cover;flex-shrink:0}
.btn-outline-sand{display:flex;align-items:center;justify-content:center;gap:8px;border:.5px solid var(--charcoal);color:var(--deep);background:transparent;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:14px 28px;border-radius:2px;width:100%;max-width:320px;transition:background .2s,color .2s}
.btn-outline-sand:hover{background:var(--deep);color:var(--white)}
@media(min-width:768px){
  .section-membership{flex-direction:row;min-height:560px}
  .mem-text{width:50%;padding:5rem 3.5rem;justify-content:center}
  .mem-img{width:50%;height:auto;min-height:560px}
}

/* PRESALE */
.section-presale{padding:5rem 1.5rem;background:var(--bone)}
.section-presale-inner{max-width:640px;margin:0 auto}
.presale-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:2.5rem}
.presale-card{background:var(--white);border:.5px solid var(--sand);border-radius:6px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.presale-card:hover{border-color:var(--taupe);box-shadow:0 4px 20px rgba(0,0,0,.07)}
.presale-card-img{width:100%;height:260px;object-fit:cover;background:var(--sand)}
.presale-card-body{padding:1.6rem}
.presale-card-eyebrow{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-bottom:.5rem}
.presale-card-name{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--deep);margin-bottom:.5rem}
.presale-card-price{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.4rem}
.presale-card-now{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:300;color:var(--deep)}
.presale-card-was{font-size:.74rem;color:var(--taupe);letter-spacing:.02em}
.presale-card-units{font-size:.68rem;color:var(--stone);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.3rem}
.presale-card-cta{display:flex;align-items:center;justify-content:center;gap:8px;border:.5px solid var(--charcoal);color:var(--deep);background:transparent;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;border-radius:2px;width:100%;transition:background .2s,color .2s}
.presale-card-cta:hover{background:var(--deep);color:var(--white)}
@media(min-width:640px){
  .presale-grid{grid-template-columns:1fr 1fr}
}

/* ATMOSPHERE */
.section-atmo{background:var(--cream);padding:5rem 1.5rem}
.section-atmo-inner{max-width:900px;margin:0 auto}
.atmo-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:2.5rem}
.atmo-grid img{width:100%;height:440px;object-fit:cover;border-radius:3px}
@media(min-width:640px){
  .atmo-grid{grid-template-columns:1fr 1fr}
  .atmo-grid img{height:520px}
}

/* CONNECT */
.section-connect{padding:5rem 1.5rem;background:var(--bone)}
.section-connect-inner{max-width:540px;margin:0 auto}
.connect-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.connect-btn{display:flex;align-items:center;gap:11px;background:var(--cream);border:.5px solid var(--sand);border-radius:4px;padding:14px 15px;color:var(--deep);transition:border-color .2s,transform .15s,box-shadow .2s}
.connect-btn:hover{border-color:var(--taupe);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.connect-btn:active{transform:scale(.98)}
.c-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c-icon svg{width:16px;height:16px;fill:#fff}
.ci-ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.ci-fb{background:#1877F2}
.ci-wa{background:#25D366}
.ci-fr{background:#3D6B5A}
.c-text strong{display:block;font-size:.8rem;font-weight:500;color:var(--deep)}
.c-text span{display:block;font-size:.68rem;color:var(--stone);margin-top:1px}
.phone-strip{display:flex;align-items:center;justify-content:center;gap:10px;padding:1.2rem;background:var(--cream);border:.5px solid var(--sand);border-radius:4px;margin-top:10px;transition:background .2s;color:var(--deep)}
.phone-strip:hover{background:var(--sand)}
.phone-strip span{font-size:.85rem;font-weight:500;letter-spacing:.04em}

/* LOCATION */
.section-location{padding:5rem 1.5rem;background:var(--cream)}
.section-location-inner{max-width:540px;margin:0 auto}
.location-card{display:block;background:var(--white);border:.5px solid var(--sand);border-radius:6px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.location-card:hover{border-color:var(--taupe);box-shadow:0 4px 20px rgba(0,0,0,.07)}
.location-map{width:100%;height:180px;background:var(--bone)}
.location-map iframe{width:100%;height:100%;border:none;display:block}
.location-body{padding:1.4rem}
.loc-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:.5rem}
.loc-address{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--deep);line-height:1.5;margin-bottom:1rem}
.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}
.h-day{font-size:.72rem;color:var(--stone)}
.h-time{font-size:.72rem;color:var(--charcoal)}
.loc-cta{display:flex;align-items:center;gap:6px;margin-top:1.2rem;font-size:.72rem;color:var(--charcoal);letter-spacing:.04em}

/* FOOTER */
footer{padding:3rem 1.5rem;text-align:center;border-top:.5px solid var(--sand);background:var(--cream)}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.4rem;letter-spacing:.32em;font-weight:300;color:var(--taupe);margin-bottom:.4rem}
.footer-copy{font-size:.8rem;color:var(--taupe);letter-spacing:.07em}

/* FADE IN */
.fade-up{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.js .fade-up{opacity:0;transform:translateY(20px)}
.js .fade-up.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .fade-up{opacity:1!important;transform:none!important;transition:none!important}}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* DIVIDER */
.divider{height:.5px;background:var(--bone)}

/* ============================================================
   SERVICE PAGES  — added for the multi-page build
   ============================================================ */

/* nav links */
.nav-links{display:flex;align-items:center;gap:1.1rem}
.nav-link{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--white);opacity:.82;transition:opacity .2s,color .3s}
.nav-link:hover{opacity:1}
.nav.scrolled .nav-link{color:var(--charcoal)}
.nav.solid{background:rgba(245,241,235,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:.5px solid var(--sand)}
.nav.solid .nav-logo{color:var(--deep)}
.nav.solid .nav-link{color:var(--charcoal)}
.nav.solid .nav-book{color:var(--deep);border-color:var(--taupe)}
@media(max-width:600px){.nav-links{display:none}}

/* page hero (shorter than home hero) */
.phero{position:relative;width:100%;min-height:62svh;overflow:hidden;background:var(--charcoal);display:flex}
.phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}
.phero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,24,23,.52) 0%,rgba(26,24,23,.38) 45%,rgba(26,24,23,.78) 100%)}
.phero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%;padding:0 1.5rem 3rem;text-align:center}
.phero-eyebrow{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(253,252,250,.82);margin-bottom:.9rem}
.phero-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.1rem,7.5vw,3.4rem);letter-spacing:.04em;color:var(--white);line-height:1.08;margin-bottom:.7rem;text-wrap:balance}
.phero-meta{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap;color:rgba(253,252,250,.9);font-size:.82rem;letter-spacing:.05em}
.phero-meta .dot{width:3px;height:3px;border-radius:50%;background:rgba(253,252,250,.45)}

/* breadcrumb */
.crumbs{padding:1.1rem 1.5rem .2rem;background:var(--cream)}
.crumbs-inner{max-width:620px;margin:0 auto;font-size:.7rem;letter-spacing:.08em;color:var(--taupe)}
.crumbs-inner a{color:var(--stone)}
.crumbs-inner a:hover{color:var(--deep)}
.crumbs-sep{margin:0 .45rem}

/* article body */
.section-article{padding:3.2rem 1.5rem 4.5rem;background:var(--cream)}
.article{max-width:620px;margin:0 auto}
.article p{font-size:.95rem;line-height:1.85;color:var(--charcoal);margin-bottom:1.15rem}
.article p:last-child{margin-bottom:0}
.article h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.45rem,4.5vw,1.85rem);font-weight:300;color:var(--deep);line-height:1.25;margin:2.6rem 0 .4rem}
.article h2:first-child{margin-top:0}
.article .rule{margin:1rem 0 1.6rem}
.article strong{font-weight:500;color:var(--deep)}

/* price card */
.pricecard{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--bone);border:.5px solid var(--sand);border-radius:6px;padding:1.4rem 1.6rem;margin-bottom:2.4rem}
.pricecard-left .pc-label{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:.35rem}
.pricecard-left .pc-amount{font-family:'Cormorant Garamond',serif;font-size:2.3rem;font-weight:300;color:var(--deep);line-height:1}
.pricecard-left .pc-dur{font-size:.75rem;color:var(--stone);letter-spacing:.05em;margin-top:.3rem}

/* included list */
.incl{list-style:none;display:flex;flex-direction:column;gap:11px;margin:.4rem 0 0}
.incl li{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;line-height:1.6;color:var(--charcoal)}
.incl li::before{content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--taupe);flex-shrink:0;margin-top:.62rem}

/* faq */
.faq{display:flex;flex-direction:column;gap:0;margin-top:.4rem}
.faq-item{border-bottom:.5px solid var(--sand);padding:1.1rem 0}
.faq-item:first-child{border-top:.5px solid var(--sand)}
.faq-q{font-family:'Cormorant Garamond',serif;font-size:1.12rem;font-weight:400;color:var(--deep);margin-bottom:.45rem}
.faq-a{font-size:.88rem;line-height:1.75;color:var(--stone)}

/* related */
.section-related{padding:4rem 1.5rem;background:var(--bone)}
.related-inner{max-width:620px;margin:0 auto}
.related-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:2rem}
@media(min-width:620px){.related-grid{grid-template-columns:1fr 1fr}}
.related-card{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:var(--cream);border:.5px solid var(--sand);border-radius:4px;padding:15px 17px;transition:border-color .2s,transform .15s,box-shadow .2s}
.related-card:hover{border-color:var(--taupe);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.related-card strong{font-family:'Cormorant Garamond',serif;font-size:1.02rem;font-weight:400;color:var(--deep)}
.related-card span{font-size:.8rem;color:var(--stone);white-space:nowrap}

/* footer nav */
.footer-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1.1rem;margin-bottom:1.4rem}
.footer-nav a{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);transition:color .2s}
.footer-nav a:hover{color:var(--deep)}
.footer-nap{font-size:.78rem;color:var(--stone);line-height:1.7;margin-bottom:.9rem}
.footer-nap a{color:var(--charcoal)}

/* nav legibility over the light hero image */
.nav:not(.scrolled):not(.solid) .nav-logo,
.nav:not(.scrolled):not(.solid) .nav-link,
.nav:not(.scrolled):not(.solid) .nav-book{text-shadow:0 1px 10px rgba(26,24,23,.55)}
.nav:not(.scrolled):not(.solid) .nav-book{background:rgba(26,24,23,.22);border-color:rgba(255,255,255,.55)}
.nav:not(.scrolled):not(.solid) .nav-link{opacity:.95}

/* keep anchor jumps clear of the fixed nav */
[id]{scroll-margin-top:84px}
