:root{--paper:#fff8f7;--cream:#fae9eb;--ink:#392430;--muted:#654955;--rose:#a51c60;--wine:#551235;--line:#e9c9d3;--leaf:#a9bd56;--coral:#e8887a;--blush:#edb0bf;--pink:#d83279;--serif:Georgia,'Times New Roman',serif;--sans:Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
.skip{position:absolute;left:1rem;top:-10rem;padding:.5rem 1rem;background:white;z-index:2}
.skip:focus{top:1rem}
.wrap{width:min(1220px,calc(100% - 112px));margin-inline:auto}
.header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:#fffdfb}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:86px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:22px/1.1 var(--serif);color:var(--wine)}
.brand img{flex:none;width:105px;mix-blend-mode:multiply}
.brand small{display:block;margin-top:6px;font:700 8.5px/1.2 var(--sans);letter-spacing:.18em;color:var(--rose)}
nav{display:flex;align-items:center;gap:30px;font-size:13px}
nav a{text-decoration:none}
nav a:hover,.text-link:hover,footer a:hover{color:var(--rose)}
.nav-book{border:1px solid #d391ad;padding:9px 16px;color:var(--wine);border-radius:2px}
.nav-book span,.actions span{margin-left:5px}
.hero{background:radial-gradient(ellipse at 86% 11%,#f8dce7,transparent 53%),var(--paper)}
.hero-inner{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(30px,6vw,92px);padding-block:54px 57px}
.hero-copy{padding-block:16px}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:11px;line-height:1.5;letter-spacing:.21em;font-weight:700;color:var(--rose)}
.eyebrow span{width:28px;height:1px;background:#94a640}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:400;line-height:1.03;color:var(--wine)}
h1{font-size:clamp(57px,6.3vw,98px);letter-spacing:-.065em}
h1 em{display:block;white-space:nowrap}
h2{font-size:clamp(40px,4.4vw,68px);letter-spacing:-.06em}
h3{font-size:29px;letter-spacing:-.025em}
h1 em,h2 em{color:var(--rose);font-weight:400}
.hero-copy>p,.section-heading>p:last-child,.gallery-copy>p:last-child,.booking p:not(.eyebrow){font-size:16px;color:var(--muted);margin:23px 0;max-width:32rem}
.hero-copy>p{max-width:29rem}
.actions{display:flex;align-items:center;gap:18px 24px;flex-wrap:wrap;margin-top:28px}
.button{display:inline-flex;align-items:center;gap:7px;border-radius:2px;background:var(--rose);color:#fff8fb;padding:13px 19px;font-size:13px;text-decoration:none}
.button:hover{background:var(--wine)}
.text-link{text-decoration:none;color:var(--wine);border-bottom:1px solid #cc83a1;font-size:13px;padding-block:4px}
figure{margin:0}
.hero-photo{position:relative;padding:8px;border:1px solid #e3aebb}
.hero-photo::before{content:"";position:absolute;inset:auto 8px 8px;height:4px;background:linear-gradient(90deg,var(--leaf) 20%,var(--pink) 20% 40%,var(--coral) 40% 60%,var(--blush) 60% 80%,#bd286b 80%)}
.hero-photo img{width:100%;aspect-ratio:1.35;object-fit:cover;object-position:50% 48%}
.hero-photo figcaption{position:absolute;bottom:12px;left:8px;background:var(--paper);padding:8px 12px;font:italic 15px var(--serif);color:var(--wine)}
.hero-photo figcaption span{font-size:11px;color:var(--rose);margin-right:5px}
.ribbon{border-block:1px solid var(--line);background:#f8e5ea}
.ribbon .wrap{display:flex;justify-content:center;align-items:center;gap:clamp(10px,4vw,60px);text-align:center;padding-block:13px;font:clamp(14px,2vw,20px)/1.35 var(--serif);color:var(--wine)}
.ribbon i{color:#576726;font-style:normal}
.section{padding-block:77px}
.section-heading{text-align:center;margin-bottom:34px}
.section-heading .eyebrow,.booking .eyebrow{justify-content:center}
.section-heading>p:last-child,.booking p:not(.eyebrow){margin:16px auto 0}
.menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.menu article{padding:24px;border:1px solid var(--line);background:#fffdfb}
.menu article{border-top:3px solid var(--pink)}
.menu article:nth-child(2){border-top-color:var(--coral)}
.menu article:nth-child(3){border-top-color:var(--leaf)}
.menu-index{display:block;margin-bottom:14px;color:var(--rose);font:italic 18px var(--serif)}
dl{margin:15px 0 0}
dl div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid #f3dfe5;padding:8px 0;font-size:14px;line-height:1.5}
dd{margin:0;color:var(--wine);white-space:nowrap;font-variant-numeric:tabular-nums}
details{margin-top:13px}
summary{font-size:13px;cursor:pointer;color:var(--rose)}
details dl{margin-top:5px}
.menu-note{color:var(--muted);margin:15px 0 0;font-size:13px}
.gallery{background:#f7e3eb;border-block:1px solid var(--line)}
.gallery figcaption{font:italic 17px var(--serif);margin-top:10px;color:var(--wine)}
.salon{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(24px,6vw,88px)}
.salon img{width:100%;aspect-ratio:1.65;object-fit:cover}
.salon p:last-child{color:var(--muted);max-width:30rem}
.booking{text-align:center;background:#fcf0f4;border-top:1px solid var(--line)}
.booking .actions{justify-content:center}
footer{background:#f8e5ea;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.footer-inner{display:flex;align-items:center;gap:16px;min-height:88px}
.footer-inner img{width:72px;height:auto;mix-blend-mode:multiply}
.footer-inner a{margin-left:auto}
@media(max-width:930px){
  .wrap{width:calc(100% - 64px)}
  .hero-inner{gap:24px}
  h1{font-size:clamp(48px,7vw,68px)}
  .menu article{padding:17px}
}
@media(max-width:680px){
  .wrap{width:calc(100% - 36px)}
  .header-inner{flex-wrap:wrap;justify-content:center;padding-block:13px;gap:10px}
  nav{width:100%;justify-content:center;gap:22px;font-size:12px}
  .nav-book{padding:5px 9px}
  .salon{grid-template-columns:1fr}
  .brand img{width:82px}
  .hero-inner{grid-template-columns:1fr;gap:22px;padding-block:30px}
  .hero-copy{padding-block:0;text-align:center}
  .hero-copy .eyebrow,.hero-copy .actions{justify-content:center}
  .hero-copy>p{margin:18px auto}
  .actions{margin-top:20px}
  h1{font-size:clamp(47px,11vw,72px)}
  .section{padding-block:49px}
  .menu{grid-template-columns:1fr}
  .menu article{padding:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

[hidden]{display:none!important}
.gallery-filters{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.gallery-filters button{font:14px var(--sans);color:var(--wine);background:transparent;border:1px solid #cc83a1;border-radius:2px;padding:12px 22px;cursor:pointer}
.gallery-filters button[aria-pressed="true"]{background:var(--rose);border-color:var(--rose);color:white}
.gallery-filters button:hover{border-color:var(--wine)}
.gallery-label{margin-bottom:22px}
.gallery-filters:not([hidden])~.gallery-panel .gallery-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gallery-panel+.gallery-panel{margin-top:35px}
.gallery-filters:not([hidden])~.gallery-panel{margin-top:0}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.gallery-image{display:block;position:relative;background:#fffafc;border:5px solid #fffafc;outline:1px solid var(--line)}
.gallery-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.gallery-image:hover{outline-color:var(--rose)}
.enlarge{position:absolute;right:0;bottom:0;background:#fffafc;color:var(--rose);padding:1px 8px;font-size:18px}
.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.comparison-grid .gallery-image img{aspect-ratio:1;object-fit:contain}
@media(max-width:930px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.gallery figcaption{font-size:15px}.comparison-grid{grid-template-columns:1fr}.gallery-filters{gap:8px}.gallery-filters button{font-size:13px;padding:11px 14px}}

article[id]{scroll-margin-top:0}
.treatment-intro,.treatment-note{font-size:13px;line-height:1.5;color:var(--muted);margin:13px 0 0}
.menu dt small{display:block;font-size:11px;line-height:1.4;color:var(--muted);margin-top:3px}
.menu article:nth-child(4){border-top-color:var(--blush)}
.menu article:nth-child(5){border-top-color:var(--coral)}
.menu article:nth-child(6){border-top-color:var(--leaf)}
.gifts{padding-block:45px;background:linear-gradient(120deg,#f6e6eb,#fff7f5);border-top:1px solid var(--line)}
.gift-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.gifts h2{font-size:clamp(34px,3.5vw,48px)}
.gifts p:not(.eyebrow){color:var(--muted);font-size:15px;margin:16px 0 0}
.gifts .eyebrow{font-size:9px;margin-bottom:14px}
.gifts .button{flex-shrink:0}
@media(max-width:680px){.ribbon .wrap{flex-wrap:wrap;gap:7px 12px}.ribbon i{font-size:12px}.ribbon .wrap span{font-size:14px}.gift-inner{align-items:flex-start;flex-direction:column}}

.working{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:clamp(25px,7vw,100px);border-bottom:1px solid var(--line)}
.working figure{max-width:400px;width:100%;justify-self:center;border:1px solid var(--line);padding:7px}
.working img{width:100%;height:auto}
.working p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:29rem;margin:23px 0}
@media(max-width:680px){.working{grid-template-columns:1fr}.working figure{max-width:360px}}

.location{margin:42px auto 0;padding-top:35px;border-top:1px solid var(--line);max-width:680px}
.location address{font-style:normal;color:var(--muted);font-size:15px;line-height:1.7;margin:18px 0 0}
.location p:not(.eyebrow){margin-top:10px;font-size:14px}
.location .text-link{display:inline-block;margin-top:17px}

.pedicure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.massage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-note{text-align:center;color:var(--muted);font-size:13px;margin:0 0 23px}
.illustration-label{display:block;font:11px/1.4 var(--sans);color:var(--muted);margin-top:6px}
@media(max-width:680px){.pedicure-grid{grid-template-columns:1fr;max-width:400px;margin-inline:auto}}

.site-nav{gap:18px;flex-wrap:wrap}
.nav-menu{position:relative;margin:0}
.nav-menu summary{display:flex;align-items:center;gap:6px;list-style:none;color:var(--ink);font:inherit;padding:10px 0;cursor:pointer}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu summary::after{content:"⌄";font-size:12px;color:var(--rose)}
.nav-menu[open] summary{color:var(--rose)}
.nav-dropdown{position:absolute;z-index:20;top:100%;left:-15px;display:grid;min-width:224px;padding:8px;background:#fffdfb;border:1px solid var(--line);box-shadow:0 10px 25px #55123516}
.nav-dropdown a{display:block;padding:9px 12px;font-size:13px;white-space:nowrap}
.nav-dropdown a:hover{background:#f9eaf0}
@media(max-width:1050px){.header-inner{flex-wrap:wrap;justify-content:center;padding-block:14px;gap:9px}.site-nav{width:100%;justify-content:center}}
@media(max-width:680px){.site-nav{position:relative;gap:6px 15px}.nav-menu{position:static}.nav-dropdown{left:0;right:0;width:100%;top:100%;min-width:0}.nav-dropdown a{white-space:normal}.site-nav .nav-book{padding:7px 10px}}

.single-treatment-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
@media(max-width:680px){.massage-grid{grid-template-columns:1fr;max-width:400px;margin-inline:auto}}

#treatments{position:relative;isolation:isolate}
#treatments::before{content:"";position:absolute;z-index:-1;inset:220px -12px 30px;background:url("assets/fuchsia-flower.webp") no-repeat 50% 0;background-size:min(1120px,130%) auto;opacity:.16;mix-blend-mode:multiply;pointer-events:none}
#treatments .menu article{background:rgba(255,253,251,.8)}
@media(max-width:680px){#treatments::before{inset:190px 0 30px;background-size:auto 780px;background-position:55% 0;opacity:.12}}

html{scroll-padding-top:calc(var(--header-height,86px) + 16px)}
.skip{z-index:100}
.nav-dropdown{max-height:calc(100dvh - var(--header-height,86px) - 24px);overflow-y:auto}

#facial-gallery .single-treatment-grid{max-width:820px}
#facial-gallery .gallery-image img{aspect-ratio:auto}

/* Individual treatment pages */
.site-nav a[aria-current="page"]{color:var(--rose);background:#f9eaf0}
.treatment-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,86px);align-items:center;padding-block:54px 60px}
.treatment-copy>.text-link{display:inline-block;margin-bottom:30px}
.treatment-copy h1{font-size:clamp(50px,5.8vw,82px);letter-spacing:-.055em;line-height:1.05}
.treatment-copy p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:31rem}
.treatment-copy .treatment-lead{font:italic 29px/1.25 var(--serif);color:var(--rose);margin:22px 0 16px}
.treatment-photo{padding:8px;border:1px solid var(--line);background:#fffdfb}
.treatment-photo img{width:100%;max-height:510px;object-fit:contain}
.treatment-photo figcaption{font:italic 16px/1.4 var(--serif);color:var(--wine);padding:12px 7px 4px}
.treatment-details{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,7vw,96px);align-items:start;padding-block:20px 76px}
.treatment-description{padding-top:22px}
.treatment-description h2{font-size:clamp(38px,4vw,55px)}
.treatment-description p:not(.eyebrow){color:var(--muted);font-size:15px;margin-top:22px;max-width:30rem}
.treatment-price-list{padding:30px;border:1px solid var(--line);border-top:3px solid var(--rose);background:#fffdfb}
.treatment-price-list h2{font-size:31px;letter-spacing:-.025em}
.treatment-price-list dt small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
@media(max-width:680px){.treatment-hero,.treatment-details{grid-template-columns:1fr;gap:30px}.treatment-hero{padding-block:28px 40px}.treatment-copy>.text-link{margin-bottom:24px}.treatment-photo{max-width:470px;width:100%;margin-inline:auto}.treatment-photo img{max-height:450px}.treatment-details{padding-block:0 48px}.treatment-price-list{padding:22px}.treatment-description{padding-top:0}.treatment-copy h1{font-size:clamp(46px,11vw,65px)}}

/* Gift vouchers and footer navigation */
.footer-links{display:flex;align-items:center;gap:24px;margin-left:auto}
.footer-links a{margin-left:0}
.gift-art{max-width:410px;width:100%;justify-self:center}
.gift-art img{max-height:550px}
.gift-inspiration{border-top:1px solid var(--line);background:#fcf0f4}
.gift-story{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(28px,7vw,95px)}
.gift-story>figure{max-width:440px;width:100%;justify-self:center}
.gift-story p:not(.eyebrow){color:var(--muted);font-size:16px;margin:24px 0}
.gift-story h2{font-size:clamp(40px,4.2vw,61px)}
.gift-treatment-links{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:26px}
.gift-treatment-links a{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:14px;color:var(--wine)}
.gift-treatment-links a:hover{color:var(--rose)}
.gift-treatment-links span{color:var(--rose)}
@media(max-width:680px){.footer-inner{flex-wrap:wrap;padding-block:20px;gap:12px}.footer-inner>span{flex:1}.footer-links{width:100%;justify-content:space-between;margin-left:0;padding-top:5px}.gift-story{grid-template-columns:1fr}.gift-art{max-width:340px}.gift-art img{max-height:none}}

/* Gift voucher image across the home section and dedicated page */
.gift-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px)}
.gift-inner .actions{margin-top:24px}
.gift-preview{display:block;padding:7px;border:1px solid var(--line);background:#fffdfb}
.gift-preview img{width:100%;height:auto}
.gift-preview:hover{border-color:var(--rose)}
.gift-page .gift-art{max-width:560px}
@media(max-width:680px){.gift-inner{grid-template-columns:1fr}.gift-preview{width:100%;max-width:560px;margin-inline:auto}}
