/* Homepage art direction; treatment and policy pages keep their own layouts. */
.home .review-list.review-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:0}
.home .review-slider::-webkit-scrollbar{display:none}
.home .review-slider .review:nth-child(n){display:flex;flex:0 0 calc(100% / 3);box-sizing:border-box;scroll-snap-align:start;padding:0 30px;margin:0;border-left:1px solid var(--rule)}
.home .review-slider .review:first-child{border-left:0}
.review-controls{display:flex;align-items:center;gap:20px;align-self:flex-end;margin-top:30px}
.review-controls button{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--rule);background:transparent;color:var(--ink);font-size:24px;cursor:pointer}
.review-controls button:hover:not(:disabled){background:var(--ink);color:white}.review-controls button:disabled{opacity:.3;cursor:default}
.review-controls button:focus-visible,.review-slider:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.review-position{font-size:11px;font-variant-numeric:tabular-nums;min-width:70px;text-align:center}
@media(max-width:760px){.home .review-slider .review:nth-child(n){flex-basis:100%;padding:0 10px 22px;border-left:0}.review-controls{align-self:center}}
.salon-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;border:1px solid #fff;background:#232421c9;color:#fff;display:grid;place-items:center;transition:background .2s;box-shadow:0 4px 24px #0002}
.salon-play span{font-size:26px;padding-left:4px}.salon-play:hover{background:#232421}.salon-play:focus-visible{outline:3px solid white;outline-offset:6px}
.video-modal{width:min(1100px,92vw);max-width:92vw;max-height:92svh;padding:44px 0 0;border:0;background:#151515;color:white;overflow:auto}
.video-modal::backdrop{background:#000d}.video-modal video{display:block;width:100%;aspect-ratio:16/9;max-height:calc(92svh - 44px);object-fit:contain;background:black}
.video-close{position:absolute;right:3px;top:0;width:44px;height:44px;border:0;background:none;color:white;font-size:30px;line-height:1}
.video-error{padding:15px}.video-open{overflow:hidden}
.home{--paper:#fafaf8;--ink:#232421;background:var(--paper)}
.home .hero{height:calc(100svh - 162px);min-height:530px;max-height:1000px}
.home .hero>img{object-position:50% top;animation:none;filter:saturate(1.14)}
.home .hero:after{background:linear-gradient(0deg,rgba(15,18,16,.82) 0%,rgba(15,18,16,.58) 19%,rgba(15,18,16,.25) 34%,transparent 55%)}
.home .hero-copy{position:absolute;inset:auto 5% 30px;margin:0;padding:0;width:auto;max-width:none;height:auto;display:block}
.home .hero h1{font-size:78px;line-height:1.08;font-weight:400;margin:0 0 20px;max-width:100%;text-shadow:0 2px 12px #0002}
.home .hero .eyebrow{font-size:10px;margin-bottom:12px}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid #ffffff70;padding-top:20px}
.hero-bottom>p{font-size:13px;max-width:480px}
.home .hero-bottom .booking{background:transparent;color:white;border-bottom:1px solid white;padding:8px 0}
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-block:30px 36px;border-bottom:1px solid var(--rule)}
.home-intro>p{max-width:680px;font-size:14px}.home-intro>a{white-space:nowrap}
.home .about{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px 6%;align-items:start;padding:105px 0 95px}
.about-heading{grid-column:1/-1;display:flex;align-items:start;justify-content:space-between;padding-bottom:22px}
.about-heading h2{font-size:64px;max-width:65%}.about-heading .eyebrow{padding-top:12px}
.home .portrait{grid-column:1;max-width:none;margin:0;overflow:visible}
.home .portrait img{aspect-ratio:4/5;object-fit:cover}.portrait figcaption{font-size:10px;padding-top:12px;color:var(--muted)}
.home .about-copy{grid-column:2/-1;padding:36px 0 0 5%;max-width:780px}
.home .about-copy p:not(.eyebrow){font-size:23px;line-height:1.65;max-width:none;margin-bottom:32px}
.home .about-copy p:last-of-type{font:38px/1.3 Playfair,serif;max-width:540px}
.home .signature{width:120px;height:65px;margin-top:20px}
.home-treatments{padding:10px 0 110px}.home-treatments .section-top{padding-bottom:36px;border-bottom:1px solid var(--rule);margin-bottom:30px}
.home-treatments h2{font-size:56px}.treatment-edit{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:25px;align-items:start}
.treatment-edit a{min-width:0}.treatment-edit a:nth-child(2){padding-top:60px}.treatment-edit a:nth-child(3){padding-top:120px}
.treatment-edit figure{overflow:hidden}.treatment-edit img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.treatment-edit a:hover img{transform:scale(1.035)}.edit-label{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule)}
.edit-label b{font:36px Playfair,serif}.edit-label>span{font-size:26px}
.salon-story{background:#e7ebe8}.salon-photo{position:relative;height:620px;overflow:hidden}.salon-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.salon-photo>span{position:absolute;bottom:28px;left:5%;background:#232421;color:white;padding:8px 12px;font-size:9px}
.salon-copy{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:65px 75px}.salon-copy h2{font-size:64px}.salon-copy p{font-size:14px;margin-bottom:24px}
.salon-copy .eyebrow{font-size:10px}.salon-film{margin-top:28px;border-top:1px solid #aeb7af;border-bottom:1px solid #aeb7af}
.salon-film summary{padding:16px 0;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;list-style:none}.salon-film summary::-webkit-details-marker{display:none}.salon-film[open] summary>span{transform:rotate(45deg)}
.salon-film .external-media{margin:0 0 20px}.collection-preview{display:grid;grid-template-columns:.85fr 1.2fr .8fr;gap:6%;align-items:center;padding-block:100px}
.collection-preview h2{font-size:48px;margin-bottom:20px}.collection-preview img{width:100%;aspect-ratio:4/5;object-fit:cover}.collection-preview>a:last-child{align-self:end;padding-top:80px}.collection-preview>a:last-child img{aspect-ratio:3/4}
.home .reviews{padding-block:70px 80px;display:flex;flex-direction:column}.home .reviews h2{font-size:48px}.home .reviews .section-top{margin-bottom:42px}.home .review-list{gap:0}.home .review{border:0;border-left:1px solid var(--rule);padding:0 30px;display:flex;flex-direction:column;align-items:flex-start}.home .review:first-child{border-left:0;padding-left:0}.home .review:nth-child(3n){padding-right:0}.home .review:nth-child(n+4){display:none}.home .review-list.expanded .review{display:flex;margin-top:40px}.home .review-list.expanded .review:nth-child(-n+3){margin-top:0}.home .review:before{content:'\201C';font:64px/1 Playfair,serif;color:#726b5d;height:48px;margin-bottom:12px}.home .review p{font-size:15px;line-height:1.85}.home .review a{margin-top:auto;padding-top:26px;font-size:11px}.home .review-note{order:4;font-size:10px;margin:20px 0 0}.home .reviews-toggle{align-self:flex-start;margin-top:32px}
.review.is-condensed p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.review.is-condensed.is-open p{display:block}
.review-read{display:block;background:none;border:0;border-bottom:1px solid var(--rule);padding:4px 0;color:var(--muted);font-size:10px;margin-top:8px}
.home .reviews .review a{margin-top:auto}.home footer{padding-top:60px}
@media(min-width:1600px){.home .hero h1{font-size:96px}.home .hero-copy{inset-inline:7%}.salon-photo{height:720px}}
@media(min-width:761px) and (max-width:1100px){}
@media(max-width:1000px){.home .hero h1{font-size:68px}.home .about-copy p:not(.eyebrow){font-size:18px}.home .about-copy p:last-of-type{font-size:30px}.about-heading h2,.salon-copy h2{font-size:48px}.collection-preview h2{font-size:36px}.salon-photo{height:480px}}
@media(max-width:760px){.home .hero{height:calc(100svh - 132px);min-height:500px;max-height:850px}
 .home .hero>img{object-position:53% 30%}.home .hero-copy{inset:auto 7% 30px}.home .hero h1{font-size:48px;max-width:310px;line-height:1.1;margin-bottom:20px}
 .home .hero:after{background:linear-gradient(0deg,#101310e0 0%,#101310b5 25%,#10131060 42%,transparent 65%)}.hero-bottom{display:block;padding-top:16px}.hero-bottom>p{font-size:12px;max-width:260px;margin-bottom:14px}
 .home .hero-bottom .booking{font-size:11px}.home-intro{display:block;padding-block:25px}.home-intro>p{font-size:12px}.home-intro>a{margin-top:12px;font-size:10px}
 .home .about{grid-template-columns:1fr;gap:25px;padding-block:55px}.about-heading{display:block;padding:0;grid-column:auto}.about-heading .eyebrow{padding:0;margin-bottom:12px}.about-heading h2{font-size:42px;max-width:none}
 .home .portrait{grid-column:auto;width:76%;max-width:400px}.home .portrait img{aspect-ratio:1}.home .about-copy{grid-column:auto;padding:0}.home .about-copy p:not(.eyebrow){font-size:17px;margin-bottom:20px}.home .about-copy p:last-of-type{font-size:30px}
 .home-treatments{padding-bottom:55px}.home-treatments h2{font-size:40px}.home-treatments .section-top{padding-bottom:20px;margin-bottom:22px}.treatment-edit{grid-template-columns:1fr 1fr;gap:25px 18px}
 .treatment-edit a:first-child{grid-column:1/-1}.treatment-edit a:first-child img{aspect-ratio:5/4}.treatment-edit a:nth-child(2),.treatment-edit a:nth-child(3){padding-top:0}.edit-label b{font-size:28px}.edit-label{padding:10px 0}
 .salon-photo{height:360px}.salon-photo img{object-position:58% center}.salon-copy{display:block;padding-block:38px 42px}.salon-copy h2{font-size:42px;margin-bottom:25px}.salon-copy p{font-size:13px}
 .collection-preview{grid-template-columns:1fr 1fr;gap:25px 18px;padding-block:55px}.collection-preview>div{grid-column:1/-1}.collection-preview h2{font-size:40px;margin-bottom:10px}.collection-preview>a:last-child{padding-top:40px}
 .home .reviews{padding-block:45px 50px}.home .reviews h2{font-size:36px}.home .reviews .section-top{margin-bottom:28px}.home .review,.home .review:first-child{padding:22px 0 28px;border-left:0;border-bottom:1px solid var(--rule);margin:0}.home .review p{font-size:14px}.home .review-list.expanded .review{margin-top:0}.home .review:before{font-size:52px;height:38px;margin-bottom:8px}.home .review a{padding-top:18px}.home .reviews-toggle{margin-top:24px}
}
@media(max-width:360px){.home .hero h1{font-size:42px}.home .hero{min-height:560px}.treatment-edit{gap:20px 12px}}
@media(prefers-reduced-motion:no-preference){.salon-photo img{transition:object-position .15s linear;object-position:50% calc(48% + var(--photo-shift,0px))}}

/* A leading quotation with a glimpse of the next, rather than a card grid. */
.home .reviews .section-top{flex-wrap:wrap;align-items:center}
.home .reviews .section-top>.text-link{margin-left:auto}
.home .reviews .review-controls{margin:0;align-self:center}
.home .review-slider{scroll-padding-inline:0}
.home .review-slider .review:nth-child(n){flex-basis:78%;padding:0 7% 22px 0;border:0;scroll-snap-stop:always}
.home .review-slider .review p{font:28px/1.55 Playfair,serif;max-width:780px}
.home .review-slider .review a{margin-top:22px;padding-top:0}
.home .review-slider .review:before{font-size:76px;height:54px}
.home .review-slider .review.is-condensed p{-webkit-line-clamp:4}
.home .review-slider .review.is-open p{display:block}
.home .review-slider:after{content:'';flex:0 0 22%}
.salon-play span{transition:transform .3s}
@media(hover:hover){.salon-play:hover span{transform:scale(1.18)}.home .booking{transition:background .25s,color .25s}.home .booking span{display:inline-block;transition:transform .25s}.home .booking:hover span{transform:translate(3px,-3px)}}
@media(prefers-reduced-motion:no-preference){
 @keyframes hero-settle{from{transform:scale(1.065)}to{transform:scale(1)}}
 @keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
 .home .hero>img{animation:hero-settle 8s cubic-bezier(.16,1,.3,1) both}
 .home .hero .eyebrow{animation:hero-enter .75s .1s both}
 .home .hero h1{animation:hero-enter .9s .22s both}
 .home .hero-bottom{animation:hero-enter .8s .38s both}
 .image-reveal{clip-path:inset(0 0 12% 0);transition:clip-path 1s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
 .image-reveal img{transform:scale(1.06);transition:transform 1.2s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
 .image-revealed{clip-path:inset(0)}.image-revealed img{transform:scale(1)}
 .home .salon-photo img{transform:translateY(var(--photo-shift,0px)) scale(1.1);object-position:50% 48%;transition:transform .15s linear}
}
@media(max-width:760px){
 .home .reviews .section-top{display:flex;gap:20px}.home .reviews .section-top>div:first-child{width:100%}
 .home .reviews .section-top>.text-link{margin:0 auto 0 0}.home .review-controls{gap:12px}
 .home .review-controls button{width:44px;height:44px}.home .review-position{min-width:42px}
 .home .review-slider .review:nth-child(n){flex-basis:90%;padding:0 24px 16px 0}
 .home .review-slider:after{flex-basis:10%}.home .review-slider .review p{font-size:21px;line-height:1.55}
 .home .review-slider .review:before{font-size:60px;height:44px}
}
@media(prefers-reduced-motion:reduce){.home .salon-photo img,.image-reveal,.image-reveal img{transition:none;transform:none}.salon-play span{transition:none}}

/* Keep the photograph atmospheric and let the headline lead. */
.home .hero:after{background:linear-gradient(180deg,rgba(20,22,23,.22),rgba(20,22,23,.08) 35%,rgba(16,19,18,.72) 78%,rgba(16,19,18,.9)),linear-gradient(90deg,rgba(20,22,23,.28),transparent 75%)}
.home .hero h1{max-width:100%;font-size:88px;line-height:1.18}
.hero-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.hero-word>span{display:block}
.home .review-slider .review:nth-child(n){flex-basis:100%;padding:0 0 24px}
.home .review-slider .review p{max-width:880px}
.home .review-slider:after{display:none}
@media(min-width:1600px){.home .hero h1{font-size:112px}}
@media(max-width:1000px){.home .hero h1{font-size:68px}}
@media(max-width:760px){.home .hero h1{font-size:48px;max-width:100%;line-height:1.18}.home .hero:after{background:linear-gradient(180deg,#14161735 0%,#14161720 30%,#101312ba 65%,#101312ed 100%)}.home .review-slider .review:nth-child(n){padding-right:0}}
@media(max-width:360px){.home .hero h1{font-size:40px}}
@media(prefers-reduced-motion:no-preference){
 @keyframes headline-rise{from{transform:translateY(112%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}
 .home .hero h1{animation:none}
 .hero-word>span{animation:headline-rise 1.15s cubic-bezier(.16,1,.3,1) both}
 .hero-word:nth-child(1)>span{animation-delay:.18s}.hero-word:nth-child(2)>span{animation-delay:.34s}.hero-word:nth-child(3)>span{animation-delay:.5s}
 .home .hero-bottom{animation-delay:.7s}
}
