:root{--ink:#2b211e;--mocha:#5a4640;--taupe:#cdbcad;--stone:#efe8e1;--bone:#faf7f3;--rose:#a9786d;--line:rgba(43,33,30,.14);
--pad:clamp(20px,5vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(68px + env(safe-area-inset-top,0px))}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--bone);line-height:1.7;font-size:var(--fs,17px);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em}
h1{font-size:clamp(44px,8vw,92px)}
h2{font-size:clamp(34px,5vw,56px);margin-bottom:20px}
h3{font-size:26px}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--pad)}
section{padding:clamp(64px,10vw,128px) 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 34px;border-radius:999px;background:var(--ink);color:var(--bone);text-decoration:none;font-weight:400;font-size:15px;letter-spacing:.04em;transition:background .25s,transform .25s}
.btn:hover{background:var(--rose)}
.btn.light{background:var(--bone);color:var(--ink)}
.btn.light:hover{background:var(--taupe)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--bone)}
header{position:sticky;top:0;z-index:20;background:rgba(250,247,243,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:var(--serif);font-size:24px;font-weight:600;text-decoration:none;line-height:1}
.logo small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.35em;font-weight:400;margin-top:3px;text-align:center}
header .btn{min-height:42px;padding:0 22px;font-size:14px}
/* hero */
.hero{padding:0;background:var(--taupe)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,72px);align-items:end;padding-top:clamp(40px,7vw,96px)}
.hero-copy{padding-bottom:clamp(40px,7vw,96px)}
.pill{display:inline-block;border:1px solid var(--ink);border-radius:999px;padding:5px 16px;font-size:14px;margin-bottom:26px}
.hero h1{margin-bottom:28px}
.hero p.lead{font-size:19px;max-width:30em;margin-bottom:34px;color:var(--mocha)}
.stars{display:flex;align-items:center;gap:10px;margin-top:26px;font-size:14px}
.stars b{color:#8a6a2e;letter-spacing:3px;font-size:18px}
.hero-img{position:relative}
.hero-img img{width:100%;aspect-ratio:6/7;object-fit:cover;object-position:center top;border-radius:300px 300px 0 0}
/* intro */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px)}
.intro .big{font-family:var(--serif);font-size:clamp(26px,3.2vw,38px);line-height:1.25}
.intro p+p{margin-top:16px}
.ticks{list-style:none;margin-top:28px;border-top:1px solid var(--line)}
.ticks li{padding:15px 0 15px 34px;border-bottom:1px solid var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:4px;top:23px;width:12px;height:7px;border-left:1.5px solid var(--rose);border-bottom:1.5px solid var(--rose);transform:rotate(-45deg)}
/* topics */
.topics{background:var(--ink);color:var(--bone);text-align:center;padding:clamp(56px,8vw,96px) 0}
.topics h2{font-size:clamp(26px,3.4vw,38px);font-style:italic;font-weight:400;color:var(--taupe)}
.topics ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);margin-top:36px;border:1px solid rgba(255,255,255,.18)}
.topics li{background:var(--ink);padding:30px 12px;font-family:var(--serif);font-size:clamp(20px,2.4vw,28px)}
/* expertise */
.expertise{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.expertise video,.expertise img.m{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px 8px 8px;background:var(--stone)}
.expertise p{margin-top:18px}
/* treatments */
.treat{background:var(--stone)}
.treat-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);align-items:start}
.treat-list{border-top:1px solid var(--ink);margin-bottom:36px}
.treat-list div{display:grid;grid-template-columns:1fr;gap:4px;padding:22px 0;border-bottom:1px solid var(--line)}
.treat-list p{color:var(--mocha);max-width:34em}
.treat-img img{width:100%;border-radius:8px;position:sticky;top:96px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(40px,6vw,72px)}
.trio img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px}
/* compare */
.compare .head{max-width:760px;margin-bottom:48px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.card{border:1px solid var(--line);border-radius:8px;padding:clamp(24px,4vw,44px);background:#fff}
.card h4{font-family:var(--serif);font-size:22px;font-weight:600;margin:22px 0 4px}
.card ul{list-style:none}
.card li{padding:9px 0;border-bottom:1px solid var(--line)}
.card li:last-child{border:0}
.versus{margin-top:20px;background:var(--ink);color:var(--bone);border-radius:8px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px)}
.versus h3{margin-bottom:12px;color:var(--taupe)}
.versus .full{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);padding-top:28px}
.versus .full p{max-width:34em}
/* before after */
.ba{background:var(--taupe)}
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,36px);margin-top:36px}
.slider{position:relative;aspect-ratio:var(--ar,5/3);overflow:hidden;border-radius:8px;background:var(--stone);touch-action:pan-y}
.slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center)}
.slider .top{clip-path:inset(0 50% 0 0)}
.slider input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3;margin:0;touch-action:pan-y}
.slider .bar{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:2;pointer-events:none}
.slider .bar::after{content:"\25C0  \25B6";white-space:pre;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:9px;box-shadow:0 4px 18px rgba(0,0,0,.28)}
.slider span{position:absolute;top:12px;z-index:2;background:rgba(43,33,30,.62);color:#fff;font-size:12px;line-height:1;padding:6px 12px;border-radius:99px;pointer-events:none}
.slider .b{left:12px}.slider .a{right:12px}
.ba figcaption{margin-top:12px;font-family:var(--serif);font-size:24px}
.ba figcaption small{display:block;font-family:var(--sans);font-size:14px;opacity:.75}
/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px)}
.faq-grid p.sub{margin-bottom:28px;color:var(--mocha)}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:24px 40px 24px 0;font-family:var(--serif);font-size:24px;line-height:1.2;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:28px;transition:transform .3s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details p{padding:0 0 26px;color:var(--mocha);max-width:36em}
/* final */
.final{background:var(--ink);color:var(--bone);padding:0}
.final .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,96px);align-items:center;padding-top:clamp(56px,8vw,112px);padding-bottom:clamp(56px,8vw,112px)}
.final p{color:#d8cdc4;margin-bottom:16px}
.final img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px}
footer{background:#1c1513;color:#9d8f87;font-size:13px;padding:36px 0}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
footer p{max-width:44em}
/* sticky mobile cta */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(250,247,243,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:none}
.sticky .btn{width:100%}
@media (max-width:860px){
body{font-size:calc(var(--fs,17px) - 1px)}
.hero .wrap,.intro,.expertise,.treat-grid,.cols,.versus,.faq-grid,.final .wrap{grid-template-columns:1fr}
.hero-img{order:-1;max-width:420px}
.hero-img img{aspect-ratio:4/4.2;border-radius:200px 200px 0 0}
.hero .wrap{padding-top:28px}
.topics ul{grid-template-columns:1fr 1fr}
.treat-img img{position:static}
.trio{grid-template-columns:1fr 1fr 1fr;gap:8px}
.ba-grid{grid-template-columns:1fr}
.slider{aspect-ratio:var(--ar-m,4/3)}
header .btn{display:none}
.sticky{display:block}
.expertise video{aspect-ratio:1/1;border-radius:140px 140px 8px 8px}
.versus .full .btn{width:100%}
.hero .btn,.final .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.topics ul{gap:14px;background:none;border:0}
.topics li{position:relative;padding:0;aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:#3a2d29;display:flex;align-items:flex-end;text-align:left}
.topics li img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.topics li:hover img{transform:scale(1.05)}
.topics li::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,20,17,.88),rgba(30,20,17,0) 60%)}
.topics li span{position:relative;z-index:1;padding:18px 18px 20px;line-height:1.1}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:200px 200px 8px 8px}
.portrait{position:relative}
.portrait::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--rose);border-radius:214px 214px 8px 8px;z-index:-1}
.badge{position:absolute;left:-18px;bottom:36px;background:var(--bone);padding:18px 22px;border-radius:8px;box-shadow:0 18px 40px rgba(43,33,30,.18);display:flex;align-items:center;gap:14px;max-width:240px;line-height:1.25}
.badge b{font-family:var(--serif);font-size:44px;font-weight:500;color:var(--rose)}
.badge span{font-size:14px}
.final img{border-radius:200px 200px 8px 8px}
@media (max-width:860px){.badge{left:12px;bottom:20px;padding:12px 16px}.badge b{font-size:34px}.topics li{aspect-ratio:4/5}.topics li span{font-size:19px;padding:12px}.portrait{max-width:420px}.portrait::before{display:none}}
body.no-sticky{padding-bottom:0}
.logo img{max-height:42px;width:auto}
.hero-img .badge{z-index:2}
.foot-info{display:flex;flex-wrap:wrap;gap:6px 28px;width:100%;font-size:14px}
.foot-info a{text-decoration:none}
.wa{position:fixed;right:16px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:31;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.wa svg{width:28px;height:28px;fill:#fff}
body.no-sticky .wa{bottom:20px}
@media (min-width:861px){.wa{bottom:24px}}
.screen-reader-text{position:absolute;left:-9999px}
.page-default{padding:clamp(48px,8vw,96px) 0}
.page-default .entry{max-width:760px}
.page-default .entry p{margin-bottom:1em}

/* menu */
.nav-wrap{flex:1;display:flex;justify-content:center}
.nav{display:flex;gap:clamp(18px,2.4vw,36px);list-style:none}
.nav a{position:relative;display:inline-block;padding:6px 0;text-decoration:none;font-size:15px;letter-spacing:.02em}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.head-actions{display:flex;align-items:center;gap:12px}
.burger{display:none;position:relative;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}
.burger span{position:absolute;left:14px;right:14px;height:1.5px;background:var(--ink);transition:transform .3s,top .3s}
.burger span:nth-child(1){top:19px}
.burger span:nth-child(2){top:26px}
.menu-open .burger span:nth-child(1){top:22.5px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){top:22.5px;transform:rotate(-45deg)}
@media (max-width:1060px){
.burger{display:block}
.nav-wrap{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bone);border-bottom:1px solid var(--line);padding:4px var(--pad) 24px;max-height:calc(100vh - 68px - env(safe-area-inset-top,0px));overflow:auto;box-shadow:0 20px 40px rgba(43,33,30,.1)}
.menu-open .nav-wrap{display:block}
.nav{flex-direction:column;gap:0}
.nav a{display:block;padding:15px 0;font-family:var(--serif);font-size:26px;letter-spacing:0;border-bottom:1px solid var(--line)}
.nav a::after{display:none}
.nav a.active{color:var(--rose)}
header .wrap{justify-content:space-between}
.head-actions{margin-left:auto}
}
/* no white strip under the footer: leave room for the sticky bar inside the dark footer */
@media (max-width:860px){body:not(.no-sticky) footer{padding-bottom:calc(36px + 74px + env(safe-area-inset-bottom,0px))}}
