:root{--dark:#191817;--ivory:#f7f4ed;--gold:#c6ad79;--muted:#615f57;--line:#d9d2c4;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ivory);color:var(--dark);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,select{font:inherit}a,button,summary,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #9b722e;outline-offset:5px}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13}h2{font-size:clamp(38px,4.2vw,59px);letter-spacing:-.04em}h2 em,h1 em{font-weight:400}p{color:var(--muted)}.announcement{height:35px;background:#252321;color:#d4c49f;display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:9px;letter-spacing:.18em}header{background:var(--dark);color:var(--ivory);min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 5%;border-bottom:1px solid #ffffff20;position:relative;z-index:10}.logo{font:29px/1 var(--serif);white-space:nowrap}.logo small{display:block;font:9px var(--sans);letter-spacing:.36em;margin-top:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:17px 24px;background:var(--gold);color:#191817;border:1px solid var(--gold);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s}.button:hover{background:#decca7}nav{display:flex;gap:27px;font-size:12px}nav a:hover{color:var(--gold)}.menu-toggle{display:none}.hero{background:var(--dark);color:var(--ivory);display:grid;grid-template-columns:1.05fr 1fr;gap:5%;padding:80px 7% 85px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:600;color:#7e6030;text-transform:uppercase;margin-bottom:20px}.hero .eyebrow,.booking-section .eyebrow,.visit .eyebrow{color:var(--gold)}h1{font-size:clamp(57px,6.6vw,92px);line-height:1.03;letter-spacing:-.045em;margin-bottom:26px}h1 em{color:var(--gold)}.intro{color:#d0cbc1;max-width:445px;font-size:15px;line-height:1.85}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}.text-link{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block;line-height:1.6}.text-link:hover{color:#785a2b}.hero-note{color:#bbb5aa;font-size:11px;margin-top:30px}.hero-visual{position:relative;display:flex;flex-direction:column;justify-content:center;padding-top:30px}.arch{position:absolute;top:-30px;right:25px;border:1px solid #c6ad7960;width:80%;height:90%;border-radius:260px 260px 0 0;display:flex;justify-content:center;padding-top:25px}.arch span{font:35px var(--serif);color:#c6ad79a0}.salon-photo{position:relative;width:100%;aspect-ratio:1.45;overflow:hidden;border:6px solid #302c28;box-shadow:0 20px 60px #0005;margin-top:65px}.salon-photo img{width:100%;height:100%;object-fit:cover;object-position:center 66%;display:block}.photo-caption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.16em;position:relative;color:var(--gold);margin:17px 0 32px}.visual-script{color:#ebe3d2;font:italic 34px/1.25 var(--serif);position:relative;margin-left:28px}.ribbon{display:flex;justify-content:space-around;gap:20px;padding:22px 7%;background:#e9e2d3;font-size:10px;letter-spacing:.14em}.ribbon i{color:#8e7040}.section{padding:95px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}.section-heading>p{max-width:365px;font-size:14px;line-height:1.85}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{padding:10px 18px;border:1px solid #ccc3b2;background:transparent;font-size:12px;cursor:pointer}.filters button[aria-pressed=true]{background:var(--dark);border-color:var(--dark);color:var(--ivory)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.service{padding:30px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:start}.service[hidden]{display:none}.number{color:#785a2b;font-size:11px;letter-spacing:.12em;margin-bottom:18px}.service h3{font-size:27px;margin-bottom:15px}.service p{font-size:13px;min-height:65px}.service dl{width:100%;margin:18px 0}.service dl div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #ded7ca;font-size:12px}.service dd{margin:0;font-weight:600;white-space:nowrap}.service small{font-size:11px;line-height:1.8;color:#625d54;margin-bottom:23px}.service .text-link{margin-top:auto}.menu-foot{border-top:1px solid var(--line);padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:30px}.menu-foot p{font-size:11px;max-width:640px}.menu-foot a{flex-shrink:0}.booking-section{margin:0 7%;padding:60px 6%;background:#282522;color:var(--ivory);display:grid;grid-template-columns:1fr 1fr;gap:12%}.booking-section p:not(.eyebrow){color:#d0cbc1;margin-top:25px;font-size:13px}.booking-section h2 em{color:var(--gold)}#service-finder{display:flex;flex-direction:column}label{font-size:11px;letter-spacing:.03em;margin-bottom:7px}select{background:#f7f4ed;color:#282522;padding:13px 36px 13px 13px;border:1px solid #ddd;max-width:100%;margin-bottom:18px;font-size:13px;border-radius:0}#service-finder #match{margin:0 0 20px;font-size:12px}.finder-other{font-size:11px;margin-top:18px;text-decoration:underline;color:#e0d9cd}.story{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:110px;padding-bottom:100px}.monogram{border:1px solid #bba77b;border-radius:50%;width:190px;height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:70px var(--serif);color:#a08248;margin:45px 0 0 30px;box-shadow:0 0 0 10px var(--ivory),0 0 0 11px #ddd1ba}.monogram span{font:7px var(--sans);letter-spacing:.12em;margin-top:5px}.story-copy>p{font-size:14px;margin-bottom:23px}.story-copy .lead{font:25px/1.5 var(--serif);color:var(--dark)}.social-note{border-top:1px solid var(--line);padding-top:28px;margin-top:40px}.social-note h3{font-size:29px;margin-bottom:15px}.social-note p:not(.eyebrow){font-size:13px;margin-bottom:20px}.care{background:#ece7db}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.care-grid article{border-top:1px solid #bdb39f;padding-top:25px}.care-grid span{font-size:10px;letter-spacing:.1em;color:#7e6030}.care-grid h3{font-size:29px;margin:22px 0 17px}.care-grid p{font-size:13px;line-height:1.9}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faq>div>p:not(.eyebrow){margin:22px 0}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;list-style:none;font-size:14px;font-weight:500;padding-right:30px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;color:#8d7040;font-size:21px;top:-5px}details[open] summary:after{content:'−'}details p{font-size:13px;padding:15px 20px 0 0;line-height:1.85}details p a{text-decoration:underline}.visit{padding:85px 7%;background:var(--dark);color:var(--ivory);display:grid;grid-template-columns:1.2fr 1fr;gap:13%}.visit h2 em{color:var(--gold)}.visit p{color:#d0cbc1;margin-top:23px;font-size:14px}.visit-details>div{border-bottom:1px solid #ffffff20;padding:22px 0}.visit-details>div:first-child{padding-top:0}.visit-details span{font-size:9px;letter-spacing:.16em;color:var(--gold)}.visit-details p{margin:9px 0 14px;font-size:13px;overflow-wrap:anywhere}.visit-details .text-link{font-size:10px}footer{padding:50px 7% 25px;background:#141312;color:#ece5d6}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px}.footer-top p{color:#bbb5aa;font-size:12px}.footer-top>div{display:flex;gap:22px;font-size:11px}.footer-bottom{border-top:1px solid #ffffff20;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#bbb5aa}.mobile-book{display:none}.skip{position:absolute;top:-100px;z-index:100;padding:12px;background:white}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1600px){.hero,.section,.visit{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:1100px){header{gap:20px}nav{gap:18px}.header-book{font-size:9px;padding:14px}.hero{gap:5%;padding-top:65px}.hero .actions{gap:20px}.service-grid{gap:0 25px}.booking-section{gap:7%}.section{padding-top:75px;padding-bottom:75px}}@media(max-width:800px){html{scroll-padding-top:20px}.announcement{font-size:8px;justify-content:center}.announcement span{display:none}header{padding:22px 6%;min-height:88px;flex-wrap:wrap}.logo{font-size:25px}.header-book{margin-left:auto}.menu-toggle{display:block;order:3;border:0;color:var(--ivory);background:none;font-size:11px;padding:8px 0;cursor:pointer}.menu-toggle span{margin-left:5px}nav{display:none;order:4;width:100%;flex-direction:column;padding-top:15px;border-top:1px solid #ffffff20}nav.open{display:flex}nav a{padding:8px}.hero{grid-template-columns:1fr;padding:48px 7% 55px;gap:35px}h1{font-size:70px;max-width:550px}.hero-visual{padding-top:15px;max-width:540px;width:100%;margin:auto}.arch{top:5px;height:95%;right:25px;width:75%;padding-top:20px}.salon-photo{margin-top:90px}.visual-script{font-size:30px}.hero-note{margin-top:25px}.ribbon{flex-wrap:wrap;gap:13px;font-size:8px;padding:20px 6%}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.section-heading{display:block}.section-heading>p{margin-top:25px;max-width:550px}.section{padding:60px 7%}.service-grid{grid-template-columns:1fr 1fr;gap:0 25px}.service p{min-height:85px}.menu-foot{display:block}.menu-foot .text-link{margin-top:18px}.booking-section{grid-template-columns:1fr;gap:35px;padding:40px 7%;margin:0 5%}.story{grid-template-columns:1fr;gap:35px}.monogram{display:none}.care-grid{gap:25px}.care-grid h3{font-size:25px}.faq{grid-template-columns:1fr;gap:35px}.visit{grid-template-columns:1fr;gap:40px;padding:60px 7%}.footer-top{flex-wrap:wrap}.footer-top>div{width:100%;margin-top:10px}.footer-bottom{flex-wrap:wrap;padding-bottom:65px}.mobile-book{display:grid;grid-template-columns:1fr 1.5fr;position:fixed;bottom:0;left:0;right:0;z-index:20;border-top:1px solid #baa577;background:#191817;padding-bottom:env(safe-area-inset-bottom)}.mobile-book a{padding:16px 10px;text-align:center;color:var(--ivory);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.mobile-book a:last-child{background:var(--gold);color:var(--dark);font-weight:700}}@media(max-width:520px){.header-book{padding:12px 10px;font-size:8px;max-width:124px;text-align:center}.logo{font-size:23px}.logo small{font-size:7px}header{gap:16px}.menu-toggle{font-size:10px}h1{font-size:62px}.hero .button{width:100%}.hero .actions{align-items:start;flex-direction:column}.hero-visual{margin-top:15px}.hero-note{font-size:10px}.photo-caption{font-size:7px}.service-grid{grid-template-columns:1fr}.service p{min-height:0}.service{padding:25px 0 32px}.service small{margin-bottom:18px}.filters{gap:7px}.filters button{padding:9px 12px;font-size:11px}.care-grid{grid-template-columns:1fr;gap:32px}.care-grid h3 br{display:none}.care-grid h3{margin:15px 0}.care-grid p{max-width:380px}.footer-top{display:block}.footer-top p{margin:25px 0}.footer-top>div{display:flex}.footer-bottom{font-size:9px}.visit .actions{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Brand consistency, legibility, and compact mobile navigation. */
.logo small{font-size:11px;letter-spacing:.28em;color:var(--gold)}
.eyebrow{font-size:12px;letter-spacing:.14em}.hero .eyebrow{font-size:14px;letter-spacing:.14em}
nav{font-size:14px}.button,.text-link{font-size:12px}.button{min-height:48px}
.hero-note{font-size:13px}.intro{font-size:16px}.photo-caption{font-size:10px;letter-spacing:.08em;flex-wrap:wrap;gap:8px}
.section-heading>p,.story-copy>p{font-size:15px}.service p,.care-grid p,.social-note p:not(.eyebrow),details p{font-size:14px}
.service dl div{font-size:14px}.service small{font-size:13px}.service p{min-height:76px}
.menu-foot p{font-size:13px}.filters button{font-size:13px;min-height:44px}.number,.care-grid span{font-size:12px}
.booking-section p:not(.eyebrow){font-size:14px}label{font-size:14px}select{font-size:16px;min-height:48px}
#service-finder .pricing-note{margin:0 0 14px;font-size:12px;color:#d0cbc1}#service-finder #match{font-size:14px}.finder-other{font-size:13px}
summary{font-size:16px}.visit-details span{font-size:12px}.visit-details p{font-size:14px}.visit-details .text-link{font-size:12px}
.visit strong{color:var(--ivory);font-weight:600}.footer-top p{font-size:14px}.footer-top>div{font-size:13px}.footer-top>div a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom{font-size:12px}
.hero .text-link:hover,.visit .text-link:hover,footer a:hover{color:var(--gold)}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}header nav{gap:16px}.header-book{font-size:11px}}
@media(max-width:800px){header{gap:12px}.menu-toggle{font-size:12px;min-height:44px}.section-heading>p{max-width:600px}.photo-caption{font-size:10px}.hero-visual{padding-top:0}.salon-photo{margin-top:70px}.arch{padding-top:14px}.footer-bottom{font-size:12px}.mobile-book a{font-size:12px}.booking-section{gap:28px}.ribbon{font-size:10px;letter-spacing:.08em}}
@media(max-width:520px){header{padding:18px 5%;gap:10px}.logo{font-size:23px}.logo small{font-size:10px}.header-book{font-size:10px;padding:11px 12px;max-width:none}.menu-toggle{font-size:12px}h1{font-size:clamp(47px,14vw,62px)}.hero{padding-top:38px;padding-bottom:45px}.hero .eyebrow{font-size:12px}.hero-note{font-size:13px}.service-grid{grid-template-columns:minmax(0,1fr)}.service p{min-height:0}.filters button{font-size:12px;padding:10px 14px}.section{padding-top:52px;padding-bottom:52px}.photo-caption{font-size:9px}.care-grid h3{font-size:27px}.footer-top>div{gap:25px}.menu-foot a{white-space:normal}}
@media(max-width:360px){header{gap:8px}.logo{font-size:21px}.header-book{padding:10px;font-size:10px}.menu-toggle span{margin-left:3px}.ribbon i{display:none}.hero .eyebrow{letter-spacing:.1em}}
.booking-section>*{min-width:0}#service-finder select{width:100%;min-width:0}
@media(max-width:800px){.booking-section{grid-template-columns:minmax(0,1fr)}}

.hero-address{font-style:normal;font-size:14px;line-height:1.8;color:#d0cbc1;margin-top:30px;border-top:1px solid #ffffff26;padding-top:20px;max-width:445px}.hero-address a{display:block}.hero-address span:first-child{display:block;color:var(--gold);font-size:11px;letter-spacing:.1em;margin-bottom:6px}.hero-address strong{color:var(--ivory);font-weight:600}.hero-address .address-directions{display:block;color:var(--gold);font-size:12px;text-decoration:underline;text-underline-offset:4px;margin-top:6px}.footer-address{font-style:normal;color:#bbb5aa;font-size:14px;line-height:1.8}.footer-address strong{color:var(--ivory);font-weight:500}@media(max-width:520px){.footer-address{margin:25px 0}.hero-address{font-size:14px}}
