:root{
  /* "Lily pond" — lily-pad green, lotus blush, champagne gold, warm ivory */
  --ivory:#fbf6f2; --sand:#eee1df; --mist:#f0e3e8; --ink:#321e35; --ink-2:#756574;
  --moss:#643d61; --moss-2:#815776; --sage:#b08a9f; --lotus:#efc9d1; --lotus-2:#cb899e; --gold:#a56c82; --gold-2:#ebbecd;
  --clay:var(--gold); --blush:var(--lotus); --bronze:var(--moss);
  --serif:"Instrument Serif",Georgia,serif; --sans:"Manrope",system-ui,sans-serif;
  --gut:clamp(16px,4vw,56px); --ease:cubic-bezier(.65,0,.35,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ivory)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-family:var(--serif);font-style:italic;font-weight:400}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;line-height:.92}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--ink-2)}
.line{display:block;overflow:hidden;padding-bottom:.06em}
.split{display:inline-block;will-change:transform}

/* noise grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}


/* cursor */
.cursor{position:fixed;top:0;left:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--ink);
  z-index:95;pointer-events:none;mix-blend-mode:difference;background:#fff;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease);display:grid;place-items:center}
.cursor.is-hover{width:54px;height:54px;margin:-27px 0 0 -27px}
.cursor.is-view{width:96px;height:96px;margin:-48px 0 0 -48px;mix-blend-mode:normal;background:var(--ivory)}
.cursor-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .2s}
.cursor.is-view .cursor-label{opacity:1}
@media (hover:none){.cursor{display:none}}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;gap:36px;padding:14px var(--gut);color:var(--ink);transition:background .45s var(--ease),color .45s,box-shadow .45s,padding .45s var(--ease)}
.nav-logo{font-family:var(--serif);font-size:30px;line-height:1;margin-right:auto}
.nav-logo em{font-family:var(--sans);font-style:normal;font-size:10px;letter-spacing:.32em;text-transform:uppercase;margin-left:6px;vertical-align:middle}
.nav-links{display:flex;gap:32px;font-size:15px;font-weight:500;letter-spacing:.01em}
.nav-links a,.ulink{position:relative}
.nav-links a::after,.ulink::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:hover::after,.ulink:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{font-size:14px;font-weight:500;background:var(--moss);color:var(--ivory);border-radius:99px;padding:13px 24px;transition:background .3s}
.nav-cta:hover{background:var(--gold)}
.nav-burger{display:none;width:40px;height:40px;position:relative}
.nav-burger i{position:absolute;left:8px;right:8px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.nav-burger i:first-child{top:15px}.nav-burger i:last-child{top:24px}
.nav-burger[aria-expanded=true] i:first-child{transform:translateY(4.5px) rotate(45deg)}
.nav-burger[aria-expanded=true] i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:70;background:var(--ink);color:var(--ivory);display:flex;flex-direction:column;justify-content:center;padding:var(--gut);gap:6px;clip-path:circle(0% at calc(100% - 36px) 40px);transition:clip-path .8s var(--ease)}
.menu.is-open{clip-path:circle(150% at calc(100% - 36px) 40px)}
.menu>a{font-family:var(--serif);font-size:clamp(44px,11vw,72px);line-height:1.05}
.menu p{margin-top:32px;font-size:14px;opacity:.7;line-height:1.7}

/* pill buttons */
.pill{display:inline-flex;align-items:center;gap:14px;border-radius:99px;padding:8px 8px 8px 24px;background:var(--ivory);color:var(--ink);font-size:14px;font-weight:500;position:relative;overflow:hidden;isolation:isolate}
.pill b{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--ivory);display:grid;place-items:center;font-weight:400;transition:transform .5s var(--ease)}
.pill::before{content:"";position:absolute;inset:0;background:var(--blush);z-index:-1;transform:translateY(101%);transition:transform .5s var(--ease)}
.pill:hover::before{transform:none}
.pill:hover b{transform:rotate(-45deg)}
.pill.dark{background:var(--ink);color:var(--ivory)}
.pill.dark b{background:var(--ivory);color:var(--ink)}
.pill.dark:hover{color:var(--ink)}

/* hero */
.hero{position:relative;isolation:isolate;height:100svh;min-height:620px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--gut) 36px}
.hero-gl,.hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-gl{z-index:-1}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(50,30,53,.35),rgba(50,30,53,.05) 40%,rgba(50,30,53,.6))}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start}
.hero .eyebrow{color:rgba(255,255,255,.85)}
.hero-side{font-size:13px;line-height:1.6;text-align:right;opacity:.85}
.hero-title{font-size:clamp(56px,10.5vw,176px);line-height:.88;margin-top:auto}
.hero-title .line:nth-child(2){padding-left:8vw}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:36px}
.hero-bottom>p{max-width:340px;font-size:15px;line-height:1.6;opacity:.9}
.scroll-cue{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.scroll-cue i{width:1px;height:42px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;inset:0;background:#fff;animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}

/* marquee */
.marquee{overflow:hidden;padding:34px 0;border-bottom:1px solid rgba(50,30,53,.12)}
.marquee-track{display:flex;width:max-content}
.marquee-row{font-family:var(--serif);font-size:clamp(44px,7vw,110px);white-space:nowrap;line-height:1}
.marquee-row i{font-style:normal;font-size:.4em;color:var(--clay);vertical-align:middle;margin:0 .4em}

/* manifesto */
.manifesto{padding:clamp(100px,16vw,220px) var(--gut)}
.manifesto-text{font-family:var(--serif);font-size:clamp(34px,5.2vw,84px);line-height:1.04;letter-spacing:-.015em;max-width:15.5em;margin-top:36px}
.manifesto-text .w{opacity:.14;transition:none}
.manifesto-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(70px,10vw,140px);border-top:1px solid rgba(50,30,53,.15);padding-top:28px}
.manifesto-stats strong,.manifesto-stats span{font-family:var(--serif);font-weight:400;font-size:clamp(56px,7vw,110px);line-height:1}
.manifesto-stats span{color:var(--clay)}
.manifesto-stats p{font-size:14px;color:var(--ink-2);margin-top:10px}

/* section head */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(40px,6vw,80px)}
.section-head h2{font-size:clamp(48px,7.5vw,128px);text-align:right}
.section-head.light{color:var(--ivory)}
.section-head.light .eyebrow{color:rgba(243,238,231,.7)}

/* treatments */
.treatments{padding:clamp(60px,8vw,120px) var(--gut) clamp(100px,12vw,180px);position:relative}
.t-list{list-style:none;border-top:1px solid rgba(50,30,53,.15)}
.t-list li{display:grid;grid-template-columns:60px 1fr auto 40px;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid rgba(50,30,53,.15);cursor:pointer;position:relative;transition:color .4s,padding .5s var(--ease)}
.t-list li::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.t-list li:hover{color:var(--ivory);padding-left:20px;padding-right:20px}
.t-list li:hover::before{transform:scaleY(1)}
.t-list{isolation:isolate}
.t-num{font-size:12px;opacity:.6}
.t-name{font-family:var(--serif);font-size:clamp(36px,5vw,76px);line-height:1}
.t-tags{font-size:13px;opacity:.7;text-align:right}
.t-arrow{font-size:24px;transition:transform .5s var(--ease)}
.t-list li:hover .t-arrow{transform:rotate(45deg)}
.t-float{position:fixed;top:0;left:0;width:300px;height:380px;pointer-events:none;z-index:60;border-radius:180px 180px 8px 8px;overflow:hidden;opacity:0;transform:scale(.6)}
.t-float img{width:100%;height:100%;object-fit:cover}
@media (hover:none){.t-float{display:none}}

/* ritual */
.ritual{background:var(--sand);position:relative}
.ritual-pin{height:100svh;overflow:hidden;display:flex;align-items:center}
.ritual-track{display:flex;align-items:center;gap:clamp(24px,3vw,48px);padding:0 var(--gut);will-change:transform}
.r-intro{flex:0 0 min(440px,80vw)}
.r-intro h2{font-size:clamp(64px,8vw,140px);margin-top:24px}
.r-hint{margin-top:30px;font-size:13px;color:var(--ink-2)}
.r-card{flex:0 0 min(400px,78vw);position:relative}
.r-img{height:min(56svh,520px);overflow:hidden;border-radius:220px 220px 6px 6px}
.r-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.25)}
.r-step{position:absolute;top:20px;right:20px;font-family:var(--serif);font-style:italic;font-size:22px;color:#fff;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;backdrop-filter:blur(6px)}
.r-card h3{font-size:46px;margin-top:22px}
.r-card p{font-size:14px;line-height:1.6;color:var(--ink-2);margin-top:10px;max-width:34ch}
.ritual-progress{position:absolute;left:var(--gut);right:var(--gut);bottom:32px;height:1px;background:rgba(50,30,53,.15)}
.ritual-progress i{position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left}

/* zoom */
.zoom-pin{height:100svh;position:relative;display:grid;place-items:center;overflow:hidden}
.zoom-frame{width:34vw;height:46vh;overflow:hidden;border-radius:999px;will-change:width,height,border-radius}
.zoom-frame img{width:100%;height:100%;object-fit:cover}
.zoom-quote{position:absolute;inset:auto 0 12vh;text-align:center;font-family:var(--serif);font-size:clamp(44px,7vw,120px);line-height:.95;color:#fff;opacity:0;mix-blend-mode:normal;text-shadow:0 2px 40px rgba(0,0,0,.25)}
.zoom-quote span,.zoom-quote em{display:block}

/* tech stack */
.tech{background:var(--ink);padding:clamp(100px,12vw,180px) var(--gut)}
.stack{display:flex;flex-direction:column;gap:6vh}
.s-card{position:sticky;top:12vh;min-height:72vh;background:var(--c);border-radius:28px;display:grid;grid-template-columns:1fr 1.1fr;overflow:hidden;transform-origin:center top}
.s-copy{padding:clamp(28px,4vw,64px);display:flex;flex-direction:column}
.s-copy span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.s-copy h3{font-size:clamp(56px,8vw,140px);margin-top:auto}
.s-copy sup{font-size:.3em;vertical-align:super}
.s-copy p{font-size:16px;line-height:1.6;max-width:40ch;margin-top:18px;color:var(--ink-2)}
.s-copy ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.s-copy li{font-size:12px;border:1px solid rgba(50,30,53,.25);border-radius:99px;padding:7px 14px}
.s-img{position:relative;overflow:hidden;background:#fff}
.s-card{--dim:0}
.s-card::after{content:"";position:absolute;inset:0;background:var(--ink);opacity:var(--dim);pointer-events:none;border-radius:inherit}
.s-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* gallery */
.gallery{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,28px);padding:clamp(100px,12vw,180px) var(--gut);overflow:hidden}
.g-col{display:flex;flex-direction:column;gap:clamp(12px,2vw,28px)}
.g-col:nth-child(2){margin-top:14vh}
.g-col img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px}
.g-title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:clamp(60px,11vw,200px);color:#fff;pointer-events:none;line-height:.9;text-shadow:0 4px 60px rgba(50,30,53,.55),0 1px 3px rgba(50,30,53,.3)}
.gallery::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 60% 30% at 50% 50%,rgba(50,30,53,.38),transparent 70%)}
.g-title{z-index:2}

/* consult */
.consult{padding:clamp(100px,12vw,180px) var(--gut)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.chip{border:1px solid rgba(50,30,53,.25);border-radius:99px;padding:13px 22px;font-size:14px;transition:background .35s,color .35s,border-color .35s}
.chip:hover{border-color:var(--ink)}
.chip.is-on{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.result{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:stretch}
.result-img{border-radius:6px;overflow:hidden;aspect-ratio:4/3}
.result-img img{width:100%;height:100%;object-fit:cover}
.result-copy{display:flex;flex-direction:column;justify-content:center}
.result-list{list-style:none;margin-top:18px;counter-reset:r}
.result-list li{font-family:var(--serif);font-size:clamp(34px,4vw,60px);line-height:1.1;border-bottom:1px solid rgba(50,30,53,.12);padding:10px 0;counter-increment:r;display:flex;gap:18px;align-items:baseline}
.result-list li::before{content:"0" counter(r);font-family:var(--sans);font-size:12px;color:var(--clay)}
.result-note{font-size:13px;color:var(--ink-2);margin-top:20px}
.result-cta{display:flex;align-items:center;gap:22px;margin-top:30px;flex-wrap:wrap}
.result-cta .ulink{font-size:14px}

/* cta */
.cta{background:var(--blush);text-align:center;padding:clamp(110px,14vw,200px) var(--gut);position:relative;overflow:hidden}
.cta h2{font-size:clamp(54px,9vw,160px);margin:24px 0 56px}
.cta-orb{width:clamp(150px,16vw,210px);aspect-ratio:1;border-radius:50%;background:var(--ink);color:var(--ivory);display:inline-grid;place-items:center;font-size:15px;line-height:1.35;transition:background .4s}
.cta-orb:hover{background:var(--clay)}

/* footer */
.footer{background:var(--ink);color:var(--ivory);padding:clamp(70px,8vw,110px) var(--gut) 28px;overflow:hidden}
.footer .eyebrow{color:rgba(243,238,231,.55);margin-bottom:14px}
.f-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;font-size:15px;line-height:1.8}
.f-word{font-family:var(--serif);font-style:italic;font-size:clamp(150px,33vw,560px);line-height:.8;display:flex;justify-content:center;margin-top:60px;overflow:hidden;padding-bottom:.08em}
.f-word span{display:inline-block}
.f-bottom{display:flex;justify-content:space-between;gap:16px;font-size:12px;opacity:.6;border-top:1px solid rgba(243,238,231,.15);padding-top:20px;flex-wrap:wrap}

/* responsive */
@media (max-width:900px){
  .nav-links,.nav-cta{display:none}
  .nav-burger{display:block}
  .hero-side{display:none}
  .hero-bottom{flex-direction:column;align-items:flex-start}
  .scroll-cue{display:none}
  .section-head{flex-direction:column;align-items:flex-start}
  .section-head h2{text-align:left}
  .t-list li{grid-template-columns:36px 1fr 28px}
  .t-tags{display:none}
  .manifesto-stats{grid-template-columns:1fr}
  .s-card{grid-template-columns:1fr;min-height:auto;top:10vh}
  .s-img{height:34vh;order:-1}
  .s-copy h3{margin-top:12px}
  .gallery{grid-template-columns:1fr 1fr}
  .g-col:nth-child(3){display:none}
  .result{grid-template-columns:1fr}
  .zoom-pin{height:78svh}
  .zoom-frame{width:100%;height:100%;border-radius:0}
  .zoom-quote{opacity:1;bottom:9vh}
  .f-grid{grid-template-columns:1fr 1fr}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* collage — bronze chapter (remix of Ever) */

.collage{background:var(--bronze);color:var(--ivory)}
.c-pin{height:100svh;position:relative;overflow:hidden;display:grid;place-items:center}
.c-item{position:absolute;left:calc(50% + var(--x) * var(--xs, 1));top:calc(50% + var(--y));width:var(--cw);aspect-ratio:3/4;margin:calc(var(--cw) * -2 / 3) 0 0 calc(var(--cw) / -2);will-change:transform}
.c-pin{--cw:min(14vw,240px)}
.c-frame{position:absolute;inset:0;overflow:hidden;border-radius:inherit;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.c-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.98);transform:scale(1.12)}
/* soft botanical shapes, each with an offset gold outline */
.c-item::before{content:"";position:absolute;inset:-12px;border:1px solid rgba(216,189,138,.55);border-radius:inherit;transform:translate(10px,10px);pointer-events:none}
.shape-arch{border-radius:999px 999px 16px 16px}
.shape-arch-down{border-radius:16px 16px 999px 999px}
.shape-oval{border-radius:50%}
.shape-pill{border-radius:999px}
.shape-leaf{border-radius:0 999px 0 999px}
.shape-leaf-r{border-radius:999px 0 999px 0}
.c-title{position:relative;z-index:2;text-align:center;font-family:var(--sans);font-weight:300;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(34px,5vw,84px);line-height:1.08}
.c-title span{display:block}
.c-title em{text-transform:none;letter-spacing:-.01em;font-size:1.15em}

/* faq */
.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(24px,5vw,80px);padding:clamp(90px,10vw,160px) var(--gut);border-top:1px solid rgba(50,30,53,.12)}
.faq h2{font-size:clamp(52px,6vw,104px)}
.faq-list details{border-bottom:1px solid rgba(50,30,53,.15)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-size:clamp(17px,1.5vw,22px);cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{width:14px;height:14px;position:relative;flex:none}
.faq-list summary i::before,.faq-list summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform .5s var(--ease)}
.faq-list summary i::after{transform:rotate(90deg)}
.faq-list details[open] summary i::after{transform:rotate(0)}
.faq-list details>div{overflow:hidden}
.faq-list p{padding:0 0 26px;max-width:58ch;line-height:1.7;color:var(--ink-2)}

/* floating booking bar — appears on scroll */
.bookbar{position:fixed;left:50%;bottom:22px;z-index:75;display:flex;align-items:center;gap:14px;background:rgba(50,30,53,.88);backdrop-filter:blur(12px);color:var(--ivory);border-radius:99px;padding:10px 10px 10px 20px;font-size:14px;transform:translate(-50%,160%);transition:transform .7s var(--ease);white-space:nowrap}
.bookbar.is-on{transform:translate(-50%,0)}
.bookbar b{background:var(--ivory);color:var(--ink);border-radius:99px;padding:10px 16px;font-weight:500}
.bookbar-dot{width:8px;height:8px;border-radius:50%;background:var(--lotus);box-shadow:0 0 0 0 rgba(233,198,190,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(233,198,190,0)}100%{box-shadow:0 0 0 0 rgba(233,198,190,0)}}

@media (max-width:900px){
  /* collage becomes a grid: three photos, headline, three photos */
  .c-pin{height:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px 14px;padding:72px var(--gut);place-items:stretch}
  .c-item{position:relative;left:auto;top:auto;width:auto;margin:0}
  .c-item:nth-of-type(n+4){order:2}
  .c-title{order:1;grid-column:1/-1;padding:14px 0;font-size:clamp(30px,9vw,46px)}
  .c-item::before{inset:-6px;transform:translate(5px,5px)}
  .faq{grid-template-columns:1fr}
  .bookbar{font-size:13px;bottom:14px}
}

/* ===== network rebuild additions ===== */
.nav-logo img{height:58px;width:auto;transition:filter .45s}
.hero-rating{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:8px 16px 8px 10px;font-size:12px}
.hero-rating b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1}
.hero-rating span{letter-spacing:2px;color:var(--gold-2)}
.hero-rating small{opacity:.85}

/* results before/after */
.results{padding:clamp(100px,12vw,180px) var(--gut)}
.ba-wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.ba{position:relative;aspect-ratio:4/5;max-height:80vh;width:100%;overflow:hidden;border-radius:8px;user-select:none;touch-action:pan-y;--p:50%;cursor:ew-resize;background:#ddd}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--p);width:2px;background:#fff;transform:translateX(-1px)}
.ba-handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:20px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.ba-tag{position:absolute;top:18px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:rgba(50,30,53,.55);color:#fff;padding:7px 12px;border-radius:99px;backdrop-filter:blur(6px)}
.ba-tag-l{left:18px}.ba-tag-r{right:18px}
.ba-tabs{display:flex;flex-direction:column;border-top:1px solid rgba(50,30,53,.15)}
.ba-tab{display:flex;align-items:baseline;gap:16px;text-align:left;padding:22px 0;border-bottom:1px solid rgba(50,30,53,.15);font-family:var(--serif);font-size:clamp(28px,3vw,44px);line-height:1;opacity:.35;transition:opacity .4s}
.ba-tab span{font-family:var(--sans);font-size:12px;color:var(--clay)}
.ba-tab em{font-size:.5em;margin-left:auto;font-family:var(--sans);font-style:normal;letter-spacing:.06em}
.ba-tab.is-on,.ba-tab:hover{opacity:1}
.ba-credit{font-size:12px;color:var(--ink-2);margin-top:22px;line-height:1.6}
.tech-more{color:rgba(243,238,231,.6);text-align:center;margin-top:8vh;font-size:14px;letter-spacing:.06em}

/* packages carousel */
.packages{padding:clamp(100px,12vw,180px) 0;background:var(--sand);overflow:hidden}
.packages .section-head{padding:0 var(--gut)}
.p-rail{display:flex;gap:20px;padding:10px var(--gut) 30px;overflow-x:auto;scrollbar-width:none;cursor:grab;scroll-snap-type:x proximity}
.p-rail::-webkit-scrollbar{display:none}
.p-rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.p-rail.is-drag .p-card{pointer-events:none}
.p-card{flex:0 0 min(360px,82vw);background:var(--ivory);border-radius:22px;padding:30px;display:flex;flex-direction:column;min-height:440px;scroll-snap-align:start;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.p-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px -30px rgba(50,30,53,.4)}
.p-card.is-dark{background:var(--ink);color:var(--ivory)}
.p-area{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay)}
.p-card h3{font-size:44px;margin-top:auto;padding-top:40px}
.p-price{font-family:var(--serif);font-size:30px;margin-top:10px}
.p-price s{font-family:var(--sans);font-size:14px;opacity:.5;margin-left:8px}
.p-card ul{list-style:none;margin-top:20px;border-top:1px solid currentColor;border-color:rgba(127,110,90,.3);padding-top:14px}
.p-card li{font-size:14px;line-height:1.5;padding:5px 0 5px 18px;position:relative;opacity:.85}
.p-card li::before{content:"✦";position:absolute;left:0;font-size:9px;top:9px;color:var(--clay)}
.p-foot{display:flex;align-items:center;gap:24px;padding:10px var(--gut) 0;font-size:14px}
.p-progress{flex:1;height:1px;background:rgba(50,30,53,.15);position:relative}
.p-progress i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(.2)}

/* reviews */
.reviews{padding:clamp(100px,12vw,180px) 0;overflow:hidden}
.rv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:0 var(--gut);margin-bottom:60px;flex-wrap:wrap}
.rv-head h2{font-size:clamp(48px,7.5vw,128px);text-align:right}
.rv-score{display:flex;align-items:center;gap:18px}
.rv-score strong{font-family:var(--serif);font-weight:400;font-size:clamp(90px,10vw,160px);line-height:.8}
.rv-score span{color:var(--gold);letter-spacing:3px;font-size:20px}
.rv-score p{font-size:13px;color:var(--ink-2);margin-top:6px}
.rv-row{display:flex;gap:20px;width:max-content;padding-left:var(--gut)}
.rv{width:min(420px,80vw);background:#fff;border-radius:18px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;margin:0;box-shadow:0 1px 0 rgba(50,30,53,.06)}
.rv blockquote{font-family:var(--serif);font-size:24px;line-height:1.25}
.rv figcaption{font-size:13px;color:var(--ink-2)}
.rv figcaption::before{content:"★★★★★  ";color:var(--gold);letter-spacing:1px}

/* team */
.team{padding:clamp(60px,8vw,120px) var(--gut) clamp(100px,12vw,180px)}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tm{border:1px solid rgba(50,30,53,.14);border-radius:22px;padding:clamp(26px,3vw,44px);position:relative;overflow:hidden}
.tm-mono{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--bronze);color:var(--ivory);font-family:var(--serif);font-size:32px;margin-bottom:40px}
.tm h3{font-size:clamp(36px,3.6vw,56px);margin:10px 0 16px}
.tm>p:last-child{color:var(--ink-2);line-height:1.7;font-size:15px;max-width:52ch}
.pillars{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pillars span{font-family:var(--serif);font-size:clamp(24px,2.6vw,38px);border:1px solid rgba(50,30,53,.2);border-radius:99px;padding:10px 26px}

/* locations */
.locations{background:var(--bronze);color:var(--ivory);padding:clamp(100px,12vw,180px) var(--gut)}
.loc-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.lf{border:1px solid rgba(251,246,242,.35);border-radius:99px;padding:11px 20px;font-size:14px;color:var(--ivory);transition:background .3s,color .3s}
.lf sup{font-size:10px;opacity:.7}
.lf.is-on{background:var(--ivory);color:var(--bronze)}
.loc-list{list-style:none;border-top:1px solid rgba(251,246,242,.25)}
.loc-list li{display:grid;grid-template-columns:1.1fr 1.6fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(251,246,242,.25);transition:padding .5s var(--ease),background .4s}
.loc-list li:hover{padding-left:16px;padding-right:16px;background:rgba(251,246,242,.07)}
.l-city{font-family:var(--serif);font-size:clamp(32px,3.6vw,56px);line-height:1}
.l-addr{font-size:14px;opacity:.8}
.l-tel{font-size:14px;border:1px solid rgba(251,246,242,.4);border-radius:99px;padding:9px 16px;white-space:nowrap;transition:background .3s,color .3s}
.l-tel:hover{background:var(--ivory);color:var(--bronze)}
.loc-list li.is-hidden{display:none}

/* location picker in finder */
.loc-pick{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.loc-pick select{font:inherit;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:8px 24px 8px 0;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
.f-logo{width:180px;filter:invert(1)}

@media (max-width:900px){
  .nav-logo img{height:48px}
  .hero-rating small{display:none}
  .ba-wrap{grid-template-columns:1fr}
  .ba{aspect-ratio:4/4.6}
  .rv-head h2{text-align:left}
  .team-grid{grid-template-columns:1fr}
  .loc-list li{grid-template-columns:1fr auto;gap:8px 16px}
  .l-addr{grid-column:1/-1;grid-row:2}
}

/* ===== multi-page + lily-pond theme ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-links a[aria-current=page]::after{transform:scaleX(1)}
.lotus{fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;overflow:visible}


/* full-screen menu with image (Antara / Deep Beauty) */
.menu{background:var(--moss);display:grid;grid-template-columns:1fr;align-content:center}
.menu-links{display:flex;flex-direction:column}
.menu-links a{font-family:var(--serif);font-size:clamp(40px,9vw,72px);line-height:1.08;display:flex;align-items:baseline;gap:14px;transition:color .3s,padding .5s var(--ease)}
.menu-links a sup{font-family:var(--sans);font-size:11px;color:var(--gold-2)}
.menu-links a:hover{color:var(--lotus);padding-left:10px}
.menu-img{display:none}
.menu-foot{margin-top:28px;font-size:14px;opacity:.7;line-height:1.7}

/* treatment list rows are links now */
.t-list li a{display:contents}
.t-list li a::after{content:"";position:absolute;inset:0}
.center-cta{display:flex;width:max-content;margin:56px auto 0}
.hero-stats{display:flex;gap:28px}
.hero-stats div{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.35);padding-left:14px}
.hero-stats b{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1}
.hero-stats span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin-top:4px}
.manifesto{position:relative}
.manifesto-lotus{position:absolute;right:var(--gut);top:clamp(60px,10vw,140px);width:clamp(110px,14vw,200px);color:var(--gold)}
.cta{position:relative}
.cta-lotus{width:110px;color:var(--moss);display:block;margin:0 auto 14px}
.cta-orb{background:var(--moss)}
.cta-orb:hover{background:var(--gold)}
.f-note{font-size:14px;opacity:.6;line-height:1.6;margin-top:18px;max-width:30ch}
.tech{background:var(--ink)}

/* home: locations teaser */
.loc-teaser{background:var(--mist);padding:clamp(90px,10vw,150px) var(--gut);display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,4vw,60px);align-items:end}
.loc-teaser h2{font-size:clamp(48px,6.5vw,110px)}
.loc-cities{display:flex;flex-wrap:wrap;gap:8px}
.loc-cities a{font-family:var(--serif);font-size:clamp(22px,2.2vw,32px);border:1px solid rgba(50,30,53,.2);border-radius:99px;padding:6px 18px;transition:background .3s,color .3s}
.loc-cities a:hover{background:var(--moss);color:var(--ivory)}
.loc-teaser .pill{grid-column:1/-1;justify-self:start;background:var(--moss);color:var(--ivory)}
.loc-teaser .pill b{background:var(--ivory);color:var(--moss)}

/* inner page hero */
.page-hero{position:relative;min-height:88svh;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,64px);align-items:end;padding:clamp(130px,16vh,180px) var(--gut) clamp(50px,7vw,90px);overflow:hidden;background:linear-gradient(180deg,var(--mist),var(--ivory))}
.page-hero.ph-compact{min-height:62svh;grid-template-columns:1fr}
.ph-title{font-size:clamp(60px,10vw,168px);line-height:.88}
.ph-intro{max-width:44ch;font-size:clamp(15px,1.3vw,18px);line-height:1.65;color:var(--ink-2);margin-top:28px}
.ph-img{height:min(64svh,620px);border-radius:999px 999px 10px 10px;overflow:hidden}
.ph-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
.ph-lotus{position:absolute;top:clamp(110px,15vh,150px);right:calc(var(--gut) + 2vw);width:clamp(90px,10vw,150px);color:var(--gold)}
.ph-compact .ph-lotus{top:auto;bottom:clamp(50px,7vw,90px)}

/* treatments page */
.tx-tools{padding:clamp(40px,5vw,70px) var(--gut) 10px;position:sticky;top:58px;z-index:50;background:linear-gradient(var(--ivory) 80%,rgba(251,246,242,0))}
.tx-search{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--ink);padding:10px 0;margin-bottom:22px}
.tx-search svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.6;flex:none}
.tx-search input{flex:1;border:0;background:transparent;font:inherit;font-family:var(--serif);font-size:clamp(22px,2.6vw,38px);color:var(--ink);outline:none;min-width:0}
.tx-search input::placeholder{color:rgba(50,30,53,.35)}
.tx-chips{margin-bottom:12px}
.tx-empty{font-size:15px;padding:20px 0;color:var(--ink-2)}
.catalog{padding:20px var(--gut) clamp(90px,10vw,150px)}
.cat{display:grid;grid-template-columns:minmax(220px,.8fr) 1.6fr;gap:clamp(24px,4vw,64px);padding:clamp(40px,5vw,70px) 0;border-top:1px solid rgba(50,30,53,.14);scroll-margin-top:200px}
.cat[hidden]{display:none}
.cat-img{border-radius:999px 999px 8px 8px;overflow:hidden;aspect-ratio:3/4;max-height:520px}
.cat-img img{width:100%;height:100%;object-fit:cover}
.cat-count{font-size:12px;color:var(--gold);letter-spacing:.16em}
.cat h2{font-size:clamp(46px,5.5vw,92px);margin:8px 0 14px}
.cat-copy>p{color:var(--ink-2);max-width:46ch;line-height:1.6}
.tx-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.tx{font-size:15px;border:1px solid rgba(50,30,53,.2);border-radius:99px;padding:10px 18px;transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.tx:hover{background:var(--moss);color:var(--ivory);border-color:var(--moss);transform:translateY(-2px)}
.tx[hidden]{display:none}
.tx mark{background:var(--lotus);color:inherit;border-radius:3px;padding:0 2px}

/* results page */
.rv-wall{columns:3 320px;column-gap:20px;padding:0 var(--gut)}
.rv-wall .rv{width:auto;break-inside:avoid;margin:0 0 20px;display:flex}
.rv-wall .rv:nth-child(3n+2){background:var(--moss);color:var(--ivory)}
.rv-wall .rv:nth-child(3n+2) figcaption{color:rgba(251,246,242,.75)}
.rv-note{padding:20px var(--gut) 0;font-size:13px;color:var(--ink-2)}
.quote-band{background:var(--moss);color:var(--ivory);text-align:center;padding:clamp(100px,12vw,180px) var(--gut)}
.quote-band .lotus{width:110px;color:var(--lotus);margin:0 auto 30px;display:block}
.quote-band blockquote{font-family:var(--serif);font-size:clamp(36px,5vw,80px);line-height:1.05;max-width:18em;margin:0 auto 26px}
.quote-band .eyebrow{color:var(--gold-2)}

/* packages page */
.pk{padding:clamp(50px,6vw,90px) var(--gut) clamp(90px,10vw,150px)}
.pk-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.pk-bar .chips{margin:0}
.pk-note{font-size:13px;color:var(--ink-2)}
.pk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.pk-grid .p-card{background:#fff;min-height:0}
.pk-grid .p-card.is-dark{background:var(--moss)}
.pk-grid .p-card[hidden]{display:none}
.p-cta{margin-top:auto;padding-top:24px;font-size:14px;font-weight:500;color:var(--moss)}
.p-card.is-dark .p-cta{color:var(--gold-2)}
.p-card ul{margin-bottom:6px}
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 var(--gut) clamp(90px,10vw,150px)}
.perk{border-radius:22px;padding:clamp(28px,3vw,44px);background:var(--mist);display:flex;flex-direction:column;gap:14px;min-height:340px}
.perk h3{font-size:clamp(34px,3vw,48px)}
.perk p{color:var(--ink-2);line-height:1.6}
.perk .pill{margin-top:auto;align-self:flex-start}
.perk-dark{background:var(--moss);color:var(--ivory)}
.perk-dark p,.perk-dark .eyebrow{color:rgba(251,246,242,.75)}
.perk-lotus{background:var(--lotus)}

/* about page */
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(50,30,53,.14);margin:0 var(--gut) clamp(90px,10vw,150px);border:1px solid rgba(50,30,53,.14);border-radius:22px;overflow:hidden}
.pl{background:var(--ivory);padding:clamp(28px,3vw,44px);min-height:280px;display:flex;flex-direction:column;transition:background .5s var(--ease),color .5s}
.pl:hover{background:var(--moss);color:var(--ivory)}
.pl:hover p{color:rgba(251,246,242,.75)}
.pl-n{font-size:12px;color:var(--gold);letter-spacing:.16em}
.pl h3{font-size:clamp(32px,2.8vw,46px);margin-top:auto}
.pl p{color:var(--ink-2);line-height:1.6;margin-top:12px;font-size:15px}
.tm-small{display:flex;flex-direction:column}
.tm-small .tm-mono{width:60px;height:60px;font-size:22px;margin-bottom:24px;background:var(--sage)}
.tm-mono{background:var(--moss)}
.studios{padding:0 0 clamp(90px,10vw,150px);overflow:hidden}
.studios .section-head{padding:0 var(--gut)}
.studio-row{display:flex;gap:20px;padding:0 var(--gut);width:max-content}
.studio-row figure{width:min(520px,78vw);margin:0}
.studio-row img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.studio-row figcaption{font-size:13px;color:var(--ink-2);margin-top:10px}

/* locations page */
.locations .loc-filter{margin-bottom:34px}
.loc-split{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,3vw,48px);align-items:start}
.loc-list li{cursor:pointer}
.loc-list li.is-active{background:rgba(251,246,242,.1);padding-left:16px;padding-right:16px}
.loc-list li.is-active .l-city{color:var(--lotus)}
.loc-map{position:sticky;top:110px;border-radius:22px;overflow:hidden;aspect-ratio:4/5;max-height:78vh;background:var(--moss-2)}
.loc-map iframe{width:100%;height:100%;border:0;filter:grayscale(.55) sepia(.18) hue-rotate(40deg) contrast(.95)}
.loc-card{position:absolute;left:16px;right:16px;bottom:16px;background:var(--ivory);color:var(--ink);border-radius:16px;padding:20px 22px}
.loc-card h3{font-size:36px;margin:4px 0 6px}
.loc-card p:not(.eyebrow){font-size:14px;color:var(--ink-2);margin-bottom:10px}

/* booking form (Goldust step form) */
.booking{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(24px,4vw,64px);padding:clamp(40px,5vw,70px) var(--gut) clamp(90px,10vw,150px);align-items:start}
.bk{background:#fff;border-radius:26px;padding:clamp(24px,3.5vw,52px);box-shadow:0 30px 80px -50px rgba(50,30,53,.45)}
.bk-steps{list-style:none;display:flex;gap:8px;margin-bottom:36px}
.bk-steps li{flex:1;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);padding-top:12px;border-top:2px solid rgba(50,30,53,.12);transition:border-color .4s,color .4s}
.bk-steps li span{color:var(--gold);margin-right:8px}
.bk-steps li.is-on{border-color:var(--moss);color:var(--ink)}
.bk-track{position:relative;min-height:300px}
.bk-step{border:0;display:none}
.bk-step.is-on{display:block}
.bk-step legend{font-family:var(--serif);font-size:clamp(34px,3.6vw,56px);line-height:1;margin-bottom:10px}
.bk-hint{color:var(--ink-2);font-size:14px;margin-bottom:22px}
.bk-interest .chip{cursor:pointer;user-select:none}
.bk-interest input,.bk-loc input{position:absolute;opacity:0;pointer-events:none}
.bk-interest .chip:has(input:checked){background:var(--moss);color:var(--ivory);border-color:var(--moss)}
.bk-interest .chip:has(input:focus-visible),.bk-loc:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.bk-picked{margin-top:18px;font-size:14px;color:var(--ink-2)}
.bk-locs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:22px}
.bk-loc{position:relative;border:1px solid rgba(50,30,53,.18);border-radius:14px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:background .3s,border-color .3s,color .3s}
.bk-loc b{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1}
.bk-loc span{font-size:12px;color:var(--ink-2);line-height:1.4}
.bk-loc:has(input:checked){background:var(--moss);color:var(--ivory);border-color:var(--moss)}
.bk-loc:has(input:checked) span{color:rgba(251,246,242,.75)}
.bk-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:24px}
.bk-fields label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.bk-fields input,.bk-fields textarea{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);border:0;border-bottom:1px solid rgba(50,30,53,.3);background:transparent;padding:10px 0;outline:none;transition:border-color .3s;resize:vertical}
.bk-fields input:focus,.bk-fields textarea:focus{border-color:var(--moss)}
.bk-fields .is-bad{border-color:#b4533f}
.bk-wide{grid-column:1/-1}
.bk-done{text-align:center;padding:20px 0}
.bk-done .lotus{width:110px;color:var(--gold);margin:0 auto 20px;display:block}
.bk-done h2{font-size:clamp(40px,4.5vw,68px);margin-bottom:16px}
.bk-done p{color:var(--ink-2);line-height:1.7;max-width:44ch;margin:0 auto}
.bk-nav{display:flex;align-items:center;gap:18px;margin-top:34px}
.bk-next{margin-left:auto}
.bk-error{font-size:13px;color:#b4533f}
.bk-aside{padding-top:20px}
.bk-phone{display:block;font-family:var(--serif);font-size:clamp(40px,4vw,64px);line-height:1;margin:10px 0 14px}
.bk-aside p:not(.eyebrow){color:var(--ink-2);line-height:1.6;font-size:15px}
.bk-aside hr{border:0;border-top:1px solid rgba(50,30,53,.14);margin:30px 0}

@media (min-width:901px){
  .menu{grid-template-columns:1.2fr 1fr;gap:5vw}
  .menu-img{display:block;grid-row:1/3;grid-column:2;height:70vh;border-radius:999px 999px 10px 10px;overflow:hidden}
  .menu-img img{width:100%;height:100%;object-fit:cover}
}
@media (max-width:900px){
  .hero-stats{display:none}
  .page-hero{grid-template-columns:1fr;min-height:auto;padding-top:120px}
  .ph-img{height:46svh;order:2}
  .ph-lotus{width:70px;top:100px}
  .cat{grid-template-columns:1fr}
  .cat-img{aspect-ratio:16/10;border-radius:200px 200px 8px 8px}
  .tx-tools{position:relative}
  .loc-teaser{grid-template-columns:1fr}
  .perks{grid-template-columns:1fr}
  .perk{min-height:0}
  .perk .pill{margin-top:10px}
  .pillars-grid{grid-template-columns:1fr}
  .pl{min-height:0}
  .pl h3{margin-top:14px;font-size:32px}
  .loc-split{grid-template-columns:1fr}
  .loc-map{position:relative;top:0;aspect-ratio:4/3.4;order:-1}
  .booking{grid-template-columns:1fr}
  .bk-fields{grid-template-columns:1fr}
  .manifesto-lotus{width:80px;top:40px}
}

/* nav: solid frosted bar once scrolled; white only over the dark home hero / open menu */
.nav.is-solid{background:rgba(251,246,242,.97);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 1px 0 rgba(50,30,53,.1),0 10px 30px -20px rgba(50,30,53,.35);padding-top:8px;padding-bottom:8px}
.nav.is-dark:not(.is-solid),body.menu-open .nav{color:#fff}
.nav.is-dark:not(.is-solid) .nav-logo img,body.menu-open .nav .nav-logo img{filter:invert(1) brightness(1.2)}
.nav.is-dark:not(.is-solid) .nav-cta{background:var(--ivory);color:var(--ink)}
.nav.is-dark:not(.is-solid) .nav-links a{text-shadow:0 1px 12px rgba(0,0,0,.35)}
body.menu-open .nav{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.nav-links a[aria-current=page]{color:var(--moss)}
.nav.is-dark:not(.is-solid) .nav-links a[aria-current=page]{color:#fff}
.nav-links a[aria-current=page]::before{content:"";position:absolute;left:50%;top:-9px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--gold)}
.nav-burger{border-radius:50%;background:rgba(251,246,242,.9);color:var(--ink)}
.nav.is-dark:not(.is-solid) .nav-burger{background:rgba(255,255,255,.18);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body.menu-open .nav-burger{background:rgba(255,255,255,.12);color:#fff}
body.menu-open .bookbar{transform:translate(-50%,160%)}

/* before/after: Lilly client wall */
.ba-wall-sec{padding:0 var(--gut) clamp(90px,10vw,150px)}
.ba-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bw{margin:0;cursor:pointer;outline:none}
.bw-img{position:relative;aspect-ratio:507/1004;max-height:620px;width:100%;overflow:hidden;border-radius:999px 999px 12px 12px;background:var(--mist)}
.bw-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bw-after{clip-path:inset(0 100% 0 0)}
.bw-tag{position:absolute;bottom:16px;left:16px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:rgba(50,30,53,.6);color:#fff;padding:7px 12px;border-radius:99px;backdrop-filter:blur(6px)}
.bw-tag-after{left:auto;right:16px;background:var(--lotus);color:var(--ink)}
.bw figcaption{display:flex;gap:12px;align-items:baseline;font-family:var(--serif);font-size:28px;margin-top:14px}
.bw figcaption span{font-family:var(--sans);font-size:12px;color:var(--gold)}
.bw:focus-visible .bw-img{outline:2px solid var(--gold);outline-offset:4px}
.ba{aspect-ratio:507/1004;max-height:84vh}
.ba-device .ba{aspect-ratio:4/5}
.results-device{background:var(--mist)}
@media (max-width:900px){.ba-wall{grid-template-columns:1fr 1fr;gap:12px}.bw figcaption{font-size:20px}.bw-img{border-radius:200px 200px 10px 10px}.ba{max-height:72vh;margin:0 auto}}
.bw-tag{transition:opacity .4s}
.bw-tag-after{left:16px;right:auto;opacity:0}
.bw.show-after .bw-tag-after{opacity:1}
.bw.show-after .bw-tag:not(.bw-tag-after){opacity:0}
.bw figcaption::after{content:"Hover to reveal";margin-left:auto;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
@media (hover:none){.bw figcaption::after{content:"Tap"}}
