:root{--paper:#f8f6ef;--cream:#eae4d4;--ink:#252421;--muted:#625f58;--line:#ccc5b5;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-underline-offset:6px}a:focus-visible{outline:2px solid #9d653d;outline-offset:6px}img{display:block}p{margin:0 0 22px}.header{padding:27px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{font:36px/.9 var(--serif);letter-spacing:-2px;text-decoration:none;white-space:nowrap}.brand span{display:block;font:600 10px/1.3 var(--sans);letter-spacing:6px;text-align:center;margin-top:9px;padding-left:6px}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{text-decoration:none}.header nav a:hover{text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 25px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);text-decoration:none;font-size:14px;font-weight:500;transition:background .2s}.button:hover{background:#514d43}.text-link{font-size:14px;font-weight:500;text-decoration:none;border-bottom:1px solid;padding-bottom:4px;width:fit-content}.text-link:hover{color:#876541}.hero{display:grid;grid-template-columns:1.06fr 1fr;max-width:1800px;margin:auto}.hero-copy{padding:66px 9.5% 30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:2.1px;text-transform:uppercase;font-weight:500;margin-bottom:30px}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(56px,6.3vw,100px);line-height:1.04;letter-spacing:-3.5px;margin:0 0 30px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}h1 em{font-size:.93em}.hero-description{max-width:365px;color:var(--muted);font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:flex-start;gap:22px;flex-direction:column;margin-top:10px}.hero-foot{align-self:stretch;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:65px;font-size:10px;letter-spacing:1.7px}.hero-image{background:var(--cream);padding:28px 28px 28px 0;display:flex;align-items:center}.identity-crop{position:relative;width:100%;aspect-ratio:810/1108;overflow:hidden;background:#262827}.identity-crop img{position:absolute;width:116.667%;height:auto;max-width:none;left:-7.4074%;top:-42.78%}.service-strip{display:flex;justify-content:center;align-items:center;gap:5%;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 5%;font-size:12px;letter-spacing:2px;text-transform:uppercase}.service-strip span[aria-hidden]{font-size:16px}.section{padding:95px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:50px}h2{font-size:clamp(44px,4.7vw,74px);line-height:1.1;letter-spacing:-2px;margin:0}.section-aside{max-width:310px;padding-bottom:4px;color:var(--muted)}.section-aside .text-link{color:var(--ink)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:32px 32px 38px 0;display:flex;flex-direction:column;align-items:start}.service+.service{border-left:1px solid var(--line);padding-left:32px}.service-number{font-size:12px;color:var(--muted);letter-spacing:1px}h3{font-size:38px;margin:18px 0 14px;line-height:1.2}.service p{max-width:315px;color:var(--muted);margin-bottom:28px}.service .text-link{margin-top:auto}.about{border-top:1px solid var(--line);background:#eeeade;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;max-width:none;padding-top:85px;padding-bottom:85px}.salon-frame{padding:16px;background:var(--paper)}.salon-crop{position:relative;aspect-ratio:945/574;overflow:hidden;background:#c5c1b6}.salon-crop img{position:absolute;width:100%;height:auto;top:-128.397%;left:0}.photo-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 3px 5px;font-size:13px}.photo-caption span:last-child{font-size:10px;letter-spacing:1.5px}.about-copy h2{font-size:clamp(40px,3.8vw,60px);margin-bottom:28px}.about-copy>p:not(.eyebrow):not(.signature){color:var(--muted);max-width:490px}.signature{font-size:13px;margin:26px 0 0}.signature span{font:italic 32px/1.8 Georgia,serif}.visit{background:var(--ink);color:var(--paper);padding:48px 6% 75px}.visit-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:32px;border-bottom:1px solid #54514a;margin-bottom:48px}.visit-top .eyebrow{margin:0}.small-brand{font:48px/1 var(--serif);letter-spacing:-4px}.visit-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:10%}.visit h2{font-size:clamp(44px,4.8vw,74px);margin-bottom:35px}.light{background:var(--cream);border-color:var(--cream);color:var(--ink)}.light:hover{background:white}.booking-note{font-size:13px;color:#c9c5bb;margin:15px 0 0}.visit-details{border-left:1px solid #54514a;padding:8px 0 0 40px}.visit-details h3{font:500 14px var(--sans);margin:0 0 22px}.visit address{font-style:normal;font-size:17px;line-height:1.9;color:#e0ddd5}.visit-details p{font-size:14px;color:#c9c5bb;margin-top:24px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:34px 5%}footer .brand{font-size:30px}footer p{margin:0;font-size:12px;color:var(--muted)}.skip-link{position:absolute;z-index:5;top:10px;left:10px;transform:translateY(-160%);background:var(--paper);padding:12px}.skip-link:focus{transform:none}@media(min-width:1600px){.hero-image{padding:36px}.hero-copy{padding-top:100px;padding-bottom:50px}}@media(max-width:1050px){.header nav{gap:18px}.header{gap:20px}.hero-copy{padding:45px 8% 28px}h1{font-size:60px}.hero-foot{margin-top:40px}.hero-image{padding:20px 20px 20px 0}.section{padding:70px 5%}.service-strip{gap:3%;font-size:10px}.about{gap:5%}.photo-caption{flex-wrap:wrap}.visit-grid{gap:5%}}@media(max-width:760px){.header{padding:22px 6%;flex-wrap:wrap;gap:22px}.brand{font-size:32px}.header-book{font-size:12px;padding:11px 14px;min-height:44px}.header nav{order:3;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:17px;font-size:13px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 26px}.eyebrow{font-size:11px;margin-bottom:24px;letter-spacing:1.6px}h1{font-size:clamp(50px,10vw,76px);letter-spacing:-2px;margin-bottom:24px}.hero-description{max-width:420px;font-size:16px}.hero-actions{gap:20px}.hero-foot{margin-top:34px;font-size:9px}.hero-image{padding:20px 6%;background:var(--paper)}.identity-crop{max-height:none;aspect-ratio:810/1108}.service-strip{padding:20px 6%;gap:16px;flex-wrap:wrap;font-size:10px;letter-spacing:1px}.service-strip span[aria-hidden]{font-size:11px}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:32px}h2{font-size:46px}.section-aside{margin-top:26px;max-width:390px}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:26px 0 30px;border-left:0}.service+.service{border-top:1px solid var(--line)}.service p{max-width:100%}.service h3{margin-top:12px}.about{grid-template-columns:1fr;gap:36px}.about-copy h2{font-size:43px}.photo-caption{font-size:12px}.visit{padding:35px 6% 55px}.visit-top{margin-bottom:35px;padding-bottom:25px}.visit-grid{grid-template-columns:1fr;gap:40px}.visit h2{font-size:45px}.visit-details{border-left:0;border-top:1px solid #54514a;padding:30px 0 0}.visit address{font-size:16px}footer{padding:30px 6%;flex-wrap:wrap}footer p{order:3;width:100%}footer .text-link{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.salon-video{display:block;width:100%;max-height:620px;aspect-ratio:9/16;object-fit:contain;background:#171715}.salon-frame{max-width:410px;width:100%;margin:auto}@media(max-width:760px){.salon-video{max-height:560px}}
.logo-stage{position:relative;width:100%;background:#252421;aspect-ratio:4/5;overflow:hidden}.logo-film{display:block;width:100%;height:100%;object-fit:cover}.motion-toggle{position:absolute;right:18px;bottom:18px;padding:10px 15px;color:#fff;background:rgba(25,24,22,.82);border:1px solid #8a867b;border-radius:0;font:12px var(--sans);cursor:pointer}.motion-toggle:hover{background:#24221d}.motion-toggle:focus-visible{outline:2px solid #fff;outline-offset:4px}.hero-image{padding:28px;background:var(--cream)}@media(max-width:760px){.hero-image{padding:20px 6%;background:var(--paper)}}
/* Gallery: equal 4:5 frames; screenshot margins stay outside each image window. */
.gallery{border-top:1px solid var(--line)}.gallery-count{font-size:13px;letter-spacing:.3px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.gallery-card{min-width:0;text-decoration:none;display:block}.gallery-tile{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cream)}.gallery-photo{position:absolute;display:block;width:var(--photo-width);height:var(--photo-height);left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden}.gallery-photo img,.gallery-full-photo img{position:absolute;width:var(--source-width);max-width:none;height:auto;left:var(--source-left);top:var(--source-top)}.gallery-zoom{position:absolute;bottom:16px;right:16px;padding:7px 12px;background:rgba(25,24,22,.78);color:white;font-size:12px;opacity:0;transition:opacity .2s}.gallery-card:hover .gallery-zoom,.gallery-card:focus-visible .gallery-zoom{opacity:1}.gallery-card:focus-visible{outline:2px solid #876541;outline-offset:6px}.gallery-caption{display:flex;justify-content:space-between;gap:15px;padding-top:13px;font-size:14px;line-height:1.5}.gallery-number{font-size:12px;color:var(--muted);padding-top:2px}.gallery-card:last-child:nth-child(3n+1){grid-column:2}.gallery-dialog{border:1px solid #54514a;background:#23221f;color:#faf8f1;padding:0;width:min(940px,94vw);max-width:94vw;max-height:94dvh;overflow:auto}.gallery-dialog::backdrop{background:rgba(12,11,10,.87)}body.gallery-open{overflow:hidden}.gallery-viewer{padding:18px 24px 20px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:16px}.gallery-dialog button{color:inherit;background:transparent;border:1px solid #716e64;font:14px var(--sans);min-height:44px;padding:10px 16px;cursor:pointer}.gallery-dialog button:hover{background:#49463f}.gallery-dialog button:focus-visible{outline:2px solid #eee4cc;outline-offset:3px}.gallery-close span{font-size:20px;margin-left:12px}.gallery-full-stage{display:grid;place-items:center;height:65dvh}.gallery-full-photo{position:relative;overflow:hidden;width:min(100%,calc(65dvh * var(--photo-ratio)));aspect-ratio:var(--photo-ratio);background:#171715}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.gallery-current{font-size:13px;margin:0}.gallery-full-caption{text-align:center;font-size:14px;margin:12px 0 0;color:#dfd9cb}@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gallery-card:last-child:nth-child(3n+1){grid-column:auto}.gallery-card:last-child:nth-child(2n+1){grid-column:1 / -1;width:calc((100% - 14px)/2);justify-self:center}.gallery-caption{font-size:13px;gap:8px}.gallery-number{display:none}.gallery-zoom{display:none}.gallery-viewer{padding:12px}.gallery-full-stage{height:61dvh}.gallery-full-photo{width:min(100%,calc(61dvh * var(--photo-ratio)))}.gallery-dialog{width:96vw;max-width:96vw}.gallery-toolbar{margin-bottom:12px}.header nav{gap:12px}.gallery-dialog button{padding:10px 12px}}
/* Charcoal & warm beige — site-wide palette. */
:root{color-scheme:dark;--paper:#191b18;--cream:#252822;--ink:#eee6d5;--muted:#bcbbae;--line:#44483e}
body{background:var(--paper);color:var(--ink)}
.header{background:#171915;border-color:var(--line)}
.brand{color:#eee6d5}.header nav a:hover{color:#d7bd8f}
.button{background:#e9dfca;border-color:#e9dfca;color:#20231c}
.button:hover{background:#d5bf98;border-color:#d5bf98;color:#181b15}
.text-link:hover{color:#d7bd8f}
a:focus-visible,.gallery-card:focus-visible{outline-color:#e5cba1}
.hero-copy{background:#191b18}.hero-image{background:#252822}
.hero-description,.section-aside,.service p,.about-copy>p:not(.eyebrow):not(.signature){color:var(--muted)}
.hero-foot{color:#bcbbae}
.service-strip{background:#252822;color:#ddd1b7;border-color:var(--line)}
.section-aside .text-link{color:#eee6d5}
.eyebrow,.service-number,.gallery-number{color:#cdbd9e}
.gallery{background:#191b18}.gallery-tile{background:#282b24}
.gallery-caption{color:#dcd6c8}.gallery-count{color:#bcbbae}
.about{background:#23261f;border-color:var(--line)}
.salon-frame{background:#161914;border:1px solid #44483e}
.photo-caption{color:#dcd4c4}
.visit{background:#10130e;color:#eee6d5;border-top:1px solid #44483e}
.visit-top,.visit-details{border-color:#42483a}
.visit address{color:#e0d9c9}.visit-details p,.booking-note{color:#bcbbae}
.button.light{background:#e9dfca;color:#20231c;border-color:#e9dfca}
.button.light:hover{background:#d5bf98;border-color:#d5bf98}
footer{background:#171915;border-top:1px solid #373d31}
footer p{color:#bcbbae}
.skip-link{background:#eee6d5;color:#191b18}
.gallery-dialog{background:#1b1e17;color:#eee6d5;border-color:#5b624e}
.gallery-dialog::backdrop{background:rgba(5,8,4,.91)}
.gallery-dialog button{border-color:#777c6b}.gallery-dialog button:hover{background:#363d2e}
.gallery-full-caption{color:#dcd4c4}
@media(max-width:760px){.hero-image{background:#191b18}}
