:root{--paper:#eeeae1;--ink:#272320;--accent:#702d3f;--line:#b7b0a5;--nail:#782b40}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b76573;outline-offset:5px}header{padding:28px 4%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink)}.wordmark{font-size:21px;line-height:.9;font-weight:900;letter-spacing:-1px}.wordmark span{display:block;font-size:7px;letter-spacing:1px;margin-top:10px;font-weight:400}nav{display:flex;gap:32px;align-items:center;font-size:11px}nav>a{padding:10px 0}.nav-book{border-bottom:1px solid var(--ink);min-width:140px}.hero{padding:28px 4% 0}.hero-label,.section-kicker{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;gap:20px}.hero h1{font-size:clamp(70px,12.7vw,210px);font-weight:900;line-height:.82;letter-spacing:-.085em;margin:48px 0 35px;position:relative;z-index:2}.hero h1>span{color:var(--accent)}.hero-layout{display:grid;grid-template-columns:34% 60% 6%;align-items:end}.hero-aside{padding:30px 30px 35px 0}.asterisk{font-size:80px;line-height:1}.hero-aside>p{font-size:14px;line-height:1.7;max-width:260px}.button{background:var(--ink);color:var(--paper);padding:20px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:10px;letter-spacing:.7px;border:1px solid var(--ink);transition:background .25s,transform .25s}.button:hover{background:var(--accent);transform:translateY(-2px)}.button span{font-size:22px}.hero-aside .micro{font-size:8px;line-height:1.8;letter-spacing:1px;margin-top:38px}.hero-image{height:460px;position:relative;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;animation:reveal 1.1s ease}.hero-image>span{position:absolute;bottom:15px;left:18px;font-size:8px;color:white;letter-spacing:1px}.hero-scroll{writing-mode:vertical-rl;display:flex;align-items:center;gap:30px;justify-self:end;margin-bottom:30px;font-size:8px;letter-spacing:1px}.hero-scroll span{font-size:25px}.ritual{height:260svh;border-bottom:1px solid var(--ink);margin-top:70px}.ritual-stage{height:100svh;min-height:700px;position:sticky;top:0;overflow:hidden;background:var(--paper)}.ritual .section-kicker{position:absolute;top:25px;left:4%;right:4%;border-top:1px solid var(--ink);padding-top:18px;z-index:3}.ritual-heading{position:absolute;left:5%;top:17%;z-index:2;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:1.5px;line-height:1.8}h2{font-size:clamp(40px,5.9vw,95px);line-height:.95;letter-spacing:-.06em;margin:22px 0;font-weight:900}h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em;color:var(--accent)}.ritual-caption{font-size:12px;line-height:1.8;max-width:260px}.polish-scene{position:absolute;height:90%;width:75%;right:-5%;bottom:-6%;overflow:visible}.brush{will-change:transform;transform-origin:300px 430px}.paint{transform:scaleY(0);transform-origin:730px 331px}.shine{opacity:0}.palette-panel{position:absolute;left:5%;bottom:16%;width:300px;z-index:4}.palette-title{font-size:8px;letter-spacing:1px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;gap:12px}.colour-name{font-weight:700}#swatches{display:flex;gap:9px;margin:20px 0 12px}.swatch{width:35px;height:35px;background:var(--swatch);border:1px solid #49413d44;border-radius:50%;position:relative;transition:transform .2s}.swatch:hover{transform:translateY(-3px)}.swatch[aria-pressed=true]::after{content:'';position:absolute;inset:-5px;border:1px solid var(--ink);border-radius:50%}.palette-note{font-size:9px;line-height:1.7;color:#655c54}.replay{font-size:10px;border:0;border-bottom:1px solid var(--ink);background:none;padding:8px 0;color:var(--ink)}.ritual-foot{position:absolute;bottom:25px;left:5%;right:5%;display:flex;gap:25px;align-items:center;font-size:8px;letter-spacing:1px}.ritual-progress{height:1px;background:var(--line);flex:1}.ritual-progress i{display:block;height:2px;background:var(--accent);width:0}.work{padding:65px 4%;background:var(--ink);color:var(--paper)}.work-heading,.pricing-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:30px 0}.work h2{font-size:clamp(40px,5vw,78px)}.work h2 em{color:#cba3a7}.work-heading p,.pricing-heading p{font-size:12px;line-height:1.8;max-width:300px;margin-bottom:25px}.gallery-track{display:flex;gap:16px;overflow:auto;scrollbar-width:thin;scrollbar-color:#9e8f83 transparent;padding-bottom:15px}.gallery-track figure{flex:0 0 25%;min-width:220px;margin:0}.gallery-track button{display:block;width:100%;border:0;padding:0;position:relative;background:none;overflow:hidden;cursor:zoom-in}.gallery-track img{display:block;width:100%;height:300px;object-fit:cover;transition:transform .6s}.gallery-track button:hover img{transform:scale(1.035)}.gallery-track button>span{position:absolute;bottom:12px;right:15px;color:white;font-size:24px}.gallery-track figcaption{font-size:8px;letter-spacing:.5px;padding-top:12px}.work-bottom{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.6px;gap:20px;margin-top:30px}.work-bottom a{border-bottom:1px solid #a3998d;padding-bottom:6px}.pricing{padding:75px 6%}.pricing-heading{margin-bottom:45px}.pricing-heading h2{font-size:clamp(46px,6.5vw,100px)}details summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service-group{border-top:1px solid var(--ink)}.service-group:last-child{border-bottom:1px solid var(--ink)}.service-group>summary{display:grid;grid-template-columns:45px 1fr 80px 30px;align-items:center;gap:15px;padding:29px 0}.service-group>summary>span:first-child{font-family:Georgia;font-style:italic;font-size:18px;color:var(--accent)}.service-group h3{font-size:clamp(18px,2.5vw,38px);letter-spacing:-1px;margin:0}.group-count{font-size:8px;letter-spacing:1px}summary>b{font-weight:400;font-size:25px;justify-self:end;transition:transform .2s}details[open]>summary>b{transform:rotate(45deg)}.group-content{margin:0 45px 28px}.group-content>p{font-size:12px;line-height:1.7;margin:0 0 20px;color:#655c54}.procedure{border-top:1px solid var(--line)}.procedure summary{display:grid;grid-template-columns:1fr 65px 90px 20px;gap:18px;align-items:center;padding:18px 0}.procedure summary>span{font-size:14px}.procedure small{font-size:10px;color:#655c54}.procedure strong{font-size:13px;font-weight:400;text-align:right}.procedure-info{padding:5px 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:850px}.procedure-info h4{font-size:8px;letter-spacing:1px;margin:8px 0}.procedure-info p{font-size:12px;line-height:1.9;color:#655c54;margin:0}.price-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:25px}.price-footer p{font-size:9px;line-height:1.8;color:#655c54}.price-footer a{font-size:10px;border-bottom:1px solid var(--ink);padding:10px 0;white-space:nowrap}.reviews{display:grid;grid-template-columns:1fr 1.4fr;padding:55px 6%;gap:8%;background:#ded8cd;border-block:1px solid var(--ink)}.reviews h2{font-size:45px}.reviews a{font-size:9px;display:inline-block;border-bottom:1px solid;padding-bottom:7px;margin-top:12px}.review-quotes{display:grid;grid-template-columns:1fr 1fr;gap:25px}.review-quotes blockquote{margin:0;padding-top:20px}.review-quotes blockquote>span{font-size:10px;letter-spacing:3px;color:var(--accent)}blockquote p{font-family:Georgia;font-size:19px;line-height:1.5}blockquote cite{font-size:8px;line-height:1.8;font-style:normal}.review-source{font-size:8px;grid-column:1/-1;color:#655c54;margin:0}.booking{padding:75px 6%;background:var(--accent);color:var(--paper)}.booking h2{font-size:clamp(50px,10vw,160px);position:relative;margin:35px 0 50px}.booking h2 em{color:#e3bebc}.booking h2>span{position:absolute;right:0;bottom:0;font-weight:400}.booking-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #c79b9d;padding-top:25px}.booking-bottom p{font-size:12px;line-height:1.8}.booking .button{background:var(--paper);color:var(--ink);border:0}.booking .button:hover{background:#d8c7bd}.booking-bottom>div{display:flex;flex-direction:column;gap:18px;align-items:start}.secondary-book{font-size:9px;border-bottom:1px solid #c79b9d;padding-bottom:7px}.location{padding:55px 6% 70px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-top:35px}.location h2{font-size:clamp(40px,5.5vw,80px);white-space:nowrap}.address{font-size:15px;line-height:1.7}.transit{margin-top:30px;border-top:1px solid var(--line)}.transit a{display:flex;justify-content:space-between;gap:20px;font-size:9px;padding:18px 0;border-bottom:1px solid var(--line)}.transit strong{font-weight:400}.route-note{font-size:9px;line-height:1.7;color:#655c54;max-width:350px}.text-link{font-size:9px;display:inline-block;padding:15px 0 7px;border-bottom:1px solid var(--ink)}.map-wrap{min-height:380px}.map-wrap iframe{border:0;width:100%;height:100%;min-height:380px;filter:saturate(.4)}footer{padding:30px 4%;border-top:1px solid var(--ink);display:flex;gap:20px;justify-content:space-between;align-items:center}footer .wordmark{font-size:15px}footer>span,footer>button{font-size:8px}footer button{border:0;background:none;padding:10px;color:var(--ink)}.skip{position:fixed;z-index:100;top:-100px;background:var(--paper);padding:20px}.skip:focus{top:0}dialog{border:0}dialog::backdrop{background:#171411dd}#lightbox{background:#211c19;color:var(--paper);width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:40px}#lightbox[open]{display:flex;align-items:center;justify-content:center;gap:20px}#lightbox img{max-width:78vw;max-height:85vh;object-fit:contain}#lightbox button{background:none;border:1px solid #84766b;color:inherit;padding:14px}.close{position:absolute;right:20px;top:15px}#lightbox p{position:absolute;bottom:10px;font-size:10px}#editor{background:var(--paper);color:var(--ink);width:min(850px,95vw);max-height:90dvh;padding:40px}#editor h2{font-size:40px}#editor>p{font-size:12px;line-height:1.8}.editor-close{position:absolute;right:15px;top:15px;border:0;background:none;padding:10px}#editor-fields h3{border-top:1px solid var(--ink);padding-top:20px;font-size:18px}#editor label{display:block;font-size:11px;line-height:1.7;margin:12px 0}#editor input:not([type=color]),#editor textarea{display:block;width:100%;padding:10px;border:1px solid var(--line);background:#f9f6ef;color:var(--ink)}#editor input[type=color]{height:35px;width:55px;border:0;background:none;padding:0}.edit-service{display:grid;grid-template-columns:1fr 90px 110px;gap:15px}.edit-colour{display:grid;grid-template-columns:1fr 70px;gap:15px}.edit-photo{border-bottom:1px solid var(--line);padding:10px 0}.edit-photo button,.editor-actions button,.file-label{border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:12px;font-size:10px;cursor:pointer}.editor-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:25px}.editor-actions .file-label{margin:0!important}.file-label input{max-width:200px}.noscript{padding:20px;font-size:12px}.static-ritual{height:auto}.static-ritual .ritual-stage{position:relative}.static-ritual .paint{transform:scaleY(1)}.static-ritual .brush{transform:translate(450px,-40px)}html:not(.has-ritual) .ritual{height:100svh}html:not(.has-ritual) .paint{transform:scaleY(1)}@keyframes reveal{from{transform:scale(1.04);opacity:.5}to{transform:scale(1);opacity:1}}@media(max-width:750px){header{padding:22px 5%}.wordmark{font-size:17px}nav{gap:15px}nav>a:not(.nav-book){display:none}.nav-book{min-width:120px}.hero{padding:25px 5% 0}.hero-label{font-size:7px;letter-spacing:.5px}.hero h1{font-size:13vw;letter-spacing:-.08em;margin:38px 0 26px}.hero-layout{grid-template-columns:1fr 1.2fr;align-items:stretch}.hero-aside{padding:10px 18px 15px 0}.asterisk{font-size:48px}.hero-aside>p{font-size:11px}.button{padding:15px 12px;font-size:8px;gap:15px}.button span{font-size:17px}.hero-aside .micro{font-size:6px;letter-spacing:.4px;margin-top:20px}.hero-image{height:340px}.hero-image>span{font-size:6px;left:8px;bottom:10px}.hero-scroll{display:none}.ritual{margin-top:45px;height:250svh}.ritual-stage{min-height:740px}.ritual .section-kicker{top:20px;font-size:7px}.ritual-heading{top:12%;left:5%}.ritual-heading h2{font-size:46px}.ritual-caption{font-size:10px;max-width:180px}.polish-scene{width:125%;height:66%;right:-18%;bottom:9%}.palette-panel{left:5%;bottom:9%;width:240px;background:#eeeae1ed;padding:12px 10px 0 0}.palette-title{font-size:7px}.swatch{width:28px;height:28px}#swatches{gap:11px;margin:16px 0 10px}.palette-note{font-size:8px;max-width:230px}.replay{font-size:9px}.ritual-foot{bottom:20px;font-size:7px;gap:15px}.ritual-foot>span:last-child{display:none}.work{padding:40px 5%}.work-heading{display:block;margin:30px 0}.work h2{font-size:39px}.work-heading p{font-size:10px;margin-top:20px}.gallery-track figure{flex-basis:64%;min-width:190px}.gallery-track img{height:265px}.work-bottom{font-size:6px;line-height:1.8}.pricing{padding:45px 5%}.pricing-heading{display:block}.pricing-heading h2{font-size:51px}.pricing-heading p{font-size:11px}.service-group>summary{grid-template-columns:24px 1fr 18px;gap:10px;padding:24px 0}.service-group h3{font-size:21px;letter-spacing:-.7px}.group-count{display:none}.group-content{margin:0 0 20px}.group-content>p{font-size:11px}.procedure summary{grid-template-columns:1fr 75px 18px;gap:8px;padding:18px 0}.procedure summary>span{grid-column:1;font-size:13px}.procedure small{grid-column:1;grid-row:2;font-size:9px}.procedure strong{grid-column:2;grid-row:1;font-size:12px}.procedure summary>b{grid-column:3;grid-row:1}.procedure-info{grid-template-columns:1fr;gap:10px}.procedure-info p{font-size:11px}.price-footer{display:block}.price-footer p{font-size:8px}.price-footer a{display:inline-block}.reviews{display:block;padding:40px 5%}.reviews h2{font-size:36px}.review-quotes{gap:20px;margin-top:15px}blockquote p{font-size:16px}.review-quotes cite{font-size:7px}.booking{padding:50px 5%}.booking h2{font-size:12vw;letter-spacing:-.065em}.booking h2>span{font-size:.65em}.booking-bottom{display:block}.booking-bottom>div{margin-top:25px}.booking .button{font-size:9px;padding:18px}.location{padding:40px 5%}.location-grid{display:block}.location h2{font-size:49px}.map-wrap{margin-top:30px;min-height:330px}.map-wrap iframe{min-height:330px}.transit{margin-top:20px}footer{flex-wrap:wrap;padding:25px 5%}footer>span{font-size:6px}footer button{padding:0}#lightbox{padding:50px 8px}#lightbox[open]{gap:5px}#lightbox button{padding:9px}#lightbox img{max-width:72vw}#editor{padding:25px 20px}.edit-service{grid-template-columns:1fr 60px 85px;gap:8px}#editor input:not([type=color]){padding:8px;font-size:11px}.section-kicker{font-size:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.ritual{height:auto}.ritual-stage{position:relative}.paint{transform:scaleY(1)}}
