:root{
  --paper:#f4eeea;
  --paper-2:#ebe0d9;
  --ink:#11100f;
  --muted:#716b67;
  --line:rgba(17,16,15,.18);
  --soft-line:rgba(17,16,15,.09);
  --white:#fffdfa;
  --dark:#151311;
  --radius:16px;
  --max:1560px;
  --display:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"DM Sans","Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img,video{display:block;max-width:100%}
::selection{background:var(--ink);color:var(--paper)}
.site-shell{width:min(calc(100% - 64px),var(--max));margin-inline:auto}

/* Header */
.header{position:relative;z-index:50;padding:20px 0 12px;background:var(--paper)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand-logo-link{display:block;flex:none}
.brand-logo{width:260px;height:auto}
.nav{display:flex;align-items:center;gap:clamp(24px,3vw,54px)}
.nav a{position:relative;padding:12px 0;font-size:17px}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:var(--ink);transition:right .35s cubic-bezier(.2,.7,.2,1)}
.nav a:hover::after,.nav a:focus-visible::after,.nav a[aria-current="page"]::after{right:0}
.nav a[aria-current="page"]{font-weight:500}
.nav .book-link{border-bottom:0}
.nav-drop{position:relative}
.nav-drop-menu{position:absolute;top:calc(100% + 2px);left:-20px;min-width:245px;padding:12px 20px 15px;background:rgba(244,238,234,.98);border:1px solid var(--soft-line);box-shadow:0 18px 50px rgba(30,20,15,.08);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s ease}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:none}
.nav-drop-menu a{display:block;padding:8px 0;font-size:14px}
.menu-toggle{display:none;width:54px;height:54px;border:0;border-radius:13px;background:#e9dfd9;align-items:center;justify-content:center;cursor:pointer}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:21px;height:2px;background:var(--ink);content:"";position:relative;transition:.25s}
.menu-toggle span::before{position:absolute;top:-7px}.menu-toggle span::after{position:absolute;top:7px}
.menu-open .menu-toggle span{background:transparent}.menu-open .menu-toggle span::before{top:0;transform:rotate(45deg)}.menu-open .menu-toggle span::after{top:0;transform:rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;z-index:40;background:var(--paper);padding:120px 28px 34px;opacity:0;visibility:hidden;transition:opacity .25s ease}
.menu-open .mobile-nav{opacity:1;visibility:visible}
.mobile-nav a{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,11vw,64px);line-height:1.08;padding:7px 0}
.mobile-nav .mobile-small{margin-top:22px;font-family:var(--sans);font-size:18px}

/* Hero */
.hero{min-height:780px;position:relative;padding:8px 0 72px}
.hero-stage{position:relative;min-height:700px}
.hero-media{position:absolute;right:0;top:10px;width:70%;height:670px;border-radius:12px;overflow:hidden;transform-origin:85% 50%;opacity:0;transform:scale(1.22);filter:blur(6px);animation:heroPlace 1.65s cubic-bezier(.16,.76,.22,1) .08s forwards;background:#d5c8c1}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
@keyframes heroPlace{0%{opacity:0;transform:scale(1.22);filter:blur(6px)}35%{opacity:.8}100%{opacity:1;transform:scale(1);filter:blur(0)}}
.hero-copy{position:absolute;left:2.2%;top:150px;z-index:3;width:min(680px,45vw)}
.hero-title{font-family:var(--display);font-size:clamp(72px,6.1vw,112px);line-height:1.03;letter-spacing:-.043em;font-weight:400;margin:0}
.hero-you{width:clamp(330px,29vw,480px);height:auto;margin-left:48%;margin-top:-4px;position:relative;z-index:5;opacity:0;transform:scale(.94) rotate(-1deg);transform-origin:35% 50%;animation:youReveal 1s cubic-bezier(.16,.76,.22,1) .95s forwards;pointer-events:none;user-select:none}
@keyframes youReveal{to{opacity:1;transform:scale(1) rotate(0)}}
.hero-cta{margin-top:12px;margin-left:0}
.oval-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:10px 30px 11px;border:1px solid var(--ink);border-radius:999px;background:transparent;font-size:20px;transition:background .3s ease,color .3s ease,transform .3s ease}
.oval-btn:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.hero-book{font-size:23px;padding-inline:34px}

/* Common typography & animation */
.section{padding:110px 0}.section-tight{padding:74px 0}
.kicker{font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;color:var(--muted);font-weight:500}
.display-title{font-family:var(--display);font-weight:400;font-size:clamp(52px,5.3vw,88px);line-height:1.02;letter-spacing:-.035em;margin:0}
.display-title.small{font-size:clamp(42px,4vw,66px)}
.lede{font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,2.35vw,41px);line-height:1.28;max-width:900px;margin:24px 0 0}
.body-lg{font-size:clamp(18px,1.4vw,22px);line-height:1.68;max-width:740px}.muted{color:var(--muted)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,.76,.22,1)}.reveal.is-visible{opacity:1;transform:none}
.reveal-scale{opacity:0;transform:scale(.966);transition:opacity .85s ease,transform 1.05s cubic-bezier(.16,.76,.22,1)}.reveal-scale.is-visible{opacity:1;transform:scale(1)}
.arrow-link{margin-top:18px;display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500}.arrow-link span{transition:transform .25s}.arrow-link:hover span{transform:translateX(5px)}

/* Home */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}.marquee-track{display:flex;gap:34px;width:max-content;animation:marquee 26s linear infinite}.marquee-track span{font-family:Georgia,"Times New Roman",serif;font-size:29px;white-space:nowrap}.marquee-track span::after{content:"✦";margin-left:34px;font-size:12px;vertical-align:middle}@keyframes marquee{to{transform:translateX(-50%)}}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(44px,8vw,130px);align-items:center}.about-images{display:grid;grid-template-columns:1fr .74fr;gap:18px;align-items:end}.image-frame{margin:0;overflow:hidden;border-radius:var(--radius);background:#d5cbc4}.image-frame img{width:100%;height:100%;object-fit:cover}.portrait-frame{height:610px}.portrait-frame img{object-position:center 25%}.salon-crop{height:370px;margin-bottom:50px}.salon-crop img{object-position:52% 50%}
.service-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:72px;align-items:end;margin-bottom:60px}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{min-height:390px;border-top:1px solid var(--ink);padding:20px 5px 24px;display:flex;flex-direction:column;transition:transform .35s ease}.service-card:hover{transform:translateY(-7px)}.service-card .num{font-size:12px;color:var(--muted)}.service-card h3{font-family:Georgia,"Times New Roman",serif;font-size:35px;line-height:1.06;font-weight:400;margin:auto 0 12px}.service-card p{margin:0;color:var(--muted)}
.feature{display:grid;grid-template-columns:1.05fr .95fr;min-height:720px;border-top:1px solid var(--ink)}.feature-media{min-height:720px;border-radius:0 0 var(--radius) var(--radius);overflow:hidden;background:#1b1518;position:relative}.feature-media video{width:100%;height:100%;object-fit:cover}.video-corner-link{position:absolute;left:24px;bottom:24px;background:rgba(244,238,234,.9);backdrop-filter:blur(8px);padding:11px 16px;border-radius:999px;font-size:13px}.feature-copy{padding:88px clamp(30px,6vw,92px);display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-family:var(--display);font-size:clamp(52px,5vw,82px);font-weight:400;line-height:.99;letter-spacing:-.035em;margin:0 0 30px}.feature-copy p{font-size:19px;line-height:1.7;max-width:640px}.feature-copy .eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px}.price-pair{display:flex;flex-wrap:wrap;gap:8px 22px;margin:10px 0 20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.sqt-home{display:grid;grid-template-columns:.86fr 1.14fr;gap:80px;align-items:center;border-top:1px solid var(--ink);padding-top:74px}.sqt-home-media{position:relative;margin:0;min-height:470px;border-radius:var(--radius);overflow:hidden;background:#d8d1cc}.sqt-home-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.sqt-home-media:hover img{transform:scale(1.025)}.sqt-home-media::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(to top,rgba(16,13,12,.58),transparent);pointer-events:none}.sqt-home-media-label{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;color:#fff;display:flex;flex-direction:column;gap:6px}.sqt-home-media-label span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.78}.sqt-home-media-label strong{font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:400;line-height:1.05}.price-line{display:block}.price-line+.price-line{margin-top:4px}.sqt-type-card{min-height:470px;background:var(--dark);color:var(--paper);border-radius:var(--radius);padding:48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.sqt-type-card .kicker{color:rgba(255,255,255,.6)}.sqt-type-card strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(100px,12vw,190px);font-weight:400;line-height:.78;letter-spacing:-.06em}.sqt-type-card>span:not(.kicker){font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3vw,46px);margin-top:26px}.price-inline{display:inline-block;margin:10px 0 8px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;font-size:14px}
.review-section{padding-top:125px}.quote-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}.quote-mark{font-family:Georgia,"Times New Roman",serif;font-size:108px;line-height:.55;margin-bottom:20px;font-weight:700}.review{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,3.1vw,55px);line-height:1.2;letter-spacing:-.012em;font-weight:400;max-width:950px}.review-meta{margin-top:24px;color:var(--muted)}.rating-panel{padding-top:24px}.rating-big{font-family:Georgia,"Times New Roman",serif;font-size:118px;line-height:.82;letter-spacing:-.04em}
.stockist-section{padding:70px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stockist-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.stockist-heading p{margin-bottom:0}.stockists{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;align-items:center}.stockist-logo{width:100%;height:76px;object-fit:contain;filter:brightness(0);opacity:.72;transition:opacity .25s,transform .25s}.stockist-logo:hover{opacity:1;transform:translateY(-2px)}.stockist-logo.flower{height:90px}.logo-o{height:64px}
.visit-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:70px;align-items:center}.visit-media{margin:0;height:660px;overflow:hidden;border-radius:var(--radius)}.visit-media img{width:100%;height:100%;object-fit:cover;object-position:center}.visit-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:28px}.gift-note{margin-top:36px;color:var(--muted);font-size:14px}

/* Page layouts */
.page-hero{padding:88px 0 70px}.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}.page-hero .display-title{font-size:clamp(70px,8.4vw,138px)}.page-hero .body-lg{margin-bottom:10px}.category-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.category-nav a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;transition:.25s}.category-nav a:hover{background:var(--ink);color:var(--paper)}
.treatments-image-band{width:min(calc(100% - 64px),var(--max));height:440px;margin:0 auto 72px;border-radius:var(--radius);overflow:hidden}.treatments-image-band img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.special-band{background:#e6d8cf;margin:0 0 70px}.special-band .site-shell{padding-top:76px;padding-bottom:76px}.special-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.video-panel,.full-video{border-radius:var(--radius);overflow:hidden;background:#191417;aspect-ratio:16/9}.video-panel video,.full-video video{width:100%;height:100%;object-fit:cover}.full-video video{object-fit:contain;background:#181317}
.treatment-category{display:grid;grid-template-columns:.6fr 1.4fr;gap:70px;padding:78px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.treatment-category h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(42px,4vw,66px);line-height:1;margin:0}.category-note{color:var(--muted);max-width:340px;margin-top:18px}.treatment-list{border-top:1px solid var(--soft-line)}.treatment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,auto);gap:36px;align-items:start;padding:24px 0 27px;border-bottom:1px solid var(--soft-line)}.treatment-main{max-width:800px}.treatment-name{margin:0 0 7px;font-size:20px;font-weight:500;line-height:1.35}.treatment-description{margin:0;color:var(--muted);font-size:15.5px;line-height:1.72;max-width:760px}.treatment-price{color:var(--muted);font-size:14px;line-height:1.55;text-align:right;padding-top:3px;max-width:260px}

.editorial-hero{padding:62px 0 88px}.editorial-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:80px;align-items:center}.editorial-copy .display-title{margin-bottom:28px}.editorial-media{min-height:620px;border-radius:var(--radius);overflow:hidden}.headspa-hero-media{background:#171214}.headspa-hero-media video{width:100%;height:620px;object-fit:cover}.hero-price-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px}.hero-price-row span{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px}.detail-list{margin:28px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.detail-list li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:14px}.detail-list li::before{content:"—";color:var(--muted)}
.package-list{border-top:1px solid var(--ink)}.package-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:70px;padding:42px 0;border-bottom:1px solid var(--line)}.package-label{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.package-row h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(30px,3vw,46px);line-height:1.1;margin:0 0 17px}.package-row p{max-width:800px;line-height:1.7}.small-copy{font-size:14px}.package-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.package-meta strong{font-family:Georgia,"Times New Roman",serif;font-size:44px;font-weight:400}.package-meta span{color:var(--muted);font-size:14px}.page-cta{margin:80px 0 0;padding:68px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.page-cta h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5vw,76px);font-weight:400;line-height:1;margin:0;max-width:780px}.page-cta .oval-btn{flex:none}

.sqt-placeholder{background:var(--dark);display:grid;place-items:center;color:var(--paper)}.sqt-placeholder>div{display:flex;flex-direction:column;align-items:flex-start;padding:50px}.sqt-placeholder span{font-family:Georgia,"Times New Roman",serif;font-size:clamp(100px,11vw,180px);line-height:.75;letter-spacing:-.06em}.sqt-placeholder small{font-family:Georgia,"Times New Roman",serif;font-size:38px;margin-top:28px}.sqt-placeholder em{font-style:normal;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:70px}.sqt-detail-card{min-height:560px;border-radius:var(--radius);background:#d8c5bb;padding:52px;display:flex;flex-direction:column;justify-content:center}.sqt-detail-card strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(56px,6vw,90px);font-weight:400;line-height:.9}.sqt-detail-card p{margin-top:42px;color:#554d49}.expect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.expect-card{border-top:1px solid var(--ink);padding:22px 6px 30px;min-height:260px}.expect-card>span{font-size:12px;color:var(--muted)}.expect-card h3{font-family:Georgia,"Times New Roman",serif;font-size:35px;font-weight:400;margin:70px 0 12px}.expect-card p{color:var(--muted);max-width:280px}

.story-hero{padding-top:58px}.story-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:64px;align-items:start;padding-inline:clamp(28px,3.8vw,66px)}.story-hero-grid>div:first-child{max-width:760px}.story-portrait{margin:18px 0 0;height:500px;max-width:420px;justify-self:end;overflow:hidden;border-radius:var(--radius)}.story-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.story-lead{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;margin:30px 0 80px;padding-inline:clamp(28px,3.8vw,66px)}.story-lead>div:last-child{max-width:860px}.story-lead .body-lg{font-size:clamp(20px,1.8vw,28px)}.story-salon-section{padding:10px 0 40px}.story-salon{margin:0;height:720px;overflow:hidden;border-radius:var(--radius)}.story-salon img{width:100%;height:100%;object-fit:cover;object-position:center}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.value{border-top:1px solid var(--ink);padding-top:20px}.value .num{color:var(--muted);font-size:13px}.value h3{font-family:Georgia,"Times New Roman",serif;font-size:42px;font-weight:400;margin:60px 0 14px}

.faq-wrap{max-width:1100px;margin-left:auto}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-q{width:100%;padding:28px 0;border:0;background:none;display:flex;justify-content:space-between;gap:30px;align-items:center;text-align:left;font-family:Georgia,"Times New Roman",serif;font-size:31px;cursor:pointer}.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}.faq-a>div{padding:0 70px 26px 0;color:var(--muted);font-size:17px;line-height:1.7}.faq-plus{width:22px;height:22px;position:relative;flex:none}.faq-plus::before,.faq-plus::after{content:"";position:absolute;left:3px;right:3px;top:10px;height:1px;background:var(--ink);transition:transform .25s}.faq-plus::after{transform:rotate(90deg)}.faq-item.open .faq-plus::after{transform:rotate(0)}.policy{margin-top:90px;padding-top:55px;border-top:1px solid var(--ink)}.policy-copy{max-width:900px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(26px,2.25vw,38px);line-height:1.4}

.contact-hero{padding-top:55px}.contact-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.contact-hero-image{margin:0;height:570px;overflow:hidden;border-radius:var(--radius)}.contact-hero-image img{width:100%;height:100%;object-fit:cover}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.contact-details{display:grid;gap:34px}.contact-block h3{margin:0 0 7px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:500}.contact-block p{font-family:Georgia,"Times New Roman",serif;font-size:29px;margin:0}.contact-form{border-top:1px solid var(--ink);padding-top:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:22px}.field label{display:block;font-size:12px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px;color:var(--muted)}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;outline:none;border-radius:0}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--ink)}.submit{border:1px solid var(--ink);background:transparent;padding:12px 22px;border-radius:999px;cursor:pointer;transition:.25s}.submit:hover{background:var(--ink);color:var(--paper)}

/* Footer */
.footer{background:var(--dark);color:#f7f0eb;padding:82px 0 28px;margin-top:80px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .9fr .8fr;gap:55px}.footer-brand img{width:270px;height:auto}.footer-brand p{color:rgba(255,255,255,.6);max-width:340px;line-height:1.7;margin-top:22px}.footer h4{margin:0 0 14px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.55);font-weight:500}.footer p{margin:8px 0;color:rgba(255,255,255,.78)}.footer a:hover{color:#fff}.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:70px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.5)}.footer-bottom>span:nth-child(2){text-align:center}.keon-credit{justify-self:end;display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.58);letter-spacing:.03em;transition:color .25s ease,opacity .25s ease}.keon-credit:hover{color:#fff}.keon-credit span{font-size:11px;transition:transform .25s ease}.keon-credit:hover span{transform:translate(2px,-2px)}
.mobile-book-bar{display:none}

@media(max-width:1050px){
  .site-shell{width:min(calc(100% - 40px),var(--max))}.nav{display:none}.menu-toggle{display:flex}.brand-logo{width:235px}
  .hero{min-height:790px}.hero-stage{min-height:720px}.hero-media{width:72%;height:600px;top:64px}.hero-copy{top:164px;left:0;width:60%}.hero-title{font-size:clamp(58px,8vw,84px)}.hero-you{width:360px;margin-left:43%}
  .about-grid,.feature,.page-hero-grid,.special-grid,.editorial-hero-grid,.story-hero-grid,.story-lead,.contact-hero-grid,.contact-grid{grid-template-columns:1fr}.service-cards{grid-template-columns:repeat(2,1fr)}.feature-media{min-height:560px}.feature-copy{padding:58px 0}.sqt-home{grid-template-columns:1fr;gap:45px}.quote-grid{grid-template-columns:1fr;gap:44px}.stockists{grid-template-columns:repeat(3,1fr)}.visit-grid{grid-template-columns:1fr}.treatment-category{grid-template-columns:1fr;gap:34px}.story-portrait{height:560px;max-width:520px;justify-self:start;margin-top:4px}.story-lead{margin-top:10px}.footer-grid{grid-template-columns:1fr 1fr}.expect-grid{grid-template-columns:1fr}.expect-card{min-height:210px}.package-row{grid-template-columns:1fr 180px;gap:35px}
}

@media(max-width:650px){
  body{padding-bottom:78px}.site-shell{width:calc(100% - 36px)}.header{padding-top:17px}.brand-logo{width:218px}.menu-toggle{width:54px;height:54px}
  .hero{min-height:650px;padding-top:0;padding-bottom:24px}.hero-stage{min-height:620px}.hero-media{width:70%;right:0;top:44px;height:500px;border-radius:12px;transform-origin:70% 50%}.hero-media img{object-position:52% center}.hero-copy{left:0;top:92px;width:100%}.hero-title{font-size:clamp(52px,14.8vw,74px);line-height:1.04;width:100%}.hero-title span{display:block}.hero-you{width:180px;margin-left:-18px;margin-top:2px}.hero-cta{margin-top:12px;margin-left:0}.hero-book{font-size:21px;min-height:50px;padding:8px 26px;background:rgba(244,238,234,.78);backdrop-filter:blur(5px)}
  .section{padding:78px 0}.section-tight{padding:52px 0}.display-title{font-size:clamp(49px,13vw,70px)}.display-title.small{font-size:clamp(40px,11vw,58px)}.lede{font-size:27px}.body-lg{font-size:18px}
  .about-grid{gap:42px}.about-images{grid-template-columns:1fr .75fr}.portrait-frame{height:430px}.salon-crop{height:280px;margin-bottom:18px}
  .service-intro{grid-template-columns:1fr;gap:24px;margin-bottom:38px}.service-cards{grid-template-columns:1fr}.service-card{min-height:225px}.service-card h3{font-size:34px}
  .feature{display:flex;flex-direction:column}.feature-media{min-height:440px;height:440px}.feature-copy{padding:46px 0}.feature-copy h2{font-size:56px}.feature-copy p{font-size:17px}.price-pair{display:grid}
  .sqt-home{padding-top:54px}.sqt-home-media{min-height:360px}.sqt-type-card{min-height:360px;padding:34px}.sqt-type-card strong{font-size:112px}.sqt-type-card>span:not(.kicker){font-size:31px}.review-section{padding-top:85px}.review{font-size:32px;line-height:1.25}.rating-big{font-size:84px}.stockist-heading{display:block}.stockist-heading .muted{margin-top:8px}.stockists{grid-template-columns:1fr 1fr;gap:20px}.stockist-logo{height:58px}.stockist-logo.flower{height:70px}.visit-media{height:430px}.visit-links{align-items:flex-start;flex-direction:column;gap:6px}
  .page-hero{padding:56px 0 46px}.page-hero .display-title{font-size:66px}.page-hero-grid{gap:32px}.treatments-image-band{width:calc(100% - 36px);height:320px;margin-bottom:45px}.special-band{margin-bottom:40px}.special-band .site-shell{padding-top:52px;padding-bottom:52px}.special-grid{gap:35px}.video-panel,.full-video{border-radius:12px}
  .treatment-category{padding:54px 0}.treatment-row{grid-template-columns:1fr;gap:9px;padding:22px 0 24px}.treatment-price{text-align:left;padding-top:0;max-width:none;font-weight:500;color:#554f4b}.treatment-name{font-size:19px}.treatment-description{font-size:15px}
  .editorial-hero{padding:36px 0 60px}.editorial-hero-grid{gap:34px}.editorial-media{min-height:420px}.headspa-hero-media video{height:420px}.hero-price-row{margin-top:22px}.package-row{grid-template-columns:1fr;gap:16px;padding:34px 0}.package-meta{text-align:left;align-items:flex-start;flex-direction:row;align-items:baseline;gap:12px}.package-meta strong{font-size:36px}.page-cta{align-items:flex-start;flex-direction:column;padding:50px 0;margin-top:55px}.page-cta h2{font-size:48px}
  .sqt-placeholder>div{padding:34px}.sqt-placeholder span{font-size:112px}.sqt-placeholder small{font-size:31px}.sqt-placeholder em{margin-top:50px}.sqt-detail-card{min-height:450px;padding:35px}.sqt-detail-card strong{font-size:62px}.expect-card h3{margin-top:48px}
  .story-hero{padding-top:32px}.story-hero-grid{gap:28px;padding-inline:12px}.story-portrait{height:420px;max-width:100%;margin-top:0}.story-lead{gap:25px;margin-bottom:55px;padding-inline:12px}.story-salon{height:420px}.values{grid-template-columns:1fr;gap:38px}.value h3{margin-top:44px}
  .faq-q{font-size:26px;padding:24px 0}.faq-a>div{padding-right:30px}.policy{margin-top:65px}.policy-copy{font-size:27px}
  .contact-hero-grid{gap:35px}.contact-hero-image{height:400px}.contact-grid{gap:50px}.contact-block p{font-size:25px}.form-row{grid-template-columns:1fr;gap:0}
  .footer{margin-top:55px;padding-top:65px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-bottom{grid-template-columns:1fr;gap:10px;margin-top:45px}.footer-bottom>span:nth-child(2){text-align:left}.keon-credit{justify-self:start;margin-top:4px}.footer-brand img{width:235px}
  .mobile-book-bar{display:flex;position:fixed;z-index:60;left:12px;right:12px;bottom:12px;min-height:54px;align-items:center;justify-content:space-between;padding:0 20px;border-radius:999px;background:rgba(17,16,15,.94);color:var(--white);box-shadow:0 12px 40px rgba(0,0,0,.2);backdrop-filter:blur(9px);font-size:15px}
}


/* V8 — image-first refinement: use supplied photography more selectively and avoid perceived softness. */
.hero-media{filter:none;transform:scale(1.14);will-change:transform,opacity}
@keyframes heroPlace{0%{opacity:0;transform:scale(1.14)}35%{opacity:.82}100%{opacity:1;transform:scale(1)}}
.hero-media img,.home-salon-image img,.visit-media img,.story-portrait img,.story-salon img,.treatments-image-band img,.contact-hero-image img{image-rendering:auto;backface-visibility:hidden}
.home-intro-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(48px,8vw,124px);align-items:center}
.home-intro-copy{max-width:690px}
.home-salon-image{margin:0;height:500px;overflow:hidden;border-radius:var(--radius);background:#d7cec8}
.home-salon-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
.visit-media{height:560px}
@media(max-width:800px){
  .home-intro-grid{grid-template-columns:1fr;gap:36px}
  .home-salon-image{height:330px}
  .visit-media{height:380px}
  .hero-media{filter:none}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.hero-media,.hero-you,.reveal,.reveal-scale{opacity:1;transform:none;filter:none}.marquee-track{animation:none}}


/* V11 — seamless motion, refined treatment navigation, local SEO/service pages and booking UX. */
/* V12 — single book underline and cleaner enquiry-form interaction. */
.nav .book-link{border-bottom:0}
.nav .book-link[aria-current="page"]::after{right:0}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Never-ending hero ticker: two equal groups make the loop mathematically seamless. */
.marquee-track{display:flex;gap:0;width:max-content;animation:marqueeSeamless 28s linear infinite;will-change:transform}
.marquee-group{display:flex;align-items:center;flex:none;min-width:max(100vw,980px)}
.marquee-group span{flex:1;min-width:max-content;margin-right:34px;font-family:Georgia,"Times New Roman",serif;font-size:29px;white-space:nowrap}
.marquee-group span::after{content:"✦";margin-left:34px;font-size:12px;vertical-align:middle}
@keyframes marqueeSeamless{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Refined desktop treatment dropdown and hand-drawn-feeling chevron. */
.nav-drop-trigger{display:inline-flex!important;align-items:center;gap:10px}
.nav-chevron{width:8px;height:8px;border-right:1.25px solid currentColor;border-bottom:1.25px solid currentColor;transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .3s cubic-bezier(.2,.7,.2,1);opacity:.72}
.nav-drop:hover .nav-chevron,.nav-drop:focus-within .nav-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.nav-drop-menu{left:-28px;min-width:520px;padding:24px 26px 25px;border-radius:14px;grid-template-columns:.9fr 1.1fr;gap:34px;background:rgba(247,241,237,.985);box-shadow:0 24px 65px rgba(30,20,15,.12);backdrop-filter:blur(14px)}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{display:grid}
.nav-drop-label{display:block;margin-bottom:11px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nav-drop-column{min-width:0}.nav-drop-menu a{padding:8px 0;font-size:14px;line-height:1.25}.nav-drop-menu a::after{bottom:3px}
.nav-drop-featured{padding-right:26px;border-right:1px solid var(--soft-line)}
.nav-all{margin-top:6px;padding-top:12px!important;border-top:1px solid var(--soft-line);font-weight:500}.nav-all span{display:inline-block;margin-left:6px;transition:transform .25s}.nav-all:hover span{transform:translateX(4px)}

.mobile-nav{overflow-y:auto}.mobile-treatment-menu{border-bottom:1px solid var(--soft-line);padding-bottom:8px;margin-bottom:4px}.mobile-treatment-menu summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:var(--display);font-size:clamp(38px,11vw,64px);line-height:1.08;padding:7px 0}.mobile-treatment-menu summary::-webkit-details-marker{display:none}.mobile-chevron{width:13px;height:13px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);transition:transform .25s;margin-right:5px}.mobile-treatment-menu[open] .mobile-chevron{transform:rotate(225deg)}.mobile-treatment-links{display:grid;padding:8px 0 15px 3px}.mobile-treatment-links a{font-family:var(--sans);font-size:16px;line-height:1.35;padding:8px 0;color:var(--muted)}

.category-deep-link{display:inline-block;margin-top:18px;font-size:13px;font-weight:500}.treatment-category-intro{align-self:start;position:sticky;top:24px}
.seo-service-hero .page-hero-grid{align-items:start}.seo-service-hero .lede{margin-top:0}.service-location-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.service-location-band p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.6vw,24px);line-height:1.5;max-width:1120px}.service-page-list{display:grid;gap:84px}.service-page-group{display:grid;grid-template-columns:.58fr 1.42fr;gap:70px}.service-page-group-head{align-self:start;position:sticky;top:24px}.service-page-group-head h2{font-family:var(--display);font-size:clamp(42px,4vw,65px);font-weight:400;line-height:1.02;margin:0 0 18px}.service-page-group-head p{max-width:360px;color:var(--muted);margin:0;line-height:1.65}.service-note{border-top:1px solid var(--ink);padding-top:55px}.service-note .lede{max-width:980px}.contact-mini-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.contact-mini-links a{border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:14px;transition:.25s}.contact-mini-links a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.booking-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:34px}.booking-choice{min-height:108px;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,background .25s,color .25s}.booking-choice:hover{transform:translateY(-3px);background:var(--ink);color:var(--paper)}.booking-choice span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.65}.booking-choice strong{font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:400;line-height:1.2}.contact-label{margin:0 0 7px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:500}.contact-form-lede{font-size:clamp(24px,2vw,34px)}

.footer-social{margin-top:20px!important}

@media(max-width:1050px){
  .service-page-group{grid-template-columns:1fr;gap:28px}.service-page-group-head{position:static}.treatment-category-intro{position:static}
}
@media(max-width:650px){
  .marquee-group{min-width:920px}.marquee-group span{font-size:24px}
  .booking-choice-grid{grid-template-columns:1fr}.booking-choice{min-height:88px}
  .service-page-list{gap:58px}.service-page-group{gap:22px}.service-location-band{padding:18px 0}.contact-mini-links{display:grid}.contact-mini-links a{text-align:center}
}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* V17 - SQT imagery + result gallery */
.sqt-product-hero{background:#f0ece8;display:flex;align-items:center;justify-content:center;padding:34px;min-height:620px}
.sqt-product-hero img{width:100%;height:100%;max-height:560px;object-fit:contain;display:block}
.sqt-results-section{padding-top:28px}
.sqt-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:48px}
.sqt-result-card{margin:0;background:#efe9e5;border-radius:var(--radius);overflow:hidden;min-height:460px}
.sqt-result-card img{width:100%;height:100%;display:block;object-fit:cover}
.sqt-treatment-card img{object-position:center}
.dermapen-feature{padding-top:8px}
@media(max-width:700px){
  .sqt-product-hero{min-height:430px;padding:22px}
  .sqt-results-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}
  .sqt-result-card{min-height:auto}
  .sqt-result-card img{height:auto;object-fit:contain}
}


/* V18 supplied photography + current location */
.hero-media img{object-position:50% 50%}
.story-location-head{max-width:760px;margin-bottom:42px}
.story-location-gallery{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:16px;align-items:stretch}
.story-location-gallery figure{margin:0;overflow:hidden;border-radius:var(--radius);background:#d8cec8}
.story-location-gallery img{width:100%;height:100%;object-fit:cover}
.story-location-main{height:650px}
.story-location-main img{object-position:center 48%}
.story-location-side{display:grid;grid-template-rows:.72fr 1.28fr;gap:16px;min-height:650px}
.story-location-side figure:first-child img{object-position:center 52%}
.story-location-side figure:last-child img{object-position:center 50%}
.headspa-clips{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.headspa-clip,.headspa-still{margin:0;overflow:hidden;border-radius:var(--radius);height:620px;background:#191513}
.headspa-clip video,.headspa-still img{width:100%;height:100%;object-fit:cover}
.headspa-still img{object-position:center 45%}
.treatment-photo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,120px);align-items:center}
.treatment-photo-grid.reverse{grid-template-columns:1.1fr .9fr}
.treatment-photo{margin:0;height:590px;overflow:hidden;border-radius:var(--radius);background:#d8cec8}
.treatment-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact-hero-image img{object-position:center 47%}

@media(max-width:1050px){
  .story-location-gallery{grid-template-columns:1fr}.story-location-main{height:520px}.story-location-side{grid-template-columns:1fr 1fr;grid-template-rows:none;min-height:380px}.story-location-side figure{height:380px}
  .headspa-clips{grid-template-columns:repeat(2,1fr)}.headspa-still{display:none}.headspa-clip{height:600px}
  .treatment-photo-grid,.treatment-photo-grid.reverse{grid-template-columns:1fr}.treatment-photo{height:520px;max-width:720px}
}
@media(max-width:650px){
  .hero-media img{object-position:52% center}
  .story-location-main{height:360px}.story-location-side{grid-template-columns:1fr;min-height:0}.story-location-side figure{height:300px}.story-location-side figure:last-child{height:390px}
  .headspa-clips{grid-template-columns:1fr 1fr;gap:10px}.headspa-clip{height:390px;border-radius:12px}
  .treatment-photo{height:390px}.contact-hero-image img{object-position:center}
}

/* V18 media refresh */
.hero-media img{object-position:52% 50%}
.home-salon-reel-section{padding:20px 0 82px}
.home-salon-reel-grid{display:grid;grid-template-columns:1fr minmax(260px,390px);gap:clamp(48px,8vw,110px);align-items:center;border-top:1px solid var(--line);padding-top:70px}
.salon-reel-frame{height:550px;overflow:hidden;border-radius:var(--radius);background:#d7cec8}
.salon-reel-frame video{width:100%;height:100%;object-fit:cover;display:block}
.story-current-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:stretch}
.story-current-main,.story-current-side figure{margin:0;overflow:hidden;border-radius:var(--radius);background:#d7cec8}
.story-current-main{height:680px}.story-current-main img,.story-current-side img{width:100%;height:100%;object-fit:cover;display:block}
.story-current-side{display:grid;grid-template-rows:1fr 1fr;gap:18px;min-height:680px}.story-current-side figure{min-height:0}
.headspa-moments-section{padding:50px 0 74px}.headspa-moments{display:grid;grid-template-columns:.78fr 1.1fr .78fr;gap:18px}.headspa-vertical,.headspa-still{height:610px;margin:0;overflow:hidden;border-radius:var(--radius);background:#171214}.headspa-vertical video,.headspa-still img{width:100%;height:100%;object-fit:cover;display:block}
.facial-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:56px}.facial-visual-grid figure{margin:0;height:520px;overflow:hidden;border-radius:var(--radius)}.facial-visual-grid img{width:100%;height:100%;object-fit:cover;display:block}
.advanced-visual-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;margin-bottom:55px}.advanced-visual-grid figure{margin:0;height:560px;overflow:hidden;border-radius:var(--radius)}.advanced-visual-grid img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1050px){.home-salon-reel-grid{grid-template-columns:1fr}.salon-reel-frame{width:min(100%,380px)}.story-current-grid{grid-template-columns:1fr}.story-current-main{height:540px}.story-current-side{grid-template-columns:1fr 1fr;grid-template-rows:none;min-height:400px}.headspa-moments{grid-template-columns:1fr 1fr}.headspa-still{grid-column:1/-1;grid-row:1;height:500px}.headspa-vertical{height:520px}.advanced-visual-grid{grid-template-columns:1fr;gap:36px}}
@media(max-width:650px){.hero-media img{object-position:55% 50%}.home-salon-reel-grid{padding-top:44px}.salon-reel-frame{width:78%;height:460px;margin:0 auto}.story-current-main{height:380px}.story-current-side{grid-template-columns:1fr;min-height:0}.story-current-side figure{height:320px}.headspa-moments{grid-template-columns:1fr}.headspa-still{grid-column:auto;grid-row:auto;height:390px}.headspa-vertical{height:500px;width:82%;margin:0 auto}.facial-visual-grid{grid-template-columns:1fr}.facial-visual-grid figure{height:400px}.advanced-visual-grid figure{height:420px}}

.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.thank-you-page{min-height:70vh;display:grid;place-items:center;padding:90px 0}.thank-you-card{max-width:760px;text-align:center;margin:auto}.thank-you-card .display-title{margin-bottom:24px}.thank-you-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}
