/* Homepage only: warm editorial art direction, shared location pages stay intact. */
.locations-home{--bg:#f7f3ec;--paper:#eee7dc;--ink:#3e302b;--accent:#78563e;--line:#d1c3b3;background:var(--bg)}
.locations-home .header{background:#f7f3ecf5;border-bottom-color:var(--line);height:88px;padding-inline:4.5%}
.locations-home .brand{font-size:14px;letter-spacing:2.2px}
.locations-home .brand img{width:47px;height:47px}
.locations-home .header nav{gap:30px;font-size:12px}
.locations-home .nav-visit{border-bottom:1px solid var(--ink);padding-block:10px}
.nav-visit span{margin-left:20px}
.locations-home .home-welcome{max-width:1600px;padding:0 4.5%;overflow:visible}
.home-editorial-hero{display:grid;grid-template-columns:.88fr 1.12fr;gap:4%;padding:44px 0 42px;align-items:center}
.editorial-copy{padding:16px 0 20px 5%}
.editorial-copy .eyebrow{font-size:10px;letter-spacing:2.2px;margin-bottom:28px}
.editorial-copy h2{font-size:clamp(66px,6.6vw,100px);line-height:.99;letter-spacing:-2.8px;margin-bottom:26px}
.locations-home h1 em,.locations-home h2 em{font-family:Georgia,serif;font-weight:400;color:var(--accent);letter-spacing:-.055em}
.editorial-copy p{max-width:34ch;font-size:14px;line-height:1.85;margin-bottom:28px;color:#6c5a50}
.editorial-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--ink);color:#fff9f2;padding:17px 24px;min-height:55px;font-size:12px;transition:background .25s,transform .25s}
.editorial-cta span{font-size:20px;line-height:1}
.editorial-cta:hover{background:var(--accent);transform:translateY(-2px)}
.editorial-cta:active{transform:translateY(1px)}
.hero-inspiration{display:block;width:fit-content;font-size:11px;margin-top:22px;padding-block:6px;border-bottom:1px solid var(--line)}
.hero-inspiration span{margin-left:25px}
.editorial-image{position:relative;margin:0;align-self:stretch;min-height:490px;background:#d4bc9f}
.editorial-image>img{height:100%;position:absolute;inset:0;object-position:56% center}
.editorial-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:48px 25px 22px;color:#fff9f2;background:linear-gradient(transparent,rgba(45,29,18,.65));display:flex;justify-content:space-between;gap:12px;font-size:10px}
.editorial-image figcaption span:first-child{letter-spacing:1.8px}
.hero-seal{position:absolute;top:27px;left:-42px;width:112px;height:112px;border-radius:50%;background:#f2e8d5;border:1px solid #c9b390;box-shadow:0 0 0 6px #f2e8d5;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-12deg);color:var(--ink);transition:transform .35s}
.hero-seal:hover{transform:rotate(0deg)}
.hero-seal span{font-size:7px;letter-spacing:1.25px}
.hero-seal strong{font:italic 29px Georgia,serif;line-height:1.65}
.neighbourhood-strip{border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0;font-size:11px}
.neighbourhood-strip>span{color:#736153}
.neighbourhood-strip>div{display:flex;align-items:center;gap:27px;font-family:Stanley,Georgia,serif;font-size:24px}
.neighbourhood-strip i{font-style:normal;color:#a1845e;font-size:15px}
.neighbourhood-strip>a span{margin-left:20px}
.locations-home .location-frame{background:transparent;box-shadow:none;border:0;padding:80px 0 55px;scroll-margin-top:15px}
.location-section-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:34px}
.location-section-heading .eyebrow{margin-bottom:15px}
.location-section-heading h2{font-size:clamp(36px,4vw,58px);margin:0}
.location-section-heading p{font-size:12px;color:#736153;margin:0 0 5px;line-height:1.8}
.locations-home .quick-locations{gap:30px}
.locations-home .quick-location{background:transparent;color:var(--ink);border:0;padding:0;min-width:0}
.locations-home .quick-location-title{overflow:hidden}
.locations-home .quick-location-title img{height:220px;transition:filter .35s}
.locations-home .quick-location-title:hover img{filter:brightness(1.08)}
.location-number{display:block;font-size:9px;letter-spacing:1.5px;margin-top:22px;color:var(--accent)}
.locations-home .quick-location-title h2{font-size:35px;margin:7px 0 14px}
.locations-home .quick-location-title h2 span{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:17px;transition:background .25s,color .25s}
.locations-home .quick-location-title:hover h2 span{background:var(--ink);color:var(--bg)}
.locations-home .quick-location-details{padding:0}
.locations-home .quick-location-details address{font-size:11px;white-space:normal}
.locations-home .quick-location-details>a{font-size:12px;color:#736153}
.locations-home .quick-location-actions{border-top:1px solid var(--line);margin-top:20px;font-size:11px;min-height:45px}
.locations-home .section{padding:85px 4.5%;max-width:1600px}
.locations-home .our-story{background:var(--paper);margin-top:30px}
.locations-home .story-intro{gap:7%;padding-inline:3%;margin-bottom:55px}
.locations-home .story-intro h2{font-size:clamp(36px,3.9vw,57px);line-height:1.15}
.locations-home .story-intro p{font-size:13px;line-height:1.9;max-width:46ch}
.locations-home .story-visual{height:350px;gap:12px}
.locations-home .story-visual figure{border:0;background:#ded2c2}
.locations-home .story-values{padding-inline:3%;gap:45px}
.locations-home .story-values h3{font-size:27px}
.locations-home #gallery .section-heading{max-width:none;display:grid;grid-template-columns:1fr auto;gap:0 45px;align-items:end}
.locations-home #gallery .eyebrow,.locations-home #gallery h2{grid-column:1}
.locations-home #gallery h2{font-size:clamp(40px,4.5vw,64px);margin-bottom:15px}
.locations-home #gallery p{font-size:13px;max-width:48ch;grid-column:1}
.locations-home #gallery .text-link{grid-column:2;grid-row:2/4;font-size:12px;margin-bottom:5px}
.locations-home .gallery{gap:24px}
.locations-home .gallery figure:nth-child(even){padding-top:48px}
.locations-home .gallery img{transition:filter .3s}
.locations-home .gallery img:hover{filter:brightness(1.07)}
.home-invite{text-align:center;margin:0 4.5%;padding:58px 20px 66px;border-top:1px solid var(--line)}
.home-invite .eyebrow{margin-bottom:20px}.home-invite h2{font-size:clamp(44px,5.5vw,78px);margin-bottom:28px}
.locations-home footer{padding-inline:6%;background:var(--paper)}
.locations-home a:focus-visible,.locations-home button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(prefers-reduced-motion:no-preference){.editorial-copy{animation:editorial-arrive .85s both}.editorial-image{animation:editorial-arrive 1s .12s both}@keyframes editorial-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}}
@media(min-width:1600px){.editorial-image{min-height:610px}}
@media(max-width:1050px){.locations-home .header nav{gap:18px}.editorial-copy{padding-left:0}.editorial-copy h2{font-size:76px}.home-editorial-hero{gap:5%}.hero-seal{left:-24px;width:94px;height:94px}.hero-seal span{font-size:6px}.hero-seal strong{font-size:26px}.neighbourhood-strip>div{gap:18px}.locations-home .quick-locations{gap:20px}.locations-home .quick-location-title img{height:180px}}
@media(max-width:760px){
.locations-home .header{height:74px;padding-inline:5%}.locations-home .brand{font-size:12px;letter-spacing:1.5px}.locations-home .brand img{width:38px;height:38px}.locations-home .brand small{font-size:7px;letter-spacing:1px}.locations-home .header nav{background:var(--bg)}.locations-home .nav-visit{border:0;padding:0}
.locations-home .home-welcome{padding-inline:6%}.home-editorial-hero{grid-template-columns:1fr;padding:33px 0 25px;gap:28px}.editorial-copy{padding:0}.editorial-copy .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:22px}.editorial-copy h2{font-size:clamp(57px,12vw,80px);line-height:1.02;letter-spacing:-2px;margin-bottom:20px}.editorial-copy h2 br:nth-of-type(2){display:none}.editorial-copy h2 em::before{content:' '}.editorial-copy p{font-size:13px;max-width:36ch;margin-bottom:22px}.editorial-cta{padding:14px 20px;min-height:51px}.hero-inspiration{display:inline-block;margin:0 0 0 17px;font-size:10px}.hero-inspiration span{margin-left:6px}.editorial-image{min-height:300px;margin-top:3px}.editorial-image>img{object-position:50% center}.hero-seal{top:15px;left:auto;right:16px;width:78px;height:78px;box-shadow:0 0 0 4px #f2e8d5}.hero-seal strong{font-size:22px}.hero-seal span{font-size:5px;letter-spacing:1px}.editorial-image figcaption{padding:45px 15px 15px;font-size:8px}.editorial-image figcaption span:first-child{letter-spacing:1px}
.neighbourhood-strip{flex-wrap:wrap;justify-content:center;gap:8px;padding:17px 0}.neighbourhood-strip>span{text-align:center;flex-basis:100%;font-size:10px}.neighbourhood-strip>div{font-size:21px;gap:18px}.neighbourhood-strip>a{display:none}
.locations-home .location-frame{padding:47px 0 24px}.location-section-heading{display:block;margin-bottom:27px}.location-section-heading h2{font-size:39px;max-width:14ch;line-height:1.12}.location-section-heading p{margin-top:18px;font-size:12px}.location-section-heading p br{display:none}.locations-home .quick-locations{gap:32px}.locations-home .quick-location-title img{height:auto;aspect-ratio:16/10}.location-number{margin-top:17px}.locations-home .quick-location-title h2{margin-top:5px;font-size:34px}.locations-home .quick-location-details{display:block}.locations-home .quick-location-details address{font-size:12px;overflow:visible}.locations-home .quick-location-details>a{margin-top:5px}.locations-home .quick-location-actions{margin-top:13px;padding-top:13px}
.locations-home .section{padding:50px 6%}.locations-home .story-intro{padding:0;gap:28px;margin-bottom:35px}.locations-home .story-intro h2{font-size:37px}.locations-home .story-visual{height:280px}.locations-home .story-values{padding:0;gap:26px}.locations-home .story-values h3{font-size:26px}.locations-home #gallery .section-heading{display:block;margin-bottom:27px}.locations-home #gallery .text-link{display:inline-block;margin-top:17px}.locations-home .gallery{gap:14px}.locations-home .gallery figure:nth-child(even){padding-top:24px}.home-invite{padding:40px 0 50px}.home-invite h2{font-size:48px}
}
@media(max-width:360px){.hero-inspiration{display:block;margin:13px 0 0}.editorial-copy h2{font-size:53px}.locations-home .brand{font-size:10px}.locations-home .brand img{width:32px;height:32px}}

/* The three salons are the homepage's first, primary destination. */
.locations-home .location-frame{padding:36px 0 40px}
.locations-lead{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:35px;margin-bottom:30px}
.locations-title-wrap>.eyebrow{margin-bottom:12px;font-size:9px;letter-spacing:2px}
.locations-title{display:flex;align-items:center;gap:24px;margin:0;letter-spacing:-2px;line-height:1}
.locations-count{position:relative;display:inline-block;font-family:Georgia,serif;font-size:clamp(112px,12vw,166px);line-height:.95;color:var(--accent);isolation:isolate}
.count-orbit{position:absolute;inset:8% -18%;border:1px solid #b69b73;border-radius:50%;transform:rotate(22deg);z-index:-1}
.count-orbit::after{content:'';position:absolute;width:8px;height:8px;right:5%;top:15%;background:var(--accent);border:3px solid var(--bg);box-sizing:content-box;border-radius:50%}
.locations-title-copy{font-family:Stanley,Georgia,serif;font-size:clamp(35px,4.2vw,62px);letter-spacing:-1.5px}
.locations-title-copy em{display:block;font-size:.72em;line-height:1.5;margin-top:5px}
.locations-intro{padding-bottom:5px}.locations-intro p{font-size:12px;color:#736153;line-height:1.8;margin-bottom:19px}
.location-jump-links{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:14px}
.location-jump-links a{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--accent);padding-block:6px;white-space:nowrap}
.location-jump-links strong{font-family:Stanley,Georgia,serif;font-size:20px;font-weight:400;color:var(--ink)}
.location-jump-links a:hover strong{text-decoration:underline;text-underline-offset:5px}
.locations-home .quick-location{scroll-margin-top:108px}
.locations-home .quick-location:target{outline:2px solid var(--accent);outline-offset:8px}
.locations-home .home-editorial-hero{border-top:1px solid var(--line);padding-top:55px;margin-top:10px}
@media(prefers-reduced-motion:no-preference){
 .locations-count{animation:location-count-in .85s cubic-bezier(.2,.8,.2,1) both}
 .count-orbit{animation:location-orbit 1.4s .2s ease-out both}
 .locations-title-copy{animation:editorial-arrive .7s .15s both}
 .locations-home .quick-location{animation:editorial-arrive .7s .25s both}
 .locations-home .quick-location:nth-child(2){animation-delay:.43s}
 .locations-home .quick-location:nth-child(3){animation-delay:.61s}
 .location-jump-links a{animation:editorial-arrive .6s .3s both}
 .location-jump-links a:nth-child(2){animation-delay:.48s}
 .location-jump-links a:nth-child(3){animation-delay:.66s}
 @keyframes location-count-in{from{opacity:0;transform:translateY(12px) scale(.78)}to{opacity:1;transform:none}}
 @keyframes location-orbit{from{opacity:0;transform:rotate(-65deg) scale(.85)}to{opacity:1;transform:rotate(22deg) scale(1)}}
}
@media(max-width:1050px){.locations-lead{grid-template-columns:1fr 1fr;gap:30px}.locations-title{gap:18px}.locations-title-copy{font-size:38px}.location-jump-links{gap:14px}.location-jump-links strong{font-size:18px}}
@media(max-width:760px){
 .locations-home .location-frame{padding:29px 0 34px}.locations-lead{grid-template-columns:1fr;gap:19px;margin-bottom:24px}.locations-title-wrap>.eyebrow{font-size:8px;margin-bottom:14px}.locations-title{gap:24px}.locations-count{font-size:115px}.locations-title-copy{font-size:clamp(32px,8.6vw,49px);letter-spacing:-1px}.locations-title-copy em{font-size:.76em;margin-top:6px}.locations-intro p{font-size:11px;margin-bottom:12px}.location-jump-links{justify-content:space-between;gap:8px;padding-top:10px}.location-jump-links strong{font-size:19px}.location-jump-links a{gap:6px}.locations-home .quick-location{scroll-margin-top:94px}.locations-home .home-editorial-hero{padding-top:35px;margin-top:0}
}
@media(max-width:360px){.locations-title{gap:19px}.locations-count{font-size:97px}.locations-title-copy{font-size:29px}.location-jump-links strong{font-size:16px}.location-jump-links a{font-size:8px}}

/* Brand-led location heading with a soft, ink-like splash reveal. */
.locations-brand{position:relative;isolation:isolate;width:fit-content;margin-bottom:18px}
.locations-brand-name{position:relative;display:block;font-family:Stanley,Georgia,serif;font-size:clamp(32px,3.4vw,48px);font-weight:700;letter-spacing:-1px;line-height:1.15}
.locations-brand .eyebrow{position:relative;font-size:8px;letter-spacing:2.2px;margin:8px 0 0}
.locations-brand-splash{position:absolute;z-index:-1;inset:-13px -30px -9px -18px;background:radial-gradient(ellipse at 25% 45%,#c9a66a70,transparent 62%),radial-gradient(ellipse at 74% 55%,#ba875043,transparent 65%);border-radius:42% 58% 63% 37% / 56% 42% 58% 44%;filter:blur(9px);pointer-events:none;transform:rotate(-4deg)}
.locations-title{gap:17px;align-items:baseline;flex-wrap:wrap}
.locations-our{font-family:Stanley,Georgia,serif;font-size:clamp(35px,4.2vw,62px);letter-spacing:-1.5px;line-height:1;color:var(--accent)}
.locations-title-copy{line-height:1}
.locations-home .brand>span{font-size:17px;font-weight:700;letter-spacing:1.8px}
.locations-home .brand small{font-weight:400}
@media(prefers-reduced-motion:no-preference){
 .locations-brand-splash{animation:brand-splash-reveal 1.2s cubic-bezier(.16,.8,.3,1) both}
 .locations-brand-name{animation:editorial-arrive .75s .12s both}
 .locations-our{animation:editorial-arrive .7s .2s both}
 @keyframes brand-splash-reveal{0%{opacity:0;transform:scale(.25) rotate(-16deg)}65%{opacity:1;transform:scale(1.08) rotate(1deg)}100%{opacity:1;transform:scale(1) rotate(-4deg)}}
}
@media(max-width:1050px){.locations-our{font-size:38px}.locations-title{gap:12px}}
@media(max-width:760px){.locations-brand-name{font-size:36px}.locations-brand{margin-bottom:22px}.locations-title{gap:12px;flex-wrap:nowrap}.locations-our,.locations-title-copy{font-size:clamp(29px,7.8vw,44px);letter-spacing:-1px}.locations-home .brand>span{font-size:14px;letter-spacing:1.2px}.locations-brand-splash{inset:-8px -20px -6px -12px}}
@media(max-width:360px){.locations-our,.locations-title-copy{font-size:26px}.locations-title{gap:10px}.locations-brand-name{font-size:32px}.locations-home .brand>span{font-size:12px}}

/* Keep the longer seal wording inside the circular badge. */
.hero-seal strong{font-size:20px;letter-spacing:-.7px}
@media(max-width:1050px){.hero-seal strong{font-size:17px}}
@media(max-width:760px){.hero-seal strong{font-size:14px}}

/* Small destination cues beneath the neighbourhood names. */
.neighbourhood-strip>div>a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 0}
.neighbourhood-strip>div>a small{font-family:Open,Arial,sans-serif;font-size:10px;line-height:1.5;letter-spacing:.5px;color:var(--accent)}
.neighbourhood-strip>div>a small span{display:inline-block;margin-left:4px;transition:transform .2s}
.neighbourhood-strip>div>a:hover small{text-decoration:underline;text-underline-offset:4px}
.neighbourhood-strip>div>a:hover small span{transform:translate(2px,-2px)}
@media(max-width:760px){.neighbourhood-strip>div>a small{font-size:9px}}

/* A consistent frame around each of the three salon cards. */
.locations-home .quick-location{border:1px solid var(--line);padding:14px;background:#faf7f1}
.locations-home .quick-location-details{padding:0 4px 4px}
.locations-home .quick-location-title .location-number,.locations-home .quick-location-title h2{margin-left:4px;margin-right:4px}
@media(max-width:760px){.locations-home .quick-location{padding:12px}}
.locations-home .gallery img{height:auto;aspect-ratio:3/4}
