
.hair-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,7vw,7rem);align-items:center;padding-top:5rem;padding-bottom:5rem}.hair-hero h1{font-size:clamp(3.8rem,7vw,7rem);max-width:none}.hair-hero p{max-width:35rem}.hair-lede{font:500 clamp(1.4rem,2.5vw,2rem)/1.4 var(--serif);color:var(--pink-dark)}.hair-location{padding-left:1rem;border-left:3px solid var(--gold);margin:2rem 0}.hair-hero figure{margin:0;max-width:29rem;justify-self:center}.hair-hero img{display:block;width:100%;height:auto;border-radius:48% 48% 0 0;box-shadow:1rem 1rem 0 var(--lavender)}.hair-hero figcaption{margin:2rem 0 0;text-align:center;font:500 1.1rem/1.5 var(--serif)}.hair-services{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(2rem,7vw,7rem);background:var(--lavender);padding-top:6rem;padding-bottom:6rem}.hair-services>div>p{max-width:30rem}.hair-price-list article{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;padding:1.4rem 0;border-top:1px solid var(--line)}.hair-price-list article:last-of-type{border-bottom:1px solid var(--line)}.hair-price-list h3{font-size:clamp(1.4rem,2.3vw,2rem);letter-spacing:-.03em;margin:0}.hair-price-list article p{margin:0;white-space:nowrap;font-size:.9rem}.hair-price-list strong{font-size:1.2rem;color:var(--pink-dark)}.hair-price-note{font-size:.9rem;margin-top:1.5rem}.hair-about{padding-top:6rem;padding-bottom:6rem;display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;background:var(--paper)}.hair-about .eyebrow{grid-column:1/-1}.hair-about h2{font-size:clamp(2.5rem,4.5vw,4.7rem)}.hair-about>div{font-family:var(--serif);font-size:1.15rem}.hair-about>div p:first-child{margin-top:0}.hair-booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,7rem);padding-top:6rem;padding-bottom:6rem;background:var(--hunter);color:var(--paper)}.hair-booking .eyebrow{color:#f8c7d9}.hair-direct-email{font-weight:700;overflow-wrap:anywhere;text-underline-offset:.3rem}.hair-booking form{padding:clamp(1.3rem,3vw,2.6rem);background:var(--paper);color:var(--ink)}.hair-booking label{display:block;font-weight:700;font-size:.9rem;margin:1.2rem 0 .4rem}.hair-booking label span{font-weight:400}.hair-booking input,.hair-booking select,.hair-booking textarea{width:100%;font:400 1rem/1.5 var(--sans);padding:.75rem;border:1px solid #778384;border-radius:0;background:#fff;color:var(--ink)}.hair-booking textarea{resize:vertical}.hair-booking :is(input,select,textarea,button):focus-visible{outline:3px solid var(--gold);outline-offset:3px}.hair-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hair-form-row label{margin-top:0}.hair-form-note{font-size:.86rem;line-height:1.6;margin:1.5rem 0}.hair-booking button{cursor:pointer;white-space:normal}#hair-request-status{font-size:.9rem}#hair-request-status:empty{display:none}
@media(max-width:800px){.hair-hero,.hair-services,.hair-about,.hair-booking{grid-template-columns:1fr}.hair-hero,.hair-services,.hair-about,.hair-booking{padding-top:3.5rem;padding-bottom:3.5rem}.hair-hero figure{max-width:22rem}.hair-about>div{margin-top:1rem}.hair-about .eyebrow{grid-column:auto}.hair-price-list article{gap:1rem}.hair-price-list article p{white-space:normal}.hair-form-row{grid-template-columns:1fr}.hair-form-row>div+div label{margin-top:1.2rem}.hair-hero h1{font-size:clamp(3.6rem,13vw,6rem)}}

#hair-request button:disabled { opacity: .65; cursor: wait; }
#hair-request-status:not(:empty) { margin-top: 1rem; }
