@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/great-vibes.ttf') format('truetype')}
:root{--ink:#292622;--muted:#625a53;--gold:#806448;--sand:#ddcdbd;--cream:#f7f3ed;--line:#ded5ca;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--header:88px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}body{margin:0;color:var(--ink);font:17px/1.7 var(--sans);background:#fff}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h2{font:400 clamp(30px,3.2vw,46px)/1.2 var(--serif);letter-spacing:-.025em}h3{font:400 clamp(25px,2.2vw,32px)/1.25 var(--serif)}p{color:var(--muted);text-wrap:pretty}em{font-weight:400}.wrap{width:100%;max-width:1280px;margin:auto;padding-inline:clamp(20px,4vw,64px)}.eyebrow{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:650;margin-bottom:18px}.script{font-family:'Great Vibes',cursive;font-weight:400;color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 22px;background:var(--sand);font-size:14px;font-weight:650;border:1px solid var(--sand);transition:background .2s;line-height:1.4;text-align:center}.btn:hover{background:#cbb69f;border-color:#cbb69f}.btn.outline{background:transparent;border-color:var(--gold)}.btn.outline:hover{background:#ece3d8}.arrow{font-size:24px;line-height:1}.textlink{display:inline-block;border-bottom:1px solid var(--gold);padding-block:8px;font-size:16px;min-height:44px}.header{height:var(--header);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:400 30px/1 var(--serif);white-space:nowrap}.brand .script{font-size:42px}.brand small{display:block;text-align:center;font:10px/1.4 var(--sans);letter-spacing:.15em;margin-top:6px}.nav{display:flex;gap:clamp(13px,1.5vw,24px);align-items:center;font-size:14px}.nav>a{padding-block:10px}.nav>a:hover,.nav>a.active{color:var(--gold)}.nav>a.active{text-decoration:underline;text-underline-offset:7px}.nav .btn{padding:12px 16px;font-size:13px}.menu{display:none;min-width:48px;min-height:48px;border:1px solid var(--line);background:#fff;font-size:22px}.hero{position:relative;min-height:610px;background:#f6f3ed;overflow:hidden}.hero>img{position:absolute;inset:0;object-position:55% center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#faf8f4 0%,#faf8f4ed 28%,#faf8f425 59%,transparent 78%)}.hero .wrap{position:relative;z-index:1;padding-block:58px}.address{font-size:14px;color:var(--muted);margin-bottom:24px}.hero h1{font:400 clamp(38px,4.5vw,62px)/1.13 var(--serif);max-width:520px;letter-spacing:-.035em}.hero h1 .script{display:block;margin:8px 0 5px 44px;font-size:1.17em}.hero .subtitle{font-size:13px;color:var(--gold);margin:20px 0 16px}.hero .rule{width:48px;height:1px;background:var(--gold);margin:20px 0}.hero .tag{font:400 23px/1.4 var(--serif);max-width:390px;color:var(--ink)}.hero .desc{max-width:390px;margin:18px 0 25px;font-size:17px}.hero-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px}.hero-links a{font-size:15px;text-decoration:underline;text-underline-offset:5px;padding-block:8px}.trust{display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0;border-bottom:1px solid var(--line);gap:16px}.trust>div{text-align:center;border-right:1px solid var(--line);padding:0 10px}.trust>div:last-child{border:0}.icon{font-size:24px;margin-bottom:8px}.trust span{font-size:14px}.section{padding-block:clamp(56px,7vw,96px)}.heading{text-align:center;max-width:650px;margin:0 auto 40px}.heading p{margin-top:20px}.heading .script{font-size:36px;display:block;margin-bottom:16px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service{display:flex;flex-direction:column;min-width:0}.service .photo{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}.service .body{padding-top:22px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.service .num{font-size:12px;color:var(--gold);letter-spacing:.08em}.service h3{margin:8px 0 12px}.service p{font-size:16px;margin-bottom:16px}.service .textlink{margin-top:auto}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}.split .photo{height:490px}.split .copy p{margin:22px 0}.split .copy .textlink{margin-top:10px}.cream{background:var(--cream)}.smallnote{font-size:14px}.benefits{display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:8px}.benefits span{font-size:15px}.benefits span:before{content:'✓';color:var(--gold);margin-right:9px}.prices{max-width:1020px;margin:auto}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);margin-bottom:32px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:16px 8px;min-height:52px;font-size:17px}.tabs button[aria-selected=true]{border-color:var(--gold);color:var(--ink);font-weight:700;background:var(--cream)}.panel[hidden]{display:none}.pricegroup{margin:24px 0 38px}.pricegroup h3{font-size:27px;margin-bottom:16px}.pricerow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);font-size:17px;align-items:start}.pricerow>span{min-width:0;overflow-wrap:anywhere}.pricerow strong{white-space:nowrap;font-weight:650;font-variant-numeric:tabular-nums}.pricerow small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.pricefoot{padding:24px;background:var(--cream);font-size:15px;color:var(--muted);margin:24px 0;border-left:2px solid var(--sand)}.cream .pricefoot{background:#fff}.pricefoot strong{color:var(--ink)}.price-action{text-align:center;margin-top:28px}.voucher{background:#eee6dd}.voucher .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:70px;padding-block:72px}.voucher p{margin:22px 0}.gift{background:#faf8f4;border:1px solid #b8a28c;padding:50px 25px;text-align:center;outline:1px solid #d3c3b2;outline-offset:-12px}.gift .script{font-size:56px}.gift span{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-top:15px}.reviews{text-align:center;max-width:650px;margin:auto}.reviews p{margin:24px 0}.contactgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:60px}.contactgrid h2{margin-bottom:25px}.contactgrid p{margin:16px 0}.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}.person strong{display:block;font:400 25px/1.3 var(--serif);margin-bottom:6px}.person span{display:block;color:var(--gold);font-size:14px;margin-bottom:8px}.person a{display:block;font-size:16px;overflow-wrap:anywhere;padding-block:5px}.person a[href^='tel:']{font-size:18px;min-height:44px}.person a:hover{text-decoration:underline}.map{height:340px;margin-top:45px;border:0;width:100%}.footer{padding:28px 0;background:#292622;color:#e6ded3}.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:13px;flex-wrap:wrap}.footer .script{font-size:30px;color:#ddcdbd}.social{display:flex;gap:24px}.social a{padding-block:12px}.subhero{padding:64px 0;background:var(--cream)}.subhero h1{font:400 clamp(36px,4.5vw,62px)/1.15 var(--serif);letter-spacing:-.03em}.subhero p{margin:24px 0;max-width:48ch}.subhero img{height:450px}.subhero .buttons{display:flex;gap:14px;flex-wrap:wrap}.mobile-book{display:none}.skip{position:fixed;top:10px;left:10px;background:var(--ink);color:#fff;padding:12px 20px;z-index:100;transform:translateY(-160%)}.skip:focus{transform:none}:focus-visible{outline:3px solid #806448;outline-offset:4px}section[id]{scroll-margin-top:24px}
@media(max-width:1100px){:root{--header:78px}.menu{display:block}.nav{display:none;position:fixed;top:var(--header);bottom:0;left:0;right:0;background:#fff;padding:24px clamp(20px,4vw,64px) calc(28px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:4px;overflow:auto}.nav.open{display:flex}.nav>a{font-size:19px;padding:14px 10px;border-bottom:1px solid var(--line)}.nav .btn{margin-top:18px;align-self:flex-start;font-size:16px}.contactgrid{grid-template-columns:1fr;gap:36px}.people{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.person strong{font-size:22px}.person a{font-size:14px}.person a[href^='tel:']{font-size:16px}.split .photo{height:450px}.services{gap:22px}.hero{min-height:600px}.hero>img{object-position:60% center}}
@media(max-width:800px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}.services{grid-template-columns:repeat(2,minmax(0,1fr))}.service:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:28px}.service:last-child .body{padding-top:0}.split{gap:30px}.split .photo{height:400px}.voucher .wrap{gap:32px}.gift .script{font-size:44px}.hero h1{font-size:48px}.hero .desc{max-width:335px}.hero:after{background:linear-gradient(90deg,#faf8f4 0%,#faf8f4ed 34%,#faf8f445 72%,transparent)}.subhero img{height:390px}}
@media(max-width:600px){:root{--header:72px}body{font-size:16px}.brand{font-size:27px}.brand .script{font-size:36px}.brand small{font-size:9px}.header .wrap{gap:12px}.hero{min-height:0;display:flex;flex-direction:column}.hero>img{position:relative;order:2;height:250px;object-position:70% 45%}.hero:after{display:none}.hero .wrap{padding-block:32px 30px}.address{font-size:13px;margin-bottom:18px}.hero h1{font-size:clamp(36px,9vw,42px);max-width:440px}.hero .subtitle{margin:16px 0}.hero .tag{font-size:22px;max-width:none}.hero .desc{max-width:43ch;font-size:16px;margin:16px 0 22px}.hero .btn{width:100%}.hero-links{justify-content:center;gap:28px}.hero .rule{margin:18px 0}.trust{padding-block:22px;gap:4px}.trust>div{padding-inline:6px}.trust span{font-size:12px;line-height:1.4;display:block}.icon{font-size:22px}.heading{margin-bottom:30px}.heading .script{font-size:32px}.services{grid-template-columns:1fr;gap:36px}.service:last-child{grid-column:auto;display:flex;gap:0}.service:last-child .body{padding-top:22px}.service .photo{aspect-ratio:3/2;max-height:290px}.split,.voucher .wrap{grid-template-columns:1fr;gap:30px}.split .photo{height:auto;aspect-ratio:4/3}.split .copy{order:-1}.tabs button{font-size:14px;padding:15px 3px}.pricerow{font-size:16px;gap:12px}.pricerow strong{font-size:16px}.pricerow small{font-size:14px}.pricefoot{padding:20px;font-size:15px}.voucher .wrap{padding-block:56px}.gift{padding:40px 20px}.gift .script{font-size:46px}.people{grid-template-columns:1fr;gap:26px}.person{border-top:1px solid var(--line);padding-top:22px}.person strong{font-size:26px}.person a{font-size:16px}.person a[href^='tel:']{font-size:18px}.map{height:280px;margin-top:32px}.footer{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.footer .wrap{flex-direction:column;text-align:center}.subhero{padding:36px 0 40px}.subhero img{height:280px}.subhero .buttons{flex-direction:column}.subhero .split>div{order:0}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;background:#fff;padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-book .btn{width:100%;min-height:48px}.menu-open .mobile-book{display:none}.price-action .btn{width:100%}}
@media(max-width:360px){.pricerow{grid-template-columns:1fr;gap:6px}.pricerow strong{justify-self:start}.tabs button{font-size:13px}.hero>img{height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.service-note{text-align:right;margin-top:18px;font-size:13px}.service img[src*=editorial],.subhero img[src*=editorial]{object-position:50% 50%}

.price-disclosure{border-top:1px solid var(--line)}.price-disclosure:last-child{border-bottom:1px solid var(--line)}.price-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;padding:20px 4px;cursor:pointer;list-style:none;font:400 clamp(23px,2vw,29px)/1.3 var(--serif)}.price-disclosure summary::-webkit-details-marker{display:none}.disclosure-action{display:flex;gap:20px;align-items:center;font:500 14px/1.4 var(--sans);color:var(--gold)}.disclosure-icon{font-size:28px;line-height:1;min-width:24px;text-align:center}.when-open{display:none}.price-disclosure[open] .when-open{display:inline}.price-disclosure[open] .when-closed{display:none}.price-disclosure[open] .disclosure-icon{transform:rotate(45deg)}.price-disclosure summary:hover{background:var(--cream)}.cream .price-disclosure summary:hover{background:#eee6dd}.disclosure-content{padding:0 4px 32px}.product-brand{margin:24px 0 28px;max-width:260px}.product-brand img{width:100%;height:auto;object-fit:contain}.pricing-section{padding-block:64px}.price-disclosure[open] summary{border-bottom:1px solid var(--line)}
@media(max-width:600px){.price-disclosure summary{min-height:76px;gap:12px;font-size:23px}.disclosure-action{gap:10px;font-size:13px}.product-brand{max-width:220px}.pricing-section{padding-block:48px}}
@media(max-width:360px){.disclosure-action .when-closed,.disclosure-action .when-open{max-width:70px}.price-disclosure summary{font-size:21px}}

/* Booking context and discreet pricing. */
.cta-context{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px}.nav-cta small{font-size:10px;line-height:1.4;color:var(--muted)}.hero-cta{max-width:390px}.hero .cta-note,.subhero .cta-note{font-size:13px;line-height:1.6;margin:4px 0 0;color:var(--muted)}.cta-note a{border-bottom:1px solid var(--gold)}.subhero .buttons.cta-context{flex-direction:row;align-items:center}.nav .nav-pricing{font-size:12px;color:var(--muted)}.pricing-section{padding-block:32px}.pricing-category{margin-top:32px}.pricing-category+.pricing-category{border-top:1px solid var(--line);padding-top:32px}.pricing-category-title{font-size:32px}.mobile-cta-note{font-size:12px;line-height:1.4;color:var(--muted);text-align:center}
@media(max-width:1100px){.nav .nav-pricing{font-size:18px}.nav-cta{align-items:stretch}.nav-cta small{font-size:12px}.nav-cta .btn{margin-top:12px}}
@media(max-width:600px){.hero-cta{display:flex;width:100%;max-width:none}.hero-cta .btn{width:100%}.mobile-book{flex-direction:column;gap:5px}.footer{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.subhero .buttons.cta-context{flex-direction:column;align-items:stretch}.subhero .buttons .textlink{align-self:flex-start}.price-overview summary{font-size:23px;gap:12px}.price-overview summary>span:first-child{min-width:0}.price-overview .disclosure-action{flex:none;gap:8px}.pricing-category-title{font-size:28px}.pricing-section{padding-block:24px}}
@media(max-width:360px){.price-overview summary{font-size:20px}.price-overview .disclosure-action{font-size:12px}}

/* Wordmark moved from header to hero, preserving the original Great Vibes face. */
.header .wrap{justify-content:flex-end}.header .nav{margin-left:auto}.hero h1.hero-brand{font-family:'Great Vibes',cursive;font-size:clamp(78px,8vw,116px);font-weight:400;line-height:1.18;letter-spacing:normal;color:var(--gold);max-width:540px;margin-left:-3px}.hero .subtitle{margin-top:10px}
@media(max-width:1100px){.header .nav{margin-left:0}.hero h1.hero-brand{font-size:clamp(74px,9vw,100px)}}
@media(max-width:600px){.hero h1.hero-brand{font-size:clamp(58px,16vw,88px);line-height:1.2;max-width:100%;margin-left:0}.hero .wrap{padding-top:28px}.hero .subtitle{margin-top:8px}}

/* Real salon photographs and original voucher. */
.voucher-image{min-width:0}.voucher-image img{width:100%;height:auto;object-fit:contain}.salon-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:40px}.salon-gallery figure{margin:0;min-width:0}.salon-gallery img{height:auto;aspect-ratio:3/4;object-fit:cover}.salon-gallery figcaption{font-size:14px;color:var(--muted);margin-top:10px}
@media(max-width:600px){.salon-gallery{grid-template-columns:1fr;gap:24px;margin-top:30px}.voucher-image{width:100%}.voucher .wrap{gap:28px}}

/* Customer review cards. */
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{margin:0;padding:28px;background:var(--cream);display:flex;flex-direction:column;min-width:0}.review-stars{color:var(--gold);letter-spacing:3px;font-size:18px}.review-card blockquote{margin:20px 0 24px}.review-card blockquote p{font:400 20px/1.6 var(--serif);color:var(--ink)}.review-card figcaption{margin-top:auto}.review-card figcaption strong,.review-card figcaption span{display:block}.review-card figcaption strong{font-size:14px}.review-card figcaption span{font-size:12px;color:var(--muted)}.review-source{margin-top:28px}.review-source>p{font-size:13px}.review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:16px}
@media(max-width:800px){.review-grid{grid-template-columns:1fr}.review-card{padding:24px}.review-actions{align-items:flex-start}}

/* Responsive refinement - 1.0.7. No floating reservation bar. */
.mobile-book{display:none!important}.wrap{padding-left:max(clamp(20px,4vw,64px),env(safe-area-inset-left));padding-right:max(clamp(20px,4vw,64px),env(safe-area-inset-right))}main,.wrap,.copy,.contactgrid>*,.split>*,.voucher .wrap>*,.subhero .buttons{min-width:0}h1,h2,h3,blockquote,p,figcaption{overflow-wrap:break-word}.btn{max-width:100%}.price-disclosure summary>span:first-child{min-width:0}.review-card blockquote{min-width:0}.social{flex-wrap:wrap;justify-content:center}.map{max-width:100%}.hero h1.hero-brand{max-width:100%}
@media(max-width:1100px){.nav{max-height:calc(100vh - var(--header));max-height:calc(100dvh - var(--header));overscroll-behavior:contain}.nav .btn{width:100%;margin-top:12px}.header .wrap{gap:12px}}
@media(min-width:601px) and (max-width:768px){.split,.voucher .wrap{grid-template-columns:1fr;gap:32px}.split .copy{order:-1}.split .photo{height:auto;aspect-ratio:4/3}.subhero .split>div{order:0}.subhero img{height:auto;aspect-ratio:4/3;max-height:440px}.voucher-image{max-width:640px;margin-inline:auto;width:100%}}
@media(max-width:600px){:root{--header:60px}.header .menu{width:44px;min-width:44px;height:44px;min-height:44px}.footer{padding:28px 0 calc(28px + env(safe-area-inset-bottom))}.heading h2{font-size:clamp(27px,7.5vw,36px)}.heading .script{font-size:clamp(28px,8vw,34px)}.hero h1.hero-brand{font-size:clamp(50px,15vw,82px)}.hero-links{gap:8px 20px}.review-card{padding:clamp(20px,6vw,28px)}.review-card blockquote p{font-size:clamp(18px,5vw,21px);line-height:1.55}.review-actions{flex-direction:column;align-items:stretch;gap:12px}.review-actions .textlink{align-self:flex-start}.pricerow{grid-template-columns:minmax(0,1fr) auto;gap:12px}.subhero h1{font-size:clamp(32px,9vw,46px)}.subhero img{height:auto;aspect-ratio:4/3}.person a[href^='mailto:']{overflow-wrap:anywhere}.price-overview .disclosure-action{flex-shrink:1}.price-overview summary{align-items:center;gap:10px}.pricegroup h3{font-size:clamp(23px,6vw,27px)}}
@media(max-width:380px){.pricerow{grid-template-columns:1fr;gap:6px}.pricerow strong{justify-self:start}.price-disclosure summary{font-size:20px}.disclosure-action{font-size:12px;gap:6px}.price-overview .disclosure-action .when-closed,.price-overview .disclosure-action .when-open{max-width:70px}.pricefoot{padding:16px}.trust span{font-size:11px}}
@media(max-width:1100px) and (max-height:500px){:root{--header:56px}.nav{padding-top:10px}.nav>a{padding-block:10px}}
