/* One family, three weights. Component hierarchy is centralized here, loaded last. */
@font-face{font-family:Jost;src:url(fonts/jost.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-text:Jost,Arial,sans-serif;--type-title:clamp(46px,5.4vw,76px);--type-section:clamp(30px,3.1vw,44px)}
body{font-family:var(--font-text);font-size:16px;font-weight:400;line-height:1.65}
h1,h2,h3,h4,h5,h6,button,input,select,textarea{font-family:var(--font-text)}
h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:400;font-synthesis:none;letter-spacing:-.025em;word-spacing:normal;line-height:1.15;text-wrap:balance}
h1 em,h2 em,h3 em,.drinks-menu>h2.drinks-group-heading{font-style:normal;font-weight:inherit}
h2{font-size:var(--type-section)}h3{font-size:28px}
.eyebrow{font-weight:500;font-size:11px;letter-spacing:.12em;line-height:1.5}
.button{font-weight:500;letter-spacing:.015em;font-size:14px}
.masthead nav{font-weight:400;letter-spacing:.01em}
.hero-title{top:190px;max-width:1060px}
.hero h1{font-size:clamp(80px,8.3vw,118px);font-weight:400;letter-spacing:-.045em;word-spacing:normal;line-height:1.08;font-stretch:normal;max-width:1100px}
.hero h1>span{display:block;font:400 clamp(34px,4vw,58px)/1.2 var(--font-text);letter-spacing:-.025em;margin-top:20px;max-width:1000px;color:#ede6db}
.hero-kicker{margin-bottom:30px}
.hero-actions{margin-top:40px}
.intro-lead{font-size:25px;font-weight:400;line-height:1.5;letter-spacing:-.015em}
.introduction h2,.section-heading h2{font-size:var(--type-section)}
.introduction h2 em,.reservation h2 em,.page-intro h1 em{color:inherit}
.model-caption .model-name{font-size:28px;font-weight:400;letter-spacing:-.02em;line-height:1.25}
.model-caption>span{font-size:11px;letter-spacing:.03em}
.service-topbar h2{font-family:var(--font-text);font-size:17px;font-weight:500;letter-spacing:.015em}
.service-experience .service-panel h3{font-size:clamp(34px,3.8vw,52px);line-height:1.15;letter-spacing:-.025em;max-width:650px}
.service-experience .service-panel .service-summary{font-size:16px;font-weight:400;line-height:1.7}
.service-experience .service-price,.reservation-number,.service-card-price,.contact-phone,.booking-phone{font-weight:400;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.service-experience .service-tab{font-weight:400;font-size:15px;letter-spacing:0}
.salon-copy h2{font-size:clamp(48px,5vw,72px);line-height:1.12}
.reservation h2{font-size:clamp(34px,3.5vw,48px);line-height:1.15}
.reservation-copy>p,.intro-copy>p:not(.intro-lead),.section-heading>p{font-size:16px;line-height:1.7}
.dialog-header h2{font-size:34px}.all-service h3{font-size:27px;letter-spacing:-.02em}
.page-intro h1,.page-intro.directory-intro h1,.salon-intro h1{font-size:var(--type-title);line-height:1.12;max-width:1050px}
.page-intro h1 em{display:inline}
.page-intro>p,.salon-intro>p{font-size:17px;line-height:1.7}
.profile-intro-copy h1{font-size:clamp(70px,8.8vw,112px);line-height:1.1}
.profile-intro-copy p{font-size:16px}
.profile-gallery-section h2,.service-detail-content h2{font-size:var(--type-section)}
.service-card-body h2{font-size:clamp(28px,2.6vw,36px);line-height:1.2}
.service-card-body .service-description{font-size:16px;line-height:1.7}
.service-card-price{font-size:34px}.service-card-price small{font-size:13px}
.service-card-duration{font-size:12px;letter-spacing:0}
.service-detail-copy h1{font-size:clamp(45px,5vw,72px);line-height:1.12}
.service-detail-copy .service-card-price{font-size:40px}
.contact-details h2,.booking-contact h2,.booking-choice-copy h2{font-size:34px;line-height:1.2}
.booking-choice-copy p,.booking-info p,.contact-details p{font-size:16px;line-height:1.7}
.prose{font-size:16px;line-height:1.8}.prose h2{font-size:34px}.prose h3{font-size:27px}.prose h4,.prose h5{font-size:19px;font-weight:500;line-height:1.5}
.journal-entry h2{font-size:36px}.drinks-menu>h2.drinks-group-heading{font-size:40px;line-height:1.2}
.footer-contact>a:first-of-type{font-size:26px}.footer-contact>a:last-of-type{font-size:14px}.footer-bottom{font-size:11px}.footer-bottom>div{font-size:13px}
@media(max-width:1050px){.hero-title{top:190px}.hero h1{font-size:86px}.hero h1>span{font-size:43px}.service-experience .service-panel h3{font-size:42px}}
@media(max-width:650px){
 :root{--type-title:44px;--type-section:32px}
 .hero-title{top:180px}.hero h1{font-size:62px;line-height:1.07;letter-spacing:-.045em}.hero h1>span{font-size:32px;line-height:1.25;letter-spacing:-.02em;margin-top:21px;max-width:335px}.hero-kicker{font-size:10px;margin-bottom:29px}.hero-actions{margin-top:34px}.hero-actions .button{min-width:232px}
 .intro-lead{font-size:23px}.model-caption .model-name{font-size:24px}.model-caption>span{font-size:10px}
 .service-topbar h2{font-size:16px}.service-experience .service-panel h3{font-size:34px;min-height:80px}.service-experience .service-tab{font-size:14px}
 .salon-copy h2{font-size:48px}.reservation h2{font-size:34px}.dialog-header h2{font-size:29px}.all-service h3{font-size:25px}
 .page-intro>p,.salon-intro>p{font-size:16px}.profile-intro-copy h1{font-size:68px}.service-card-body h2{font-size:29px}.service-card-actions .button,.service-card-actions .text-link{font-size:13px}.service-card-price{font-size:34px}.service-detail-copy h1{font-size:43px}
 .contact-details h2,.booking-contact h2,.booking-choice-copy h2{font-size:30px}.contact-phone,.booking-phone{font-size:34px}.prose h2{font-size:29px}.prose h3{font-size:25px}.journal-entry h2{font-size:30px}.drinks-menu>h2.drinks-group-heading{font-size:31px}.footer-contact>a:first-of-type{font-size:20px}.footer-contact>a:last-of-type{font-size:12px}
}
@media(max-width:360px){:root{--type-title:39px;--type-section:30px}.hero h1{font-size:53px}.hero h1>span{font-size:28px}.model-caption .model-name{font-size:23px}.service-experience .service-panel h3{font-size:30px}.service-detail-copy h1{font-size:38px}.booking-phone,.contact-phone{font-size:30px}}
