.inner-page{background:#faf8f5}
.inner-page .site-header{position:relative;background:#f7f4ef;height:70px;grid-template-columns:170px 1fr 138px}
.inner-page .site-header.scrolled{position:fixed}
.inner-page .nav a[aria-current="page"]:after{right:0}
.inner-page .footer{background:#f4f0eb}
.section-inner{width:min(100% - 2*var(--pad),1360px);margin-inline:auto}
.page-banner{height:clamp(250px,25vw,390px);position:relative;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(10,8,6,.68),rgba(10,8,6,.22) 50%,rgba(10,8,6,.05)),var(--banner);background-position:center;background-size:cover}
.page-banner-content{position:relative;padding:24px var(--pad);max-width:780px}
.page-banner h1,.inner-page main h2{font-family:var(--serif);font-weight:400;line-height:.97;letter-spacing:-.035em}
.page-banner h1{font-size:clamp(44px,5vw,78px);margin:0 0 10px}
.page-banner p{font-family:var(--serif);font-size:clamp(13px,1.3vw,19px);margin:0}
.about-banner{background-position:center 48%}.services-banner{background-position:center 38%}.stylists-banner{background-position:center 34%}.gallery-banner{background-position:center 55%}.pricing-banner{background-position:center 45%}.reviews-banner{background-position:center 30%}.contact-banner,.booking-page-banner{background-position:center 48%}
.story{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(40px,8vw,150px);align-items:center;padding-block:clamp(65px,7vw,115px)}
.story h2,.values h2{font-size:clamp(38px,4vw,64px);margin:0 0 22px}.story p:not(.eyebrow){font-family:var(--serif);font-size:clamp(15px,1.15vw,18px);line-height:1.65;max-width:620px;color:#504942}.story .eyebrow{margin-bottom:18px}.story .btn{margin-top:15px}.story img{width:100%;height:400px;object-fit:cover;object-position:52% center}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);padding-block:25px 45px;border-bottom:1px solid var(--line)}.about-stats>div{text-align:center;border-right:1px solid var(--line)}.about-stats>div:last-child{border:0}.about-stats strong{display:block;font-family:var(--serif);font-size:clamp(35px,3.5vw,56px);font-weight:400;line-height:1}.about-stats span{font-size:11px;color:var(--muted)}
.values{padding-block:72px 90px}.values .eyebrow{margin-bottom:10px}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.value-grid article{text-align:center}.value-grid article>span{font-family:var(--serif);display:grid;place-items:center;width:48px;height:48px;border:1px solid #bdb4a7;border-radius:50%;margin:0 auto 16px;color:#766a5d}.value-grid h3{font-size:12px;letter-spacing:.08em}.value-grid p{font-family:var(--serif);font-size:13px;line-height:1.5;color:#696157;margin:8px auto;max-width:230px}
.quote-banner{min-height:260px;display:grid;place-content:center;text-align:center;background:linear-gradient(rgba(9,8,7,.63),rgba(9,8,7,.63)),url('assets/cta-bg.webp') center/cover;color:white;padding:40px 20px}.quote-banner h2{font-size:clamp(26px,3vw,45px);margin:0}.quote-banner p{font-size:10px;letter-spacing:.24em}.about-strip{display:grid;grid-template-columns:repeat(4,1fr)}.about-strip img{width:100%;height:220px;object-fit:cover}
.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-block:50px 70px}.service-tile{background:#fff;border:1px solid #e9e3db}.service-tile img{width:100%;aspect-ratio:1.5/1;object-fit:cover}.service-tile>div{padding:16px 18px 20px}.service-tile h2{font-size:21px;margin:0 0 7px}.service-tile p{font-size:12px;color:#5b554e;min-height:48px;line-height:1.45;margin:0 0 16px}.mini-link{display:inline-flex;gap:12px;align-items:center;padding:7px 10px;border:1px solid #8e867e;font-size:9px;letter-spacing:.08em}.mini-link:hover{background:#191715;color:#fff}
.service-wide{height:250px;color:#fff;display:grid;place-content:center;text-align:center;background:linear-gradient(rgba(10,8,6,.38),rgba(10,8,6,.38)),url('assets/cta-bg.webp') center/cover}.service-wide h2{font-size:clamp(35px,4.1vw,65px);margin:0}.consultation{text-align:center;padding-block:75px 80px}.consultation h2{font-size:clamp(36px,3.6vw,58px);margin:0 0 9px}.consultation p{font-family:var(--serif);color:#625a52;margin:0 0 23px}
.team-page,.portfolio,.pricing-page,.reviews-page,.contact-page,.booking-page{padding-block:45px 80px}.filter-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:28px}.filter-bar button{background:transparent;border:1px solid #b8b0a7;padding:9px 19px;min-width:82px;cursor:pointer;font-size:10px;letter-spacing:.08em}.filter-bar button:hover,.filter-bar button.active{background:#191715;color:#fff;border-color:#191715}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 17px}.team-card[hidden],.portfolio-card[hidden]{display:none}.team-card img{width:100%;aspect-ratio:.95/1;object-fit:cover;object-position:center 24%;background:#e4ded7}.team-card h2{font-family:var(--sans)!important;font-size:12px;letter-spacing:.09em;margin:10px 0 1px}.team-card p{font-family:var(--serif);font-size:12px;color:#625b54;margin:0}.team-card a{display:inline-block;font-size:9px;letter-spacing:.09em;margin-top:13px;border-bottom:1px solid #999087}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.portfolio-card{padding:0;position:relative;background:#e5dfd7;border:0;cursor:pointer;overflow:hidden}.portfolio-card img{display:block;width:100%;aspect-ratio:.82/1;object-fit:cover;transition:transform .3s}.portfolio-card:hover img{transform:scale(1.04)}.portfolio-card span{position:absolute;inset:auto 0 0;color:#fff;text-align:left;font-family:var(--serif);font-size:15px;padding:25px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.6))}.lightbox{border:0;padding:20px 20px 12px;max-width:min(800px,calc(100% - 36px));background:#f8f4ed}.lightbox::backdrop{background:rgba(0,0,0,.78)}.lightbox img{max-height:75vh;max-width:100%;object-fit:contain}.lightbox p{font-family:var(--serif);margin:10px 0 0}.lightbox-close{position:absolute;top:1px;right:8px;border:0;background:#f8f4ed;font-size:29px;cursor:pointer}
.pricing-tabs{margin-bottom:55px}.pricing-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 90px}.pricing-panel[hidden]{display:none}.price-group h2{font-size:clamp(22px,2.5vw,37px);margin:0 0 17px}.price-line{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #d9d3cc;font-family:var(--serif);font-size:14px}.price-line strong{white-space:nowrap;font-size:14px;font-weight:400}.pricing-disclaimer{font-size:11px;color:#716960;margin:55px 0 0}.inner-cta{min-height:230px;text-align:center;color:#fff;display:grid;place-content:center;background:linear-gradient(rgba(10,8,6,.7),rgba(10,8,6,.7)),url('assets/cta-bg.webp') center/cover;padding:25px}.inner-cta h2{font-size:clamp(32px,3.8vw,57px);margin:0}.inner-cta p{font-family:var(--serif);font-size:13px;margin:8px 0 20px}.inner-cta .btn{justify-self:center}
.review-summary{display:flex;align-items:center;gap:36px;padding-bottom:38px}.review-score{display:flex;align-items:center;gap:10px}.review-score strong{font-family:var(--serif);font-size:57px;font-weight:400;line-height:1}.review-score span{color:#c98b21;font-size:19px;letter-spacing:.1em}.review-score small{font-size:10px;color:#777}.review-summary>p{font-family:var(--serif);font-size:15px;margin:0 auto 0 0;max-width:350px}.testimonial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.testimonial{background:#fff;border:1px solid #e3ddd5}.testimonial img{width:100%;aspect-ratio:1.5/1;object-fit:cover}.testimonial blockquote{font-family:var(--serif);font-size:14px;line-height:1.48;margin:17px;min-height:105px}.testimonial p{display:flex;justify-content:space-between;gap:10px;margin:0 17px 18px;font-size:10px}.testimonial p span{color:#c98b21;letter-spacing:.08em}
.contact-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,9vw,130px)}.contact-details>div{position:relative;padding-left:45px;margin-bottom:30px}.contact-details>div>span{position:absolute;left:0;top:0;font-size:22px}.contact-details h2{font-family:var(--sans)!important;font-size:11px;letter-spacing:.12em;margin:0 0 5px}.contact-details a{font-family:var(--serif);font-size:16px;text-decoration:underline}.contact-details>p{font-family:var(--serif);font-size:14px;color:#655d55;line-height:1.6}.enquiry-form{border:1px solid #e4ded7;background:#fff;padding:30px;display:grid;gap:13px}.enquiry-form label,.booking-step label:not(.stylist-options label){display:grid;gap:6px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.enquiry-form input,.enquiry-form select,.enquiry-form textarea,.booking-step input:not([type="radio"]),.booking-step select,.booking-step textarea{width:100%;border:1px solid #d8d1c8;border-radius:0;background:#fff;color:#171513;padding:12px;font-size:13px;letter-spacing:0;text-transform:none}.enquiry-form textarea,.booking-step textarea{resize:vertical}.enquiry-form .btn{justify-self:start}.form-hint{font-size:11px;color:#746b61;line-height:1.5;margin:0}
.booking-page{max-width:1200px}.booking-steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #d8d0c7;padding-bottom:23px;margin-bottom:40px}.booking-steps span{display:flex;align-items:center;gap:9px;font-size:12px;color:#aaa39a}.booking-steps b{font-family:var(--serif);font-size:14px;font-weight:400;width:27px;height:27px;border:1px solid #c9c1b7;border-radius:50%;display:grid;place-items:center}.booking-steps span.active,.booking-steps span.done{color:#171513}.booking-steps span.active b,.booking-steps span.done b{background:#171513;color:#fff;border-color:#171513}.booking-step{display:none;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);min-height:250px}.booking-step.active{display:grid}.booking-step h2{font-size:clamp(28px,3vw,44px);margin:0 0 23px}.booking-step .eyebrow{margin-bottom:10px}.booking-step label:not(.stylist-options label){margin-bottom:14px}.stylist-options{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.stylist-options label{cursor:pointer;font-size:9px;text-align:center}.stylist-options input{position:absolute;opacity:0}.stylist-options img{width:100%;aspect-ratio:1/1;object-fit:cover}.stylist-options label:first-child{display:grid;place-content:center;background:#e9e5df;min-height:90px;padding:9px}.stylist-options label:has(input:checked){outline:2px solid #1a1816;outline-offset:3px}.stylist-options span{display:block;margin:6px 0}.booking-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:30px}.booking-controls [hidden]{display:none}.booking-step[data-step="2"],.booking-step[data-step="3"],.booking-step[data-step="4"]{grid-template-columns:minmax(0,600px);justify-content:center}.booking-step[data-step="4"] #bookingSummary{background:#fff;border:1px solid #e2ddd7;padding:22px;font-family:var(--serif);line-height:1.7}
@media(max-width:1100px){.inner-page .nav{gap:12px}.service-list{grid-template-columns:repeat(2,1fr)}.testimonial-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.inner-page .site-header{height:65px;grid-template-columns:1fr auto auto}.inner-page .nav{position:fixed;top:65px;z-index:51}.inner-page .nav a{display:block}.page-banner{height:270px}.story{grid-template-columns:1fr}.story img{height:320px}.value-grid{grid-template-columns:repeat(2,1fr)}.team-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.pricing-panel{grid-template-columns:1fr;gap:38px}.contact-page{grid-template-columns:1fr}.booking-step.active{grid-template-columns:1fr}.review-summary{flex-wrap:wrap}.review-summary>p{margin:0}}
@media(max-width:540px){.page-banner{height:225px}.page-banner h1{font-size:42px}.service-list{gap:10px}.service-tile>div{padding:13px}.service-tile h2{font-size:18px}.service-tile p{font-size:11px;min-height:65px}.story{padding-block:45px}.story img{height:240px}.about-stats{grid-template-columns:repeat(2,1fr);gap:22px}.about-stats>div:nth-child(2){border:0}.values{padding-block:48px}.value-grid{gap:18px}.about-strip img{height:120px}.team-grid{gap:20px 10px}.team-card h2{font-size:10px}.portfolio-grid{gap:7px}.portfolio-card span{font-size:12px}.testimonial-grid{grid-template-columns:1fr}.review-score{flex-wrap:wrap}.booking-steps{gap:5px}.booking-steps span{font-size:0;display:grid;justify-items:center}.booking-steps b{font-size:12px}.stylist-options{grid-template-columns:repeat(3,1fr)}.booking-controls{justify-content:stretch}.booking-controls .btn{flex:1}.enquiry-form{padding:20px}}
/* Booking page: keep scroll layers cheap and the header in document flow. */
.booking-view .grain{display:none}
.booking-view .site-header,.booking-view .site-header.scrolled{position:relative;top:auto;background:#f7f4ef;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none!important;transition:none}
@media(min-width:821px) and (max-width:1100px){.inner-page .site-header{grid-template-columns:145px minmax(0,1fr) auto}.inner-page .nav{gap:8px;font-size:10px}}
@media(max-width:820px){.inner-page .site-header{grid-template-columns:1fr auto auto}}
[lang^="zh"] .page-banner h1{line-height:1.15}
[lang^="zh"] .story h2,[lang^="zh"] .values h2{line-height:1.2}

.location-section{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:clamp(24px,5vw,70px);align-items:center;padding-block:0 90px}.location-copy .eyebrow{margin-bottom:12px}.location-copy h2{font-family:var(--serif);font-size:clamp(36px,4vw,60px);font-weight:400;line-height:1;margin:0 0 20px}.location-copy>p:not(.eyebrow){font-family:var(--serif);font-size:15px;line-height:1.65;color:#615950;max-width:390px;margin:0 0 25px}.location-map{height:350px;border:1px solid #d8d0c7;background:#e8e6e0;overflow:hidden}.location-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.45) sepia(.15)}@media(max-width:820px){.location-section{grid-template-columns:1fr;padding-block:0 65px}.location-map{height:300px}}@media(max-width:540px){.location-map{height:260px}}
/* Inner pages share the same flexible header action width. */
.inner-page .site-header{grid-template-columns:170px minmax(0,1fr) max-content}
@media(min-width:821px) and (max-width:1100px){.inner-page .site-header{grid-template-columns:145px minmax(0,1fr) max-content}}
@media(max-width:820px){.inner-page .site-header{grid-template-columns:1fr auto auto}}
