:root{--ink:#272522;--fox:#4f4842;--stone:#887b6c;--moth:#a0907f;--paper:#fff;--soft:#f6f5f2;--line:#dedad4;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3{font-family:var(--serif)}h2{font-size:clamp(42px,4.25vw,72px);line-height:1.06;letter-spacing:-.035em}em{font-weight:400}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--stone);outline-offset:6px}.skip{position:fixed;left:20px;top:-80px;background:#fff;padding:12px 20px;z-index:100}.skip:focus{top:10px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:500;line-height:1.5}.section-pad{padding:100px var(--gutter)}
.header{height:100px;background:#fffffff5;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 var(--gutter);position:sticky;top:0;z-index:20;transition:height .3s,box-shadow .3s}.header.scrolled{height:82px;box-shadow:0 1px 0 #27252214}.brand{display:block;width:170px;flex-shrink:0}.brand img{width:100%}.header nav{display:flex;gap:30px;font-size:13px}.header nav a{position:relative;padding:12px 0}.header nav a:after{content:'';position:absolute;height:1px;background:currentColor;bottom:7px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;min-height:54px;background:var(--fox);border:1px solid var(--fox);color:#fff;font-size:12px;letter-spacing:.01em;position:relative;isolation:isolate;overflow:hidden;transition:background .3s,color .3s}.button:hover{background:#272522}.button span,.text-link span{display:inline-block;transition:transform .3s}.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}.header-book{font-size:11px;padding:12px 20px;min-height:47px;gap:24px}.text-link{font-size:12px;display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid var(--stone);padding:8px 0}.menu-toggle{display:none}.reading-progress{height:2px;background:var(--stone);position:absolute;left:0;bottom:0;width:100%;transform:scaleX(0);transform-origin:left}
.hero{height:min(770px,calc(100svh - 100px));min-height:610px;position:relative;overflow:hidden;background:#eae6df}.hero-image{position:absolute;inset:0;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:65% 50%;transform:scale(1.025);will-change:transform}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#faf9f378 0%,#faf9f32b 40%,transparent 61%);pointer-events:none}.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;padding:40px var(--gutter) 85px;width:58%;align-items:flex-start}.hero h1{font-size:clamp(80px,7.7vw,132px);line-height:.88;letter-spacing:-.055em;margin:32px 0 25px}.hero h1 em{font-style:italic}.hero-sub{font-family:var(--serif);font-size:clamp(23px,2.3vw,37px);letter-spacing:-.025em;line-height:1.2}.hero-description{font-size:13px;margin:17px 0 25px;color:#4f4842}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.hero-foot{position:absolute;bottom:26px;left:var(--gutter);right:var(--gutter);z-index:2;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.04em}.hero-foot a{display:flex;align-items:center;gap:24px}.hero-foot a span{font-size:20px}.hero-enter{animation:enter 1s both;animation-delay:.1s}.hero-enter:nth-child(2){animation-delay:.2s}.hero-enter:nth-child(3){animation-delay:.3s}.hero-enter:nth-child(4){animation-delay:.4s}.hero-enter:nth-child(5){animation-delay:.5s}@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.approach{display:grid;grid-template-columns:.62fr 1.45fr 1fr;gap:45px;align-items:start;border-bottom:1px solid var(--line)}.approach>.eyebrow{padding-top:12px}.approach h2{font-size:clamp(38px,3.7vw,60px)}.approach-copy{font-size:13px;max-width:340px;padding-top:8px}.approach-copy p+p{margin-top:18px;color:#66605a}.approach-copy a{margin-top:18px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.section-heading h2{margin-top:20px}.section-heading>p{font-size:13px;color:#68615b;margin-bottom:5px}.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card-image{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--soft)}.card-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#17140f70);pointer-events:none}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.65,.3,1),filter .8s}.renewal img{object-position:85% 50%}.image-label{position:absolute;bottom:24px;left:22px;color:#fff;z-index:1;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.image-cta{position:absolute;right:18px;top:18px;background:#fffffff0;padding:8px 15px;font-size:11px;opacity:0;transform:translateY(-7px);transition:opacity .4s,transform .4s}.treatment-card:hover .card-image img,.treatment-card:focus-visible .card-image img{transform:scale(1.045)}.treatment-card:hover .image-cta,.treatment-card:focus-visible .image-cta{opacity:1;transform:none}.card-title{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.card-title h3{font-size:32px;line-height:1.2;letter-spacing:-.02em}.card-title>span{font-size:25px;transition:transform .3s}.treatment-card:hover .card-title>span{transform:translate(3px,-3px)}.treatment-card>p{font-size:11px;color:#756e67;margin-top:9px}.treatment-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:42px;padding-top:26px;border-top:1px solid var(--line);font-size:12px;color:#625b54}
.experience{background:var(--fox);color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;column-gap:10%;padding-bottom:90px}.experience-top{grid-column:1/-1;display:flex;justify-content:space-between;margin-bottom:65px;color:#ddd7ce}.experience-note{font-size:11px}.experience h2{font-size:clamp(66px,7vw,112px);line-height:1.03;letter-spacing:-.045em;position:relative;z-index:1}.experience h2 em{color:#d2c5b5}.steps{position:relative;z-index:1}.step{display:grid;grid-template-columns:40px 1fr;gap:20px;padding:24px 0;border-top:1px solid #ffffff35}.step:first-child{padding-top:8px;border-top:0}.step-number{font-size:11px;color:#d4c7b7;padding-top:10px}.step h3{font-size:32px;letter-spacing:-.015em;margin-bottom:12px}.step p{font-size:13px;color:#ddd8d2;max-width:365px;line-height:1.8}.light-link{grid-column:2;justify-self:start;margin-top:12px;border-color:#ac9f90}.experience-watermark{position:absolute;width:min(48%,680px);height:auto;bottom:25px;left:var(--gutter);opacity:.045;pointer-events:none}.questions{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#fbfaf8}.questions h2{font-size:clamp(38px,3.6vw,58px);margin-top:24px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;gap:24px;justify-content:space-between;align-items:center;padding:24px 0;font-size:13px;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:400;transition:transform .3s}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:#6c635b;padding:0 30px 25px 0}details p a{text-decoration:underline}.visit{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.visit-image{overflow:hidden;max-height:720px}.visit-image img{width:100%;height:100%;object-fit:cover;object-position:50% 36%}.visit-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:75px clamp(30px,7vw,120px)}.visit h2{font-size:clamp(65px,6vw,98px);margin:27px 0 22px}.visit-content>p:not(.eyebrow){font-size:14px;color:#69615a}.visit .button{margin-top:30px}.visit address{font-style:normal;font-size:12px;margin-top:35px;color:#6b635b}.visit-links{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:13px;font-size:12px}.footer{padding-top:65px;padding-bottom:25px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;align-items:start}.footer-top>p{font-family:var(--serif);font-size:28px;line-height:1.2}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:50px;padding-top:23px;font-size:10px;color:#766d64}.disclaimer{font-size:9px;color:#81796f;margin-top:15px}.reveal{transition:opacity .8s,transform .9s cubic-bezier(.2,.65,.3,1)}.reveal.pending{opacity:0;transform:translateY(28px)}.treatment-card:nth-child(2){transition-delay:.1s}.treatment-card:nth-child(3){transition-delay:.2s}
@media(min-width:1800px){.hero-content{padding-left:max(var(--gutter),calc((100vw - 1620px)/2))}.section-pad{padding-left:max(var(--gutter),calc((100vw - 1620px)/2));padding-right:max(var(--gutter),calc((100vw - 1620px)/2))}}
@media(max-width:1100px){.header{gap:20px;height:86px}.header nav{gap:20px}.brand{width:145px}.header-book{gap:12px;padding:12px 15px}.hero{min-height:600px;height:680px}.hero-content{width:63%}.hero h1{font-size:88px}.hero-actions{gap:15px}.approach{grid-template-columns:1fr 1fr;gap:30px}.approach>.eyebrow{grid-column:1/-1}.experience{column-gap:6%}.section-pad{padding-top:80px;padding-bottom:80px}.card-title h3{font-size:28px}}
@media(max-width:800px){.header{height:78px}.header.scrolled{height:70px}.header-book{margin-left:auto}.header nav{display:none;position:fixed;inset:78px 0 0;background:#fff;padding:45px var(--gutter);flex-direction:column;gap:10px;font-family:var(--serif);font-size:38px}.header.scrolled nav{top:70px}.header nav.open{display:flex}.header nav a{align-self:flex-start}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:36px;height:44px;border:0;background:none;padding:4px;position:relative;z-index:1}.menu-toggle span{height:1px;width:26px;background:var(--ink);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero h1{font-size:80px}.hero-content{width:65%}.hero-actions{align-items:flex-start;flex-direction:column}.hero-foot{font-size:9px}.experience-note{display:none}.questions{gap:6%}.card-title h3{font-size:25px}.image-label{font-size:8px;left:14px;bottom:16px}.visit-content{padding:55px 32px}.visit-links{gap:10px 20px}.footer-top{grid-template-columns:1fr 1fr}.footer-top nav{grid-column:1/-1}}
@media(max-width:600px){:root{--gutter:24px}body{font-size:14px}html{scroll-padding-top:80px}.header{gap:13px}.brand{width:126px}.header-book{font-size:10px;min-height:39px;padding:9px 12px;gap:13px}.header-book span{display:none}.menu-toggle{width:28px}.hero{height:auto;min-height:0;display:flex;flex-direction:column;background:#f3f1ec;padding-bottom:0}.hero-image{position:relative;height:390px;order:2;inset:auto}.hero-image img{object-fit:cover;object-position:78% 50%;width:170%;max-width:none;transform:translateX(-37%);height:100%}.hero:after{display:none}.hero-content{height:auto;width:100%;padding:47px 24px 38px;order:1}.hero .eyebrow{font-size:8px;letter-spacing:.16em}.hero h1{font-size:clamp(64px,18vw,79px);line-height:.89;margin:26px 0 22px}.hero h1 br{display:none}.hero h1 em{display:block}.hero-sub{font-size:27px}.hero-description{font-size:12px;margin:14px 0 23px}.hero-actions{flex-direction:row;gap:15px;align-items:center}.hero-actions .button{font-size:10px;gap:18px;padding:13px 15px;min-height:47px}.hero-actions .text-link{font-size:10px;gap:12px}.hero-foot{display:none}.section-pad{padding-top:60px;padding-bottom:60px}.approach{grid-template-columns:1fr;gap:25px}.approach>.eyebrow{padding:0}.approach h2{font-size:45px}.approach-copy{max-width:100%;font-size:13px;padding:0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:47px;max-width:330px}.section-heading>p{margin-top:22px;font-size:12px}.treatment-grid{grid-template-columns:1fr;gap:35px}.card-image{aspect-ratio:4/4.5}.card-title h3{font-size:34px}.image-label{font-size:9px;left:20px;bottom:21px}.image-cta{opacity:1;transform:none;font-size:10px}.treatment-bottom{display:block;margin-top:32px}.treatment-bottom a{margin-top:13px}.experience{grid-template-columns:1fr}.experience-top{margin-bottom:32px}.experience h2{font-size:76px;margin-bottom:40px}.steps{margin:0}.step{padding:22px 0;grid-template-columns:28px 1fr;gap:14px}.step:first-child{border-top:1px solid #ffffff35;padding-top:22px}.step h3{font-size:30px}.step p{font-size:12px}.light-link{grid-column:1;margin-left:42px;margin-top:20px}.experience-watermark{width:calc(100% - 48px);bottom:20px;opacity:.035}.questions{grid-template-columns:1fr;gap:30px}.questions h2{font-size:44px}.visit{grid-template-columns:1fr}.visit-image{height:410px}.visit-image img{object-position:center 28%}.visit-content{padding:55px 24px}.visit h2{font-size:75px}.visit .eyebrow{font-size:9px}.visit address{margin-top:27px}.footer-top{gap:25px}.footer-top>p{font-size:25px}.footer-top nav{gap:12px 25px}.footer-bottom{font-size:9px;flex-wrap:wrap;gap:12px;margin-top:32px}.disclaimer{font-size:9px;line-height:1.7}.reveal.pending{transform:translateY(15px)}}
.header nav a[aria-current]:after{transform:scaleX(1)}
@media(min-width:801px) and (max-width:1100px){.header nav{gap:16px;font-size:12px}}
@media(max-width:800px){.header nav{overflow-y:auto;overscroll-behavior:contain}.header nav a{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}.hero-image img{will-change:auto}}
.hero h1.tagline-title{font-size:clamp(62px,5.9vw,102px);max-width:9.5em}

/* Sitewide promotions: a quiet, stationary strip above the sticky navigation. */
.promo-bar{background:var(--ink);color:#fff;text-align:center}
.promo-bar>a{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:9px 20px;font-size:12px;line-height:1.5;letter-spacing:.025em}
.promo-divider{color:#b8afa5}
.promo-cta{white-space:nowrap;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff75}
.promo-bar>a:hover .promo-cta{text-decoration-color:#fff}
.promo-bar>a:focus-visible{outline:2px solid #fff;outline-offset:-5px}
@media(max-width:800px){.header nav,.header.scrolled nav{top:var(--mobile-nav-top,122px)}}
@media(max-width:400px){.promo-bar>a{gap:9px;font-size:11px;padding-inline:12px}}

/* Homepage review: stronger promotions treatment, pending sitewide approval. */
.promo-bar--featured>a{flex-wrap:wrap;gap:8px 20px;min-height:52px;padding-block:8px;font-size:13px;font-weight:500;letter-spacing:.035em}
.promo-bar--featured .promo-cta{display:inline-flex;align-items:center;gap:13px;border:1px solid #d5c8b7;padding:5px 13px;color:#f0e5d6;text-decoration:none;font-size:11px;letter-spacing:.045em;transition:background .2s,color .2s}
.promo-bar--featured>a:hover .promo-cta,.promo-bar--featured>a:focus-visible .promo-cta{background:#f0e5d6;color:var(--ink)}
@media(max-width:400px){.promo-bar--featured>a{gap:8px 12px;font-size:11px;letter-spacing:.015em}.promo-bar--featured .promo-cta{font-size:10px;gap:8px;padding:5px 9px}}

/* Skincare brands — homepage editorial collection. */
.skincare{background:var(--soft);border-top:1px solid var(--line)}
.skincare-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:55px}
.skincare-heading h2{margin-top:18px;font-size:clamp(44px,4.2vw,68px)}
.skincare-heading>p{max-width:340px;font-size:14px;color:#655e57;line-height:1.8}
.skincare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.skincare-brand{padding:36px 36px 42px;text-align:center;min-width:0}
.skincare-brand+.skincare-brand{border-left:1px solid var(--line)}
.skincare-logo{height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:28px}
.skincare-logo img{width:auto;height:auto;object-fit:contain;max-width:100%;max-height:72px}
.skincare-logo .logo-pavise{width:150px}
.skincare-logo .logo-hydrinity{width:260px}
.skincare-logo .logo-skinbetter{width:215px}
.skincare-brand>.eyebrow{font-size:10px;letter-spacing:.13em;color:var(--fox);margin-bottom:16px}
.skincare-description{font-size:13px;line-height:1.9;color:#655e57;max-width:340px;margin-inline:auto}
.skincare-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:28px}
.skincare-bottom p{font-size:12px;color:#655e57}.skincare-bottom .text-link{flex-shrink:0}
@media(max-width:1000px){.skincare-brand{padding-inline:22px}.skincare-heading{gap:30px}.skincare-heading>p{max-width:300px}}
@media(max-width:700px){.skincare-heading{display:block;margin-bottom:32px}.skincare-heading>p{margin-top:24px;max-width:100%;font-size:13px}.skincare-grid{grid-template-columns:1fr}.skincare-brand{padding:30px 8px 35px}.skincare-brand+.skincare-brand{border-left:0;border-top:1px solid var(--line)}.skincare-logo{height:85px;margin-bottom:22px}.skincare-description{max-width:400px}.skincare-bottom{display:block}.skincare-bottom .text-link{margin-top:12px}}

.skincare-brand{display:flex;flex-direction:column;align-items:center}.skincare-brand .skincare-description{flex:1}.skincare-product-link{margin-top:24px;min-height:44px}
