:root{--paper:#fbf8f1;--ink:#3e342b;--muted:#756858;--line:#e4dac7;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button{border:0;background:none;border-radius:999px}img{width:100%;height:100%;object-fit:cover;display:block}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.927}h1{font-size:clamp(65px,7.6vw,118px);letter-spacing:-.05em}h2{font-size:clamp(46px,5vw,76px);letter-spacing:-.035em}h3{font-size:32px}em{font-weight:400}h1 em,h2 em,.signature,.number,.wordmark span{color:#89672d}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:600;margin-bottom:24px}.preview{height:29px;background:#775c30;color:var(--paper);font-size:9px;letter-spacing:.16em;padding:5px 4%;display:flex;justify-content:space-between}header{height:101px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:37px;letter-spacing:.035em;line-height:1}.wordmark span{font-size:21px;font-style:italic;letter-spacing:-.02em}nav{display:flex;align-items:center;gap:34px;font-size:12px}.nav-book{border:0;padding:12px 18px;background:linear-gradient(135deg,#b68942,#d4b06c);color:#fff;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 28px rgba(133,93,49,.15)}.nav-book span{margin-left:28px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:85px 8% 30px;display:flex;align-items:flex-start;flex-direction:column}.hero .lead{margin:30px 0 32px;color:var(--muted);font-size:15px}.button{border:0;border-radius:999px;background:linear-gradient(135deg,#b68942,#d4b06c);color:#fff;padding:15px 24px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 28px rgba(133,93,49,.15);display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font-size:12px;min-height:52px}.button:hover{transform:translateY(-2px)}.hero-foot{width:100%;display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.08em;margin-top:auto;padding-top:65px}.hero-photo{position:relative;min-height:640px}.hero-photo img{position:absolute;inset:0;object-position:center}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#39291790)}.hero-photo figcaption{position:absolute;bottom:30px;left:7%;right:7%;display:flex;align-items:center;justify-content:space-between;color:white;z-index:1;font-size:9px;letter-spacing:.16em}.hero-photo figcaption span:last-child{font-size:30px}.intro{padding:110px 8%;display:grid;grid-template-columns:1fr 1fr;gap:0 10%}.intro>.eyebrow{grid-column:1/-1}.intro>div{max-width:430px;padding-top:5px}.intro p+p{margin-top:18px}.signature{display:block;font:italic 29px var(--serif);margin-top:28px}.treatments{padding:90px 8% 110px;background:#f3ecdf}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:55px}.section-top>p{color:var(--muted)}.treatment-grid{display:grid;grid-template-columns:.85fr 1fr;gap:9%}.treatment-grid figure{height:580px;position:relative}.treatment-grid figcaption{position:absolute;bottom:0;background:var(--ink);color:var(--paper);padding:15px 20px;left:0;right:0;font-size:9px;letter-spacing:.13em}.treatment-list article{display:flex;gap:23px;padding:28px 0;border-top:1px solid #d5c3a3}.treatment-list article:first-child{padding-top:24px}.number{font:italic 20px var(--serif)}.treatment-list p{margin:15px 0;color:#6b5c4b;max-width:370px}.treatment-list button,.text-button{padding:8px 16px;border:1px solid var(--line);border-radius:999px;font-size:11px}.pause{display:grid;grid-template-columns:1fr 1.1fr;background:#eee3cf;color:var(--ink)}.pause>img{max-height:600px;min-height:500px}.pause>div{padding:85px 12%;align-self:center}.pause p:not(.eyebrow){margin:25px 0 30px;color:#6b5c4b}.light{background:linear-gradient(135deg,#b68942,#d4b06c);color:#fff}.light:hover{transform:translateY(-2px)}.gifting{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:110px 8%;align-items:center}.gifting p:not(.eyebrow){max-width:350px;margin:25px 0}.gifting figure{height:430px;position:relative;display:grid;place-items:center}.gifting img{position:absolute;inset:0}.gift-card{position:relative;background:#fffbf2;width:77%;padding:27px;box-shadow:0 16px 50px #63482230;transform:rotate(-7deg);display:flex;flex-direction:column;gap:30px}.gift-card>span{font:25px var(--serif)}.gift-card em{font:italic 50px var(--serif);align-self:center}.gift-card small{font-size:8px;letter-spacing:.18em}.questions{margin:0 8%;border-top:1px solid var(--line);padding:60px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:8%}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;list-style:none;padding-right:35px;position:relative}summary:after{content:'+';position:absolute;right:4px;font-size:22px;top:-4px}details[open] summary:after{content:'−'}details p{padding:15px 25px 0 0;color:var(--muted)}.closing{text-align:center;padding:70px 20px 100px}.closing .button{margin-top:35px}footer{background:#f3ecdf;padding:50px 8% 25px;display:grid;grid-template-columns:1fr 1fr;gap:25px}footer>p{text-align:right;font-size:12px}footer>div{display:flex;gap:25px;font-size:12px}footer small{font-size:10px;text-align:right;color:var(--muted)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:55px;width:min(560px,92vw);max-height:90vh}dialog::backdrop{background:#34281ba8;backdrop-filter:blur(4px)}dialog h2{font-size:48px;margin-bottom:25px}dialog p{margin-bottom:20px}.dialog-note{font-size:12px;color:var(--muted)}.close{position:absolute;right:17px;top:10px;font-size:30px}.skip{position:fixed;top:-100px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:0}:focus-visible{outline:2px solid #88682e;outline-offset:5px}a:hover,button:hover{opacity:.88}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:800px){header{height:80px;padding:0 6%;position:relative}.wordmark{font-size:32px}.menu{display:block;font-size:12px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:25px 6%;z-index:5;border-bottom:1px solid var(--line);align-items:flex-start;gap:20px}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7% 30px}h1{font-size:76px}.hero-foot{padding-top:40px}.hero-photo{min-height:490px}.intro,.gifting{padding:65px 7%;grid-template-columns:1fr;gap:30px}.intro>.eyebrow{margin-bottom:0}.treatments{padding:65px 7%}.section-top{display:block;margin-bottom:35px}.section-top>p{margin-top:25px}.treatment-grid{grid-template-columns:1fr;gap:30px}.treatment-grid figure{height:410px}.pause{grid-template-columns:1fr}.pause>img{min-height:0;height:410px}.pause>div{padding:55px 7%}.gifting figure{height:360px}.questions{grid-template-columns:1fr;gap:0;margin:0 7%;padding:40px 0}.closing{padding:45px 7% 65px}footer{padding:40px 7%;grid-template-columns:1fr;gap:20px}footer>p,footer small{text-align:left}dialog{padding:45px 25px}dialog h2{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.logo-link{display:flex;align-items:center;flex-shrink:0}.brand-logo{width:94px;height:94px;object-fit:contain}footer .brand-logo{width:150px;height:150px}@media(max-width:800px){header .brand-logo{width:74px;height:74px}footer .brand-logo{width:130px;height:130px}}

/* V2 interaction and layout refinements */
header{position:sticky;top:0;z-index:20;background:rgba(251,248,241,.97);box-shadow:0 2px 16px #3e342b05}
nav a{position:relative;padding:12px 0}nav a[aria-current="location"]{color:#89672d}nav a[aria-current="location"]:after{content:'';position:absolute;bottom:4px;height:1px;left:0;right:0;background:#89672d}
button,a,summary{transition:background-color .18s,color .18s,box-shadow .18s}a:hover,button:hover{opacity:1}.button:hover{box-shadow:0 16px 40px rgba(133,93,49,.22)}.button span{transition:transform .18s}.button:hover span{transform:translate(3px,-2px)}
.treatment-grid{align-items:start}.treatment-grid>figure{position:sticky;top:130px;height:560px}.treatment-list article,.treatment-list article:first-child{display:block;padding:0;border:0}.treatment-detail{border-top:1px solid #d5c3a3;border-bottom:0;padding:0}.treatment-detail>summary{display:flex;gap:20px;align-items:start;padding:25px 35px 25px 0;min-height:96px}.treatment-detail>summary:after{top:25px}.treatment-detail small{display:block;font:11px/1.7 var(--sans);color:var(--muted);margin-top:10px}.treatment-detail h3{font-size:30px}.treatment-body{padding:0 0 28px 42px}.treatment-body p{padding:0}.treatment-body button,.text-button{min-height:44px;padding:10px 16px}.treatment-list .pending{font-size:12px;color:var(--muted)}
.questions summary{min-height:44px;padding-top:8px;padding-bottom:8px}.questions summary:after{top:5px}.questions details[open]{background:#f3ecdf66}.questions details[open] summary{color:#89672d}.questions details[open] p{padding-bottom:14px}
.close{min-width:44px;min-height:44px}.service-picker{display:block;font-size:12px;margin:24px 0}.service-picker select{display:block;width:100%;margin-top:8px;border:1px solid #b69a68;background:var(--paper);color:var(--ink);padding:14px 10px;font:14px var(--sans);border-radius:0}.dialog-faq{display:inline-block;text-decoration:underline;text-underline-offset:5px;margin-bottom:25px;min-height:44px}.service-picker[hidden],.dialog-faq[hidden]{display:none}body:has(dialog[open]){overflow:hidden}footer{align-items:center}.skip{z-index:30}
@media(max-width:800px){header{position:sticky}.menu{min-width:44px;min-height:44px}nav{max-height:calc(100dvh - 80px);overflow:auto;gap:6px}nav a{min-height:44px;width:100%}.treatment-grid>figure{position:relative;top:auto;height:360px}.treatment-body{padding-left:0}.treatment-detail h3{font-size:29px}.hero h1{font-size:clamp(58px,18vw,76px)}.hero-foot{flex-wrap:wrap}.gift-card em{font-size:clamp(32px,9vw,50px)}dialog{max-height:85dvh;overflow:auto}.dialog-faq{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

.restored-section{padding:85px 8%}.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:10%}.editorial-split p+p{margin-top:18px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.value-grid article{border-top:1px solid var(--line);padding-top:24px}.value-grid h3{margin:12px 0 18px}.section-lead{max-width:580px;margin-top:25px}.experience-steps,.contact-section{background:#f3ecdf}.private-programme{border-bottom:1px solid var(--line)}.private-programme ul{padding-left:20px;margin:25px 0}.private-programme .button{margin-top:20px}.pending{font-size:12px;color:var(--muted)}.contact-section h2{margin-bottom:25px}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry-form label{display:block;font-size:12px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;padding:12px;margin-top:7px;border:1px solid #b6a78d;background:var(--paper);color:var(--ink);font:16px var(--sans);border-radius:0}.enquiry-form textarea{resize:vertical}.enquiry-form .full{grid-column:1/-1}.enquiry-form [hidden]{display:none}#enquiry-result{padding:18px;background:var(--paper)}#enquiry-status{margin-top:12px;font-size:12px}footer>div{flex-wrap:wrap}.treatment-detail>summary{cursor:pointer}@media(max-width:800px){.restored-section{padding:55px 7%}.editorial-split,.value-grid{grid-template-columns:1fr;gap:28px}.enquiry-form{margin-top:10px}.value-grid{margin-top:30px}}@media(max-width:380px){.enquiry-form{grid-template-columns:1fr}}

#booking:has(#booking-demo:not([hidden])){width:min(650px,94vw)}#booking-demo{border-top:1px solid var(--line);padding-top:20px;margin:20px 0}#booking-demo [hidden],#booking-demo[hidden]{display:none}.demo-banner{color:#89672d;font-size:11px;font-weight:600;letter-spacing:.06em}.demo-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.demo-fields label{font-size:12px}.demo-fields select{display:block;width:100%;margin:8px 0 18px;padding:12px 8px;font:16px var(--sans);background:var(--paper);border:1px solid #b6a78d;color:var(--ink)}.demo-note{font-size:12px;color:var(--muted)}.demo-consent{display:flex;gap:10px;align-items:center;font-size:12px;margin-bottom:20px;min-height:44px}.demo-consent input{width:18px;height:18px;accent-color:#89672d}.notification-preview{padding:18px;margin:15px 0;border:1px solid var(--line);background:#fffdf8}.notification-preview p:last-child{margin-bottom:0;font-size:13px;white-space:pre-line}.notification-preview .eyebrow{font-size:9px;margin-bottom:12px}.whatsapp-preview{background:#edf2e7;border-color:#d4ddc9}.demo-actions{display:flex;flex-wrap:wrap;gap:20px}#demo-heading{font-size:32px;margin-bottom:15px}@media(max-width:380px){.demo-fields{grid-template-columns:1fr}}

.customer-fields input{display:block;width:100%;margin:8px 0 18px;padding:12px 8px;font:16px var(--sans);background:var(--paper);border:1px solid #b6a78d;color:var(--ink);border-radius:0}

/* Header and hero alignment — September 2026 review */
html{scroll-padding-top:169px}
header{height:151px;gap:28px}
header .brand-logo{width:140.3px;height:140.3px}
#navigation{gap:clamp(18px,2vw,34px);font-size:13px;letter-spacing:.04em;color:#1a1a1a}
#navigation a,#navigation .nav-book{white-space:nowrap;transition:color .2s ease}
#navigation a:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:#89672d;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
#navigation a:hover,#navigation a:focus-visible,#navigation a[aria-current]{color:#89672d}
#navigation a:hover:after,#navigation a:focus-visible:after,#navigation a[aria-current]:after{transform:scaleX(1)}
#navigation .nav-book:hover,#navigation .nav-book:focus-visible{color:#fff;box-shadow:0 16px 40px rgba(133,93,49,.22)}
.nav-book span{display:inline-block;transition:transform .2s ease;margin-left:14px}
.nav-book:hover span{transform:translate(3px,-2px)}
.hero-photo figcaption{align-items:flex-end;line-height:1.8}
@media(max-width:1200px){
header{height:128px;padding:0 6%}
header .brand-logo{width:117.3px;height:117.3px}
.menu{display:block;font-size:16px;min-width:44px;min-height:44px}
#navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 6%;border-bottom:1px solid var(--line);max-height:calc(100dvh - 128px);overflow:auto;gap:6px;align-items:stretch}
#navigation.open{display:flex;flex-direction:column}
#navigation a{min-height:44px;width:100%;padding:10px 0}
#navigation .nav-book{text-align:left;align-self:flex-start;min-height:44px}
}
@media(max-width:800px){html{scroll-padding-top:141px}}

/* Expandable website version navigation */
#navigation .version-dropdown{position:relative;padding:0;border:0}
.version-dropdown>summary{min-height:44px;padding:12px 24px 12px 0;white-space:nowrap;font:inherit}
.version-dropdown>summary::-webkit-details-marker{display:none}
.version-dropdown>summary:after{content:'';width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;right:4px;top:21px;transform:rotate(45deg);transition:transform .18s}
.version-dropdown[open]>summary:after{transform:rotate(225deg);top:25px}
.version-dropdown>summary:hover,.version-dropdown[open]>summary{color:#89672d}
.version-options{list-style:none;position:absolute;top:100%;right:0;min-width:200px;margin:0;padding:8px 16px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 25px #3e342b14;max-height:60vh;overflow:auto;z-index:21}
#navigation .version-options a{display:block;padding:10px 0;min-height:44px}
@media(max-width:1200px){.version-options{position:static;min-width:0;box-shadow:none;margin-bottom:8px;max-height:none}.version-dropdown>summary{width:fit-content}}

/* Footer signature and compact booking layout */
footer>p{font:italic 400 clamp(30px,3.2vw,46px)/1.2 var(--serif);color:#89672d;letter-spacing:-.025em}
#booking,#booking:has(#booking-demo:not([hidden])){width:min(880px,94vw);max-height:90dvh;padding:32px 38px;overflow:auto;font-size:13px;line-height:1.6}
#booking h2{font-size:38px;margin-bottom:14px;padding-right:28px}
#booking p{margin-bottom:12px}
#booking .eyebrow{margin-bottom:12px}
#booking .service-picker{margin:16px 0}
#booking .service-picker select,#booking .demo-fields select,#booking .customer-fields input{padding:9px 10px;min-height:44px;font-size:14px;margin:6px 0 10px}
#booking .demo-fields{gap:14px}
#booking .customer-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
#booking .demo-fields label{min-width:0}
#booking-demo{padding-top:14px;margin:14px 0}
#booking .demo-consent{margin-bottom:12px;line-height:1.5}
#booking .demo-consent input{flex-shrink:0}
#booking .button{min-height:44px;padding:12px 20px}
#booking .dialog-faq{margin-bottom:8px;min-height:36px}
#booking .notification-preview{padding:14px;margin:12px 0}
@media(max-width:600px){
#booking,#booking:has(#booking-demo:not([hidden])){padding:30px 20px 24px;width:94vw;max-height:90dvh}
#booking h2{font-size:32px}
#booking .customer-fields{grid-template-columns:1fr}
#booking .service-picker select,#booking .demo-fields select,#booking .customer-fields input{font-size:16px}
footer>p{text-align:left}
}
