:root{--ivory:#f5f0e7;--ivory-deep:#ebe2d4;--olive:#41432d;--olive-dark:#292c1d;--taupe:#85715e;--brown:#493b30;--ink:#2d2a24;--muted:#6c665c;--rule:#b8aa97;--white:#fffdf8;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif;--page:1180px;--gutter:clamp(22px,5vw,72px);--section:clamp(72px,9vw,132px);--ease:180ms ease}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.72}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.page-width{width:min(var(--page),calc(100% - var(--gutter)*2));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{background:rgba(245,240,231,.97);border-bottom:1px solid rgba(73,59,48,.16);position:relative;z-index:20}.header-inner{height:122px;max-width:1380px;margin:auto;padding:0 clamp(24px,4vw,64px);display:grid;grid-template-columns:1fr 230px 1fr;align-items:center;gap:28px}.primary-nav{display:flex;gap:clamp(18px,2.25vw,35px)}.primary-nav a,.footer-inner nav a{font-size:.68rem;text-transform:uppercase;letter-spacing:.19em;font-weight:600}.primary-nav a{padding-block:12px}.primary-nav a.active{border-bottom:1px solid var(--brown)}.brand{justify-self:center}.brand img{width:215px;height:94px;object-fit:contain}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;background:var(--olive);color:var(--white);font-size:.69rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;border:1px solid var(--olive)}.header-cta{justify-self:end}.menu-toggle{display:none}
.hero{position:relative;min-height:610px;color:var(--white);overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 44%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,27,17,.88) 0%,rgba(31,30,20,.6) 35%,rgba(20,16,12,.08) 72%)}.hero-copy{position:relative;z-index:2;padding-top:112px}.eyebrow{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.24em;margin-bottom:14px}.eyebrow.light{color:#f4eee2}.hero h1,.section h2,.advanced-intro h2,.consult h2{font-family:var(--serif);font-weight:400;margin:0;line-height:.95}.hero h1{font-size:clamp(3.4rem,6vw,5.75rem);max-width:650px}.hero h1 em{font-weight:400}.tagline{display:block;margin-top:32px;padding-top:22px;border-top:1px solid rgba(255,255,255,.68);width:max-content;font-size:.7rem;line-height:1.7;text-transform:uppercase;letter-spacing:.26em;font-weight:600}
.section{padding-block:var(--section)}.section-heading{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin-bottom:68px}.section-heading h2{font-size:clamp(2.7rem,4.1vw,4.2rem);white-space:nowrap}.section-heading .rule{height:1px;background:var(--rule)}.section-heading span{font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;font-weight:600;color:var(--muted);white-space:nowrap}.service-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:center;gap:clamp(48px,8vw,118px);margin-bottom:clamp(84px,11vw,150px)}.service-row:last-child{margin-bottom:0}.service-row.image-right figure{grid-column:2}.service-row.image-right .service-copy{grid-column:1;grid-row:1}.service-row figure{margin:0;height:520px;overflow:hidden}.service-row figure img{width:100%;height:100%;object-fit:cover}.service-row.image-right figure img{object-position:center}.compact-row figure{height:430px}.service-copy{max-width:510px}.service-copy h3{font-family:var(--serif);font-size:clamp(2.45rem,3.8vw,4rem);line-height:1;margin:0 0 10px;font-weight:400}.service-copy .subheading{font-size:.71rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;margin:-1px 0 8px}.meta{font-size:.72rem;text-transform:uppercase;letter-spacing:.21em;font-weight:600;margin:0 0 24px}.meta b{padding:0 8px}.service-copy p:not(.meta):not(.subheading){color:var(--muted);line-height:1.78;margin:0 0 18px}.text-link{display:inline-flex;gap:13px;align-items:center;margin-top:10px;padding-bottom:5px;border-bottom:1px solid var(--rule);font-size:.71rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600}.text-link span{font-size:1rem}.advanced-intro{background:var(--olive-dark);color:var(--white);padding:90px 0;position:relative;overflow:hidden}.advanced-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.06),transparent 32%);opacity:.7}.advanced-inner{position:relative;padding-left:50%}.advanced-intro h2{font-size:clamp(3rem,5vw,5.2rem)}.short-rule{height:1px;background:var(--ivory-deep);width:56px;margin:26px 0 20px}.advanced-intro p{font-size:.71rem;text-transform:uppercase;letter-spacing:.2em;line-height:1.8;font-weight:600}.advanced-services{padding-top:calc(var(--section)*.85)}
.consult{background:var(--olive-dark);color:var(--white);padding:105px 0}.consult-inner{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px}.consult h2{font-size:clamp(3.6rem,5.7vw,6rem)}.consult-copy{padding-left:60px;border-left:1px solid rgba(255,255,255,.55)}.consult-copy p{max-width:470px;margin:0 0 28px}.button-outline{background:transparent;border-color:rgba(255,255,255,.75)}footer{background:var(--ivory-deep);padding:52px 0}.footer-inner{display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:36px}.footer-inner>img{width:190px;height:92px;object-fit:contain}.footer-inner nav{display:flex;justify-content:center;gap:30px}
@media(max-width:900px){.header-inner{height:96px;grid-template-columns:48px 1fr 48px;padding-inline:18px}.brand img{width:185px;height:78px}.header-cta{display:none}.menu-toggle{display:flex;width:44px;height:44px;background:transparent;border:0;padding:12px 9px;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span:not(.sr-only){display:block;height:1px;width:24px;background:var(--ink)}.primary-nav{display:none;position:absolute;top:96px;left:0;right:0;background:var(--ivory);padding:22px var(--gutter) 32px;flex-direction:column;gap:4px;border-bottom:1px solid var(--rule)}.primary-nav.open{display:flex}.primary-nav a{font-size:.8rem;padding:12px 0}.hero{min-height:570px}.hero-copy{padding-top:92px}.section-heading{grid-template-columns:1fr}.section-heading .rule{width:90px}.section-heading span{white-space:normal}.service-row,.service-row.image-right{grid-template-columns:1fr;gap:38px;margin-bottom:100px}.service-row.image-right figure,.service-row.image-right .service-copy{grid-column:1;grid-row:auto}.service-row figure,.compact-row figure{height:min(72vw,540px)}.service-row.image-right figure{order:0}.service-row.image-right .service-copy{order:1}.advanced-inner{padding-left:0}.consult-inner{grid-template-columns:1fr}.consult-copy{padding:34px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.5)}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-inner>img{margin:auto}.footer-inner nav{flex-wrap:wrap}.footer-inner .text-link{margin:auto}}
@media(max-width:560px){:root{--gutter:22px}.header-inner{height:88px}.primary-nav{top:88px}.brand img{width:165px}.hero{min-height:525px}.hero>img{object-position:57% center}.hero-shade{background:linear-gradient(90deg,rgba(28,28,19,.88),rgba(28,25,18,.38))}.hero-copy{padding-top:78px}.hero h1{font-size:3.45rem}.section{padding-block:76px}.section-heading{margin-bottom:48px}.section-heading h2{font-size:2.85rem}.service-row{gap:30px;margin-bottom:78px}.service-row figure,.compact-row figure{height:82vw;min-height:310px}.service-copy h3{font-size:2.75rem}.advanced-intro{padding:72px 0}.advanced-intro h2{font-size:3.15rem}.consult{padding:78px 0}.consult h2{font-size:3.7rem}.footer-inner nav{gap:18px}.footer-inner nav a{font-size:.63rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Slightly tighter transition from the Services hero into Custom Facials. */
.services-menu.no-image{padding-top:clamp(72px,8vw,112px)}
@media(max-width:560px){.services-menu.no-image{padding-top:52px}}

/* Services closing invitation with editorial skin imagery. */
.services-closing{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;background:url('/assets/root-facial-closing.jpg') center/cover no-repeat}
.services-closing:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(36,38,24,.9) 0%,rgba(36,38,24,.76) 38%,rgba(36,38,24,.38) 72%,rgba(36,38,24,.18) 100%)}
.services-closing .consult-inner{display:block}
.services-closing .consult-inner>div:first-child{max-width:610px}
.services-closing .consult-copy{margin-top:34px;padding:0;border:0}
@media(max-width:560px){.services-closing{min-height:455px;background-position:58% center}.services-closing:before{background:linear-gradient(90deg,rgba(36,38,24,.9),rgba(36,38,24,.58))}.services-closing .consult-copy{margin-top:26px}}

/* Refined brand header: the source logo's native ivory and the header now read as one surface. */
.site-header{background:#fbf8f0;border-bottom-color:rgba(73,59,48,.14)}
.header-inner{height:142px;max-width:1440px;grid-template-columns:1fr 300px 1fr;gap:34px}
.brand{display:flex;align-items:center}
.brand img{width:286px;height:124px}
@media(max-width:900px){.header-inner{height:112px}.brand img{width:215px;height:96px}.primary-nav{top:112px;background:#fbf7ee}}
@media(max-width:560px){.header-inner{height:104px}.primary-nav{top:104px}.brand img{width:195px;height:90px}}

/* Home page */
.home-hero{position:relative;min-height:720px;color:var(--white);overflow:hidden}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.home-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,27,18,.88) 0%,rgba(37,32,23,.56) 43%,rgba(31,23,17,.08) 74%)}.home-hero-copy{position:relative;z-index:1;padding-top:150px}.home-hero h1,.home-intro h2,.home-section-head h2,.home-philosophy h2{font-family:var(--serif);font-weight:400;line-height:.96;margin:0}.home-hero h1{font-size:clamp(4rem,6.3vw,6.8rem);max-width:880px}.home-hero h1 em{font-weight:400}.home-hero-copy>p{margin:30px 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.24em;font-weight:600}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:38px}.button-light{background:var(--ivory);border-color:var(--ivory);color:var(--ink)}.light-link{color:var(--white);border-bottom-color:rgba(255,255,255,.65)}
.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,10vw,140px);padding-block:clamp(90px,11vw,150px);align-items:center}.home-intro h2{font-size:clamp(3.6rem,5.5vw,5.8rem)}.intro-copy{padding-left:50px;border-left:1px solid var(--rule)}.intro-copy p{color:var(--muted);margin:0 0 24px;line-height:1.85}.home-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:38px;align-items:end;padding-bottom:var(--section)}.feature-main{margin:0;height:540px;overflow:hidden}.feature-main img{width:100%;height:100%;object-fit:cover}.feature-note{background:var(--olive);color:var(--white);padding:54px 48px;margin-left:-115px;margin-bottom:-35px;position:relative}.feature-note h2{font-family:var(--serif);font-size:clamp(2.8rem,4vw,4.2rem);font-weight:400;line-height:.96;margin:0 0 24px}.feature-note p{margin:0;line-height:1.8}.mackenzi-feature{max-width:1080px;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:clamp(54px,8vw,110px);align-items:start}.mackenzi-feature .feature-main{height:485px;max-width:390px}.mackenzi-feature .feature-main img{object-position:center 28%}.mackenzi-feature .feature-note{background:transparent;color:var(--ink);padding:8px 0 0;margin:0}.mackenzi-feature .feature-note h2{font-size:clamp(3.1rem,4.5vw,4.7rem);margin-bottom:32px}.mackenzi-bio p{color:var(--muted);margin:0 0 20px;line-height:1.85}.mackenzi-bio strong{color:var(--ink);font-weight:500}.mackenzi-bio .bio-signoff{font-family:var(--serif);font-size:1.55rem;font-style:italic;color:var(--brown);margin-top:30px}
.home-services{background:#fbf7ee;padding-block:var(--section)}.home-section-head{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:54px}.home-section-head>.eyebrow{grid-column:1}.home-section-head h2{font-size:clamp(3.5rem,5vw,5.3rem)}.home-section-head>.text-link{grid-column:2;grid-row:1/3}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,56px)}.treatment-card figure{height:500px;margin:0 0 30px;overflow:hidden}.treatment-card figure img{width:100%;height:100%;object-fit:cover}.treatment-card:nth-child(2) figure img{object-position:center 35%}.treatment-card h3{font-family:var(--serif);font-size:clamp(2.5rem,3.7vw,3.8rem);font-weight:400;line-height:1;margin:0 0 16px}.treatment-card p{color:var(--muted);margin:0 0 18px}.card-link{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;border-bottom:1px solid var(--rule);padding-bottom:5px}
.home-philosophy{background:var(--olive-dark);color:var(--white);padding-block:clamp(82px,9vw,125px)}.philosophy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,110px);align-items:center}.home-philosophy h2{font-size:clamp(3.6rem,5.5vw,5.9rem)}.philosophy-image{height:460px;overflow:hidden}.philosophy-image img{width:100%;height:100%;object-fit:cover}
/* Footer uses the same seamless logo treatment as the header. */
footer{background:#fbf7ee;padding:68px 0}.footer-inner{grid-template-columns:300px 1fr auto;gap:46px}.footer-inner>img{width:280px;height:130px}.footer-inner .text-link{margin-top:0}
@media(max-width:900px){.home-hero{min-height:650px}.home-hero-copy{padding-top:125px}.home-intro{grid-template-columns:1fr;gap:38px;align-items:stretch}.intro-copy{padding:30px 0 0;border-left:0;border-top:1px solid var(--rule)}.home-feature{grid-template-columns:1fr}.feature-note{margin:-90px 25px 0 25px}.home-section-head{grid-template-columns:1fr}.home-section-head>.text-link{grid-column:1;grid-row:auto;justify-self:start}.treatment-grid{grid-template-columns:1fr}.philosophy-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.footer-inner>img{width:260px;height:122px}}
@media(max-width:560px){.home-hero{min-height:610px}.home-hero>img{object-position:43% center}.home-hero-copy{padding-top:100px}.home-hero h1{font-size:3.55rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.home-intro{padding-block:78px}.home-intro h2,.home-section-head h2,.home-philosophy h2{font-size:3.35rem}.feature-main{height:430px}.feature-note{margin:-60px 12px 0;padding:36px 28px}.treatment-card figure{height:420px}.philosophy-image{height:340px}footer{padding:54px 0}.footer-inner>img{width:235px;height:110px}}

/* Booking page */
.booking-hero{display:grid;grid-template-columns:.88fr 1.12fr;min-height:610px;background:var(--olive-dark);color:var(--white)}.booking-hero-copy{padding:clamp(85px,9vw,140px) clamp(45px,7vw,115px);align-self:center}.booking-hero h1,.booking-intro h2,.booking-category h2,.booking-gateway h2{font-family:var(--serif);font-weight:400;line-height:.96;margin:0}.booking-hero h1{font-size:clamp(4rem,6vw,6.4rem)}.booking-hero h1 em{font-weight:400}.booking-hero-copy>p{max-width:500px;margin:28px 0 0;color:#e7dfd3;line-height:1.8}.booking-hero figure{margin:0;min-height:610px;overflow:hidden}.booking-hero figure img{width:100%;height:100%;object-fit:cover;object-position:center}
.booking-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,9vw,130px);padding-block:clamp(85px,10vw,135px);align-items:end}.booking-intro h2{font-size:clamp(3.4rem,5vw,5.3rem)}.booking-intro>p{margin:0;padding-left:50px;border-left:1px solid var(--rule);color:var(--muted);line-height:1.85}.booking-list{padding-bottom:var(--section)}.booking-category{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:clamp(45px,8vw,110px);padding:72px 0;border-top:1px solid var(--rule)}.booking-category:last-child{border-bottom:1px solid var(--rule)}.booking-category h2{font-size:clamp(2.8rem,4vw,4.3rem)}.booking-option{display:grid;grid-template-columns:1fr auto auto;gap:32px;align-items:center;padding:25px 0;border-bottom:1px solid rgba(184,170,151,.62)}.booking-option:first-child{padding-top:0}.booking-option:last-child{border-bottom:0}.booking-option h3{font-family:var(--serif);font-size:clamp(1.65rem,2.3vw,2.25rem);font-weight:400;line-height:1.05;margin:0 0 5px}.booking-option p{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0}.booking-option strong{font-family:var(--serif);font-size:1.7rem;font-weight:400}.booking-option .text-link{margin:0}.booking-gateway{background:var(--olive);color:var(--white);padding:90px 0}.booking-gateway-inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.booking-gateway h2{font-size:clamp(3.5rem,5vw,5.4rem)}.booking-gateway p{max-width:590px;margin:22px 0 0;color:#e7dfd3}.placeholder-button{opacity:.8;cursor:default;white-space:nowrap}
@media(max-width:900px){.booking-hero{grid-template-columns:1fr}.booking-hero figure{min-height:460px}.booking-intro{grid-template-columns:1fr;gap:36px}.booking-intro>p{padding:28px 0 0;border-left:0;border-top:1px solid var(--rule)}.booking-category{grid-template-columns:1fr;gap:42px}.booking-gateway-inner{grid-template-columns:1fr}.placeholder-button{justify-self:start}}
@media(max-width:560px){.booking-hero-copy{padding:78px 22px}.booking-hero h1{font-size:3.75rem}.booking-hero figure{min-height:350px}.booking-intro{padding-block:75px}.booking-intro h2,.booking-gateway h2{font-size:3.35rem}.booking-category{padding:58px 0}.booking-option{grid-template-columns:1fr auto;gap:18px}.booking-option .text-link{grid-column:1/3;justify-self:start}.booking-gateway{padding:72px 0}.placeholder-button{white-space:normal;text-align:center}}

/* First-booking invitation */
.booking-cta{background:#765846;border-color:#765846;color:var(--white);box-shadow:0 9px 24px rgba(73,59,48,.14);transition:background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}.booking-cta:hover,.booking-cta:focus-visible{background:#604536;border-color:#604536;transform:translateY(-1px);box-shadow:0 12px 28px rgba(73,59,48,.22)}.booking-cta span{font-size:1rem;margin-left:9px}.header-cta.booking-cta{padding-inline:22px;white-space:nowrap}.first-booking-action{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.first-booking-action small{font-family:var(--sans);font-size:.66rem;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.2em;color:#f1e9dd}.hero-booking-cta{min-height:54px;padding-inline:28px}.first-visit-feature{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(48px,8vw,110px);align-items:center;padding:0 0 var(--section)}.first-visit-feature figure{margin:0;height:590px;overflow:hidden}.first-visit-feature figure img{width:100%;height:100%;object-fit:cover}.first-visit-copy h2{font-family:var(--serif);font-size:clamp(3.5rem,5vw,5.3rem);font-weight:400;line-height:.95;margin:0 0 26px}.first-visit-copy p{color:var(--muted);line-height:1.85;margin:0 0 30px}.feature-booking-cta{min-height:56px}.first-visit-copy small{display:block;margin-top:14px;font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.mobile-booking-cta{display:none}
@media(max-width:1120px){.header-cta.booking-cta{font-size:.61rem;padding-inline:16px}.header-inner{grid-template-columns:1fr 270px 1fr}.brand img{width:258px}}
@media(max-width:900px){.header-inner{grid-template-columns:48px 1fr 48px}.brand img{width:215px;height:96px}.first-visit-feature{grid-template-columns:1fr}.first-visit-feature figure{height:min(78vw,570px)}.mobile-booking-cta{display:flex;position:fixed;z-index:50;left:14px;right:14px;bottom:14px;min-height:54px;align-items:center;justify-content:center;background:#765846;color:var(--white);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 12px 34px rgba(38,29,23,.3)}.mobile-booking-cta span{font-size:1rem;margin-left:12px}body{padding-bottom:78px}}
@media(max-width:560px){.first-booking-action{width:100%}.hero-booking-cta{width:100%}.first-booking-action small{max-width:290px}.first-visit-feature{padding-bottom:78px}.first-visit-feature figure{height:410px}.first-visit-copy h2{font-size:3.35rem}.feature-booking-cta{width:100%}.mobile-booking-cta{left:10px;right:10px;bottom:10px}}

/* Services menu mockup: fewer images, longer editorial service lists. */
.services-menu{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);gap:clamp(58px,8vw,118px);align-items:start;padding-block:clamp(90px,10vw,145px)}
.services-menu.no-image{display:block;max-width:880px}
.services-menu-copy>h2,.leaf-banner h2{font-family:var(--serif);font-weight:400;line-height:.95;margin:0}.services-menu-copy>h2{font-size:clamp(3.6rem,5.2vw,5.5rem)}
.menu-intro{margin:18px 0 38px;font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;font-weight:600;color:var(--muted)}
.menu-service{padding:34px 0 39px;border-top:1px solid var(--rule)}.menu-service:first-of-type{padding-top:38px}.menu-service:last-child{border-bottom:1px solid var(--rule)}
.menu-service .eyebrow{margin-bottom:8px}.menu-service h3{font-family:var(--serif);font-size:clamp(2rem,2.8vw,3rem);font-weight:400;line-height:1.04;margin:0 0 8px}.menu-service .subheading{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600;margin:-2px 0 7px}.menu-service .meta{margin-bottom:18px}.menu-description{color:var(--muted);line-height:1.76}.menu-description p{margin:0 0 14px}.menu-service .text-link{margin-top:6px}
.services-menu-image{margin:64px 0 0;position:sticky;top:42px;height:720px;overflow:hidden}.services-menu-image img{width:100%;height:100%;object-fit:cover;object-position:center}.services-menu-advanced .services-menu-image{margin-top:0;height:780px}.services-menu-advanced .services-menu-image img{object-position:52% center}.services-menu-advanced .services-menu-copy{padding-top:0}
.leaf-banner{min-height:300px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--olive-dark);color:var(--white)}.leaf-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,33,21,.25),rgba(31,33,21,.88)),url('/assets/botanical-banner.jpg') center/cover no-repeat;filter:saturate(.72) brightness(.62);transform:scale(1.01)}.leaf-banner-copy{position:relative;z-index:1;text-align:center;padding-block:66px}.leaf-banner h2{font-size:clamp(3rem,4.8vw,5rem)}.leaf-banner .short-rule{margin:22px auto 17px}.leaf-banner p{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600}
@media(max-width:900px){.services-menu{grid-template-columns:1fr;gap:48px}.services-menu-image{position:relative;top:auto;order:-1;margin:0;height:min(78vw,590px)}.services-menu-advanced .services-menu-image{height:min(72vw,540px)}.leaf-banner{min-height:340px}.leaf-banner:before{background-position:32% center}.services-menu-advanced .services-menu-copy{padding-top:0}}
@media(max-width:560px){.services-menu{padding-block:74px;gap:36px}.services-menu-image,.services-menu-advanced .services-menu-image{height:390px}.services-menu-copy>h2{font-size:3.4rem}.menu-service{padding:31px 0 35px}.menu-service h3{font-size:2.55rem}.leaf-banner{min-height:360px}.leaf-banner-copy{text-align:left}.leaf-banner .short-rule{margin:22px 0 17px}.leaf-banner h2{font-size:3.35rem}.leaf-banner p{max-width:300px;line-height:1.8}}

/* Header composition: logo anchors the left edge and navigation flows beside it. */
.header-inner{height:126px;max-width:1460px;grid-template-columns:258px minmax(440px,1fr) auto;grid-template-areas:"brand nav cta";gap:clamp(28px,4vw,64px)}
.brand{grid-area:brand;justify-self:start}.brand img{width:252px;height:112px}
.primary-nav{grid-area:nav;justify-self:center}.header-cta{grid-area:cta}.menu-toggle{grid-area:menu}
.treatment-card{padding:42px 0 12px;border-top:1px solid var(--rule)}.treatment-card p{margin-bottom:24px}
.first-visit-feature.no-image{display:block;max-width:820px;padding-top:clamp(86px,10vw,135px)}.first-visit-feature.no-image .first-visit-copy{max-width:760px}.first-visit-feature.no-image .first-visit-copy p{max-width:700px}
@media(max-width:1120px) and (min-width:901px){.header-inner{grid-template-columns:224px minmax(390px,1fr) auto;gap:24px}.brand img{width:220px;height:98px}.primary-nav{gap:18px}}
@media(max-width:900px){.header-inner{height:108px;grid-template-columns:48px 1fr 48px;grid-template-areas:"menu brand cta"}.brand{justify-self:center}.brand img{width:205px;height:92px}.primary-nav{top:108px}}
@media(max-width:560px){.header-inner{height:98px}.primary-nav{top:98px}.brand img{width:188px;height:84px}.treatment-card{padding-top:34px}}

/* Live GLOWflow scheduling */
.booking-scheduler{background:#fbf7ee;padding-block:clamp(82px,9vw,126px);scroll-margin-top:24px}.scheduler-head{text-align:center;max-width:720px;margin:0 auto 52px}.scheduler-head h2{font-family:var(--serif);font-size:clamp(3.5rem,5vw,5.4rem);font-weight:400;line-height:.96;margin:0}.scheduler-head p{color:var(--muted);margin:20px 0 16px}.scheduler-head .text-link{margin-top:0}.scheduler-frame{max-width:1040px;margin:0 auto;background:var(--white);border:1px solid rgba(184,170,151,.55);overflow:hidden}.scheduler-frame iframe{display:block;width:100%;min-height:980px;border:0;overflow:hidden;background:var(--white)}
@media(max-width:560px){.booking-scheduler{padding-block:72px}.scheduler-head{text-align:left;margin-bottom:36px}.scheduler-head h2{font-size:3.35rem}.scheduler-frame{width:calc(100% + 20px);margin-left:-10px}.scheduler-frame iframe{min-height:1120px}}

/* Quiet, editorial mobile system */
.mobile-nav-book{display:none}
@media(max-width:900px){
  body{padding-bottom:0}
  .mobile-booking-cta{display:none!important}
  .site-header{position:sticky;top:0;z-index:60}
  .header-inner{height:78px;padding:0 20px;grid-template-columns:1fr auto;grid-template-areas:"brand menu";gap:16px}
  .brand{justify-self:start;display:flex;align-items:center;gap:11px;min-width:0}
  .brand img{display:none}
  .brand:before{content:"";display:block;flex:0 0 48px;width:48px;height:48px;background:url('/assets/logo.png') center top/94px auto no-repeat}
  .brand:after{content:"ROOT & RADIANCE";font-family:var(--serif);font-size:1.24rem;line-height:1;letter-spacing:.095em;white-space:nowrap;color:var(--brown)}
  .menu-toggle{grid-area:menu;justify-self:end;width:42px;height:42px;padding:10px 8px;align-items:flex-end}
  .menu-toggle span:not(.sr-only){width:23px}
  .primary-nav{top:78px;padding:20px 22px 28px;gap:0;background:#fbf8f0}
  .primary-nav a{font-size:.74rem;letter-spacing:.16em;padding:11px 0}
  .primary-nav .mobile-nav-book{display:block;margin-top:13px;padding:15px 0 3px;color:var(--brown);border-top:1px solid var(--rule);font-weight:700}
  .eyebrow{letter-spacing:.17em}
  .footer-inner>.text-link{display:none}
}
@media(max-width:560px){
  :root{--gutter:20px;--section:70px}
  body{font-size:16px;line-height:1.65}
  .header-inner{height:74px;padding-inline:18px}
  .brand{gap:9px}
  .brand:before{flex-basis:43px;width:43px;height:43px;background-size:84px auto}
  .brand:after{font-size:1.08rem;letter-spacing:.075em}
  .primary-nav{top:74px}
  .home-hero{min-height:545px}
  .home-hero-copy{padding-top:76px}
  .home-hero h1{font-size:2.95rem;line-height:1}
  .hero h1 br,.consult h2 br,.booking-hero h1 br,.first-visit-copy h2 br{display:none}
  .home-hero .eyebrow{display:none}
  .home-hero-copy>p{margin-top:23px;font-size:.66rem;letter-spacing:.17em;line-height:1.65}
  .hero-actions{margin-top:30px;gap:16px}
  .hero-booking-cta{width:auto;min-height:50px;padding-inline:20px;font-size:.65rem;letter-spacing:.13em}
  .first-booking-action small{display:block;font-size:.6rem;letter-spacing:.16em;line-height:1.45}
  .home-intro{padding-block:68px;gap:28px}
  .home-intro h2,.home-section-head h2,.home-philosophy h2{font-size:2.85rem;line-height:1}
  .intro-copy{padding-top:24px}
  .feature-main{height:325px}
  .feature-note{margin:-42px 10px 0;padding:30px 24px}
  .home-services{padding-block:70px}
  .home-section-head{margin-bottom:38px}
  .treatment-card{padding-top:28px}
  .treatment-card figure{height:350px;margin-bottom:24px}
  .treatment-card h3{font-size:2.45rem}
  .philosophy-image{height:300px}
  .consult{padding:64px 0}
  .consult h2{font-size:3rem;line-height:1}
  .consult-copy{padding-top:25px}
  body:not(.booking-page) .consult .button{display:none}
  .hero{min-height:475px}
  .hero-copy{padding-top:66px}
  .hero h1{font-size:2.95rem;line-height:1}
  .tagline{margin-top:25px;padding-top:18px;font-size:.64rem;letter-spacing:.18em}
  .services-menu{padding-block:64px;gap:30px}
  .services-menu-image,.services-menu-advanced .services-menu-image{height:335px}
  .services-menu-copy>h2{font-size:2.9rem;line-height:1}
  .menu-intro{font-size:.66rem;letter-spacing:.16em;margin-bottom:28px}
  .menu-service{padding:27px 0 30px}
  .menu-service h3{font-size:2.25rem;line-height:1.02}
  .menu-service .eyebrow{font-size:.65rem}
  .menu-service .text-link{display:none}
  .leaf-banner{min-height:310px}
  .leaf-banner h2{font-size:2.85rem}
  .booking-hero-copy{padding:66px 20px}
  .booking-hero h1{font-size:3.05rem;line-height:1}
  .booking-hero figure{min-height:310px}
  .booking-intro{padding-block:64px;gap:28px}
  .booking-intro h2,.booking-gateway h2,.scheduler-head h2{font-size:2.85rem;line-height:1}
  .first-visit-feature.no-image{padding-top:62px;padding-bottom:60px}
  .first-visit-copy h2{font-size:2.85rem}
  .first-visit-copy .feature-booking-cta{display:none}
  .booking-category{padding:48px 0;gap:32px}
  .booking-category h2{font-size:2.7rem}
  .booking-option{grid-template-columns:1fr auto;padding:21px 0}
  .booking-option h3{font-size:1.9rem}
  .booking-option .text-link{display:none}
  .booking-scheduler{padding-block:64px}
  .scheduler-head{margin-bottom:30px}
  .footer-inner>img{width:205px;height:96px}
  .footer-inner nav{gap:12px 18px}
}

/* Full founder story */
@media(max-width:900px){.mackenzi-feature{grid-template-columns:1fr;gap:38px}.mackenzi-feature .feature-main{width:min(100%,430px);max-width:430px;height:500px}.mackenzi-feature .feature-note{padding-top:0}.mackenzi-feature .feature-note h2 br{display:none}}
@media(max-width:560px){.mackenzi-feature{gap:32px}.mackenzi-feature .feature-main{width:min(100%,330px);height:395px}.mackenzi-feature .feature-note h2{font-size:2.85rem;margin-bottom:26px}.mackenzi-bio p{line-height:1.75;margin-bottom:18px}.mackenzi-bio .bio-signoff{font-size:1.4rem;margin-top:25px}}

/* Quiet homepage close */
.home-closing-action{padding-bottom:var(--section);text-align:center}.home-closing-action .button{min-width:220px}
@media(max-width:560px){.home-closing-action{padding-bottom:70px}.home-closing-action .button{width:100%}}

/* Service emphasis statements */
.menu-description .service-emphasis{color:var(--ink);margin-top:22px}.menu-description .service-emphasis strong{font-weight:600}

/* Balance Mackenzi's portrait against the full biography on wider screens. */
.mackenzi-feature{align-items:center}
@media(max-width:900px){.mackenzi-feature{align-items:stretch}}

/* Site-wide spacing refinement: tighter flow while preserving editorial breathing room. */
:root{--section:clamp(64px,7.5vw,110px)}
.home-intro{padding-block:clamp(72px,8vw,112px);gap:clamp(48px,7vw,100px)}
.mackenzi-feature{gap:clamp(44px,6vw,82px)}
.mackenzi-feature .feature-note h2{margin-bottom:26px}
.mackenzi-bio p{margin-bottom:18px}
.home-closing-action{padding-bottom:clamp(58px,7vw,96px)}
.services-menu,.services-menu.no-image{padding-block:clamp(68px,7.5vw,104px)}
.menu-intro{margin-bottom:30px}
.menu-service{padding:29px 0 32px}
.menu-service:first-of-type{padding-top:32px}
.leaf-banner{min-height:265px}
.leaf-banner-copy{padding-block:52px}
.services-closing{min-height:465px}
.booking-intro{padding-block:clamp(68px,7.5vw,108px);gap:clamp(48px,7vw,96px)}
.booking-category{padding:58px 0;gap:clamp(40px,6vw,82px)}
.booking-list{padding-bottom:clamp(60px,7vw,100px)}
.first-visit-feature.no-image{padding-top:clamp(68px,7.5vw,104px);padding-bottom:clamp(60px,7vw,96px)}
.booking-scheduler{padding-block:clamp(68px,7.5vw,104px)}
.scheduler-head{margin-bottom:42px}
footer{padding:56px 0}
@media(max-width:900px){.home-intro{gap:30px}.mackenzi-feature{gap:32px}.booking-intro{gap:30px}.booking-category{gap:34px}}
@media(max-width:560px){
  :root{--section:62px}
  .home-intro{padding-block:58px;gap:24px}
  .intro-copy{padding-top:20px}
  .mackenzi-feature{gap:27px}
  .mackenzi-feature .feature-note h2{margin-bottom:22px}
  .home-closing-action{padding-bottom:58px}
  .services-menu,.services-menu.no-image{padding-block:54px}
  .menu-intro{margin-bottom:24px}
  .menu-service,.menu-service:first-of-type{padding:24px 0 27px}
  .leaf-banner{min-height:275px}
  .leaf-banner-copy{padding-block:46px}
  .services-closing{min-height:410px}
  .consult{padding-block:56px}
  .booking-intro{padding-block:56px;gap:24px}
  .booking-category{padding:42px 0;gap:28px}
  .booking-list{padding-bottom:56px}
  .first-visit-feature.no-image{padding-top:54px;padding-bottom:52px}
  .booking-scheduler{padding-block:56px}
  .scheduler-head{margin-bottom:26px}
  footer{padding:46px 0}
}

/* Studio location and appointment-only details. */
.home-location{border-top:1px solid var(--rule);padding-block:clamp(44px,5vw,68px);display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.home-location h2{font-family:var(--serif);font-size:clamp(2.4rem,3.5vw,3.5rem);font-weight:400;line-height:1.05;margin:0}
.studio-address{font-style:normal;color:var(--muted);line-height:1.8}
.studio-address p{margin:0}.studio-address .appointment-only{margin-top:12px;color:var(--olive);font-weight:500}
.footer-location{grid-column:1/-1;text-align:center;padding-top:24px;border-top:1px solid var(--rule);font-size:.875rem}
.footer-location .studio-address>p:first-child{color:var(--brown);font-weight:500}
@media(max-width:900px){.home-location{grid-template-columns:1fr;gap:22px}}
@media(max-width:560px){.home-location{padding-block:40px}.home-location h2{font-size:2.4rem}.footer-location{font-size:.875rem}}
