:root{--ink:#20251f;--green:#26352d;--cream:#f4efe6;--paper:#fbf8f2;--clay:#ad654e;--sage:#8d9b82;--line:rgba(32,37,31,.18);--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{height:92px;padding:0 clamp(1.2rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:.9rem}.brand-mark{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.12em}.brand-mark span{font-family:var(--sans);font-size:.55rem;vertical-align:middle;margin:.15rem}.brand-name{font-family:var(--serif);font-size:1.45rem;line-height:.8}.brand-name small{font-family:var(--sans);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;display:block;margin-top:.55rem}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.5rem);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.site-nav>a:not(.nav-cta){padding:.5rem 0;border-bottom:1px solid transparent}.site-nav>a:not(.nav-cta):hover{border-color:var(--ink)}.nav-cta{background:var(--green);color:#fff;padding:.9rem 1.25rem}.nav-cta span,.button span{margin-left:.8rem}.menu-toggle{display:none}.hero{height:calc(100svh - 92px);min-height:610px;max-height:880px;position:relative;color:#fff;overflow:hidden}.hero-image{height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,30,24,.78) 0%,rgba(22,30,24,.38) 48%,rgba(22,30,24,.05) 80%)}.hero-content{position:absolute;left:clamp(1.5rem,8vw,8rem);top:50%;transform:translateY(-52%);max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:600;margin:0 0 1.4rem;color:#62705f}.eyebrow.light{color:#d6d7cc}.hero h1,.section-heading h2,.price-intro h2,.about-copy h2,.gallery-head h2,.visit-card h2,.booking-copy h2{font-family:var(--serif);font-size:clamp(3.4rem,6.8vw,7rem);line-height:.88;font-weight:400;letter-spacing:-.035em;margin:0}.hero h1 em,h2 em{font-weight:400;color:#d6a28e}.hero-copy{max-width:510px;font-size:1.05rem;color:#e5e7e1;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;justify-content:space-between;align-items:center;border:0;padding:1rem 1.3rem;font:600 .75rem var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.button-light{background:#fff;color:var(--ink)}.button-dark{background:var(--green);color:#fff}.button-outline{border:1px solid rgba(255,255,255,.55);color:#fff}.text-link{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:.25rem}.text-link span{margin-left:.5rem}.light{color:#fff}.hero-note{position:absolute;right:clamp(1rem,4vw,4rem);bottom:3.5rem;width:250px;border-top:1px solid rgba(255,255,255,.6);padding-top:.7rem}.hero-note span{font-family:var(--serif);font-style:italic;font-size:1.2rem}.hero-note p{font-size:.75rem;margin:.4rem 0;color:#ecece6}.scroll-hint{position:absolute;left:2rem;bottom:3rem;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl}.scroll-hint span{margin-top:.8rem}.section-pad{padding:clamp(5rem,9vw,9rem) clamp(1.5rem,7vw,7.5rem)}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:4rem}.section-heading h2,.about-copy h2,.gallery-head h2{font-size:clamp(3.2rem,5.5vw,5.8rem)}.intro-copy{align-self:end;max-width:470px}.intro-copy>p{font-size:1.08rem;margin:0 0 2rem}.service-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border-top:1px solid var(--line)}.service-card{padding:2rem 2.4rem 2.5rem;border-right:1px solid var(--line);position:relative}.service-card:first-child{border-left:1px solid var(--line)}.service-card>span{font-size:.65rem;color:#7b8279}.service-icon{font-family:var(--serif);font-size:2rem;margin:3rem 0 1.2rem}.service-card h3{font:400 2rem var(--serif);margin:0}.service-card p{font-size:.88rem;color:#60655e;min-height:4.3rem}.service-card a{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em}.service-card.feature{background:#e8dfd2}.pricing{background:var(--green);color:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(4rem,8vw,9rem)}.price-intro h2{font-size:clamp(3.2rem,5.2vw,5.6rem)}.price-intro>p:not(.eyebrow){color:#c6ccc5;max-width:390px;margin:2rem 0}.price-list{border-top:1px solid rgba(255,255,255,.25)}.price-group{padding:1.7rem 0;border-bottom:1px solid rgba(255,255,255,.25)}.price-group>p{color:#aeb9af;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase}.price-group>div{display:flex;justify-content:space-between;align-items:baseline}.price-group h3{font:400 1.45rem var(--serif);margin:.3rem 0}.price-group span{font-size:.75rem;color:#cbd1ca}.about{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(4rem,8vw,8rem);align-items:center}.about-collage{position:relative;min-height:690px}.portrait-wrap{width:72%;position:absolute;left:0;top:0}.portrait-wrap img{height:610px;object-fit:cover}.portrait-wrap span{position:absolute;left:-2rem;bottom:2rem;background:var(--clay);color:#fff;width:145px;height:145px;border-radius:50%;display:grid;place-content:center;text-align:center;font:italic 1.15rem var(--serif);transform:rotate(-7deg)}.detail-img{width:42%;height:440px;object-fit:cover;position:absolute;right:0;bottom:0;border:10px solid var(--paper)}.about-copy>p:not(.eyebrow){color:#555c54;max-width:530px}.signature{font:italic 1.4rem var(--serif);margin-top:2rem}.signature span{font:500 .65rem var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-left:.5rem}.gallery{background:#ece7dd}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:4rem}.gallery-head>p{max-width:340px;font-size:.9rem}.gallery-head a{text-decoration:underline}.gallery-grid{display:grid;grid-template-columns:1.05fr 1.35fr;grid-template-rows:360px 360px;gap:1.2rem}.gallery-grid figure{margin:0;position:relative;overflow:hidden}.gallery-grid img{height:100%;object-fit:cover;transition:transform .5s ease}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-tall{grid-row:1/3}.gallery-wide img{object-position:center 45%}.gallery-room img{object-position:center 58%}.gallery-grid figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(250,248,242,.9);padding:.45rem .7rem;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.testimonial{text-align:center;background:#b36d54;color:#fff}.quote-mark{font:6rem var(--serif);line-height:.4;margin:0}.testimonial blockquote{font:400 clamp(2rem,4vw,4rem)/1.1 var(--serif);max-width:1000px;margin:2rem auto}.reviewer{display:flex;justify-content:center;align-items:center;gap:1.5rem}.reviewer span{letter-spacing:.25em;font-size:.65rem}.reviewer p{text-align:left;font-size:.7rem;line-height:1.5;text-transform:uppercase;letter-spacing:.1em}.demo-note{font-size:.65rem;opacity:.65;margin-top:2rem}.visit{display:grid;grid-template-columns:1.15fr .85fr;padding-top:0;padding-bottom:0}.visit-card{background:linear-gradient(rgba(34,48,40,.88),rgba(34,48,40,.9)),url('assets/salon-hero.webp') center/cover;color:#fff;padding:clamp(3rem,7vw,7rem)}.visit-card h2{font-size:clamp(3.2rem,5vw,5.2rem)}.address{display:flex;gap:3rem;align-items:end;margin-top:3rem}.address p{font:1.25rem var(--serif)}.area{color:#cfd4cf;font-size:.78rem;max-width:400px;margin-top:3rem;border-top:1px solid rgba(255,255,255,.3);padding-top:1.2rem}.hours{padding:clamp(3rem,7vw,7rem);background:#f0e9de}.hours>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.65rem 0;font-size:.85rem}.hours small{display:block;margin-top:1.5rem;color:#737970}.booking{background:#d9cfbe;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(4rem,8vw,9rem)}.booking-copy h2{font-size:clamp(3.2rem,5vw,5.4rem)}.booking-copy>p:not(.eyebrow){max-width:430px}.contact-points{display:flex;flex-direction:column;margin-top:2rem;font:1.3rem var(--serif)}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 1.6rem}.booking-form label{font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;font-weight:600}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #817d72;background:transparent;padding:.9rem 0;border-radius:0;font:1rem var(--sans);color:var(--ink);outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--green);box-shadow:0 1px var(--green)}.booking-form textarea{resize:vertical}.full{grid-column:1/-1}.form-note,.form-success{font-size:.68rem;margin:0;color:#686b64}.form-success{background:#e7ebdf;padding:.8rem}.footer{background:#19211c;color:#e8e6df;padding:4rem clamp(1.5rem,7vw,7.5rem) 1.5rem;display:grid;grid-template-columns:1fr 1fr}.footer-brand{align-self:start}.footer-links{display:grid;grid-template-columns:1fr 1fr}.footer-links div{display:flex;flex-direction:column;align-items:flex-start}.footer-links p{font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:#9da49e}.footer-links a{font:1.25rem var(--serif);margin:.25rem 0}.footer-end{grid-column:1/-1;margin-top:4rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#9da49e}@media(max-width:900px){.site-header{height:74px}.menu-toggle{display:flex;width:46px;height:46px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;align-items:flex-end;cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink)}.menu-toggle b{font-size:0}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:2rem;flex-direction:column;align-items:stretch;border-top:1px solid var(--line);box-shadow:0 12px 20px rgba(0,0,0,.08)}.site-nav.open{display:flex}.hero{height:calc(100svh - 74px)}.hero-content{left:1.5rem;right:1.5rem}.hero-note{display:none}.scroll-hint{display:none}.intro,.pricing,.about,.booking{grid-template-columns:1fr}.intro{gap:2rem}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{border:0;border-bottom:1px solid var(--line)}.service-card p{min-height:auto}.about-collage{min-height:610px}.gallery-grid{grid-template-rows:300px 300px}.visit{grid-template-columns:1fr}.footer{grid-template-columns:1fr;gap:3rem}.footer-links{grid-column:1}.footer-end{margin-top:1rem}}@media(max-width:600px){.brand-name{font-size:1.2rem}.hero{min-height:620px}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(22,30,24,.82),rgba(22,30,24,.3))}.hero-content{top:46%}.hero h1{font-size:3.65rem}.hero-copy{font-size:.92rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.section-pad{padding:5rem 1.25rem}.section-heading h2,.about-copy h2,.gallery-head h2{font-size:3.3rem}.service-grid{margin-top:1rem}.pricing{gap:3rem}.price-group h3{font-size:1.25rem}.about-collage{min-height:510px}.portrait-wrap img{height:470px}.portrait-wrap span{left:-.4rem;width:115px;height:115px;font-size:.95rem}.detail-img{height:300px}.gallery-head{display:block}.gallery-head>p{margin-top:2rem}.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-1.25rem}.gallery-grid figure{min-width:82vw;height:480px;scroll-snap-align:start}.testimonial blockquote{font-size:2rem}.visit{padding-left:0;padding-right:0}.visit-card,.hours{padding:4rem 1.25rem}.address{display:block}.booking-form{grid-template-columns:1fr}.booking-form>*{grid-column:1}.footer-links{gap:2rem}.footer-end{display:block}.footer-end a{display:inline-block;margin-top:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-grid img{transition:none}}
