:root{--paper:#FAF8F5;--ink:#1A1A1A;--muted:#555555;--gold:#C8A45D;--soft:#F3F1ED;--line:#dfdcd5;--serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,Arial,sans-serif;--content:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.skip-link{position:absolute;top:-60px;left:16px;padding:10px 16px;background:white;z-index:9}.skip-link:focus{top:12px}.site-header{height:88px;padding:0 6.25%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(26,26,26,.08);position:relative;z-index:3;background:var(--paper)}.wordmark{font-size:32px;font-weight:600;letter-spacing:-2.2px;line-height:1}.wordmark span{color:var(--gold)}.main-nav{display:flex;align-items:center;gap:40px;margin-left:80px}.main-nav a{font-size:13px;color:#393939;transition:color .2s}.main-nav a:hover,.text-link:hover{color:#927339}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 23px;background:var(--ink);border:1px solid var(--ink);border-radius:11px;color:#fff;font-size:13px;font-weight:500;transition:background .2s,color .2s}.button span{color:#e0c68e;font-size:17px}.button:hover{background:transparent;color:var(--ink)}.button:hover span{color:var(--gold)}.button-small{min-height:42px;padding:0 16px;font-size:12px}.menu-toggle{display:none;border:0;background:none;padding:8px}.hero{min-height:635px;max-width:1440px;margin:0 auto;padding:64px 6.25% 70px;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:7.5%}.hero-copy{padding:8px 0 0;max-width:455px}.location{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;margin:0 0 23px}.location-dot{width:7px;height:7px;background:var(--gold);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-1.8px;line-height:.94}h1{font-size:clamp(68px,7.1vw,102px);margin-bottom:25px}h2{font-size:clamp(48px,5.4vw,72px);margin-bottom:22px}.hero-intro{max-width:365px;color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:12px;font-weight:500;border-bottom:1px solid var(--gold);padding-bottom:5px;transition:color .2s}.text-link span{margin-left:6px;color:#9d814a}.hero-note{margin-top:47px;display:flex;align-items:center;gap:12px;color:#777;font-size:11px}.note-line{width:30px;height:1px;background:var(--gold)}.hero-visual{position:relative;align-self:stretch;min-height:460px;max-height:525px}.hero-visual img,.salon-image img{width:100%;height:100%;object-fit:cover;border-radius:16px}.hero-visual img{object-position:center 48%}.image-caption{position:absolute;left:20px;bottom:18px;display:flex;gap:17px;color:white;font-size:9px;text-shadow:0 1px 8px #000;letter-spacing:.06em}.image-caption span+span{border-left:1px solid rgba(255,255,255,.65);padding-left:17px}.image-spark{position:absolute;top:22px;right:23px;color:white;font-size:22px;text-shadow:0 1px 8px #000}.section-wrap{max-width:var(--content);margin:0 auto;padding-left:6.25%;padding-right:6.25%}.services{padding-top:114px;padding-bottom:122px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.eyebrow{font-size:11px;color:#866b3b;margin-bottom:18px}.section-heading h2{font-size:clamp(47px,5vw,64px);margin-bottom:0}.section-intro{max-width:340px;color:var(--muted);font-size:13px;line-height:1.85;margin-bottom:6px}.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:90px 1fr 42px;gap:20px;align-items:center;padding:25px 8px 25px 0;border-bottom:1px solid var(--line)}.service-number{font-size:11px;color:#927b50}.service-item h3{font-size:17px;font-weight:500;letter-spacing:-.3px;margin:0 0 4px}.service-item p{font-size:12px;color:var(--muted);margin:0}.service-mark{color:var(--gold);font-size:19px;text-align:right}.salon-section{background:var(--soft);display:grid;grid-template-columns:1fr 1fr;min-height:530px}.salon-image{min-height:530px}.salon-image img{border-radius:0;object-position:center}.salon-copy{padding:70px 12% 65px 13%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.salon-copy h2{font-size:clamp(50px,5.5vw,74px)}.salon-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:14px}.salon-copy .text-link{margin-top:13px}.visit{display:grid;grid-template-columns:1fr .75fr;gap:14%;padding-top:114px;padding-bottom:110px}.visit-copy{max-width:430px}.visit-copy h2{font-size:clamp(55px,5.8vw,76px)}.visit-copy>p:not(.eyebrow){max-width:360px;color:var(--muted);font-size:13px;line-height:1.9;margin:0 0 26px}.visit-detail{padding-top:15px}.detail-row{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.detail-row:first-child{border-top:1px solid var(--line)}.detail-row>span{font-size:11px;color:#777}.detail-row>a{font-size:12px;line-height:1.8}.detail-row>a span{color:#997b43;margin-left:4px}.detail-note{padding-top:17px;color:#777;font-size:11px}.site-footer{min-height:95px;padding:20px 6.25%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:#777;font-size:10px}.site-footer .wordmark{color:var(--ink);font-size:27px}
@media(max-width:850px){.site-header{height:76px;padding:0 5%}.main-nav{gap:22px;margin-left:0}.hero{padding:55px 5% 65px;gap:5%;grid-template-columns:.9fr 1.1fr;min-height:580px}.hero-visual{min-height:420px}.section-wrap{padding-left:7%;padding-right:7%}.salon-copy{padding:55px 8%}.visit{gap:9%;padding-top:90px;padding-bottom:90px}.site-footer{padding:20px 5%}}
@media(max-width:620px){html{scroll-padding-top:72px}.site-header{height:70px;padding:0 22px}.wordmark{font-size:29px}.main-nav{display:none;position:absolute;top:69px;left:0;right:0;padding:17px 22px 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:13px}.main-nav.is-open{display:flex}.site-header>.button{margin-left:auto;margin-right:12px;min-height:38px;padding:0 11px;font-size:10px;gap:8px}.site-header>.button span{font-size:13px}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle span{width:19px;height:1px;background:var(--ink)}.hero{display:flex;flex-direction:column;align-items:stretch;padding:55px 22px 62px;gap:34px}.hero-copy{padding:0}.location{margin-bottom:17px}h1{font-size:76px;margin-bottom:19px}.hero-intro{font-size:14px;max-width:360px;margin-bottom:23px}.hero-note{margin-top:29px}.hero-visual{min-height:380px;height:380px;max-height:none}.hero-visual img{object-position:center}.services{padding-top:78px;padding-bottom:82px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:55px}.section-intro{margin-top:20px}.service-item{grid-template-columns:36px 1fr 25px;gap:12px;padding:21px 0}.service-item p{max-width:330px;line-height:1.65}.salon-section{grid-template-columns:1fr}.salon-image{min-height:340px;height:340px}.salon-copy{padding:53px 25px 60px}.salon-copy h2{font-size:61px}.visit{grid-template-columns:1fr;gap:35px;padding-top:78px;padding-bottom:75px}.visit-copy h2{font-size:64px}.detail-row{grid-template-columns:105px 1fr}.site-footer{padding:22px;display:grid;grid-template-columns:1fr auto;gap:13px}.site-footer>span:nth-child(2){grid-column:1}.site-footer>span:last-child{grid-column:1/-1}.site-footer .wordmark{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.brand-logo{display:flex;align-items:center;width:156px;height:42px;flex:none}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.site-footer .brand-logo{width:132px;height:36px}
@media(max-width:620px){.site-header .brand-logo{width:132px;height:36px}.site-footer .brand-logo{grid-column:1/-1}}

/* V2 editorial system and homepage hero. Existing V1 sections remain in place. */
:root{--header-height:72px;--editorial-edge:clamp(24px,5vw,80px);--editorial-breakout:1440px}
body{font-size:16px}
.site-header{height:var(--header-height);padding-inline:var(--editorial-edge)}
.main-nav a{font-size:14px}
.button{min-height:50px;border-radius:10px;font-size:14px;gap:14px}
.button-small{min-height:42px;font-size:12px}
.hero{position:relative;display:block;isolation:isolate;width:100%;max-width:var(--editorial-breakout);height:calc(100svh - var(--header-height));min-height:590px;max-height:900px;margin:0 auto;padding:0;overflow:hidden}
.hero-visual{position:absolute;inset:0 0 15%;min-height:0;max-height:none;margin:0;overflow:hidden}
.hero-visual img{display:block;width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center 24%}
.hero-copy{position:absolute;inset:0;z-index:1;width:auto;max-width:none;padding:0;background:transparent;pointer-events:none}
.hero-title-group{position:absolute;top:8%;left:var(--editorial-edge);pointer-events:auto}
.hero-copy h1{position:static;margin:0;font-family:var(--serif);font-size:clamp(76px,10.8vw,154px);font-weight:500;line-height:.72;letter-spacing:-.065em;text-transform:uppercase;color:var(--paper)}
.hero-title-major{display:block;white-space:nowrap}
.hero-title-secondary{display:block;margin-top:18px;font-size:clamp(20px,2.3vw,32px);font-weight:500;line-height:1.1;letter-spacing:.12em;white-space:nowrap}
.hero-title-cta{display:flex;width:max-content;min-width:136px;min-height:0;margin-top:32px;padding:14px 20px;border:0;border-bottom:1px solid var(--gold);border-radius:8px;font-size:13px;white-space:nowrap}
.hero-details{position:absolute;right:var(--editorial-edge);bottom:2.2%;left:var(--editorial-edge);display:grid;grid-template-columns:minmax(220px,390px) auto;align-items:end;justify-content:space-between;gap:28px;pointer-events:auto}
.hero-intro{max-width:365px;margin:0;color:var(--muted);font-size:15px;line-height:1.65}
.hero-details .button{justify-self:start;min-height:0;padding:5px 0;border:0;border-bottom:1px solid var(--gold);border-radius:0;background:transparent;color:var(--ink);font-size:13px;white-space:nowrap}
.hero-details .button span{color:var(--gold)}
.hero-details .button:hover{background:transparent;color:#927339}
.section-wrap{max-width:var(--content);padding-inline:var(--editorial-edge)}
.services{padding-top:clamp(88px,8vw,114px);padding-bottom:clamp(92px,8.5vw,122px)}
.salon-section,.salon-image img{border-radius:0}

@media(max-width:850px) and (min-width:621px){
  .hero{min-height:560px}
  .hero-visual{inset:0 0 17%}
  .hero-copy h1{font-size:clamp(72px,10vw,112px)}
  .hero-title-secondary{font-size:clamp(18px,2.5vw,24px)}
  .hero-details{grid-template-columns:minmax(190px,330px) auto;gap:20px}
  .hero-intro{font-size:14px}
}

/* Services detail dialog: editorial type and image, with no card framing. */
.services-category-list .service-trigger{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer;transition:color .18s ease}
.services-category-list .service-trigger:hover{color:#927339}
.services-category-list .service-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.service-dialog{width:min(1080px,calc(100vw - 64px));height:min(620px,78vh);max-width:none;max-height:none;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden}
.service-dialog::backdrop{background:rgba(18,17,15,.68)}
.service-dialog-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr);height:100%;min-height:0;max-height:none}
.service-dialog-layout.has-image{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}
.service-dialog-media{position:relative;min-width:0;min-height:0;margin:0;background:var(--soft);overflow:hidden}
.service-dialog-media[hidden]{display:none}
.service-dialog-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%}
.service-dialog-info{position:relative;display:flex;min-width:0;min-height:0;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(28px,3.4vw,46px)}
.service-dialog-close{position:absolute;z-index:2;top:16px;right:16px;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font:300 28px/1 var(--sans);cursor:pointer}
.service-dialog-close:hover{border-color:var(--gold);color:#927339}
.service-dialog-content{min-width:0;min-height:0;margin:0;padding:12px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.service-dialog-kicker{margin:0 0 22px;color:#927b50;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.service-dialog-content h2{width:100%;max-width:none;margin:0;font-family:var(--serif);font-size:clamp(60px,6.2vw,88px);font-weight:500;letter-spacing:-.065em;line-height:.9;overflow-wrap:normal}
.service-dialog-description{max-width:480px;margin:28px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.service-dialog-meta{margin:18px 0 0;color:var(--ink);font-size:13px;line-height:1.5;letter-spacing:.02em}
.service-dialog-cta{align-self:flex-start;flex:none;min-width:205px;margin-top:26px}

@media(max-width:620px){
  .service-dialog{width:calc(100vw - 18px);height:min(90vh,780px);height:min(90svh,780px);max-height:none;margin:auto}
  .service-dialog-layout{height:100%;min-height:0;max-height:none;grid-template-rows:minmax(0,1fr)}
  .service-dialog-layout.has-image{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,42fr) minmax(0,58fr)}
  .service-dialog-media{min-height:0}
  .service-dialog-info{min-height:0;padding:18px 22px 18px}
  .service-dialog-close{top:12px;right:12px;width:40px;height:40px}
  .service-dialog-content{min-height:0;overflow:auto;margin:0;padding:8px 0 16px}
  .service-dialog-kicker{margin-bottom:15px;font-size:10px}
  .service-dialog-content h2{font-size:clamp(50px,13vw,62px);line-height:.92}
  .service-dialog-description{margin-top:21px;font-size:14px;line-height:1.6}
  .service-dialog-meta{margin-top:14px;font-size:12px}
  .service-dialog-cta{align-self:stretch;flex:none;width:100%;min-height:52px;margin-top:14px}
}

@media(max-width:620px){
  .site-header{height:70px;padding-inline:22px}
  .main-nav{top:69px}
  .hero{height:auto;min-height:0;max-height:none;overflow:hidden;padding:0}
  .hero-visual{inset:0 0 auto;width:100%;height:74vw;min-height:270px;max-height:360px}
  .hero-visual img{object-position:24% center}
  .hero-copy{position:relative;inset:auto;width:100%;height:calc(74vw + 205px);min-height:465px;padding:0;background:transparent}
  .hero-title-group{top:19px;left:22px}
  .hero-copy h1{font-size:clamp(48px,12.8vw,68px);line-height:.72;letter-spacing:-.06em}
  .hero-title-secondary{margin-top:13px;font-size:clamp(16px,4.4vw,21px);letter-spacing:.1em}
  .hero-details{right:22px;bottom:25px;left:22px;grid-template-columns:1fr;justify-content:start;gap:14px}
  .hero-intro{max-width:330px;font-size:14px;line-height:1.6}
  .hero-details .button{min-height:0}
  .section-wrap{padding-inline:22px}
  .services{padding-top:78px;padding-bottom:82px}
}

@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual{animation:none;transition:none}}

/* Editorial Services sequence. The original V1 page structure and all non-Services sections remain intact. */
.services{padding-top:clamp(82px,9vw,132px);padding-bottom:clamp(104px,11vw,160px);overflow:hidden}
.services-heading{max-width:730px;margin:0 auto 0 3.5%}
.services-heading .eyebrow{margin-bottom:16px}
.services-heading h2{max-width:710px;font-size:clamp(60px,7vw,88px);line-height:.88;letter-spacing:-.055em;margin:0 0 24px}
.services-heading .section-intro{max-width:565px;font-size:15px;line-height:1.8;margin:0;color:var(--muted)}
.services-image-note{margin:15px 0 0;font-size:11px;line-height:1.5;color:#76716a}
.services-editorial{margin-top:clamp(56px,7vw,94px)}
.service-entry{min-width:0}
.service-image{display:block;margin:0;overflow:hidden;background:var(--soft)}
.service-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.service-copy{min-width:0}
.service-number{display:block;width:max-content;margin-bottom:20px;color:#927b50;font-family:var(--sans);font-size:13px;letter-spacing:.08em}
.service-copy h3,.service-haircut-heading h3{font-family:var(--serif);font-weight:500;letter-spacing:-.055em;line-height:.88;margin:0 0 19px}
.service-copy p,.service-haircut-heading p{max-width:370px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.service-colour{display:grid;grid-template-columns:minmax(260px,.76fr) minmax(0,1.24fr);align-items:center;gap:clamp(36px,6.5vw,92px);margin:0 0 clamp(120px,14vw,190px)}
.service-colour .service-copy{padding-left:4.5%}
.service-colour .service-copy h3{max-width:510px;font-size:clamp(66px,8vw,106px)}
.service-image-colour{width:100%;height:clamp(500px,57vw,720px)}
.service-image-colour img{object-position:center 36%}
.service-perm{width:91%;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(270px,.8fr);align-items:center;gap:clamp(48px,8vw,116px);margin:0 0 clamp(128px,15vw,204px) auto}
.service-image-perm{height:clamp(420px,49vw,610px)}
.service-image-perm img{object-position:center 38%}
.service-perm .service-copy{max-width:390px}
.service-perm .service-copy h3{font-size:clamp(66px,7.4vw,94px)}
.service-haircut-heading{display:grid;grid-template-columns:76px minmax(250px,1fr) minmax(240px,.72fr);align-items:end;gap:24px;margin:0 0 30px}
.service-haircut-heading .service-number{align-self:start;margin-top:17px}
.service-haircut-heading h3{font-size:clamp(66px,7.4vw,94px);margin:0}
.service-haircut-heading p{max-width:330px;margin:0 0 7px}
.service-image-haircut{width:64%;height:clamp(500px,54vw,680px);margin-left:auto}
.service-image-haircut img{object-position:center 20%}

@media(max-width:850px){
  .services-heading{margin-left:0}
  .service-colour{grid-template-columns:minmax(230px,.8fr) minmax(0,1.1fr);gap:35px}
  .service-colour .service-copy{padding-left:0}
  .service-colour .service-copy h3{font-size:clamp(62px,8vw,82px)}
  .service-image-colour{height:clamp(440px,59vw,570px)}
  .service-perm{width:100%;grid-template-columns:minmax(0,1fr) minmax(235px,.82fr);gap:44px}
  .service-image-perm{height:clamp(420px,58vw,540px)}
  .service-haircut-heading{grid-template-columns:60px 1fr .9fr;gap:17px}
  .service-image-haircut{width:74%;height:clamp(440px,58vw,560px)}
}

@media(max-width:620px){
  .services{padding-top:74px;padding-bottom:92px}
  .services-heading{margin:0}
  .services-heading .eyebrow{font-size:10px;margin-bottom:14px}
  .services-heading h2{font-size:clamp(52px,14vw,72px);line-height:.88;margin-bottom:19px}
  .services-heading .section-intro{font-size:14px;line-height:1.75}
  .services-image-note{max-width:300px;font-size:10px}
  .services-editorial{margin-top:54px}
  .service-colour,.service-perm{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0;margin:0 0 94px}
  .service-copy{padding:0!important}
  .service-number{font-size:12px;margin-bottom:12px}
  .service-copy h3,.service-haircut-heading h3{font-size:clamp(54px,15vw,76px)!important;line-height:.88;margin-bottom:14px}
  .service-copy p,.service-haircut-heading p{max-width:34ch;font-size:13px;line-height:1.7;margin-bottom:23px}
  .service-image-colour,.service-image-perm{width:100%;height:auto;aspect-ratio:4/5}
  .service-colour{margin-bottom:100px}
  .service-perm{margin-bottom:102px}
  .service-perm .service-copy{order:-1}
  .service-haircut-heading{display:grid;grid-template-columns:42px 1fr;gap:0 12px;align-items:start;margin-bottom:0}
  .service-haircut-heading .service-number{grid-column:1;grid-row:1;margin:10px 0 0}
  .service-haircut-heading h3{grid-column:2;grid-row:1}
  .service-haircut-heading p{grid-column:2;grid-row:2;margin-bottom:22px}
  .service-image-haircut{width:100%;height:auto;aspect-ratio:4/5;margin:0}
}

/* Compact homepage Services preview */
.services{padding-top:clamp(76px,8vw,104px);padding-bottom:clamp(82px,9vw,112px);overflow:visible}
.services-preview-heading{max-width:760px;margin:0 0 clamp(30px,4vw,52px)}
.services-preview-heading .eyebrow{margin-bottom:14px}
.services-preview-heading h2{font-size:clamp(57px,6.8vw,82px);line-height:.88;letter-spacing:-.055em;margin:0 0 20px}
.services-preview-heading .section-intro{max-width:560px;font-size:14px;line-height:1.75;margin:0;color:var(--muted)}
.services-preview-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:start;gap:clamp(34px,6vw,78px)}
.services-preview-feature{display:block;min-width:0}
.services-preview-image{height:clamp(300px,35vw,420px);margin:0;overflow:hidden;background:var(--soft)}
.services-preview-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.services-preview-title{display:flex;align-items:baseline;gap:16px;margin-top:11px;font-family:var(--serif);font-size:clamp(42px,5vw,64px);font-weight:500;letter-spacing:-.05em;line-height:.95}
.services-preview-number{flex:none;color:#927b50;font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.07em}
.services-preview-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.services-preview-list li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:baseline;gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}
.services-preview-list a{font-family:var(--serif);font-size:clamp(27px,3vw,39px);font-weight:500;letter-spacing:-.035em;line-height:1.06;transition:color .2s}
.services-preview-list a:hover,.services-preview-all:hover{color:#927339}
.services-preview-all{display:flex;justify-content:flex-end;gap:11px;width:max-content;margin:22px 0 0 auto;padding-bottom:5px;border-bottom:1px solid var(--gold);font-size:13px;font-weight:500;transition:color .2s}
.services-preview-all span{color:#927b50;font-size:16px;line-height:1}

/* Full Services page */
.services-page{width:100%;padding-bottom:clamp(68px,8vw,112px)}
.services-page-intro{max-width:var(--content);margin:0 auto;padding:clamp(66px,8vw,110px) var(--editorial-edge) clamp(50px,6vw,78px)}
.services-page-intro .eyebrow{margin-bottom:14px}
.services-page-intro h1{font-size:clamp(100px,16vw,190px);line-height:.78;letter-spacing:-.075em;margin:0 0 28px}
.services-page-lede{max-width:580px;margin:0;color:var(--muted);font-size:16px;line-height:1.8}
.services-page-list{max-width:var(--content);margin:0 auto;padding-inline:var(--editorial-edge);scroll-margin-top:calc(var(--header-height) + 18px)}
.services-category{display:grid;position:relative;min-width:0;padding:clamp(42px,4.2vw,60px) 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + 18px)}
.services-category-number{display:block;color:#927b50;font-family:var(--sans);font-size:13px;letter-spacing:.08em}
.services-category-heading h2{font-family:var(--serif);font-size:clamp(61px,7vw,88px);font-weight:500;letter-spacing:-.06em;line-height:.86;margin:0}
.services-category-list{list-style:none;margin:0;padding:0}
.services-category-list li{padding:9px 0;color:var(--ink);font-size:15px;line-height:1.45}
.services-category-list li+li{border-top:1px solid rgba(26,26,26,.09)}
.services-category-image{position:relative;display:block;min-width:0;aspect-ratio:4/3;margin:0;overflow:hidden;background:var(--soft)}
.services-category-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.services-category-colour{grid-template-columns:48px minmax(0,1.08fr) minmax(320px,.92fr);grid-template-rows:auto auto;grid-template-areas:"number heading image" "number list image";column-gap:clamp(24px,3.5vw,44px);row-gap:20px;align-items:start}
.services-category-colour .services-category-number{grid-area:number}
.services-category-colour .services-category-heading{grid-area:heading}
.services-category-colour .services-category-heading h2{font-size:clamp(72px,7.4vw,96px);white-space:nowrap}
.services-category-colour .services-category-list{grid-area:list;max-width:440px}
.services-colour-image{grid-area:image;align-self:start}
.services-colour-image img{object-position:center 35%}
.services-category-chemical{grid-template-columns:minmax(300px,.9fr) 48px minmax(0,1.1fr);grid-template-rows:auto auto;grid-template-areas:"image number heading" "image . list";column-gap:clamp(24px,3.5vw,44px);row-gap:20px;align-items:start}
.services-category-chemical .services-category-image{grid-area:image}
.services-category-chemical .services-category-number{grid-area:number}
.services-category-chemical .services-category-heading{grid-area:heading}
.services-category-chemical .services-category-heading h2{font-size:clamp(64px,6.3vw,82px);white-space:nowrap}
.services-category-chemical .services-category-list{grid-area:list;align-self:center;max-width:420px}
.services-perm-image{align-self:start}
.services-perm-image img{object-position:center 39%}
.services-category-cut{width:100%;grid-template-columns:minmax(300px,.89fr) minmax(280px,1.11fr);grid-template-rows:auto auto auto;grid-template-areas:"image number" "image heading" "image list";column-gap:clamp(24px,4vw,50px);row-gap:12px;align-items:start}
.services-category-cut .services-category-number{grid-area:number}
.services-category-cut .services-category-heading{grid-area:heading}
.services-category-cut .services-category-heading h2{font-size:clamp(56px,7vw,88px);white-space:nowrap}
.services-category-cut .services-category-list{grid-area:list;align-self:start;max-width:400px;padding-top:2px}
.services-cut-image{grid-area:image;width:100%;align-self:start}
.services-cut-image img{object-position:center 19%}
.services-category-treatment{grid-template-columns:48px minmax(0,1fr) minmax(360px,.95fr);grid-template-rows:auto auto;grid-template-areas:"number heading image" "number list image";column-gap:clamp(24px,3.5vw,44px);row-gap:20px;align-items:start}
.services-category-treatment .services-category-number{grid-area:number}
.services-category-treatment .services-category-heading{grid-area:heading}
.services-category-treatment .services-category-list{grid-area:list;align-self:center;max-width:600px}
.services-category-treatment .services-category-image{grid-area:image;align-self:start}
.services-treatment-image img{object-position:center 35%}
.services-category-men{grid-template-columns:48px minmax(0,1fr) minmax(360px,.95fr);grid-template-rows:auto auto;grid-template-areas:"number heading image" "number list image";column-gap:clamp(24px,3.5vw,44px);row-gap:20px;align-items:start}
.services-category-men .services-category-number{grid-area:number}
.services-category-men .services-category-heading{grid-area:heading}
.services-category-men .services-category-heading h2{white-space:nowrap}
.services-category-men .services-category-list{grid-area:list;align-self:center;max-width:600px}
.services-category-men .services-category-image{grid-area:image;align-self:start}
.services-men-image img{object-position:center 28%}
.services-category-heading h2{white-space:nowrap}

@media(max-width:850px){
  .services-category-colour{grid-template-columns:44px minmax(0,1.08fr) minmax(245px,.92fr);column-gap:18px}
  .services-category-colour .services-category-heading h2{font-size:clamp(62px,7vw,78px)}
  .services-colour-image{height:auto}
  .services-category-chemical{grid-template-columns:minmax(235px,1fr) 44px minmax(0,1.1fr);column-gap:18px}
  .services-category-chemical .services-category-heading h2{font-size:clamp(54px,6vw,68px)}
  .services-perm-image{height:auto}
  .services-category-cut{width:96%;grid-template-columns:minmax(220px,.89fr) minmax(230px,1.11fr);column-gap:24px}
  .services-category-cut .services-category-heading h2{font-size:clamp(49px,7vw,60px);white-space:normal}
  .services-cut-image{height:auto}
  .services-category-treatment,.services-category-men{grid-template-columns:44px minmax(0,1fr) minmax(240px,.95fr);column-gap:18px}
}

@media(max-width:620px){
  .services{padding-top:70px;padding-bottom:76px}
  .services-preview-heading{margin-bottom:27px}
  .services-preview-heading .eyebrow{font-size:10px;margin-bottom:12px}
  .services-preview-heading h2{font-size:clamp(54px,14vw,70px);margin-bottom:15px}
  .services-preview-heading .section-intro{font-size:13px;line-height:1.65}
  .services-preview-layout{grid-template-columns:1fr;gap:27px}
  .services-preview-image{height:clamp(230px,66vw,300px)}
  .services-preview-title{font-size:48px;margin-top:9px}
  .services-preview-list li{grid-template-columns:29px minmax(0,1fr);gap:11px;padding:13px 0}
  .services-preview-list a{font-size:clamp(26px,7.2vw,32px)}
  .services-preview-number{font-size:11px}
  .services-preview-all{margin-top:19px;font-size:12px}
  .services-page{padding-bottom:70px}
  .services-page-intro{padding:64px 22px 43px}
  .services-page-intro .eyebrow{font-size:10px;margin-bottom:12px}
  .services-page-intro h1{font-size:clamp(90px,23vw,130px);margin-bottom:20px}
  .services-page-lede{font-size:14px;line-height:1.7}
  .services-page-list{padding-inline:22px}
  .services-category{grid-template-columns:38px minmax(0,1fr);grid-template-areas:"number heading" "list list" "image image";column-gap:13px;row-gap:15px;padding:32px 0 36px}
  .services-category-number{font-size:11px;padding-top:9px}
  .services-category-heading h2,.services-category-colour .services-category-heading h2,.services-category-cut .services-category-heading h2,.services-category-chemical .services-category-heading h2{font-size:clamp(49px,12.7vw,62px);line-height:.88;white-space:normal}
  .services-category-list{grid-area:list!important;width:100%;margin-top:2px}
  .services-category-list li{padding:8px 0;font-size:14px;line-height:1.45}
  .services-category-image{grid-area:image!important;width:100%;height:auto!important;aspect-ratio:4/3;margin-top:5px}
  .services-category-chemical .services-category-image{order:3}
  .services-category-cut{width:100%;margin-left:0;margin-right:0;grid-template-areas:"number heading" "image image" "list list"}
  .services-category-cut .services-category-list{grid-template-columns:1fr}
  .services-category-treatment,.services-category-men{grid-template-areas:"number heading" "list list" "image image"}
}

/* Homepage Services Preview refinement: one anchored feature paired with four supporting categories. */
.services-preview-heading{max-width:710px;margin-bottom:clamp(24px,3.2vw,40px)}
.services-preview-heading h2{font-size:clamp(52px,6.2vw,74px);margin-bottom:15px}
.services-preview-heading .section-intro{font-size:14px;line-height:1.68}
.services-preview-layout{position:relative;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(34px,5vw,66px);padding-top:16px}
.services-preview-layout::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}
.services-preview-feature{display:flex;flex-direction:column;min-width:0}
.services-preview-feature-meta{display:flex;align-items:baseline;gap:14px;margin:0 0 13px;color:#76716a;font-size:10px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase}
.services-preview-feature-meta .services-preview-number{font-size:12px;color:#927b50}
.services-preview-image{height:clamp(320px,36vw,450px)}
.services-preview-title{display:block;margin:12px 0 0;font-size:clamp(52px,6.2vw,78px);letter-spacing:-.06em;line-height:.86}
.services-preview-index{display:flex;flex-direction:column;align-self:start;min-width:0}
.services-preview-list{display:flex;flex-direction:column;justify-content:flex-start;align-self:start;gap:20px;border-top:0}
.services-preview-list li{grid-template-columns:34px minmax(0,1fr);gap:14px;padding:12px 0}
.services-preview-list a{font-size:clamp(28px,3vw,39px)}
.services-preview-index{padding-top:clamp(86px,7.7vw,112px)}
.services-preview-list{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(18px,2.4vw,32px)}
.services-preview-list li{display:flex;min-height:clamp(140px,11vw,158px);flex-direction:column;align-items:flex-start;gap:10px;padding:17px 8px 17px 0;border-top:1px solid var(--line);border-bottom:0}
.services-preview-list a{font-size:clamp(24px,2.45vw,32px);line-height:1.06}
.services-preview-all{justify-content:flex-start;margin:26px 0 0}
.services{padding-bottom:clamp(40px,4.5vw,56px)}
.services-preview-title{margin:0 0 12px}
.homepage-section-divider-wrap{max-width:var(--content);margin:0 auto clamp(36px,4.5vw,54px);padding-inline:var(--editorial-edge)}
.homepage-section-divider{height:1px;margin:0;border:0;background:var(--line)}

@media(max-width:620px){
  .services-preview-heading{margin-bottom:24px}
  .services-preview-heading h2{font-size:clamp(52px,13.2vw,66px);margin-bottom:13px}
  .services-preview-layout{grid-template-columns:1fr;gap:23px;padding-top:13px}
  .services-preview-feature-meta{margin-bottom:10px;font-size:9px}
  .services-preview-image{height:clamp(255px,72vw,320px)}
  .services-preview-title{font-size:clamp(54px,14vw,68px);margin:0 0 10px}
  .services{padding-bottom:36px}
  .homepage-section-divider-wrap{margin-bottom:36px}
  .services-preview-list{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line)}
  .services-preview-index{padding-top:0}
  .services-preview-list{gap:0}
  .services-preview-list li{display:grid;min-height:0;grid-template-columns:29px minmax(0,1fr);gap:11px;padding:10px 0;border-top:0;border-bottom:1px solid var(--line)}
  .services-preview-list a{font-size:clamp(26px,7.2vw,32px)}
  .services-preview-all{margin:24px 0 0 40px}
}

/* Compact editorial homepage Gallery */
.homepage-gallery{padding:0 0 clamp(42px,5.25vw,63px)}
.gallery-wrap{max-width:var(--content);margin:0 auto;padding-inline:var(--editorial-edge)}
.gallery-heading{margin:0 0 clamp(23px,3vw,36px)}
.gallery-heading .eyebrow{margin-bottom:9px;font-size:10px;letter-spacing:.07em}
.gallery-heading h2{font-size:clamp(44px,5.2vw,64px);line-height:.9;letter-spacing:-.055em;margin:0}
.editorial-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,clamp(145px,16vw,204px));gap:12px}
.gallery-image{min-width:0;min-height:0;margin:0;overflow:hidden;background:var(--soft)}
.gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-image:hover img{transform:scale(1.025)}
.gallery-image-feature{grid-column:1/7;grid-row:1/4}
.gallery-image-feature img{object-position:center 45%}
.gallery-image-sweep{grid-column:7/13;grid-row:1/2}
.gallery-image-sweep img{object-position:center 43%}
.gallery-image-curls{grid-column:7/10;grid-row:2/3}
.gallery-image-curls img{object-position:center 39%}
.gallery-image-short{grid-column:10/13;grid-row:2/4}
.gallery-image-short img{object-position:center 24%}
.gallery-image-profile{grid-column:7/10;grid-row:3/4}
.gallery-image-profile img{object-position:center 50%}
.gallery-view-all{display:flex;justify-content:flex-end;align-items:center;gap:10px;width:max-content;margin:19px 0 0 auto;padding-bottom:5px;border-bottom:1px solid var(--gold);font-size:13px;font-weight:500;transition:color .2s}
.gallery-view-all:hover{color:#927339}
.gallery-view-all span{color:#927b50;font-size:16px;line-height:1}

@media(max-width:850px){
  .editorial-gallery{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,clamp(145px,22vw,190px));gap:10px}
  .gallery-image-feature{grid-column:1/4;grid-row:1/3}
  .gallery-image-sweep{grid-column:4/7;grid-row:1/2}
  .gallery-image-curls{grid-column:4/7;grid-row:2/3}
  .gallery-image-short{grid-column:1/4;grid-row:3/4}
  .gallery-image-profile{grid-column:4/7;grid-row:3/4}
}

@media(max-width:620px){
  .homepage-gallery{padding-bottom:45px}
  .gallery-heading{margin-bottom:20px}
  .gallery-heading .eyebrow{margin-bottom:7px;font-size:9px}
  .gallery-heading h2{font-size:44px;margin-bottom:8px}
  .editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,clamp(128px,40vw,220px));gap:8px}
  .gallery-image-feature{grid-column:1/2;grid-row:1/3}
  .gallery-image-sweep{grid-column:2/3;grid-row:1/2}
  .gallery-image-curls{grid-column:2/3;grid-row:2/3}
  .gallery-image-short{grid-column:1/2;grid-row:3/4}
  .gallery-image-profile{grid-column:2/3;grid-row:3/4}
  .gallery-view-all{margin-top:16px;font-size:12px}
}

@media(prefers-reduced-motion:reduce){.gallery-image img{transition:none}}

/* About / Our Salon: compact, human editorial counterpoint to the Hero. */
.salon-section{
  min-height:0;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  align-items:center;
  gap:clamp(42px,7vw,88px);
  padding:clamp(56px,7vw,82px) max(6.25%,calc((100vw - 1200px)/2));
}
.salon-copy{padding:0;max-width:465px}
.salon-copy .eyebrow{margin:0 0 15px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.salon-copy h2{max-width:460px;margin:0 0 17px;font-size:clamp(46px,5.2vw,64px);line-height:.94;letter-spacing:-.055em}
.salon-copy>p:not(.eyebrow){max-width:430px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.salon-copy .text-link{margin-top:22px}
.salon-image{height:clamp(350px,38vw,450px);min-height:0;margin:0;transform:translateY(10px)}
.salon-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;border-radius:0}

@media(max-width:850px) and (min-width:621px){
  .salon-section{gap:clamp(28px,5vw,48px);padding-top:58px;padding-bottom:58px}
  .salon-copy h2{font-size:clamp(43px,5.5vw,55px)}
  .salon-image{height:370px}
}
@media(max-width:620px){
  .salon-section{grid-template-columns:1fr;gap:24px;padding:51px 22px 54px}
  .salon-copy{max-width:520px}
  .salon-copy .eyebrow{margin-bottom:11px}
  .salon-copy h2{max-width:440px;margin-bottom:14px;font-size:clamp(43px,12vw,54px);line-height:.96}
  .salon-copy>p:not(.eyebrow){font-size:14px;line-height:1.75}
  .salon-copy .text-link{margin-top:18px}
  .salon-image{height:clamp(295px,83vw,365px);transform:none}
  .salon-image img{height:100%;object-position:center 47%}
}

/* Visit Us: practical information in a compact, easy-to-scan close. */
.visit{
  grid-template-columns:minmax(245px,.72fr) minmax(0,1.28fr);
  gap:clamp(38px,7vw,82px);
  padding-top:clamp(58px,7vw,78px);
  padding-bottom:clamp(60px,7vw,82px);
}
.visit-copy{max-width:390px}
.visit-copy .eyebrow{margin-bottom:12px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.visit-copy h2{margin:0 0 15px;font-size:clamp(48px,5vw,62px);line-height:.95;letter-spacing:-.055em}
.visit-copy>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.visit-whatsapp{margin-top:23px;min-height:48px}
.visit-phone{display:block;width:max-content;margin-top:18px;font-size:14px;font-weight:500}
.visit-socials{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px}
.visit-socials a,.visit-directions{font-size:12px;font-weight:500}
.visit-socials a span,.visit-directions span{margin-left:5px;color:#927b50}
.visit-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 38px;padding:0;min-width:0}
.visit-block{min-width:0;padding-top:12px;border-top:1px solid var(--line)}
.visit-block h3{margin:0 0 13px;color:#777;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.visit-block address{font-size:14px;font-style:normal;line-height:1.7}
.visit-directions{display:inline-block;margin-top:14px;padding-bottom:4px;border-bottom:1px solid var(--gold)}
.hours-list{margin:0}
.hours-list>div{display:grid;grid-template-columns:minmax(105px,.85fr) minmax(0,1.15fr);gap:10px;padding:0 0 10px;font-size:12px;line-height:1.45}
.hours-list dt{color:#68645e}
.hours-list dd{margin:0;font-weight:500}
.visit-parking{grid-column:1/-1;margin:0;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:850px) and (min-width:621px){
  .visit{grid-template-columns:minmax(205px,.7fr) minmax(0,1.3fr);gap:32px;padding-top:58px;padding-bottom:62px}
  .visit-detail{gap:24px 22px}
  .hours-list>div{grid-template-columns:minmax(90px,.9fr) minmax(0,1.1fr);gap:7px;font-size:11px}
}
@media(max-width:620px){
  .visit{grid-template-columns:1fr;gap:30px;padding:60px 22px 38px}
  .visit-copy{max-width:520px}
  .visit-copy h2{font-size:54px;margin-bottom:12px}
  .visit-copy>p:not(.eyebrow){font-size:14px}
  .visit-whatsapp{margin-top:19px}
  .visit-phone{margin-top:15px}
  .visit-socials{gap:20px;margin-top:15px}
  .visit-socials a,.visit-directions{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
  .visit-detail{grid-template-columns:1fr;gap:20px}
  .visit-block h3{margin-bottom:10px}
  .hours-list>div{grid-template-columns:minmax(112px,.85fr) minmax(0,1.15fr);font-size:12px;padding-bottom:9px}
  .visit-parking{grid-column:auto;padding-top:12px}
}

/* Homepage section spacing refinement. */
.services{padding-top:clamp(42px,4.45vw,64px);padding-bottom:clamp(48px,4.45vw,64px)}
.services-preview-heading{margin-bottom:clamp(14px,1.53vw,22px)}
.salon-section{padding-bottom:clamp(45px,5.7vw,66px)}
@media(max-width:620px){
  .services{padding-top:38px;padding-bottom:44px}
  .services-preview-heading{margin-bottom:14px}
  .salon-section{padding-bottom:44px}
}
@media(max-width:850px) and (min-width:621px){
  .salon-section{padding-bottom:48px}
}

/* Gallery page: three horizontal editorial sequences and a focused photo lightbox. */
.gallery-page{width:100%;overflow:clip;padding-bottom:clamp(64px,7vw,94px)}
.gallery-page-intro{max-width:var(--content);margin:0 auto;padding:clamp(43px,5.5vw,70px) var(--editorial-edge) clamp(29px,3.5vw,44px);display:flex;align-items:end;justify-content:space-between;gap:32px}
.gallery-page-title .eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.gallery-page-intro h1{margin:0;font-size:clamp(62px,7.5vw,96px);line-height:.84;letter-spacing:-.07em}
.gallery-page-note{flex:none;margin:0 0 4px;padding-left:16px;border-left:1px solid var(--gold);color:var(--muted);font-size:13px;line-height:1.5}
.gallery-page-story{max-width:var(--content);margin:0 auto;padding-inline:var(--editorial-edge)}
.gallery-collection{margin:0 0 clamp(55px,6vw,82px)}
.gallery-collection-heading{display:grid;grid-template-columns:45px 1fr auto;align-items:baseline;gap:14px;margin-bottom:18px}
.gallery-collection-number{margin:0;color:#927b50;font-size:11px;letter-spacing:.12em}
.gallery-collection-heading h2{margin:0;font-family:var(--serif);font-size:clamp(40px,4.5vw,58px);font-weight:500;line-height:.9;letter-spacing:-.055em}
.gallery-scroll-hint{margin:0;color:#777;font-size:10px;letter-spacing:.02em;white-space:nowrap}
.gallery-scroll-hint span{margin-left:5px;color:#927b50;font-size:14px}
.gallery-track{display:flex;align-items:center;gap:clamp(12px,1.7vw,22px);width:calc(100% + var(--editorial-edge));margin-right:calc(-1 * var(--editorial-edge));padding:0 var(--editorial-edge) 12px 0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#cfc5af transparent}
.gallery-track:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gallery-photo{position:relative;display:block;flex:none;min-width:0;margin:0;padding:0;overflow:hidden;border:0;background:var(--soft);color:inherit;cursor:zoom-in;scroll-snap-align:start;text-align:left}
.gallery-photo:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery-photo:hover img{transform:scale(1.018)}
.gallery-track--colour{height:clamp(350px,43vw,520px);align-items:flex-end}
.gallery-photo--colour-lead{width:min(57vw,680px);height:100%}
.gallery-photo--colour-lead img{object-position:center 35%}
.gallery-photo--colour-blonde{width:min(31vw,390px);height:82%;align-self:flex-start;margin-top:0}
.gallery-photo--colour-blonde img{object-position:center 38%}
.gallery-photo--colour-copper{width:min(40vw,480px);height:91%}
.gallery-photo--colour-copper img{object-position:24% center}
.gallery-collection--cut{margin-left:clamp(0px,4vw,56px)}
.gallery-track--cut{height:clamp(330px,38vw,465px);align-items:flex-start}
.gallery-photo--cut-lead{width:min(48vw,590px);height:91%;margin-top:4%}
.gallery-photo--cut-lead img{object-position:center 44%}
.gallery-photo--cut-work{width:min(39vw,470px);height:100%}
.gallery-photo--cut-work img{object-position:center 44%}
.gallery-photo--cut-profile{width:min(30vw,360px);height:75%;align-self:flex-end}
.gallery-photo--cut-profile img{object-position:center 46%}
.gallery-track--texture{height:clamp(350px,41vw,500px);align-items:center}
.gallery-photo--texture-lead{width:min(48vw,570px);height:100%}
.gallery-photo--texture-lead img{object-position:center 35%}
.gallery-photo--texture-curls{width:min(33vw,390px);height:78%;align-self:flex-start}
.gallery-photo--texture-curls img{object-position:center 40%}
.gallery-lightbox{position:fixed;width:min(96vw,1600px);height:min(96vh,1100px);height:min(96svh,1100px);max-width:none;max-height:none;margin:auto;padding:0;overflow:visible;border:0;background:transparent;color:#fff}
.gallery-lightbox::backdrop{background:rgba(15,15,14,.94)}
.gallery-lightbox-stage{display:grid;width:100%;height:100%;place-items:center;touch-action:pan-y}
.gallery-lightbox-image{display:block;width:auto;height:auto;max-width:85vw;max-height:82vh;object-fit:contain;user-select:none;-webkit-user-drag:none}
.gallery-lightbox-close,.gallery-lightbox-previous,.gallery-lightbox-next{position:absolute;z-index:1;display:grid;width:48px;height:48px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(20,20,19,.45);color:#fff;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.gallery-lightbox-close:hover,.gallery-lightbox-previous:hover,.gallery-lightbox-next:hover{border-color:rgba(255,255,255,.72);background:rgba(20,20,19,.78)}
.gallery-lightbox-close:focus-visible,.gallery-lightbox-previous:focus-visible,.gallery-lightbox-next:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gallery-lightbox-close{top:14px;right:14px;font:300 31px/1 var(--sans)}
.gallery-lightbox-previous,.gallery-lightbox-next{top:50%;font:300 24px/1 var(--sans);transform:translateY(-50%)}
.gallery-lightbox-previous{left:14px}
.gallery-lightbox-next{right:14px}
.gallery-lightbox-count{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:850px){
  .gallery-page-intro{padding-top:52px}
  .gallery-page-intro h1{font-size:clamp(62px,9vw,82px)}
  .gallery-collection--cut{margin-left:0}
  .gallery-track--colour{height:clamp(330px,48vw,420px)}
  .gallery-track--cut{height:clamp(310px,44vw,385px)}
  .gallery-track--texture{height:clamp(330px,47vw,410px)}
  .gallery-photo--colour-lead{width:66vw}
  .gallery-photo--colour-blonde{width:38vw}
  .gallery-photo--colour-copper{width:47vw}
  .gallery-photo--cut-lead{width:58vw}
  .gallery-photo--cut-work{width:47vw}
  .gallery-photo--cut-profile{width:38vw}
  .gallery-photo--texture-lead{width:58vw}
  .gallery-photo--texture-curls{width:42vw}
}

@media(max-width:620px){
  .gallery-page{padding-bottom:48px}
  .gallery-page-intro{display:block;padding:43px 22px 27px}
  .gallery-page-intro h1{font-size:clamp(54px,14vw,66px);line-height:.88}
  .gallery-page-note{width:max-content;max-width:100%;margin:13px 0 0 2px;padding-left:12px;font-size:12px}
  .gallery-page-story{padding-inline:22px}
  .gallery-collection{margin-bottom:47px}
  .gallery-collection-heading{grid-template-columns:31px 1fr auto;gap:9px;margin-bottom:13px}
  .gallery-collection-number{font-size:10px}
  .gallery-collection-heading h2{font-size:clamp(35px,9vw,44px)}
  .gallery-scroll-hint{font-size:9px}
  .gallery-track{width:calc(100% + 22px);margin-right:-22px;gap:10px;padding:0 22px 9px 0}
  .gallery-track--colour{height:clamp(290px,83vw,345px)}
  .gallery-track--cut{height:clamp(275px,78vw,325px)}
  .gallery-track--texture{height:clamp(290px,82vw,340px)}
  .gallery-photo--colour-lead{width:78vw}
  .gallery-photo--colour-blonde{width:59vw;height:80%}
  .gallery-photo--colour-copper{width:68vw;height:92%}
  .gallery-photo--cut-lead{width:76vw;height:91%;margin-top:4%}
  .gallery-photo--cut-work{width:67vw}
  .gallery-photo--cut-profile{width:57vw;height:78%}
  .gallery-photo--texture-lead{width:76vw}
  .gallery-photo--texture-curls{width:62vw;height:78%}
  .gallery-lightbox{width:calc(100vw - 16px);height:calc(100vh - 16px);height:calc(100svh - 16px)}
  .gallery-lightbox-image{max-width:90vw;max-height:78vh;max-height:78svh}
  .gallery-lightbox-close,.gallery-lightbox-previous,.gallery-lightbox-next{width:46px;height:46px}
  .gallery-lightbox-close{top:8px;right:8px}
  .gallery-lightbox-previous{left:6px}
  .gallery-lightbox-next{right:6px}
}

@media(prefers-reduced-motion:reduce){
  .gallery-photo img{transition:none}
  .gallery-lightbox-close,.gallery-lightbox-previous,.gallery-lightbox-next{transition:none}
}

/* About page: conversation-led story with an editorial focus index. */
.about-page{width:100%;overflow:clip;padding-bottom:clamp(58px,7vw,88px)}
.about-intro{max-width:var(--content);margin:0 auto;padding:clamp(48px,5.8vw,76px) var(--editorial-edge) clamp(36px,4.5vw,58px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);align-items:end;gap:clamp(38px,6vw,78px)}
.about-intro .eyebrow,.about-story-copy .eyebrow,.about-focus-list>.eyebrow,.about-next-step .eyebrow{margin:0 0 13px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.about-intro h1{max-width:690px;margin:0;font-size:clamp(64px,7.3vw,92px);line-height:.84;letter-spacing:-.065em}
.about-intro-copy{max-width:350px;margin:0 0 4px;color:var(--muted);font-size:15px;line-height:1.75}
.about-story{max-width:var(--content);margin:0 auto;padding:0 var(--editorial-edge) clamp(70px,8vw,106px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(38px,6vw,78px);scroll-margin-top:calc(var(--header-height) + 18px)}
.about-story-image,.about-focus-image{display:block;min-width:0;margin:0;overflow:hidden;background:var(--soft)}
.about-story-image{aspect-ratio:1.12}
.about-story-image img,.about-focus-image img{display:block;width:100%;height:100%;object-fit:cover}
.about-story-image img{object-position:center 45%}
.about-story-copy{max-width:460px}
.about-story-copy h2{margin:0 0 21px;font-size:clamp(58px,6.4vw,80px);line-height:.86;letter-spacing:-.06em}
.about-story-copy>p:not(.eyebrow){max-width:430px;margin:0 0 13px;color:var(--muted);font-size:14px;line-height:1.8}
.about-focus{background:var(--soft);padding:clamp(58px,7vw,88px) 0}
.about-focus-inner{max-width:var(--content);margin:0 auto;padding-inline:var(--editorial-edge);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(38px,6vw,76px)}
.about-focus-list{min-width:0}
.about-focus-list>.eyebrow{margin-bottom:12px}
.about-focus-list>h2{max-width:440px;margin:0 0 29px;font-size:clamp(49px,5.7vw,70px);line-height:.88;letter-spacing:-.06em}
.about-focus-list ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.about-focus-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}
.about-focus-number{padding-top:5px;color:#927b50;font-size:10px;letter-spacing:.1em}
.about-focus-list h3{margin:0 0 4px;font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.05;letter-spacing:-.025em}
.about-focus-list li p{max-width:385px;margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.about-focus-image{width:100%;aspect-ratio:.9}
.about-focus-image img{object-position:center 34%}
.about-next-step{max-width:var(--content);margin:0 auto;padding:clamp(54px,6vw,76px) var(--editorial-edge) 0;display:flex;align-items:end;justify-content:space-between;gap:32px}
.about-next-step h2{max-width:610px;margin:0;font-size:clamp(47px,5.6vw,68px);line-height:.9;letter-spacing:-.06em}
.about-next-actions{display:flex;flex:none;align-items:center;gap:23px;padding-bottom:3px}
.about-next-actions .button{white-space:nowrap}
.about-next-actions .text-link{white-space:nowrap}

@media(max-width:850px){
  .about-intro{grid-template-columns:minmax(0,1.1fr) minmax(225px,.9fr);gap:34px}
  .about-intro h1{font-size:clamp(60px,8vw,76px)}
  .about-story{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:34px}
  .about-story-copy h2{font-size:clamp(54px,7vw,66px)}
  .about-focus-inner{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:30px}
  .about-focus-list>h2{font-size:clamp(48px,6.6vw,60px)}
  .about-next-step{align-items:flex-start;flex-direction:column;gap:24px}
}

@media(max-width:620px){
  .about-page{padding-bottom:48px}
  .about-intro{display:block;padding:45px 22px 29px}
  .about-intro .eyebrow{margin-bottom:10px}
  .about-intro h1{max-width:480px;font-size:clamp(53px,13.8vw,64px);line-height:.88}
  .about-intro-copy{max-width:360px;margin:16px 0 0 2px;font-size:14px;line-height:1.7}
  .about-story{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:0 22px 54px}
  .about-story-image{width:100%;aspect-ratio:1.05}
  .about-story-copy{max-width:500px}
  .about-story-copy .eyebrow{margin-bottom:10px}
  .about-story-copy h2{font-size:clamp(53px,13.4vw,64px);margin-bottom:16px}
  .about-story-copy>p:not(.eyebrow){font-size:14px;line-height:1.72}
  .about-focus{padding:40px 0 46px}
  .about-focus-inner{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding-inline:22px}
  .about-focus-image{order:-1;width:100%;aspect-ratio:1.05}
  .about-focus-list>.eyebrow{margin-bottom:10px}
  .about-focus-list>h2{font-size:clamp(47px,12vw,57px);margin-bottom:20px}
  .about-focus-list li{grid-template-columns:29px minmax(0,1fr);gap:11px;padding:14px 0}
  .about-focus-list h3{font-size:24px}
  .about-focus-list li p{font-size:12px;line-height:1.6}
  .about-next-step{padding:43px 22px 0;gap:22px}
  .about-next-step .eyebrow{margin-bottom:10px}
  .about-next-step h2{font-size:clamp(44px,11.7vw,56px)}
  .about-next-actions{width:100%;align-items:flex-start;flex-direction:column;gap:16px;padding:0}
  .about-next-actions .button{min-width:190px;min-height:48px}
}

/* Contact page: prominent map followed by practical visit details. */
.contact-page{width:100%;overflow:clip;padding-bottom:clamp(50px,6vw,76px)}
.contact-intro{max-width:var(--content);margin:0 auto;padding:clamp(42px,5.2vw,66px) var(--editorial-edge) clamp(27px,3vw,38px);display:flex;align-items:end;justify-content:space-between;gap:30px}
.contact-intro .eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.contact-intro h1{margin:0;font-size:clamp(66px,8vw,96px);line-height:.84;letter-spacing:-.07em}
.contact-primary{flex:none;min-height:48px;margin-bottom:2px}
.contact-location{max-width:var(--content);margin:0 auto;padding-inline:var(--editorial-edge)}
.contact-map{height:clamp(350px,34vw,430px);overflow:hidden;background:var(--soft)}
.contact-map iframe{display:block;width:100%;height:100%;border:0}
.contact-details{max-width:var(--content);margin:0 auto;padding:clamp(30px,4vw,48px) var(--editorial-edge) 0;scroll-margin-top:calc(var(--header-height) + 18px)}
.contact-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px clamp(40px,8vw,100px)}
.contact-detail{min-width:0;padding-top:12px;border-top:1px solid var(--line)}
.contact-detail h2{margin:0 0 14px;color:#777;font-family:var(--sans);font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.1em;text-transform:uppercase}
.contact-address address{font-size:14px;font-style:normal;line-height:1.72}
.contact-address address span{font-weight:500}
.contact-directions{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:7px 0;border-bottom:1px solid var(--gold);font-size:12px;font-weight:500}
.contact-directions span,.contact-socials span{margin-left:5px;color:#927b50}
.contact-hours dl{margin:0}
.contact-hours dl>div{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(0,1.15fr);gap:12px;padding:0 0 10px;font-size:13px;line-height:1.45}
.contact-hours dt{color:#68645e}
.contact-hours dd{margin:0;font-weight:500}
.contact-phone{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:500}
.contact-socials{display:flex;flex-wrap:wrap;gap:20px;margin-top:4px}
.contact-socials a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:500}
.contact-parking p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}

@media(max-width:850px){
  .contact-intro h1{font-size:clamp(65px,9vw,82px)}
  .contact-map{height:clamp(340px,46vw,390px)}
  .contact-detail-grid{gap:25px 38px}
}

@media(max-width:620px){
  .contact-page{padding-bottom:42px}
  .contact-intro{align-items:flex-start;flex-direction:column;gap:17px;padding:40px 22px 23px}
  .contact-intro .eyebrow{margin-bottom:9px}
  .contact-intro h1{font-size:clamp(56px,14.5vw,68px)}
  .contact-primary{min-height:46px;margin:0}
  .contact-location{padding-inline:22px}
  .contact-map{height:clamp(300px,85vw,360px)}
  .contact-details{padding:27px 22px 0}
  .contact-detail-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .contact-detail{padding-top:10px}
  .contact-detail h2{margin-bottom:10px}
  .contact-address address{font-size:14px;line-height:1.65}
  .contact-directions{margin-top:5px}
  .contact-hours dl>div{grid-template-columns:minmax(112px,.85fr) minmax(0,1.15fr);gap:9px;font-size:12px;padding-bottom:9px}
  .contact-phone{font-size:14px}
  .contact-socials{gap:14px;margin-top:0}
}

/* WhatsApp booking CTAs share the Amuse gold treatment. */
a.button[href^="https://wa.me/"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
a.button[href^="https://wa.me/"] span{color:var(--ink)}
a.button[href^="https://wa.me/"]:hover{background:transparent;color:var(--ink)}
a.button[href^="https://wa.me/"]:hover span{color:var(--ink)}

/* Keep both homepage Hero booking CTAs button-shaped on hover and focus. */
a.button.hero-title-cta[href^="https://wa.me/"]{border-bottom-color:transparent;transition:background-color .2s ease,transform .2s ease}
a.button.hero-title-cta[href^="https://wa.me/"] span{transition:transform .2s ease,color .2s ease}
a.button.hero-title-cta[href^="https://wa.me/"]:hover{background:color-mix(in srgb,var(--gold) 92%,#000);border-bottom-color:transparent;color:var(--ink);transform:translateY(-1px)}
a.button.hero-title-cta[href^="https://wa.me/"]:hover span{color:var(--ink);transform:translate(2px,-2px)}
a.button.hero-title-cta[href^="https://wa.me/"]:focus-visible{background:var(--gold);border-bottom-color:transparent;color:var(--ink);outline:2px solid var(--ink);outline-offset:3px}
a.button.hero-title-cta[href^="https://wa.me/"]:focus-visible span{color:var(--ink)}

/* Language switcher and CJK fallbacks for the Simplified Chinese pages. */
html[lang="zh-CN"]{--serif:"Cormorant Garamond","Noto Serif SC","Songti SC","SimSun",serif;--sans:"Inter","Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif}
.language-switch{display:inline-flex;flex:none;align-items:center;gap:8px;white-space:nowrap;color:var(--muted);font-size:12px}
.language-switch a{transition:color .2s}
.language-switch a[aria-current="page"]{color:var(--ink);font-weight:600}
.language-switch span{color:var(--line)}

html[lang="zh-CN"] h1,html[lang="zh-CN"] h2,html[lang="zh-CN"] h3{line-height:1.08}
html[lang="zh-CN"] .hero-copy h1{font-size:clamp(56px,7vw,100px);line-height:1;letter-spacing:-.035em}
html[lang="zh-CN"] .hero-title-major{white-space:nowrap}
html[lang="zh-CN"] .hero-title-secondary{margin-top:24px;line-height:1.2;letter-spacing:.06em}
html[lang="zh-CN"] .hero{height:clamp(560px,68svh,650px);min-height:560px;max-height:650px}
html[lang="zh-CN"] .hero-title-group{top:calc(8% + 52px)}
html[lang="zh-CN"] .hero-title-cta{margin-top:28px}

@media(max-width:620px){
  html[lang="zh-CN"] .hero{height:auto;min-height:0;max-height:none}
  html[lang="zh-CN"] .hero-copy{height:calc(74vw + 70px);min-height:360px}
  html[lang="zh-CN"] .hero-title-group{top:19px}
  html[lang="zh-CN"] .hero-copy h1{font-size:clamp(40px,11.3vw,48px);line-height:1.12;letter-spacing:-.035em}
  html[lang="zh-CN"] .hero-title-major{white-space:normal}
  html[lang="zh-CN"] .hero-title-secondary{margin-top:16px}
  html[lang="zh-CN"] .hero-title-cta{margin-top:26px;min-height:44px}
}

/* Chinese Services page intro hierarchy. */
html[lang="zh-CN"] .services-page .services-page-intro .eyebrow{margin-bottom:10px;font-size:16px}
html[lang="zh-CN"] .services-page .services-page-intro h1{margin-bottom:28px;font-size:clamp(72px,11vw,140px);line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
@media(max-width:620px){
  html[lang="zh-CN"] .services-page .services-page-intro .eyebrow{margin-bottom:8px;font-size:15px}
  html[lang="zh-CN"] .services-page .services-page-intro h1{margin-bottom:20px;font-size:clamp(48px,12vw,72px)}
}

/* Inner-page top-level eyebrow scale, shared across English and Chinese pages. */
.services-page-intro>.eyebrow,
.gallery-page-intro .gallery-page-title>.eyebrow,
.about-page .about-intro .about-intro-title>.eyebrow,
.contact-page .contact-intro .eyebrow{font-size:16px}
html[lang="zh-CN"] .gallery-page-intro .gallery-page-title>.eyebrow,
html[lang="zh-CN"] .about-page .about-intro .about-intro-title>.eyebrow,
html[lang="zh-CN"] .contact-page .contact-intro .eyebrow{letter-spacing:.03em}
@media(max-width:620px){
  .services-page-intro>.eyebrow,
  .gallery-page-intro .gallery-page-title>.eyebrow,
  .about-page .about-intro .about-intro-title>.eyebrow,
  .contact-page .contact-intro .eyebrow{font-size:15px}
}

/* Chinese About page typography hierarchy. */
html[lang="zh-CN"] .about-page .about-intro h1{max-width:690px;font-size:clamp(48px,5.5vw,70px);line-height:1.02;letter-spacing:-.035em}
html[lang="zh-CN"] .about-page .about-story-copy>.eyebrow,
html[lang="zh-CN"] .about-page .about-focus-list>.eyebrow,
html[lang="zh-CN"] .about-page .about-next-step .eyebrow{font-size:15px;letter-spacing:.03em}
html[lang="zh-CN"] .about-page .about-story-copy h2{font-size:clamp(47px,5.2vw,64px);line-height:1.05;letter-spacing:-.035em}
html[lang="zh-CN"] .about-page .about-focus-list>h2{font-size:clamp(43px,4.8vw,58px);line-height:1.05;letter-spacing:-.035em}
html[lang="zh-CN"] .about-page .about-next-step h2{font-size:clamp(36px,3.6vw,50px);line-height:1.08;letter-spacing:-.035em;white-space:nowrap}
@media(max-width:620px){
  html[lang="zh-CN"] .about-page .about-intro h1{font-size:clamp(40px,10vw,50px);line-height:1.08}
  html[lang="zh-CN"] .about-page .about-story-copy h2{font-size:clamp(40px,11.5vw,50px)}
  html[lang="zh-CN"] .about-page .about-focus-list>h2{font-size:clamp(39px,10vw,48px)}
  html[lang="zh-CN"] .about-page .about-next-step h2{font-size:clamp(34px,9.4vw,42px);white-space:normal}
}

/* Shared editorial labels across both language versions. */
html[lang] body .eyebrow{font-size:15px}
html[lang="zh-CN"] body .eyebrow{letter-spacing:.03em}
html[lang] body .services-page .services-page-intro>.eyebrow{font-size:16px}
.services-preview-feature-meta{font-size:14px;letter-spacing:.1em}
.services-preview-feature-meta .services-preview-number{font-size:16px}
.services-preview-number{font-size:16px}
.service-number{font-size:18px}
.services-category-number{font-size:18px}
.gallery-collection-number{font-size:15px}
.about-focus-number{font-size:14px}
.contact-detail h2{font-size:14px;letter-spacing:.08em}
.detail-row>span{font-size:15px}
.service-dialog-kicker{font-size:15px;letter-spacing:.08em}
html[lang="zh-CN"] body .services-preview-feature-meta,
html[lang="zh-CN"] body .service-dialog-kicker,
html[lang="zh-CN"] body .contact-detail h2{letter-spacing:.03em}
html[lang="en"] .visit .visit-block h3{font-size:14px;letter-spacing:.08em}
html[lang="zh-CN"] .visit .visit-block h3{font-size:14px;letter-spacing:.03em}
html[lang] .visit-address-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(82px,.8fr);grid-template-rows:auto auto;align-items:start;column-gap:14px;row-gap:12px}
html[lang] .visit-address-content address{grid-column:1;grid-row:1}
html[lang] .visit-address-content .visit-parking{grid-column:2;grid-row:1;margin:0;padding:0;border:0;font-size:12px;line-height:1.6}
html[lang] .visit-address-content .visit-directions{grid-column:1;grid-row:2;margin-top:0}
@media(max-width:620px){
  html[lang] body .eyebrow{font-size:14px}
  html[lang] body .services-page .services-page-intro>.eyebrow{font-size:15px}
  .services-preview-feature-meta{font-size:13px}
  .services-preview-feature-meta .services-preview-number{font-size:16px}
  .services-preview-number{font-size:15px}
  .service-number{font-size:16.5px}
  .services-category-number{font-size:15px}
  .gallery-collection-number{font-size:14px}
  .about-focus-number{font-size:14px}
  .contact-detail h2{font-size:14px}
  .detail-row>span{font-size:15px}
  .service-dialog-kicker{font-size:14px}
}
@media(max-width:850px){
  html[lang] .visit-address-content{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;row-gap:10px}
  html[lang] .visit-address-content address,
  html[lang] .visit-address-content .visit-parking,
  html[lang] .visit-address-content .visit-directions{grid-column:1;grid-row:auto}
}

/* Approved Homepage Featured Services editorial spread. */
.services-preview-spread{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1fr);align-items:center;gap:clamp(30px,5vw,72px)}
.services-preview-copy{min-width:0}
.services-preview-heading{max-width:none;margin:0 0 clamp(24px,3vw,36px)}
.services-preview-heading h2{font-size:clamp(48px,5.2vw,70px);line-height:.92;letter-spacing:-.055em;margin:0 0 18px}
.services-preview-heading .section-intro{max-width:440px;font-size:14px;line-height:1.72}
html[lang="en"] .services-preview-heading>.eyebrow{text-transform:none;letter-spacing:0}
html[lang="zh-CN"] .services-preview-heading h2{font-size:clamp(30px,3.2vw,40px);line-height:1.12;letter-spacing:-.035em;white-space:nowrap}
.services-preview-feature{display:block}
.services-preview-feature-meta{margin-bottom:11px}
.services-preview-title{margin:0;font-size:clamp(52px,5.5vw,74px);line-height:.9}
.services-preview-image-link{display:block;min-width:0;align-self:center}
.services-preview-image{height:auto;aspect-ratio:1.34;margin:0;overflow:hidden}
.services-preview-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 36%}
.services-preview-index{display:block;margin-top:clamp(48px,5.5vw,72px);padding-top:0}
.services-preview-list{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,68px);border:0}
.services-preview-list li{display:grid;min-width:0;min-height:96px;grid-template-columns:38px minmax(0,1fr);align-items:baseline;gap:14px;padding:18px 0;border-top:1px solid var(--line);border-bottom:0}
.services-preview-list a{font-size:clamp(27px,2.8vw,38px);line-height:1.08}
.services-preview-all{justify-content:flex-end;width:max-content;margin:25px 0 0 auto}

@media(max-width:850px){
  .services-preview-spread{grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:clamp(22px,4vw,36px)}
  .services-preview-heading h2{font-size:clamp(44px,5.6vw,54px)}
  html[lang="zh-CN"] .services-preview-heading h2{font-size:clamp(26px,3.4vw,30px);white-space:normal}
  .services-preview-list{column-gap:24px}
  .services-preview-list li{grid-template-columns:32px minmax(0,1fr);gap:10px}
  .services-preview-list a{font-size:clamp(25px,3.2vw,30px)}
}

@media(max-width:620px){
  .services-preview-spread{grid-template-columns:minmax(0,1fr);gap:24px}
  .services-preview-heading{margin-bottom:25px}
  .services-preview-heading h2{font-size:clamp(48px,13vw,60px);line-height:.94;margin-bottom:15px}
  html[lang="zh-CN"] .services-preview-heading h2{font-size:clamp(36px,10.4vw,44px);line-height:1.08;letter-spacing:-.035em}
  .services-preview-heading .section-intro{font-size:14px;line-height:1.68}
  .services-preview-feature{margin-top:0}
  .services-preview-title{font-size:clamp(52px,14vw,66px)}
  .services-preview-image{aspect-ratio:1.12}
  .services-preview-index{margin-top:38px}
  .services-preview-list{grid-template-columns:minmax(0,1fr);gap:0}
  .services-preview-list li{min-height:0;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line);border-top:0}
  .services-preview-list li:first-child{border-top:1px solid var(--line)}
  .services-preview-list a{font-size:clamp(27px,7.4vw,32px)}
  .services-preview-all{margin-top:23px}
}

/* Chinese Contact page: pair parking with the address, then stack on narrower screens. */
html[lang="zh-CN"] .contact-page .contact-address-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(130px,.9fr);grid-template-rows:auto auto;align-items:start;column-gap:clamp(16px,2vw,28px);row-gap:14px}
html[lang="zh-CN"] .contact-page .contact-address-content address{grid-column:1;grid-row:1}
html[lang="zh-CN"] .contact-page .contact-parking-note{grid-column:2;grid-row:1;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
html[lang="zh-CN"] .contact-page .contact-address-content .contact-directions{grid-column:1;grid-row:2;margin-top:0}
html[lang="zh-CN"] .contact-page .contact-detail h2{font-size:19px;letter-spacing:.03em}
@media(max-width:850px){
  html[lang="zh-CN"] .contact-page .contact-address-content{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;row-gap:12px}
  html[lang="zh-CN"] .contact-page .contact-address-content address,
  html[lang="zh-CN"] .contact-page .contact-parking-note,
  html[lang="zh-CN"] .contact-page .contact-address-content .contact-directions{grid-column:1;grid-row:auto}
}

@media(max-width:760px){
  .site-header .main-nav{display:none;position:absolute;z-index:4;top:71px;left:0;right:0;padding:17px 22px 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:13px}
  .site-header .main-nav.is-open{display:flex}
  .site-header .menu-toggle{display:flex;flex-direction:column;gap:5px}
  .site-header .menu-toggle span{width:19px;height:1px;background:var(--ink)}
}
@media(max-width:620px){.site-header .main-nav{top:69px}}
