/* Hair, nail spa features and the facial care journey share the house palette. */
.salon-hair-title{font-size:clamp(4.5rem,10vw,10rem);max-width:7ch}
.salon-hero-pair{grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(0,.8fr);grid-template-areas:"left copy right";gap:clamp(24px,3vw,48px)}
.salon-hero-pair .s-hero-copy{grid-area:copy}
.salon-hero-pair .salon-hair-title{font-size:clamp(4rem,6.5vw,7rem)}
.salon-hero-pair .s-note{font-size:clamp(1.6rem,2.2vw,2.4rem);margin-left:0;transform:none}
.salon-hero-photo{overflow:hidden;background:var(--paper-2);aspect-ratio:3/5}
.salon-hero-photo--left{grid-area:left;border-radius:48% 48% 4px 4px;align-self:start;margin-top:28px}
.salon-hero-photo--right{grid-area:right;border-radius:4px 4px 48% 48%;align-self:end;margin-bottom:28px}
.salon-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:1100px){
 .salon-hero-pair{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"copy copy" "left right";gap:28px 20px;min-height:0}
 .salon-hero-pair .s-hero-copy{max-width:680px}
 .salon-hero-photo{width:100%;max-width:360px;justify-self:center;aspect-ratio:3/4}
 .salon-hero-photo--left{margin-top:0}.salon-hero-photo--right{margin-top:28px;margin-bottom:0}
}
@media(max-width:700px){
 .salon-hero-pair .salon-hair-title{font-size:clamp(4rem,16vw,6rem)}
 .salon-hero-pair{gap:30px 12px}.salon-hero-photo{aspect-ratio:3/5}
}
.signature-services{max-width:1120px;padding-block:clamp(42px,5vw,76px)}
.signature-services .s-head{margin-bottom:40px}
.signature-services .h2-s{font-size:clamp(2.6rem,5vw,4.5rem)}
.signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px clamp(28px,5vw,72px);align-items:start}
.signature-card:nth-child(even){margin-top:60px}
.signature-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,7vw,110px);align-items:center;max-width:1100px}
.signature-card figure{overflow:hidden;aspect-ratio:1/1.05;background:var(--paper-2);border-radius:3px 3px 60px 3px}
.signature-card:nth-child(even) figure{border-radius:80px 3px 3px 3px}
.signature-card figure img{width:100%;height:100%;object-fit:cover}
.signature-card--textured figure img{object-position:20% center}
.signature-copy{padding-top:18px;max-width:56ch}
.signature-copy h3{margin:0 0 14px;font:italic clamp(1.8rem,2.7vw,2.8rem)/1.08 var(--f-salon);overflow-wrap:anywhere}
.signature-copy>p{color:var(--muted)}
.care-details{margin-block:22px;border-block:1px solid var(--line);max-width:60ch}
.care-details summary{cursor:pointer;min-height:48px;padding-block:12px;color:var(--accent);font-weight:600;list-style:revert}
.care-details p{padding:0 0 20px;font-size:1rem;line-height:1.7;color:var(--muted)}
.signature-copy .service-actions,.volcano-copy .service-actions{margin-bottom:0}
.nail-features{padding-block:30px 0;display:grid;gap:24px}
.nail-features + .s-menu{padding-top:32px}
.mens-spa-poster{width:min(100%,900px);height:auto;margin-inline:auto;border-radius:4px}
.volcano-feature{isolation:isolate;position:relative;overflow:hidden;background:#100e0b;color:var(--paper);border-radius:4px;min-height:720px;display:grid;align-items:center}
.volcano-feature picture{position:absolute;inset:0;z-index:-2}
.volcano-feature picture img{width:100%;height:100%;object-fit:cover}
.volcano-feature::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,10,8,.97),rgba(12,10,8,.88) 33%,rgba(12,10,8,.1) 74%)}
.volcano-copy{max-width:56%;padding:clamp(24px,4vw,64px);--muted:#d9cec1;--accent:#e9c58a;--line:#655442}
.volcano-copy h2{font:clamp(2.4rem,5vw,5rem)/1 var(--f-salon);margin-bottom:25px}
.volcano-copy h2 em{display:block;font:clamp(2.8rem,5vw,5rem)/1.3 var(--f-script);color:#e9c58a}
.volcano-copy .eyebrow{color:#e9c58a;line-height:1.6;margin-bottom:20px}
.volcano-copy ul{display:grid;gap:14px;margin:28px 0;padding-left:20px;list-style:disc}
.volcano-copy .script{font-size:2rem;line-height:1.3;color:#e9c58a}
.volcano-copy .link-ask,.volcano-copy .call-option{color:#e9c58a}
.dip-service-photo{display:block;width:100%;max-width:350px;max-height:420px;object-fit:cover;border-radius:4px;margin-bottom:22px}
.facial-hero{min-height:850px;min-height:100svh;isolation:isolate}
.facial-backdrop{position:absolute;inset:0;z-index:-2}
.facial-hero .hero-backdrop{position:static;width:100%;height:100%;object-fit:cover;object-position:65% center}
.facial-hero.photo-hero::before{background:linear-gradient(90deg,rgba(246,240,230,.98),rgba(246,240,230,.93) 32%,rgba(246,240,230,.12) 80%)}
.facial-hero .s-hero-copy{max-width:680px}
.facial-title{font-size:clamp(3.6rem,7.5vw,7.6rem);line-height:.98;max-width:10ch;margin-bottom:22px}
.facial-hero .s-note{font-size:clamp(1.8rem,3vw,2.7rem);transform:none;margin:0}
.facial-hero .service-actions{margin-top:28px}
.facial-hero .link-quiet{display:inline-flex;min-height:44px;align-items:center}
.facial-journey{padding-block:clamp(72px,9vw,140px)}
.facial-flow{position:relative;isolation:isolate;display:grid;gap:clamp(72px,10vw,160px)}
.facial-thread{position:absolute;inset:0;z-index:-1;width:100%;height:100%;overflow:visible;pointer-events:none}
.facial-thread path{fill:none;stroke:var(--gold);stroke-width:1.5;opacity:.48;vector-effect:non-scaling-stroke}
.facial-step{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(40px,9vw,150px)}
.facial-step:nth-of-type(even) .facial-step-media{order:2}
.facial-step-media{position:relative;min-width:0}
.facial-step-media>img,.facial-step-media video{display:block;width:100%;height:auto;max-height:660px;object-fit:cover;aspect-ratio:4/5;border-radius:42% 42% 4px 4px;background:var(--ink)}
.facial-step-media video{object-fit:contain;aspect-ratio:auto;border-radius:4px;max-height:650px}
.facial-step-copy{background:var(--paper);padding-block:24px}
.facial-step-copy .eyebrow{margin-bottom:20px}
.facial-step-copy h3{font:italic clamp(2.4rem,4.6vw,4.8rem)/1.02 var(--f-salon);margin-bottom:24px}
.facial-step-copy>p:not(.eyebrow){max-width:42ch;color:var(--muted)}
.video-caption{margin-top:12px;font-size:.88rem;color:var(--muted);max-width:44ch}
.facial-finish{display:grid;place-items:center;aspect-ratio:1;background:var(--paper-2);border:1px solid var(--gold);border-radius:50%;padding:40px;box-shadow:inset 0 0 0 14px var(--paper),inset 0 0 0 15px var(--gold)}
.facial-finish .script{text-align:center;white-space:pre-line;font-size:clamp(2rem,4vw,4rem);line-height:1.4;color:var(--rust)}
.facial-consult{padding-block:70px 120px;background:var(--paper-2)}
.facial-consult h2{max-width:18ch;margin-bottom:28px}
.facial-consult>p:not(.eyebrow){max-width:58ch;color:var(--muted)}
/* Keep the long facial journey free of continuous gradient repaints. */
.page-facials .site-header::after,.page-facials .photo-hero::after,
.page-facials .visit-map::after,.page-facials .footer-bottom::before,
.page-facials .ft-sign::after,.page-facials .ft-base::before,.page-facials .s-head::after,
.page-facials .link-cta::after,.page-facials .link-ask::after,
.page-facials .site-nav a::after,.page-facials .language-toggle::before,
.page-facials .header-cta::before{animation:none}
.page-facials .site-header.is-scrolled{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
.page-facials .facial-step-media{contain:paint}
@media(max-width:900px){
 .signature-grid{gap:38px 25px}.signature-card:nth-child(even){margin-top:40px}
 .volcano-copy{max-width:64%;padding:28px}.volcano-feature{min-height:760px}
 .facial-step{gap:35px}.facial-title{font-size:clamp(3.3rem,9vw,6rem)}
}
@media(max-width:700px){
 .salon-hair-title{font-size:clamp(4rem,17vw,6rem);max-width:8ch}
 .signature-grid{grid-template-columns:1fr;gap:36px}.signature-card:nth-child(even){margin-top:0}
 .signature-card:last-child{display:block}.signature-copy{padding-top:22px}
 .signature-card figure{max-height:380px}.signature-copy h3{font-size:2.1rem}
 .nail-features{padding-top:0}.volcano-feature{display:flex;align-items:flex-start;padding-bottom:90vw;min-height:0}
 .volcano-copy{max-width:none;padding:30px 24px 20px}.volcano-copy h2{font-size:2.8rem}
 .volcano-feature picture img{object-fit:cover;object-position:center bottom}
 .volcano-feature::before{background:linear-gradient(180deg,#100e0b 0%,rgba(16,14,11,.97) 48%,rgba(16,14,11,.88) 64%,transparent 82%)}
 .facial-hero{display:flex;align-items:flex-start;padding-top:130px;padding-bottom:90vw;min-height:0}
 .facial-hero .s-hero-copy{max-width:100%}.facial-title{font-size:clamp(3.5rem,12vw,5rem);max-width:11ch}
 .facial-hero.photo-hero::before{background:linear-gradient(180deg,#f6f0e6 0%,rgba(246,240,230,.97) 40%,rgba(246,240,230,.87) 58%,transparent 84%)}
 .facial-hero .hero-backdrop{object-position:center bottom}
 .facial-step{grid-template-columns:1fr;gap:25px;padding-left:0}
 .facial-step:nth-of-type(even) .facial-step-media{order:0}
 .facial-step-copy{padding-block:16px;background:transparent}.facial-step-copy h3{font-size:2.8rem}
 .facial-thread{left:0;width:100%}.facial-thread path{stroke-width:1.5;opacity:.48}
 .facial-flow{gap:60px}.facial-journey .s-head{margin-bottom:45px}
 .facial-step-media>img{max-height:550px}.facial-consult{padding-block:55px 75px}
 .care-details summary{padding-left:4px}.facial-finish{max-width:350px;margin:auto}
}
@media(prefers-reduced-motion:reduce){.signature-card img,.facial-thread{animation:none;transition:none}}
