/* Fashion editorial hierarchy: Bodoni Moda + Jost. */
:root{--serif:'Bodoni Moda',Georgia,serif;--sans:'Jost',Arial,sans-serif;--display:clamp(2.8rem,5.3vw,4.6rem);--section:clamp(2.1rem,3.5vw,3.25rem)}
body{font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.65;letter-spacing:.006em}
h1,h2,h3{font-family:var(--serif);font-weight:400;font-synthesis:none;letter-spacing:-.035em;text-wrap:balance}
em{font-weight:400}h1{line-height:1.13}h2{line-height:1.17}h3{line-height:1.25}
.hero h1{font-size:var(--display);line-height:1.12;letter-spacing:-.045em;margin-bottom:25px}.hero h1 em{display:block}.hero-copy>.hero-description{font-size:18px;line-height:1.7;letter-spacing:.015em}
.page-heading h1,.booking-page .page-heading h1{font-size:clamp(2.65rem,5vw,4.5rem);line-height:1.15}.page-heading .intro,.booking-page .page-heading .intro{font-size:17px;line-height:1.7}
.section-heading h2,.home-visit h2,.final-booking h2,.closing-cta h2,.visit-info h2{font-size:var(--section);line-height:1.17}
.final-booking h2{font-size:clamp(2.4rem,4.6vw,4rem)}.section-heading p,.section-intro{font-size:17px;line-height:1.7}
.eyebrow,.micro{font-family:var(--sans);font-weight:500;line-height:1.5;text-transform:uppercase;letter-spacing:.16em}.eyebrow{font-size:12px}.micro{font-size:11px;letter-spacing:.12em}
.brand-name{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.3;letter-spacing:.07em}.brand-name small{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.38em;margin-top:3px}
#main-nav>a:not(.button){font-family:var(--sans);font-size:15px;font-weight:400;letter-spacing:.035em}#main-nav{gap:22px}
.button,#main-nav .button,.hero-actions .button{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.035em;line-height:1.4;min-height:49px}.text-link,.menu-cta .text-link{font-size:15px;letter-spacing:.015em;font-weight:400}
.hero-assurance{font-size:13px;line-height:1.7}.hero-deposit{font-size:14px}.photo-label .micro{font-size:11px}.hero-photo-price{font-family:var(--serif);font-size:29px;letter-spacing:-.025em}.hero-photo-price small{font-family:var(--sans);font-size:14px}.photo-label a.button{font-family:var(--sans);font-size:13px;letter-spacing:.025em}.mini-look>span{font-family:var(--serif);font-size:22px;line-height:1.15}
.booking-ribbon>.wrap{font-size:15px;line-height:1.6}.booking-ribbon strong{font-weight:500}.image-tag{font-size:11px}
.look-caption h3,.gallery-grid .look-caption h3{font-family:var(--serif);font-size:clamp(1.4rem,2.1vw,1.85rem);line-height:1.25;min-height:72px;letter-spacing:-.03em}.look-facts strong{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.3}.look-facts>span{font-family:var(--sans);font-size:14px;line-height:1.6}.look-book,.gallery-grid .look-book{font-size:14px;letter-spacing:.025em}.view-photo{font-size:12px}
.menu-cta{font-size:16px}.booking-cards h3{font-family:var(--serif);font-size:28px;line-height:1.25}.booking-cards p{font-size:16px;line-height:1.7}.booking-cards .text-link{font-size:15px}.step-number{font-family:var(--serif);font-size:40px;font-weight:400}.booking-footnote{font-size:14px;line-height:1.8}
.faqs summary,.home-visit .faqs summary{font-size:17px;font-weight:400;line-height:1.6}.faqs details p,.home-visit .faqs details p{font-size:16px;line-height:1.8}.final-booking .text-link{font-size:15px}
.filter{font-family:var(--sans);font-size:15px;letter-spacing:.025em}.filter-count{font-size:14px}.service-note,.service-note a,.service-footnote{font-size:15px;line-height:1.7}.service-info h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.25}.service-info p{font-size:16px;line-height:1.7}.service-info .start-rule{font-size:14px}.service-price>span{font-family:var(--serif);font-size:34px;font-weight:400}.service-price .button{font-size:14px}
.meet-copy h2{font-size:var(--section);line-height:1.2}.meet-copy p{font-size:17px;line-height:1.8}.meet-image>span{font-family:var(--serif);font-size:24px;line-height:1.3}.hours-panel h3{font-family:var(--serif);font-size:28px;line-height:1.25}.hours-panel dl,.location-line .small{font-size:15px}.hours-panel .small{font-size:14px}
.booking-form-area h2{font-family:var(--serif);font-size:clamp(2rem,3.1vw,2.8rem);line-height:1.2}.booking-steps li{font-size:14px}.booking-steps li span{font-size:12px}.booking-form-area label,.booking-form-area legend{font-size:16px;line-height:1.6;font-weight:400}.booking-form-area select,.booking-form-area textarea{font-family:var(--sans);font-size:17px;line-height:1.6;letter-spacing:.005em}.choice span{font-size:15px}.optional{font-size:14px}.selected-style h3{font-family:var(--serif);font-size:27px;line-height:1.2}.selected-style p{font-size:15px}.booking-aside h3{font-family:var(--serif);font-size:29px;line-height:1.25}.booking-aside p,.booking-aside .text-link{font-size:15px;line-height:1.75}.small,.booking-form-area .small,#style-form>.small,.style-note p,.handoff-steps p,.privacy-note{font-size:15px;line-height:1.75}.note-heading h3{font-family:var(--sans);font-size:17px;font-weight:500}.direct-book,.direct-book .text-link{font-size:15px}.express-booking strong{font-family:var(--serif);font-size:25px;font-weight:400}.express-booking p{font-size:16px}
.deposit-amount{font-family:var(--serif);font-size:130px;line-height:1.1;letter-spacing:-.05em}.deposit-amount>span{font-family:var(--sans);font-size:12px;letter-spacing:.15em}.deposit-copy h2{font-family:var(--serif);font-size:36px;line-height:1.25}.deposit-copy p,.deposit-status{font-size:16px;line-height:1.8}.payment-option h3{font-family:var(--serif);font-size:36px;line-height:1.2}.copy-line>span,.email-copy>span{font-family:var(--sans);font-size:16px}.copy-line>button{font-size:14px}.deposit-bottom p,.deposit-bottom .text-link{font-size:15px}.payment-option .small{font-size:15px}
.footer-brand{font-family:var(--serif);font-size:28px;line-height:1.3}.footer-brand+p,.footer-links{font-size:15px}.footer-bottom{font-size:12px}.prose h2{font-size:30px;line-height:1.25}.prose p{font-size:17px;line-height:1.85}.dialog-copy h2{font-size:36px;line-height:1.2}.dialog-copy>p:not(.eyebrow){font-size:16px}
@media(max-width:1150px){#main-nav{gap:16px}#main-nav>a:not(.button){font-size:14px}#main-nav .button{font-size:14px;padding-inline:18px}.brand-name{font-size:17px}.hero h1{font-size:clamp(3rem,5.4vw,4.1rem)}.hero-copy>.hero-description{font-size:17px}.look-caption h3{font-size:25px}.service-info p{font-size:15px}.photo-label .micro{font-size:10px}.photo-label a.button{font-size:12px}.hero-photo-price small{font-size:12px}}
@media(max-width:900px){#main-nav{gap:13px}#main-nav>a:not(.button){font-size:13px}.hero h1{font-size:46px}.hero h1 em{overflow-wrap:normal}.hero-copy>.hero-description{font-size:16px}.hero .eyebrow{font-size:11px}.booking-cards h3{font-size:26px}.booking-cards p{font-size:15px}.booking-cards .text-link{font-size:14px}.look-caption h3{font-size:24px}.booking-steps li{font-size:12px}}
@media(max-width:800px){.brand-name{font-size:18px}#main-nav>a:not(.button){font-size:17px;letter-spacing:.025em}#menu-toggle{font-family:var(--sans);font-size:14px}.hero h1{font-size:43px;line-height:1.14}.hero-actions .button{font-size:15px}.hero-deposit{font-size:14px}.hero-assurance{font-size:12px}.booking-ribbon>.wrap{font-size:14px}.booking-cards h3{font-size:27px}.look-caption h3{min-height:85px}.look-facts>span{font-size:13px}.mobile-booking-bar .button,.mobile-deposit{font-family:var(--sans);font-size:15px;letter-spacing:.015em}.booking-aside h3{font-size:26px}.booking-aside p{font-size:15px}.footer-links{font-size:14px}}
@media(max-width:580px){:root{--section:2.15rem}.hero h1{font-size:clamp(2.5rem,10.7vw,3.5rem);line-height:1.16;letter-spacing:-.04em;margin-bottom:20px}.hero h1 em{display:block}.hero .eyebrow{font-size:11px;letter-spacing:.12em}.hero-copy>.hero-description{font-size:17px;line-height:1.7}.hero-actions .button{font-size:14px;letter-spacing:.01em;padding-inline:10px}.hero-assurance{font-size:12px}.hero-assurance span+span:before{margin-inline:7px}.hero-deposit{font-size:14px;line-height:1.6}.brand-name{font-size:17px}.brand-name small{font-size:10px}.photo-label .micro{font-size:10px;line-height:1.5}.hero-photo-price{font-size:25px}.hero-photo-price small{font-size:12px}.photo-label a.button{font-size:12px}.mini-look>span{font-size:20px}.booking-ribbon>.wrap{font-size:14px}.booking-ribbon a{font-size:15px}.section-heading h2,.home-visit h2,.closing-cta h2{font-size:var(--section);line-height:1.2}.section-heading .eyebrow,.eyebrow{font-size:11px}.section-heading p{font-size:16px}.section-heading .text-link,.menu-cta .text-link{font-size:15px}.home-grid .look-caption h3{font-size:24px;line-height:1.25;min-height:0}.look-caption .micro{font-size:11px}.home-grid .look-facts strong{font-size:24px}.home-grid .look-facts>span{font-size:14px}.home-grid .look-book{font-size:14px;min-height:46px}.view-photo{font-size:11px}.menu-cta{font-size:16px}.booking-cards h3{font-size:25px;line-height:1.3}.booking-cards p,.section-intro{font-size:16px;line-height:1.75}.booking-cards .text-link{font-size:15px}.booking-footnote{font-size:14px}.home-visit .faqs summary,.faqs summary{font-size:16px;line-height:1.6}.home-visit .faqs details p,.faqs details p{font-size:16px}.final-booking h2{font-size:35px;line-height:1.2}.final-booking .eyebrow{font-size:11px}.final-booking .text-link{font-size:14px}.page-heading h1,.booking-page .page-heading h1{font-size:39px;line-height:1.2}.page-heading .intro,.booking-page .page-heading .intro{font-size:16px}.filter{font-size:14px;padding:10px 12px}.filter-count{font-size:13px}.gallery-grid .look-caption h3{font-size:23px;line-height:1.25;min-height:88px}.gallery-grid .look-facts>span{font-size:13px}.gallery-grid .look-facts strong{font-size:23px}.gallery-grid .look-book{font-size:13px}.service-note,.service-note a{font-size:15px}.service-info h2{font-size:25px;line-height:1.25}.service-info p{font-size:15px;line-height:1.7}.service-info .micro{font-size:11px}.service-info .start-rule{font-size:14px}.service-price>span{font-size:29px}.service-price .button{font-size:14px;min-height:46px}.service-footnote{font-size:15px}.meet-copy h2{font-size:35px}.meet-copy p{font-size:17px;line-height:1.8}.meet-image>span{font-size:23px}.visit-info h2{font-size:35px}.hours-panel dl{font-size:15px}.booking-form-area h2{font-size:31px;line-height:1.25}.booking-form-area label,.booking-form-area legend{font-size:16px}.booking-form-area select,.booking-form-area textarea{font-size:17px}.booking-steps li{font-size:11px;gap:5px}.booking-steps li span{font-size:11px}.selected-style h3{font-size:23px;line-height:1.3}.selected-style p{font-size:15px}.selected-style .micro{font-size:11px}.form-actions .text-link,.form-actions .button{font-size:14px}.choice span{font-size:15px}.express-booking strong{font-size:24px}.express-booking p{font-size:16px}.booking-aside h3{font-size:25px}.booking-aside p,.booking-aside .text-link{font-size:15px}.deposit-amount{font-size:74px;line-height:1.1}.deposit-copy h2{font-size:29px;line-height:1.3}.deposit-copy p,.deposit-status{font-size:16px}.deposit-feature{display:block}.deposit-amount{display:block;margin-bottom:25px}.payment-option h3{font-size:32px}.payment-option .small{font-size:15px}.copy-line>span,.email-copy>span{font-size:15px}.copy-line>button{font-size:14px}.deposit-bottom p,.deposit-bottom .text-link{font-size:15px}.footer-brand{font-size:26px}.footer-brand+p,.footer-links{font-size:15px}.footer-bottom{font-size:12px}.prose p{font-size:17px}.dialog-copy h2{font-size:30px}.dialog-copy>p:not(.eyebrow){font-size:16px}.direct-book,.direct-book .text-link{font-size:15px}}
@media(max-width:360px){.hero h1{font-size:36px}.hero-actions .button{font-size:13px}.hero-assurance{font-size:11px}.hero-deposit{font-size:13px}.home-grid .look-card{grid-template-columns:38% 62%}.home-grid .look-caption h3{font-size:22px}.home-grid .look-book{font-size:13px}.gallery-grid .look-caption h3{font-size:27px;min-height:0}.gallery-grid .look-book{font-size:14px}.service-price{flex-wrap:wrap;gap:8px}.service-price .button{font-size:13px;padding-inline:10px}.service-info h2{font-size:23px}.booking-steps{flex-wrap:wrap;justify-content:flex-start;gap:12px}.choice-row{flex-wrap:wrap}.choice{flex:1;min-width:110px}.email-copy{flex-wrap:wrap}.brand-name{font-size:16px}.mobile-booking-bar .button,.mobile-deposit{font-size:14px}}
@media(max-width:580px){.mini-look>span{font-size:16px;line-height:1.2;padding:9px 7px}}
