@font-face{font-family:Cinzel;src:url(f/cinzel.otf) format("opentype");font-weight:400;font-display:swap}
:root{--white:#fbfaf7;--cream:#f1ebe0;--cream2:#e8dfcf;--gold:#b48f4c;--gold2:#d4b47a;--ink:#2a2622;--soft:#6d655c;--g:clamp(18px,4.5vw,64px)}
*{box-sizing:border-box;margin:0;padding:0}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--white);color:var(--ink);font:400 17px/1.6 Urbanist,system-ui,sans-serif;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,blockquote,summary,.lead{text-wrap:balance}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;z-index:99}.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sample-bar{background:var(--ink);color:#e8dfcf;text-align:center;font-size:12.5px;padding:6px 12px;position:relative;z-index:31}
.h2{font-family:Cinzel,serif;font-weight:400;font-size:clamp(32px,3.8vw,54px);line-height:1.1;letter-spacing:.01em}
.h2 em{font-style:normal;color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 26px;border-radius:2px;font-weight:500;font-size:15px;letter-spacing:.03em;text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),background-color .3s,color .3s,box-shadow .35s;-webkit-tap-highlight-color:transparent}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--ink);transform:translateY(-2px)}
.btn-line{border:1px solid var(--ink)}.btn-line:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.btn:focus-visible,summary:focus-visible,.links a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* nav */
.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--g);background:rgba(251,250,247,.0);transition:background-color .4s,box-shadow .4s;margin-bottom:-74px}
.nav.solid{background:var(--white);box-shadow:0 1px 0 rgba(42,38,34,.1)}
.brand{font-family:Cinzel,serif;font-size:26px;letter-spacing:.12em;text-decoration:none;color:#fff;min-height:46px;display:inline-flex;align-items:center;transition:color .4s}
.nav.solid .brand,.nav.solid .links{color:var(--ink)}
.links{display:flex;gap:30px;font-size:14.5px;letter-spacing:.03em;color:#fff;transition:color .4s}
.links a{text-decoration:none;padding:6px 0;background:linear-gradient(var(--gold2),var(--gold2)) 0 100%/0 1px no-repeat;transition:background-size .35s}
.links a:hover{background-size:100% 1px}
.nav-book{min-height:44px;padding:9px 18px}

/* hero: two halves part to show the reception */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:var(--cream)}
.centre{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 55%,#fff,var(--cream) 70%)}
.arch{width:min(36vw,420px);aspect-ratio:704/1100;border-radius:999px 999px 6px 6px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(42,38,34,.45);margin-top:6vh}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.half{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;will-change:transform}
.half-l{left:0}.half-r{right:0}
.half img{width:100%;height:100%;object-fit:cover}
.half-l img{object-position:60% 50%}.half-r img{object-position:50% 40%}
.half::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,25,20,.45),rgba(30,25,20,.1) 40%,rgba(30,25,20,.55))}
.half-copy{position:absolute;bottom:56px;z-index:2;color:#fff}
.half-l .half-copy{left:var(--g)}.half-r .half-copy{right:var(--g);text-align:right}
.tag{font-family:Cinzel,serif;font-size:clamp(22px,2vw,30px);letter-spacing:.06em}
.list{font-size:14.5px;letter-spacing:.03em;color:#efe7da;margin-top:4px}
.hero-copy{position:absolute;left:0;right:0;top:42%;transform:translateY(-50%);text-align:center;z-index:3;color:#fff;pointer-events:none}
.word{display:block;font-family:Cinzel,serif;font-weight:400;font-size:clamp(64px,11vw,176px);letter-spacing:.14em;line-height:1;text-shadow:0 6px 40px rgba(0,0,0,.25);padding-left:.14em}
.sub1{display:block;font-size:clamp(14px,1.3vw,18px);letter-spacing:.12em;margin-top:14px;color:#f3ece0}
.hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;font-family:Cinzel,serif;font-size:14px;letter-spacing:.2em;color:#fff;opacity:.85}

/* intro */
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,100px);align-items:center;padding:clamp(90px,13vh,150px) var(--g)}
.lead{font-size:clamp(18px,1.5vw,21px);color:var(--soft);max-width:560px;margin:22px 0}
.rate{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;color:var(--soft);font-size:15px;margin-bottom:28px}
.rate b{font-family:Cinzel,serif;font-weight:400;font-size:44px;color:var(--ink);line-height:1}
.stars{color:var(--gold);letter-spacing:.1em}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.intro-photo{border-radius:999px 999px 4px 4px;overflow:hidden;aspect-ratio:4/5;max-width:440px;justify-self:end;box-shadow:0 40px 70px -40px rgba(42,38,34,.45)}
.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}

/* the two sides */
.side{padding:clamp(80px,12vh,140px) var(--g);display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(30px,5vw,80px);align-items:start}
.side-clinic{background:var(--cream)}
.side-bar{background:var(--white);grid-template-columns:1.5fr 1fr}
.side-bar .side-head{order:2}
.side-head{position:sticky;top:100px}
.kicker{font-size:13.5px;letter-spacing:.2em;color:var(--gold);margin-bottom:12px;text-transform:uppercase}
.treat{list-style:none;margin-top:26px;border-top:1px solid rgba(42,38,34,.15)}
.treat li{padding:14px 0;border-bottom:1px solid rgba(42,38,34,.15);font-size:18px;display:flex;justify-content:space-between}
.treat li::after{content:"";width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg) translateY(6px)}
.results{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.r{position:relative;border-radius:6px;overflow:hidden;background:var(--cream2);box-shadow:0 30px 60px -40px rgba(42,38,34,.5)}
.r img{width:100%;height:100%;object-fit:contain;background:#fff;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.r:hover img{transform:scale(1.02)}
.r figcaption{position:absolute;left:12px;bottom:12px;background:rgba(251,250,247,.92);padding:6px 10px;font-size:13px;letter-spacing:.04em;border-radius:2px}
.results .r1{grid-column:1/-1;aspect-ratio:1170/1127;max-height:640px}
.results .r1 img{object-fit:contain}
.results .r2,.results .r3{aspect-ratio:1}
.results-2 .r1{grid-column:auto;aspect-ratio:1;max-height:none}
.results-2 .r2{aspect-ratio:1}
.side-quotes{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.side-bar .side-quotes{order:3}
.side-quotes blockquote{background:var(--white);border-left:2px solid var(--gold);padding:20px 22px;font-size:17px}
.side-bar .side-quotes blockquote{background:var(--cream)}
.side-quotes cite{display:block;font-style:normal;font-size:13.5px;color:var(--soft);margin-top:10px}
.side-quotes cite::before{content:"★★★★★  ";color:var(--gold);letter-spacing:.06em}

/* trust */
.trust{display:grid;grid-template-columns:1.1fr .9fr;min-height:90vh;background:var(--ink);color:#f1ebe0}
.room{position:relative;overflow:hidden}
.room video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.room figcaption{position:absolute;left:14px;bottom:12px;font-size:12px;background:rgba(0,0,0,.4);padding:4px 8px;border-radius:3px;color:#eee}
.trust-copy{padding:clamp(70px,10vh,120px) var(--g);display:flex;flex-direction:column;justify-content:center}
.big-q{font-family:Cinzel,serif;font-size:clamp(26px,2.6vw,40px);line-height:1.3}
.who{margin-top:18px;color:#c9bda9;font-size:15px}
.words{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.words li{border:1px solid rgba(212,180,122,.55);color:var(--gold2);padding:9px 14px;font-size:14.5px;letter-spacing:.03em}

/* visit */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);padding:clamp(90px,13vh,150px) var(--g);background:var(--cream)}
.addr{font-size:21px;margin:24px 0 18px}
.hours{list-style:none;margin-bottom:26px;max-width:420px}
.hours li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(42,38,34,.15)}
.shop{border-radius:6px;overflow:hidden;aspect-ratio:1169/1138;box-shadow:0 40px 70px -40px rgba(42,38,34,.45)}
.shop img{width:100%;height:100%;object-fit:cover}
.faq{grid-column:1/-1}
details{border-bottom:1px solid rgba(42,38,34,.15)}
summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-size:18.5px;font-weight:500;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:28px;color:var(--gold);transition:transform .35s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 0 22px;color:var(--soft);max-width:680px}

.foot{background:var(--ink);color:#c9bda9;text-align:center;padding:60px 20px 110px;font-size:14.5px}
.foot-word{font-family:Cinzel,serif;font-size:40px;letter-spacing:.14em;color:var(--gold2)}
.foot .small{font-size:12.5px;max-width:560px;margin:12px auto 0;color:#9d917e}
.m-bar{display:none}

/* JS start states */
.js .word{opacity:0;letter-spacing:.5em}
.js .sub1,.js .half-copy,.js .hint{opacity:0}
.js .half-l{clip-path:inset(0 100% 0 0)}
.js .half-r{clip-path:inset(0 0 0 100%)}

@media (max-width:900px){
  .links{display:none}
  .nav{margin-bottom:-70px}
  .arch{width:62vw}
  .half-copy{bottom:70px}
  .tag{font-size:18px}.list{font-size:12.5px}
  .hint{display:none}
  .intro,.side,.trust,.visit{grid-template-columns:1fr}
  .intro-photo{justify-self:stretch;max-width:none}
  .side-head{position:static}
  .side-bar .side-head{order:0}
  .side-quotes{grid-template-columns:1fr}
  .results-2{grid-template-columns:1fr}
  .room{min-height:60vh}
  .m-bar{display:flex;gap:8px;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
  .m-bar.show{transform:none}
  .m-bar a{flex:1;display:grid;place-items:center;min-height:54px;background:#fff;color:var(--ink);font-weight:600;text-decoration:none;box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
  .m-bar a:first-child{flex:2;background:var(--gold);color:#fff}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js .word,.js .sub1,.js .half-copy,.js .hint{opacity:1!important;letter-spacing:.14em}
  .js .half-l,.js .half-r{clip-path:none!important}
}
