@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/b0947914c9718a1e-s.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/1f9e983605289f29-s.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_8fc11ceb-module__j_xBlG__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.cormorant_garamond_8fc11ceb-module__j_xBlG__variable{--font-display:"Cormorant Garamond", "Cormorant Garamond Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_f538a49-module__f4k-Ea__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_f538a49-module__f4k-Ea__variable{--font-sans:"Inter", "Inter Fallback"}
:root{--ink:#11100e;--ink-soft:#2c2924;--night:#080706;--paper:#fbf7f1;--porcelain:#fffdf9;--linen:#efe6d8;--warm-grey:#6a6359;--gold:#b38a43;--gold-contrast:#8d6626;--gold-bright:#d5b26b;--sage:#667261;--rose:#b98276;--rose-contrast:#9f6154;--line:#11100e1f;--line-light:#fffdf92e;--shadow:0 24px 70px #11100e2e;--max:1180px;--gutter:max(24px, calc((100vw - var(--max)) / 2))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), ui-sans-serif, system-ui, sans-serif;letter-spacing:0;margin:0}img{display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--gold-contrast);outline-offset:4px}.site-header :focus-visible,.hero :focus-visible,.portfolio-preview :focus-visible,.site-footer :focus-visible,.lightbox-panel :focus-visible{outline-color:var(--gold-bright)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--porcelain);min-height:44px;color:var(--ink);padding:12px 16px;font-size:.82rem;font-weight:800;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}section[id],.anchor-alias{scroll-margin-top:116px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-shell{background:linear-gradient(90deg, #66726112, transparent 36%), var(--paper);min-height:100vh;overflow:hidden}.site-header{z-index:20;width:min(var(--max), calc(100vw - 36px));max-width:min(var(--max), calc(100vw - 36px));color:var(--porcelain);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b0a09e6;border:1px solid #fffdf924;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,2vw,22px);margin:0 auto;padding:10px 12px;display:grid;position:fixed;inset:18px 18px auto;box-shadow:0 14px 40px #08070629}.brand-mark{align-items:center;gap:10px;min-width:0;display:inline-flex}.brand-mark img{border-radius:999px;width:52px;height:52px}.brand-mark span,.footer-brand span{font-family:var(--font-display), serif;white-space:nowrap;font-size:1.12rem;font-weight:600;line-height:1}.main-nav{justify-content:center;gap:clamp(12px,1.8vw,26px);min-width:0;display:flex}.main-nav a{color:#fffdf9d6;letter-spacing:.12em;text-transform:uppercase;align-items:center;min-height:44px;font-size:.76rem;font-weight:600;display:inline-flex}.main-nav a:hover{color:var(--gold-bright)}.header-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.mobile-menu-toggle,.mobile-nav,.mobile-nav[hidden]{display:none}.header-cta,.button,.text-link{letter-spacing:.1em;text-transform:uppercase;border-radius:0;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:.8rem;font-weight:700;transition:transform .18s,background .18s,border-color .18s,color .18s;display:inline-flex}.header-cta{color:var(--gold-bright);border:1px solid #d5b26bbf;padding:0 18px}.header-secondary-cta{color:#fffdf9db;border-color:#fffdf952}.header-secondary-cta[aria-current=page]{border-color:var(--gold-bright);color:var(--gold-bright)}.header-booking-cta{border-color:var(--gold);background:var(--gold);color:var(--night)}.button{min-width:168px;padding:0 22px}.button-primary{border:1px solid var(--gold);background:var(--gold);color:var(--night)}.button-primary:hover{border-color:var(--gold-bright);background:var(--gold-bright)}.button-secondary{color:var(--porcelain);border:1px solid #fffdf98a}.button-secondary:hover{border-color:var(--gold-bright)}.button-secondary.light{color:var(--ink);border-color:#11100e3d}.button-secondary.light:hover{border-color:var(--gold-contrast)}.button:hover,.header-cta:hover,.text-link:hover{transform:translateY(-2px)}.text-link{border-bottom:1px solid var(--gold);color:var(--ink);align-self:flex-start;padding:8px 0}.inline-link,.small-link{min-height:44px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:5px;align-items:center;gap:6px;font-weight:700;text-decoration-thickness:1px;display:inline-flex}.inline-link:hover,.small-link:hover{color:var(--gold-contrast)}.small-link{font-size:.9rem;font-weight:600}.action-row{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.whatsapp-float{z-index:60;width:56px;height:56px;color:var(--night);background:#25d366;border:1px solid #08070647;border-radius:999px;justify-content:center;align-items:center;transition:transform .18s,opacity .18s,background .18s,visibility;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 44px #11100e38}.whatsapp-float:hover{background:#20c45a;transform:translateY(-3px)}.whatsapp-float.is-hidden,body[data-modal-open=true] .whatsapp-float,body[data-menu-open=true] .whatsapp-float{opacity:0;pointer-events:none;visibility:hidden;transition:transform .18s,opacity .18s,visibility 0s linear .18s;transform:translateY(8px)}.eyebrow{color:var(--gold-contrast);letter-spacing:.2em;text-transform:uppercase;margin:0 0 16px;font-size:.75rem;font-weight:700}.hero .eyebrow,.portfolio-preview .eyebrow{color:var(--gold-bright)}.hero h1,.portfolio-hero-copy h1,.service-page-copy h1,.legal-content h1,.section-heading h2,.split-heading h2,.about-copy h2,.contact-content h2,.booking-cta-band h2,.service-page-panel h2,.service-faq-section h2{font-family:var(--font-display), serif;margin:0;font-weight:500;line-height:.96}.section-heading h2,.split-heading h2,.about-copy h2,.contact-content h2,.service-faq-section h2{font-size:clamp(2.3rem,5vw,4.2rem)}.section{padding:clamp(72px, 9vw, 116px) var(--gutter)}.section-light{background:linear-gradient(180deg, var(--porcelain), var(--paper))}.section-heading{max-width:760px;margin-bottom:44px}.section-heading p:not(.eyebrow){max-width:680px;color:var(--warm-grey);margin:20px 0 0;font-size:.98rem;line-height:1.75}.centred{text-align:center;margin-left:auto;margin-right:auto}.split-heading{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:24px clamp(28px,5vw,72px);margin-bottom:clamp(32px,4vw,48px);display:grid}.split-heading-copy>p{max-width:520px;color:var(--warm-grey);margin:0;font-size:1rem;line-height:1.75}.hero{min-height:92svh;padding:150px var(--gutter) 64px;color:var(--porcelain);isolation:isolate;align-items:flex-end;display:flex;position:relative}.hero-image{object-fit:cover;object-position:54% 42%;z-index:-2}.hero-overlay{z-index:-1;background:radial-gradient(circle at 68% 45%,#b38a4329,#0000 30%),linear-gradient(90deg,#080706e8 0%,#080706c2 30%,#08070638 70%),linear-gradient(#0000 54%,#080706cc 100%);position:absolute;inset:0}.hero-content{width:min(680px,100%)}.hero h1{max-width:640px;font-size:clamp(3.6rem,10vw,8.2rem)}.hero-copy{color:#fffdf9d6;max-width:540px;margin:24px 0 0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.hero-trust{color:#fffdf9d6;flex-wrap:wrap;gap:10px 24px;margin:28px 0 0;padding:0;font-size:.88rem;list-style:none;display:flex}.hero-trust li{align-items:center;gap:8px;display:inline-flex}.hero-trust svg{color:var(--gold-bright);flex:none}.hero-trust a{text-underline-offset:4px;padding:4px 0;-webkit-text-decoration:underline #d5b26bb3;text-decoration:underline #d5b26bb3;display:inline-block}.hero-trust a:hover{color:var(--gold-bright)}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.service-card{border:1px solid var(--line);background:var(--porcelain);flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.service-card:hover{border-color:#b38a438c;box-shadow:0 18px 50px #11100e14}.service-image-wrap{aspect-ratio:4/3;background:var(--linen);position:relative;overflow:hidden}.service-image-wrap img{object-fit:cover;transition:transform .45s}.service-card:hover .service-image-wrap img{transform:scale(1.04)}.service-copy{flex-direction:column;flex:1;padding:24px 22px 22px;display:flex}.service-eyebrow,.review-label,.deal-card-label,.lightbox-label{color:var(--rose-contrast);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:700}.service-copy h3{font-family:var(--font-display), serif;margin:0;font-size:1.95rem;font-weight:500;line-height:1.02}.card-link:after{content:"";z-index:1;position:absolute;inset:0}.card-link:focus-visible{outline:none}.card-link:focus-visible:after{outline:3px solid var(--gold-contrast);outline-offset:4px}.service-description{color:var(--warm-grey);margin:14px 0 0;font-size:.95rem;line-height:1.65}.service-treatments{color:var(--ink-soft);flex-wrap:wrap;gap:2px 1.1em;margin:16px 0 0;padding:0;font-size:.88rem;font-weight:600;line-height:1.5;list-style:none;display:flex;overflow:hidden}.service-treatments li{position:relative}.service-treatments li+li:before{content:"·";color:var(--gold);position:absolute;left:-.72em}.service-more{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-top:auto;padding-top:22px;font-size:.8rem;font-weight:700;display:inline-flex}.service-more span{border-bottom:1px solid var(--gold);padding-bottom:4px}.service-card:hover .service-more{color:var(--gold-contrast)}.also-bookable{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 18px;margin-top:30px;display:flex}.also-bookable-label{color:var(--warm-grey);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.also-bookable .service-treatments{margin:0}.current-deals{padding:clamp(72px, 9vw, 116px) var(--gutter);background:linear-gradient(110deg, #b38a4317, transparent 54%), var(--paper)}.deal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.deal-card{border:1px solid var(--line);background:var(--porcelain);transition:border-color .2s}.deal-card:hover{border-color:#b38a438c}.deal-card-button{width:100%;color:inherit;font:inherit;text-align:center;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.deal-card-image{aspect-ratio:4/5;background:var(--linen);display:block;position:relative;overflow:hidden}.deal-card-image img{object-fit:contain;padding:12px;transition:transform .2s}.deal-card-button:hover .deal-card-image img{transform:scale(1.03)}.deal-card-expand{width:38px;height:38px;color:var(--ink);background:#fffdf9e6;border:1px solid #11100e29;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 8px 22px #11100e1f}.deal-card-caption{border-top:1px solid var(--line);gap:2px;padding:16px 14px 18px;display:grid}.deal-card-label{margin:0}.deal-card-title{color:var(--ink);font-family:var(--font-display), serif;font-size:1.5rem;line-height:1.1}.portfolio-preview{background:linear-gradient(110deg, #6672612e, transparent 50%), var(--night);color:var(--porcelain)}.portfolio-preview .split-heading-copy>p{color:#fffdf9bd}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.gallery-grid.has-captions{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}.gallery-tile{width:100%;color:inherit;font:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.gallery-tile-image{aspect-ratio:4/5;background:var(--linen);display:block;position:relative;overflow:hidden}.portfolio-preview .gallery-tile-image{background:#fffdf90f}.gallery-tile-image img{object-fit:cover;transition:transform .5s}.gallery-tile:hover .gallery-tile-image img{transform:scale(1.04)}.gallery-tile-caption{color:var(--ink);font-family:var(--font-display), serif;margin-top:12px;font-size:1.3rem;line-height:1.15;display:block}.lightbox-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080706e6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.lightbox-panel{width:min(1100px,100%);height:min(940px,100svh - 48px);color:var(--porcelain);background:#0f0e0d;border:1px solid #fffdf91f;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 30px 90px #00000073}.lightbox-panel:focus{outline:none}.lightbox-toolbar{border-bottom:1px solid #fffdf91a;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 20px;display:flex}.lightbox-counter{color:#fffdf9b8;letter-spacing:.12em;margin:0;font-size:.8rem;font-weight:600}.lightbox-toolbar-actions{gap:8px;display:flex}.lightbox-icon-button,.lightbox-nav{width:44px;height:44px;color:var(--porcelain);cursor:pointer;background:#0807068c;border:1px solid #fffdf93d;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.lightbox-icon-button:hover,.lightbox-nav:hover{border-color:var(--gold-bright);color:var(--gold-bright)}.lightbox-stage-wrap{min-height:0;position:relative}.lightbox-stage{touch-action:pan-y pinch-zoom;position:absolute;inset:0;overflow:hidden}.lightbox-stage.is-zoomed{overscroll-behavior:contain;touch-action:auto;overflow:auto}.lightbox-canvas{cursor:zoom-in;width:100%;height:100%;position:relative}.lightbox-stage.is-zoomed .lightbox-canvas{cursor:zoom-out;width:240%;height:240%}.lightbox-canvas img{object-fit:contain;padding:clamp(8px,2vw,20px)}.lightbox-nav{z-index:2;width:48px;height:48px;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav-prev{left:14px}.lightbox-nav-next{right:14px}.lightbox-caption{border-top:1px solid #fffdf91a;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 28px;padding:18px clamp(18px,3vw,28px) 22px;display:flex}.lightbox-caption-copy{flex:320px;min-width:0}.lightbox-label{color:var(--rose);margin-bottom:8px}.lightbox-caption h2{font-family:var(--font-display), serif;margin:0;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500;line-height:1.05}.lightbox-detail{color:#fffdf9bd;max-width:640px;margin:8px 0 0;font-size:.92rem;line-height:1.6}.lightbox-actions{flex-wrap:wrap;gap:10px;display:flex}.reviews-section{padding:clamp(72px, 9vw, 116px) var(--gutter);background:var(--porcelain)}.rating-summary{justify-items:start;gap:14px;display:grid}.rating-score{align-items:center;gap:14px;display:flex}.rating-score strong{font-family:var(--font-display), serif;font-size:3.4rem;font-weight:500;line-height:.9}.rating-score div{color:var(--warm-grey);gap:4px;font-size:.95rem;display:grid}.rating-stars{color:var(--gold);gap:2px;display:inline-flex}.rating-links{flex-wrap:wrap;align-items:center;gap:8px 22px;display:flex}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.review-card{border:1px solid var(--line);background:var(--paper);flex-direction:column;padding:clamp(24px,3vw,36px);display:flex;position:relative}.review-card:before{content:"“";color:#b38a4333;font-family:var(--font-display), serif;font-size:6rem;line-height:.8;position:absolute;top:18px;right:24px}.review-label{margin-bottom:14px}.review-card blockquote{color:var(--ink-soft);font-family:var(--font-display), serif;margin:0;font-size:clamp(1.25rem,1.6vw,1.45rem);font-weight:500;line-height:1.32}.review-card blockquote.is-clamped{-webkit-line-clamp:7;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.review-more{min-height:44px;color:var(--ink);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:5px;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:4px;padding:0;font-size:.88rem;font-weight:700}.review-name{color:var(--gold-contrast);margin:auto 0 0;padding-top:14px;font-weight:700}.about-section{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);min-height:680px;display:grid}.about-image{background:var(--linen);min-height:560px;position:relative}.about-image img{object-fit:cover}.about-copy{flex-direction:column;justify-content:center;padding:clamp(54px,7vw,96px);display:flex}.about-copy>p:not(.eyebrow){max-width:520px;color:var(--warm-grey);margin:22px 0 0;font-size:.98rem;line-height:1.75}.about-points{border-top:1px solid var(--line);gap:12px;margin:28px 0 0;padding:22px 0 0;list-style:none;display:grid}.about-points li{color:var(--ink-soft);align-items:center;gap:12px;font-size:.95rem;font-weight:600;display:flex}.about-points svg{color:var(--gold);flex:none}.about-links{flex-wrap:wrap;gap:8px 30px;margin-top:28px;display:flex}.contact-section{padding:clamp(72px, 9vw, 116px) var(--gutter);background:linear-gradient(90deg, #b38a430f, transparent 60%), var(--paper);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,72px);display:grid;position:relative}.anchor-alias{position:absolute;top:0;left:0}.contact-content>p:not(.eyebrow,.contact-areas){max-width:540px;color:var(--warm-grey);margin:22px 0 0;font-size:.98rem;line-height:1.75}.contact-content>.button{margin-top:28px}.contact-list{border-top:1px solid var(--line);margin:28px 0 0;padding:0;list-style:none}.contact-list li{border-bottom:1px solid var(--line);align-items:center;gap:14px;display:flex}.contact-list svg{width:19px;height:19px;color:var(--gold);flex:none}.contact-list a{min-height:52px;color:var(--ink);align-items:center;font-weight:600;line-height:1.4;display:inline-flex}.contact-list a:hover{color:var(--gold-contrast)}.contact-areas{max-width:540px;color:var(--warm-grey);margin:20px 0 0;font-size:.9rem;line-height:1.7}.contact-map{border:1px solid var(--line);background:var(--linen);height:clamp(340px,42vw,540px);overflow:hidden}.contact-map iframe{border:0;width:100%;height:100%;display:block}.site-footer{padding:52px var(--gutter) 30px;background:var(--night);color:var(--porcelain)}.footer-top{border-bottom:1px solid #fffdf91f;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:start;gap:32px 56px;padding-bottom:32px;display:grid}.footer-brand{align-items:center;gap:12px;display:inline-flex}.footer-brand img{border-radius:999px;width:48px;height:48px}.footer-tagline{color:#fffdf9a3;max-width:360px;margin:16px 0 0;font-size:.92rem;line-height:1.7}.footer-links{grid-template-columns:repeat(2,max-content);gap:0 36px;display:grid}.footer-links a{color:#fffdf9d6;letter-spacing:.12em;text-transform:uppercase;align-items:center;min-height:40px;font-size:.76rem;font-weight:600;display:inline-flex}.footer-links a:hover,.footer-social a:hover{color:var(--gold-bright)}.footer-social{justify-items:start;display:grid}.footer-social a{min-height:40px;color:var(--gold-bright);align-items:center;font-weight:600;display:inline-flex}.footer-social a>span{align-items:center;gap:10px;display:inline-flex}.footer-bottom{color:#fffdf99e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:20px;font-size:.84rem;display:flex}.footer-bottom p{margin:0}.footer-bottom a{color:#fffdf9d6;text-underline-offset:4px;align-items:center;min-height:40px;text-decoration:underline;display:inline-flex}.portfolio-hero{padding:150px var(--gutter) 64px;background:linear-gradient(140deg, #fffdf9e6, #efe6d8c7), var(--linen);grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);align-items:center;gap:clamp(38px,6vw,86px);display:grid}.portfolio-hero-copy{width:min(680px,100%)}.portfolio-hero-copy h1{max-width:700px;font-size:clamp(2.8rem,6vw,5.2rem)}.portfolio-hero-copy p:not(.eyebrow){max-width:580px;color:var(--warm-grey);margin:24px 0 0;font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7}.portfolio-hero-visual{min-height:440px;position:relative}.portfolio-hero-image{background:var(--porcelain);box-shadow:var(--shadow);border:1px solid #11100e1f;position:absolute;overflow:hidden}.portfolio-hero-image img{object-fit:cover}.portfolio-hero-image-main{aspect-ratio:4/5;width:min(76%,350px);top:0;right:0}.portfolio-hero-image-main img{object-position:50% 44%}.portfolio-hero-image-secondary{aspect-ratio:1;border:8px solid var(--paper);width:min(48%,230px);bottom:0;left:0}.portfolio-hero-image-secondary img{object-position:50% 40%}.portfolio-archive{padding:clamp(44px, 6vw, 80px) var(--gutter) clamp(72px, 9vw, 116px);background:linear-gradient(180deg, var(--porcelain), var(--paper))}.booking-cta-band{border:1px solid var(--line);background:linear-gradient(135deg, #b38a4324, #66726114), var(--porcelain);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(22px,5vw,54px);margin-top:clamp(40px,6vw,72px);padding:clamp(28px,5vw,48px);display:grid}.booking-cta-band h2{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1}.booking-cta-band p:not(.eyebrow){max-width:660px;color:var(--warm-grey);margin:18px 0 0;font-size:.98rem;line-height:1.7}.booking-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080706b8;place-items:center;padding:clamp(12px,2.5vw,28px);display:grid;position:fixed;inset:0}.booking-dialog{background:var(--porcelain);width:min(1120px,100%);height:min(900px,100svh - 32px);color:var(--ink);border:1px solid #fffdf92e;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 26px 90px #00000059}.booking-dialog-header{border-bottom:1px solid var(--line);background:linear-gradient(90deg, #b38a431a, #6672610f), var(--porcelain);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;padding:clamp(18px,3vw,28px);display:grid}.booking-dialog-header .eyebrow{margin-bottom:8px}.booking-dialog-header h2{font-family:var(--font-display), serif;margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;line-height:1}.booking-dialog-header p:not(.eyebrow){max-width:650px;color:var(--warm-grey);margin:10px 0 0;font-size:.94rem;line-height:1.55}.booking-dialog-header-actions{align-items:center;gap:8px;display:flex}.booking-dialog-open-page,.booking-dialog-close{border:1px solid var(--line);background:var(--porcelain);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.booking-dialog-open-page{display:none}.booking-dialog-open-page:hover,.booking-dialog-close:hover{background:var(--paper);border-color:#11100e52;transform:translateY(-1px)}.booking-dialog-frame-wrap{background:#fff;min-height:0;position:relative}.booking-dialog-frame-wrap iframe{border:0;width:100%;height:100%;display:block}.booking-dialog-loading{z-index:1;background:var(--porcelain);color:var(--warm-grey);letter-spacing:.12em;text-transform:uppercase;place-items:center;font-size:.8rem;font-weight:700;display:grid;position:absolute;inset:0}.booking-dialog-loading>div{text-align:center;justify-items:center;gap:16px;max-width:420px;padding:24px;display:grid}.booking-dialog-loading strong{color:var(--ink);font-size:.9rem;line-height:1.5}.booking-dialog-loading a{border:1px solid var(--gold-contrast);min-height:44px;color:var(--ink);align-items:center;padding:0 16px;display:inline-flex}.booking-dialog-footer{border-top:1px solid var(--line);background:var(--porcelain);justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding-left:clamp(16px,3vw,28px);display:flex}.booking-dialog-footer p{max-width:680px;color:var(--warm-grey);margin:0;font-size:.82rem;line-height:1.5}.booking-dialog-fallback{border-left:1px solid var(--line);background:var(--paper);min-height:48px;color:var(--warm-grey);letter-spacing:.12em;text-transform:uppercase;justify-content:center;align-self:stretch;align-items:center;gap:8px;padding:0 clamp(16px,3vw,28px);font-size:.76rem;font-weight:700;transition:background .18s,color .18s;display:inline-flex}.booking-dialog-fallback:hover{color:var(--ink)}.service-page-hero{padding:150px var(--gutter) 80px;background:linear-gradient(110deg, #6672611a, transparent 56%), var(--paper);grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);align-items:center;gap:clamp(34px,6vw,82px);display:grid}.service-page-copy{max-width:700px}.service-page-copy h1{font-size:clamp(2.6rem,5.2vw,4.6rem);line-height:1}.service-page-copy p:not(.eyebrow),.service-page-panel p:not(.eyebrow),.service-faq-item p{color:var(--warm-grey);font-size:.98rem;line-height:1.75}.service-page-copy p:not(.eyebrow){max-width:600px;margin:24px 0 0;font-size:clamp(1rem,1.6vw,1.12rem)}.service-page-image{border:1px solid var(--line);background:var(--linen);min-height:min(560px,62svh);box-shadow:var(--shadow);position:relative;overflow:hidden}.service-page-image img{object-fit:cover}.service-page-section{padding:clamp(72px, 9vw, 116px) var(--gutter);background:var(--porcelain);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:22px;display:grid}.service-page-panel{border:1px solid var(--line);background:var(--paper);padding:clamp(28px,5vw,48px)}.service-page-panel h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.02}.service-page-panel p:not(.eyebrow){margin:20px 0 0}.service-benefit-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.service-benefit-list li{border-bottom:1px solid var(--line);color:var(--ink-soft);padding:14px 0;font-weight:600}.service-benefit-list li:last-child{border-bottom:0}.service-faq-section{padding:clamp(72px, 9vw, 116px) var(--gutter);background:linear-gradient(180deg, var(--paper), var(--linen))}.service-faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.service-faq-item{border:1px solid var(--line);background:#fffdf9b3;padding:clamp(24px,4vw,34px)}.service-faq-item h3{font-family:var(--font-display), serif;margin:0;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:500;line-height:1.08}.service-faq-item p{margin:14px 0 0}.service-page-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.legal-page{padding:150px var(--gutter) clamp(72px, 9vw, 116px);background:var(--paper)}.legal-content{max-width:720px}.legal-content h1{font-size:clamp(2.6rem,5vw,4rem)}.legal-content h2{font-family:var(--font-display), serif;margin:40px 0 0;font-size:1.8rem;font-weight:500;line-height:1.1}.legal-content p:not(.eyebrow){color:var(--warm-grey);margin:14px 0 0;font-size:1rem;line-height:1.75}.legal-content p.legal-updated{margin-top:16px;font-size:.9rem}.legal-content a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px}@media (max-width:1120px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid.has-captions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.site-header{grid-template-columns:auto minmax(0,1fr)}.main-nav,.header-portfolio-cta{display:none}.mobile-menu-toggle{width:44px;height:44px;color:var(--porcelain);cursor:pointer;background:0 0;border:1px solid #fffdf957;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-nav{background:#0b0a09;border:1px solid #fffdf933;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 22px 60px #0807064d}.mobile-nav a{color:#fffdf9e6;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #fffdf91f;align-items:center;min-height:50px;padding:0 14px;font-size:.8rem;font-weight:700;display:flex}.mobile-nav a:last-child{border-bottom:0}.split-heading,.about-section,.contact-section,.portfolio-hero,.booking-cta-band,.service-page-hero,.service-page-section{grid-template-columns:1fr}.split-heading{align-items:start}.portfolio-hero-visual{display:none}.service-page-image{min-height:460px}.about-image{min-height:520px}.footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-top>div:first-child{grid-column:1/-1}.review-grid{margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 8px;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;gap:14px;display:flex;overflow-x:auto}.review-card{scroll-snap-align:start;flex:0 0 min(70%,460px)}}@media (max-width:760px){:root{--gutter:20px}.site-header{justify-content:space-between;gap:6px;width:calc(100vw - 24px);max-width:calc(100vw - 24px);inset:12px 12px auto}.brand-mark img{width:44px;height:44px}.brand-mark span{display:none}.header-cta{letter-spacing:.08em;white-space:nowrap;min-width:0;padding:0 16px;font-size:.75rem}.header-actions{gap:8px;width:auto;display:flex}.hero{min-height:88svh;padding:118px var(--gutter) 40px}.hero-image{object-position:50% 46%}.hero .eyebrow{letter-spacing:.14em;font-size:.72rem;line-height:1.55}.hero-trust{gap:8px 18px;margin-top:24px;font-size:.84rem}.hero-actions,.action-row,.service-page-actions{flex-direction:column;align-items:stretch}.button{width:100%}.whatsapp-float{right:14px;bottom:max(14px, env(safe-area-inset-bottom));width:50px;height:50px}.section-heading{margin-bottom:28px}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{grid-template-columns:116px minmax(0,1fr);display:grid}.service-image-wrap{aspect-ratio:auto;min-height:136px}.service-copy{padding:16px 16px 14px 18px}.service-eyebrow{margin-bottom:6px}.service-copy h3{font-size:1.5rem}.service-description{display:none}.service-treatments{margin-top:8px;font-size:.84rem}.service-more{padding-top:10px;font-size:.75rem}.also-bookable{text-align:center;flex-direction:column;gap:6px;margin-top:24px}.also-bookable .service-treatments{justify-content:center}.deal-grid{margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 8px;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;gap:12px;display:flex;overflow-x:auto}.deal-card{scroll-snap-align:start;flex:0 0 76%}.deal-card-title{font-size:1.35rem}.gallery-grid,.gallery-grid.has-captions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-grid.has-captions{row-gap:20px}.gallery-tile-caption{margin-top:8px;font-size:1.08rem}.lightbox-backdrop{padding:0}.lightbox-panel{border:0;width:100%;height:100svh}.lightbox-toolbar{padding-left:16px}.lightbox-nav{width:42px;height:42px}.lightbox-nav-prev{left:8px}.lightbox-nav-next{right:8px}.lightbox-caption{gap:12px;padding:14px 16px 18px}.lightbox-detail{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lightbox-actions{width:100%;display:grid}.rating-score strong{font-size:2.8rem}.rating-links{width:100%}.review-card{flex-basis:86%}.about-copy{padding:48px var(--gutter) 60px}.about-image{min-height:380px}.contact-map{height:300px}.footer-top{grid-template-columns:1fr;gap:24px}.booking-cta-band{padding:24px}.service-page-hero,.portfolio-hero{padding:118px var(--gutter) 48px}.service-page-image{min-height:340px}.service-faq-grid{grid-template-columns:1fr}.legal-page{padding-top:118px}.booking-dialog-backdrop{padding:0}.booking-dialog{border:0;width:100%;height:100svh}.booking-dialog-header{align-items:center;gap:12px;padding:8px 8px 8px 16px}.booking-dialog-header .eyebrow,.booking-dialog-header p:not(.eyebrow),.booking-dialog-footer{display:none}.booking-dialog-header h2{font-size:1.5rem}.booking-dialog-open-page{display:inline-flex}}
