:root{--cream:#f4f0e8;--ink:#342c24;--muted:#74695d;--gold:#b4986f;--line:#d9d0c1;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:#baa17b;color:#fff}header{height:108px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:35px;letter-spacing:5px;line-height:1}.brand span{display:block;font:9px var(--sans);letter-spacing:3px;margin-top:11px;text-align:center}.header nav{display:flex;gap:35px;font-size:14px}.header nav a:hover{color:#a07f4a}.nav-cta{font-size:14px;border-bottom:1px solid var(--gold);padding:13px 0}.nav-cta span{margin-left:30px}.hero{height:min(790px,calc(100svh - 108px));min-height:620px;position:relative;background:#32291f;color:#fff8ed;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,21,17,.84),rgba(25,21,17,.36) 52%,rgba(25,21,17,.02)),linear-gradient(0deg,rgba(25,21,17,.48),transparent 30%)}.hero-content{position:relative;padding:86px 7% 90px;max-width:900px}.eyebrow{font-size:11px;letter-spacing:3px;line-height:1.8;font-weight:500}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(80px,8.2vw,132px);line-height:.95;letter-spacing:-3px;margin:31px 0 28px}.hero h1 em{font-weight:400;color:#e5ceaa}.hero-description{font-size:15px;line-height:1.85;color:#e5dfd6;margin:0 0 33px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:19px 24px;font-size:13px;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button.light{background:var(--cream);color:var(--ink)}.button span{font-size:20px}.hero-bottom{position:absolute;bottom:30px;left:7%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.hero-note{position:absolute;right:6%;bottom:115px;transform:rotate(-9deg);border:1px solid #e5d2b370;border-radius:50%;width:152px;height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-note span{font-size:9px;letter-spacing:2px}.hero-note em{font-family:var(--serif);font-size:26px;margin-top:8px}@media(max-width:760px){header{height:88px;padding:0 6%}.brand{font-size:28px}.brand span{font-size:8px;letter-spacing:2px}.header nav{display:none}.nav-cta{font-size:12px}.nav-cta span{margin-left:12px}.hero{height:760px;min-height:0;max-height:calc(100svh - 88px)}.hero-content{padding:85px 7% 100px}.hero h1{font-size:clamp(68px,13vw,96px);letter-spacing:-2px;line-height:1}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#211b16c9,#211b1645),linear-gradient(0deg,#211b1666,transparent)}.hero-note{display:none}.hero-bottom{bottom:24px;font-size:8px;letter-spacing:1px}.hero-bottom a{font-size:9px}.eyebrow{font-size:10px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.section{padding:76px 7% 100px}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:2px;color:var(--muted);padding-bottom:32px;border-bottom:1px solid var(--line)}h2{font-family:var(--serif);font-size:clamp(48px,4.8vw,76px);font-weight:400;line-height:1.02;letter-spacing:-1.5px;margin:0}h2 em{font-weight:400;color:#9b7b4e}.philosophy-grid{display:grid;grid-template-columns:1.1fr 1fr .7fr;gap:5%;align-items:center;padding-top:68px}.small-rule{display:block;width:60px;height:1px;background:var(--gold);margin-top:35px}.philosophy-copy p,.space-copy p{font-size:15px;color:var(--muted);line-height:1.9}.philosophy-copy .intro{font-family:var(--serif);font-size:28px;color:var(--ink);line-height:1.2;margin-top:0}.text-link{display:inline-flex;align-items:center;gap:34px;font-size:13px;padding:15px 0 10px;border-bottom:1px solid var(--gold);margin-top:10px}.text-link span{font-size:20px;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}figure{margin:0}figure img{width:100%;display:block;object-fit:cover}.detail-photo{align-self:start;margin-top:10px}.detail-photo img{height:295px;object-position:38% center;border-radius:120px 120px 0 0}figcaption{font-size:9px;letter-spacing:1.6px;color:var(--muted);padding-top:18px}.treatments{background:#eae3d7}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;padding-top:55px;margin-bottom:52px}.section-heading p{font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 5px}.treatment-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:8%}.treatment-image{position:relative;align-self:start}.treatment-image img{height:580px;object-position:center 64%}.treatment-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#20191399)}.treatment-image figcaption{position:absolute;z-index:1;bottom:35px;left:32px;color:var(--cream)}.treatment-image figcaption span{font-size:10px;letter-spacing:3px;display:block;margin-bottom:9px}.treatment-image figcaption em{font:italic 33px var(--serif);letter-spacing:0}details{border-bottom:1px solid #c9beac}summary{display:flex;align-items:center;gap:24px;cursor:pointer;padding:25px 0;list-style:none;font:32px var(--serif)}summary::-webkit-details-marker{display:none}.treatment-num{font:11px var(--sans);color:#88765d}.toggle{width:14px;height:14px;margin-left:auto;position:relative}.toggle:before,.toggle:after{content:'';position:absolute;background:var(--ink);top:6px;left:0;width:14px;height:1px}.toggle:after{transform:rotate(90deg)}details[open] .toggle:after{transform:rotate(0)}.treatment-body{padding:0 0 29px 40px}.treatment-body>p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 23px;max-width:390px}.prices>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;font-size:14px;border-bottom:1px solid #d8cebd}.prices small{font-size:11px;color:var(--muted);margin-left:4px}.menu-note{font-size:11px;color:var(--muted);line-height:1.8;margin:22px 0}.space-grid{display:grid;grid-template-columns:.85fr 1.2fr;gap:12%;padding-top:62px;align-items:center}.space-copy p{max-width:355px}.space-copy h2{margin-bottom:27px}.space-grid img{height:490px;object-position:66% center}.space-grid figcaption{text-align:right}.visit{background:#342b23;color:#ede3d3;padding:80px 7% 60px;position:relative;overflow:hidden}.visit:before,.visit:after{content:'';position:absolute;width:640px;height:640px;border:1px solid #baa17b20;border-radius:50%;top:-170px;left:-400px;pointer-events:none}.visit:after{left:auto;right:-450px;width:850px;height:850px;top:-40px}.visit-top{text-align:center;position:relative}.visit-top .eyebrow{color:#bda889;margin-bottom:26px}.visit h2{font-size:clamp(76px,8.2vw,120px);line-height:.94}.visit h2 em{color:#cfb48c}.visit-top>p:not(.eyebrow){font-size:14px;color:#c4b7a7;margin:28px 0}.visit-top .button{margin:8px 0 58px}.visit-info{display:grid;grid-template-columns:1fr 1fr .7fr;border-top:1px solid #bca78440;padding-top:38px;gap:40px}.visit-info .eyebrow{color:#bca784;font-size:10px}.visit-info p{font-size:14px;line-height:1.9}.visit-info a{font-size:12px;border-bottom:1px solid #9d8562;padding-bottom:7px}.visit-motto{text-align:right;font:italic 35px/.98 var(--serif);color:#baa17b}footer{display:flex;align-items:center;justify-content:space-between;padding:38px 7%;gap:20px}footer .brand{font-size:27px}footer .brand span{font-size:8px}footer p,footer>a:last-child{font-size:10px;letter-spacing:1px;color:var(--muted)}@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}}@media(max-width:1000px){.philosophy-grid{grid-template-columns:1fr 1fr;gap:45px}.detail-photo{display:none}.treatment-layout{gap:5%}.treatment-image img{height:590px}.space-grid{gap:7%}}@media(max-width:760px){.section{padding:48px 7% 62px}.section-label{font-size:8px;letter-spacing:1.3px;padding-bottom:22px}.philosophy-grid{grid-template-columns:1fr;padding-top:40px;gap:28px}h2{font-size:52px;letter-spacing:-1px}.small-rule{margin-top:24px}.philosophy-copy p,.space-copy p{font-size:16px}.section-heading{display:block;padding-top:40px;margin-bottom:30px}.section-heading p{margin-top:22px}.treatment-layout{grid-template-columns:1fr;gap:20px}.treatment-image img{height:350px;object-position:center 65%}.treatment-image figcaption{bottom:25px;left:24px}.treatment-image figcaption em{font-size:30px}summary{font-size:29px;padding:24px 0;gap:20px}.treatment-body{padding-left:31px}.treatment-body>p{font-size:15px}.prices>div{font-size:14px}.space-grid{grid-template-columns:1fr;padding-top:40px;gap:35px}.space-grid img{height:370px}.space-copy p{max-width:none}.visit{padding:65px 7% 45px}.visit h2{font-size:78px}.visit-info{grid-template-columns:1fr;gap:34px}.visit-motto{display:none}.visit-info p{font-size:15px}.visit-info a{font-size:14px}footer{flex-wrap:wrap;padding:32px 7%;gap:26px}footer .brand{width:100%;font-size:32px}footer .brand span{text-align:left;margin-left:3px}footer p,footer>a:last-child{font-size:10px}}@media(max-height:730px) and (max-width:760px){.hero{max-height:none;height:670px}.hero-content{padding-top:55px}}

/* Specialists — keep the shared portrait intact across screen sizes. */
.specialists{background:var(--cream)}
.specialists-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding-top:62px}
.specialists-photo{max-width:510px}
.specialists-photo img{width:100%;height:auto;aspect-ratio:1087/1447;object-fit:contain}
.specialists-copy .eyebrow{color:var(--muted);margin:0 0 22px}
.specialists-copy h2{font-size:clamp(46px,4.6vw,72px)}
.specialists-copy h2 em{display:block}
.specialists-copy p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted);max-width:420px}
.specialists-copy .specialists-intro{font:30px/1.2 var(--serif)!important;color:var(--ink)!important;margin:30px 0 22px}
@media(min-width:761px) and (max-width:1100px){.header nav{gap:18px;font-size:12px}.specialists-grid{gap:7%}}
@media(max-width:760px){.specialists-grid{grid-template-columns:1fr;gap:35px;padding-top:35px}.specialists-photo{max-width:none}.specialists-copy h2{font-size:52px}.specialists-copy h2 em{display:inline}.specialists-copy .specialists-intro{font-size:28px!important}}

/* The supplied banner is a complete composition: preserve its full frame. */
.hero.hero-branded{height:auto;min-height:0;max-height:none;background:#30251c;overflow:visible}
.hero-branded .hero-image{position:static;display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:3/2}
.hero-welcome{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:32px 7% 36px;border-top:1px solid #c7a57040}
.hero-welcome .eyebrow{font-size:10px;letter-spacing:2.4px;color:#d2b994;margin:0 0 10px}
.hero-branded h1{font:400 clamp(30px,3.6vw,52px)/1.12 var(--serif);letter-spacing:-.6px;margin:0}
.hero-branded h1 em{color:#e5ceaa}
.hero-welcome .button{flex-shrink:0}
@media(max-width:760px){.hero-welcome{display:block;padding:29px 7% 34px}.hero-branded h1{font-size:clamp(36px,8.8vw,52px);line-height:1.08;max-width:440px}.hero-welcome .button{margin-top:24px}.hero-branded .hero-image{object-position:center}}

/* SVG arrows avoid emoji/font substitution on iOS and inherit link colors. */
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex-shrink:0;pointer-events:none}
