@charset "UTF-8";

:root{--ink:#29241f;--paper:#f2eee6;--muted:#b8afa3;--copper:#ac7956;--line:rgba(41,36,31,.2);--serif:"Bodoni MT","Didot","Times New Roman",serif;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--copper);color:white}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--copper);outline-offset:6px}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;left:20px;top:20px;padding:15px;background:var(--paper);z-index:20}
.site-header{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:23px 5%;border-bottom:1px solid #ffffff24}
.wordmark{font-family:var(--serif);font-size:46px;letter-spacing:-3px;line-height:1}
.wordmark span{font-family:var(--sans);font-size:10px;vertical-align:top;display:inline-block;margin:6px 0 0 7px;letter-spacing:0}
nav{display:flex;align-items:center;gap:42px;font-size:12px}
nav a{padding:10px 0}
nav a:hover{color:#d6b895}
nav .nav-contact{border:1px solid #ffffff55;padding:13px 20px;display:flex;gap:35px}
.menu-toggle{display:none}
.hero{background:var(--ink);color:var(--paper);padding:29px 5% 0;position:relative;overflow:hidden}
.hero-topline{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}
.hero-brand{text-align:center;padding:20px 0 62px}
.hero h1{font-family:var(--serif);font-size:clamp(150px,28.5vw,440px);font-weight:400;letter-spacing:-.065em;line-height:.96;margin:0 0 5px;padding-right:.055em}
.brand-caption{display:flex;flex-direction:column;gap:7px;text-transform:uppercase;font-size:14px;letter-spacing:2.4px}
.brand-caption span:last-child{font-size:10px;letter-spacing:1.6px;color:var(--muted)}
.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:22px 0 39px;border-top:1px solid #ffffff24}
.hero-bottom p{font-family:var(--serif);font-size:25px;line-height:1.2;margin:0}
.round-link{justify-self:center;display:flex;align-items:center;gap:18px;font-size:11px}
.circle-arrow{height:45px;width:45px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;font-size:19px;transition:background .2s,transform .2s}
.round-link:hover .circle-arrow{background:var(--copper);transform:translateY(3px)}
.hero-note{justify-self:end;font-size:10px;color:var(--muted);line-height:1.8;text-align:right}
.hero-line{height:5px;background:var(--copper);width:80px;position:absolute;bottom:0;left:5%}
.section-wrap{padding:95px 7%}
.section-label{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase}
.small-dot{width:6px;height:6px;border-radius:50%;background:var(--copper);display:inline-block;flex-shrink:0}
.intro-content{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;margin-top:41px}
h2{font:400 clamp(43px,5vw,76px)/1.03 var(--serif);letter-spacing:-2.5px;margin:0}
h2 em{font-weight:400;color:#8e6448}
.intro-copy{max-width:430px;padding-top:3px}
p{font-size:14px;line-height:1.85}
.intro-copy p{margin:0 0 20px;color:#62594f}
.intro-copy p:first-child{font-size:18px;color:var(--ink);line-height:1.65}
.text-link{display:inline-flex;gap:38px;font-size:12px;border-bottom:1px solid var(--ink);padding:8px 0;margin-top:8px}
.text-link:hover{color:#8e6448}
.craft{display:grid;grid-template-columns:1fr 1fr;margin:0 5%;background:#e7dfd3}
.craft-art{background:#6b503c;position:relative;min-height:480px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#eadac5}
.craft-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 0%,#ffffff14,transparent 65%)}
.tools-art{width:100%;max-width:560px;display:block}
.art-label{position:absolute;top:27px;left:30px;font-size:9px;letter-spacing:2px;text-transform:uppercase}
.art-bottom{position:absolute;bottom:26px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.7px}
.craft-copy{padding:60px 12%;display:flex;flex-direction:column;justify-content:center}
.craft-copy h2{font-size:clamp(38px,4vw,60px);margin:31px 0 17px}
.craft-copy>p{color:#62594f;max-width:320px;margin:0}
.since{display:flex;align-items:center;gap:24px;margin-top:39px;padding-top:24px;border-top:1px solid var(--line)}
.since>span{font-family:var(--serif);font-size:47px;letter-spacing:-2px}
.since p{font-size:10px;line-height:1.6;color:#62594f;margin:0}
.styles{padding-top:105px;padding-bottom:110px}
.styles-heading{margin-bottom:42px}
.styles-heading h2{margin-top:27px;font-size:clamp(42px,4.5vw,65px)}
.styles-heading p{color:#62594f;margin:18px 0 0;font-size:13px}
details{border-top:1px solid var(--line)}
details:last-child{border-bottom:1px solid var(--line)}
summary{display:flex;align-items:center;gap:35px;padding:27px 0;list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.style-number{font-size:10px;color:#8e6448;align-self:center}
.style-name{font:400 clamp(25px,3vw,39px)/1.2 var(--serif);letter-spacing:-.8px}
.style-tag{margin-left:auto;font-size:11px;color:#74695e}
.details-icon{width:28px;height:28px;position:relative;margin-left:35px;flex-shrink:0;border:1px solid var(--line);border-radius:50%}
.details-icon:before,.details-icon:after{content:"";position:absolute;background:var(--ink);width:10px;height:1px;top:12px;left:8px}
.details-icon:after{transform:rotate(90deg);transition:transform .2s}
details[open] .details-icon:after{transform:rotate(0)}
summary:hover .style-name{color:#8e6448}
.style-description{padding:0 65px 26px 48px;max-width:690px}
.style-description p{margin:0;color:#62594f;font-size:13px}
.visit{background:#e7dfd3;padding-top:62px;padding-bottom:73px}
.visit-content{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center;margin-top:47px}
.eyebrow{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 20px;color:#62594f}
.visit-content h2{font-size:clamp(54px,6.5vw,96px)}
.visit-content p:not(.eyebrow){color:#62594f;margin:23px 0 27px}
.button{background:var(--ink);color:var(--paper);display:inline-flex;justify-content:space-between;align-items:center;gap:45px;padding:19px 23px;font-size:11px;transition:background .2s}
.button:hover{background:#74553e}
.button>span[aria-hidden]{font-size:18px}
.location-stamp{border:1px solid #aa927e;border-radius:50%;aspect-ratio:1;width:min(100%,310px);justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg)}
.location-stamp>span{font-size:9px;text-transform:uppercase;letter-spacing:2px;display:flex;gap:8px;align-items:center}
.location-stamp strong{font:400 57px/.9 var(--serif);text-align:center;margin:26px 0;letter-spacing:-2px}
.location-stamp strong em{font-weight:400;color:#8e6448}
footer{background:var(--ink);color:var(--muted);display:flex;align-items:center;gap:40px;padding:36px 5%;font-size:9px}
footer .wordmark{color:var(--paper);font-size:40px}
footer>span:nth-of-type(2){margin-left:auto}
.back-top:hover{color:var(--paper)}
@media(min-width:1600px){.site-header,.hero,footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}.section-wrap{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}.craft{max-width:1440px;margin-inline:auto}}
@media(max-width:760px){.site-header{padding:20px 6%;flex-wrap:wrap;gap:20px}.wordmark{font-size:39px}.menu-toggle:not([hidden]){display:flex;align-items:center;gap:16px;border:0;background:none;color:var(--paper);padding:10px 0;font-size:12px}.menu-toggle span{font-size:21px}nav{width:100%;gap:25px;justify-content:space-between}nav[data-collapsible="true"]{display:none}nav[data-collapsible="true"].is-open{display:flex}nav .nav-contact{padding:9px 14px;gap:15px}.hero{padding:24px 6% 0}.hero-topline{font-size:8px;letter-spacing:1px}.hero-topline span:last-child{display:none}.hero-brand{padding:45px 0 54px}.hero h1{font-size:29vw;line-height:1.1}.brand-caption{font-size:10px;letter-spacing:1.8px;gap:8px}.brand-caption span:last-child{font-size:8px}.hero-bottom{grid-template-columns:1fr 1fr;padding:24px 0 31px}.hero-bottom p{font-size:21px}.round-link{justify-self:end;gap:12px;font-size:10px}.circle-arrow{width:35px;height:35px}.hero-note{display:none}.section-wrap{padding:63px 7%}.intro-content{grid-template-columns:1fr;gap:26px;margin-top:29px}h2{font-size:53px}.intro-copy{max-width:100%}.intro-copy p:first-child{font-size:17px}.craft{grid-template-columns:1fr;margin:0 5%}.craft-art{min-height:0}.tools-art{max-height:470px}.craft-copy{padding:44px 8%}.craft-copy h2{font-size:47px;margin-top:25px}.craft-copy>p{max-width:100%}.since{margin-top:29px}.styles-heading h2{font-size:45px}.styles-heading{margin-bottom:31px}summary{gap:18px;padding:23px 0}.style-name{font-size:28px}.style-tag{display:none}.details-icon{margin-left:auto}.style-description{padding:0 0 25px 30px}.visit-content{grid-template-columns:1fr;margin-top:35px;gap:45px}.visit-content h2{font-size:65px}.location-stamp{width:235px;justify-self:center}.location-stamp strong{font-size:47px;margin:22px 0}.location-stamp>span{font-size:8px}footer{flex-wrap:wrap;gap:23px;padding:30px 7%}footer .wordmark{width:100%}footer>span:nth-of-type(1){width:100%}footer>span:nth-of-type(2){margin-left:0}.back-top{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.visit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px}.visit-actions .text-link{margin:0;gap:16px}.opening-hours{margin:0;padding:32px 7%;background:#e7dfd3;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:30px}.opening-hours h2{font:400 28px var(--serif);letter-spacing:-.5px;margin:0}.opening-hours dl{margin:0;font-size:12px}.opening-hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0}.opening-hours dt{color:#62594f}.opening-hours dd{margin:0;text-align:right}.opening-hours dd span{color:#8e6448;padding:0 7px}@media(max-width:760px){.opening-hours{grid-template-columns:1fr;gap:14px}.opening-hours dl{font-size:11px}.opening-hours dd span{padding:0 2px}.visit-actions{gap:23px}}

/* Keep map controls and labels crisp; tint only the map tiles. */
.salon-map-section { margin-top: 55px; border: 1px solid var(--line); }
.map-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 28px; }
.map-heading h3 { margin: 0; font: 400 31px/1.1 var(--serif); letter-spacing: -.7px; }
.map-heading p { margin: 8px 0 0; font-size: 11px; color: #62594f; }
.map-reset { flex-shrink: 0; padding: 12px 15px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); cursor: pointer; font-size: 11px; }
.map-reset span { margin-left: 15px; }
.map-reset:hover { background: var(--ink); color: var(--paper); }
.salon-map { height: 420px; background: #d9d0c0; z-index: 0; font-family: var(--sans); }
.salon-map .leaflet-tile-pane { filter: grayscale(1) sepia(.45) saturate(.7) brightness(.97); }
.salon-map .leaflet-bar { border: 1px solid var(--line); box-shadow: 0 2px 12px #29241f15; }
.salon-map .leaflet-bar a { color: var(--ink); background: var(--paper); width: 38px; height: 38px; line-height: 38px; border-color: var(--line); }
.salon-map .leaflet-bar a:hover { background: #e7dfd3; }
.salon-map .leaflet-bar a.leaflet-disabled { color: #9b9185; }
.salon-map .leaflet-control-attribution { background: var(--paper); color: var(--ink); font-size: 10px; }
.salon-map .leaflet-control-attribution a { color: #704b32; }
.axana-map-marker { background: transparent; border: 0; }
.axana-map-marker span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--copper); border: 3px solid var(--paper); box-shadow: 0 4px 15px #29241f44; }
.axana-map-marker span::after { content: ""; width: 14px; height: 14px; border-radius: 50%; background: var(--paper); }
.salon-map .leaflet-popup-content-wrapper, .salon-map .leaflet-popup-tip { background: var(--paper); color: var(--ink); }
.salon-map .leaflet-popup-content-wrapper { border-radius: 0; }
.salon-map .leaflet-popup-content { margin: 20px 25px; font-size: 12px; line-height: 1.8; }
.salon-map .leaflet-popup-content strong { display: block; font: 600 18px/1.3 var(--sans); margin-bottom: 7px; }
.salon-map .leaflet-popup-content a { display: inline-block; color: #704b32; border-bottom: 1px solid currentColor; margin-top: 10px; }
.salon-map .leaflet-popup-close-button { color: var(--ink); }
.map-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; padding: 17px 28px; align-items: center; }
.map-footer p { margin: 0; color: #62594f; font-size: 10px; }
.map-footer a { font-size: 11px; border-bottom: 1px solid var(--line); padding-bottom: 3px; }
.map-status { margin: 0; padding: 0 28px 20px; font-size: 12px; color: #62594f; }
@media (max-width: 760px) {
  .map-heading { padding: 22px 18px; align-items: flex-start; flex-direction: column; gap: 17px; }
  .salon-map { height: 360px; }
  .map-footer { padding: 17px 18px; }
  .map-status { padding: 0 18px 20px; }
}

/* Original supplied artwork, cropped with SVG viewports. */
.wordmark img { display: block; width: 116px; height: auto; mix-blend-mode: lighten; }
.hero h1 { margin: 0; padding: 0; font-size: inherit; line-height: 1; }
.hero h1 img { display: block; width: 100%; max-width: 1100px; height: auto; margin: 0 auto; mix-blend-mode: lighten; }
.hero-brand { padding-top: 32px; }
footer .wordmark img { width: 110px; }
@media (max-width: 760px) { .wordmark img { width: 105px; } .hero-brand { padding-top: 48px; padding-bottom: 54px; } }
