@font-face{font-family:Marcellus;src:url(/fonts/display.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/body.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/body-medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/body-semibold.woff2)format("woff2");font-weight:600;font-display:swap}:root{--p-paper:oklch(97.1% .012 62);--p-ink:oklch(31% .014 52);--p-clay:oklch(60% .115 57);--p-clay-dark:oklch(45% .105 52);--p-peach:oklch(93.6% .024 57);--p-sand:oklch(82% .04 61);--p-night:oklch(25% .012 50);--p-error:oklch(51% .19 28);--p-success:oklch(43% .09 150);--bg:var(--p-paper);--text:var(--p-ink);--accent:var(--p-clay);--accent-action:var(--p-clay-dark);--surface:var(--p-peach);--line:var(--p-sand);--dark:var(--p-night);--error:var(--p-error);--success:var(--p-success);--muted:color-mix(in oklch,var(--text) 68%,var(--bg));--faint:color-mix(in oklch,var(--text) 10%,var(--bg));--button-bg:var(--text);--button-text:var(--bg);--field-border:color-mix(in oklch,var(--text) 24%,var(--bg));--font-display:Marcellus,Georgia,serif;--font-body:"Noto Sans",Arial,sans-serif;--container:1240px;--gutter:clamp(20px,4vw,64px);--section:clamp(88px,11vw,160px);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);scroll-padding-top:104px}body{background:var(--bg);min-width:320px;min-height:100dvh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto;display:block}svg{display:block}p,h1,h2,h3,h4{margin-top:0}p{max-width:70ch}address{font-style:normal}::selection{background:var(--accent);color:var(--p-night)}:focus-visible{outline:3px solid var(--accent-action);outline-offset:4px}.skip-link{z-index:1000;background:var(--bg);color:var(--text);padding:12px 18px;transition:transform .2s;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}body.demo{--demo-bar:36px}.demo-notice{z-index:60;height:var(--demo-bar);padding-inline:var(--gutter);background:var(--dark);color:var(--bg);letter-spacing:.02em;white-space:nowrap;justify-content:center;align-items:center;gap:16px;font-size:12px;display:flex;position:relative}.demo-notice p{text-overflow:ellipsis;min-width:0;max-width:none;margin:0;overflow:hidden}.demo-notice a{border-bottom:1px solid;flex:none}.demo-notice .demo-short{display:none}body.demo .site-header.header-over:not(.is-fixed){top:var(--demo-bar)}.form-status.demo{margin-bottom:20px}.container{width:min(var(--container),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:var(--section)}.section-sm{padding-block:clamp(56px,7vw,96px)}.surface{background:var(--surface)}.dark-section{background:var(--dark);color:var(--bg)}.display{font-family:var(--font-display);letter-spacing:-.025em;font-weight:400;line-height:1.03}.eyebrow{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;margin-bottom:24px;font-size:12px;font-weight:600;line-height:1.3;display:flex}.eyebrow:before{content:"";background:currentColor;width:28px;height:1px}.lead{max-width:62ch;font-size:clamp(18px,2vw,22px);line-height:1.6}.muted{color:var(--muted)}.text-link{border-bottom:1px solid;align-items:center;gap:10px;min-height:44px;font-weight:500;transition:color .2s,gap .2s;display:inline-flex}.text-link:hover{color:var(--accent-action);gap:16px}.text-link.light:hover{color:var(--p-sand)}.button{border:1px solid var(--button-bg);background:var(--button-bg);min-height:50px;color:var(--button-text);transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s;justify-content:center;align-items:center;gap:14px;padding:13px 24px;font-weight:500;line-height:1.2;display:inline-flex}.button:hover{background:var(--accent-action);border-color:var(--accent-action);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button.secondary{color:var(--text);border-color:var(--field-border);background:0 0}.button.secondary:hover{background:var(--surface);border-color:var(--text)}.button.light{--button-bg:var(--bg);--button-text:var(--dark)}.button.ghost-light{color:var(--bg);border-color:color-mix(in oklch,var(--bg) 50%,transparent);background:0 0}.button.ghost-light:hover{background:var(--bg);color:var(--dark);border-color:var(--bg)}.button[disabled]{opacity:.45;cursor:not-allowed;transform:none}.icon-button{border:1px solid var(--field-border);background:0 0;place-items:center;width:48px;height:48px;transition:background .2s,color .2s;display:inline-grid}.icon-button:hover{background:var(--text);color:var(--bg)}.icon-button:disabled{opacity:.35;cursor:not-allowed}.site-header{z-index:50;height:92px;padding-inline:var(--gutter);border-bottom:1px solid var(--faint);background:color-mix(in oklch,var(--bg) 94%,transparent);justify-content:space-between;align-items:center;gap:28px;transition:background .25s,color .25s,box-shadow .25s;display:flex;position:relative}.site-header.is-fixed{height:76px;box-shadow:0 1px 0 var(--faint);backdrop-filter:blur(16px);position:fixed;inset:0 0 auto}.site-header.header-over{color:var(--bg);border-color:color-mix(in oklch,var(--bg) 24%,transparent);background:0 0;position:absolute;inset:0 0 auto}.site-header.header-over.is-fixed{color:var(--text);background:color-mix(in oklch,var(--bg) 94%,transparent);position:fixed}.brand{flex-shrink:0;align-items:center;gap:10px;min-height:48px;display:flex}.brand-mark{width:36px;height:36px}.brand-type{line-height:1;display:grid}.brand-type strong{letter-spacing:.13em;font-size:15px;font-weight:600}.brand-type small{letter-spacing:.24em;margin-top:5px;font-size:9px}.desktop-nav{align-items:center;gap:clamp(16px,2.2vw,32px);margin-left:auto;display:flex}.desktop-nav a{white-space:nowrap;align-items:center;min-height:44px;font-size:14px;display:flex;position:relative}.desktop-nav a:after{content:"";height:1px;transition:right .25s var(--ease);background:currentColor;position:absolute;bottom:7px;left:0;right:100%}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}.header-actions{align-items:center;gap:18px;display:flex}.language-switch{letter-spacing:.08em;align-items:center;gap:4px;font-size:11px;display:flex}.language-switch a{opacity:.58;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.language-switch a.active{opacity:1;text-underline-offset:5px;font-weight:600;text-decoration:underline}.header-book{background:var(--text);min-height:44px;color:var(--bg);align-items:center;padding:10px 17px;font-size:13px;transition:background .2s;display:inline-flex}.header-over:not(.is-fixed) .header-book{background:var(--bg);color:var(--dark)}.header-book:hover{background:var(--accent-action);color:var(--bg)}.menu-toggle{width:48px;height:48px;color:inherit;background:0 0;border:0;padding:13px 8px;display:none}.menu-toggle span{background:currentColor;width:26px;height:1px;margin:7px auto;display:block}.mobile-menu{z-index:100;padding:24px var(--gutter) calc(32px + env(safe-area-inset-bottom));background:var(--dark);color:var(--bg);position:fixed;inset:0;overflow:auto}.mobile-menu[hidden]{display:none}.mobile-menu.is-open{animation:menu-in .25s var(--ease);flex-direction:column;display:flex}.mobile-menu-top{justify-content:space-between;align-items:center;margin-bottom:44px;display:flex}.menu-word{letter-spacing:.2em;font-size:11px}.mobile-menu-top button{min-height:44px;color:inherit;background:0 0;border:0}.mobile-menu nav{display:grid}.mobile-menu nav a{border-bottom:1px solid color-mix(in oklch,var(--bg) 18%,transparent);min-height:66px;font-family:var(--font-display);justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;font-size:clamp(26px,7vw,42px);display:flex}.mobile-menu nav small{font-family:var(--font-body);opacity:.65;font-size:12px}.mobile-menu-foot{gap:8px;margin-top:auto;padding-top:32px;font-size:14px;display:grid}.mobile-menu-foot a{align-items:center;min-height:44px;display:inline-flex}@keyframes menu-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.home-hero{isolation:isolate;min-height:100dvh;padding:clamp(140px,18vh,210px) var(--gutter) 30px;color:var(--bg);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.hero-media,.hero-media:after{position:absolute;inset:0}.hero-media{z-index:-2;background:var(--dark)}.hero-media img{object-fit:cover;object-position:center 56%;width:100%;height:100%;animation:hero-image 1.2s var(--ease) both}.hero-media:after{content:"";z-index:1;background:linear-gradient(100deg,#191614c7 0%,#19161457 58%,#1916142e 100%),linear-gradient(#0000 40%,#191614e6 100%)}@keyframes hero-image{0%{opacity:.5;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.hero-copy{z-index:2;width:min(920px,88%);margin-bottom:clamp(40px,7vh,88px);position:relative}.hero-copy .eyebrow{color:var(--bg);margin-bottom:20px}.hero-title{font-family:var(--font-display);letter-spacing:-.035em;max-width:12ch;margin-bottom:24px;font-size:clamp(46px,6.5vw,94px);font-weight:400;line-height:.98}.hero-title .word{animation:word-in .8s var(--ease) both;animation-delay:calc(var(--i)*90ms);display:inline-block}@keyframes word-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.hero-intro{max-width:54ch;color:color-mix(in oklch,var(--bg) 88%,transparent);margin-bottom:26px;font-size:clamp(16px,1.4vw,20px)}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-meta{right:var(--gutter);z-index:2;letter-spacing:.04em;gap:26px;font-size:12px;display:flex;position:absolute;top:124px}.hero-rail{z-index:3;position:relative}.rail-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:14px;display:flex}.rail-heading p{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px}.rail-controls{gap:8px;display:flex}.rail-controls button{border-color:color-mix(in oklch,var(--bg) 45%,transparent);color:var(--bg)}.rail-controls button:hover{background:var(--bg);color:var(--dark)}.treatment-rail{scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:repeat(4,1fr);grid-auto-columns:1fr;grid-auto-flow:column;gap:12px;padding-bottom:2px;display:grid;overflow-x:auto}.treatment-rail::-webkit-scrollbar{display:none}.rail-card{isolation:isolate;scroll-snap-align:start;border:1px solid color-mix(in oklch,var(--bg) 36%,transparent);min-height:154px;transition:transform .25s var(--ease);align-items:flex-end;padding:20px;display:flex;position:relative;overflow:hidden}.rail-card img{z-index:-2;object-fit:cover;width:100%;height:100%;transition:transform .35s var(--ease),opacity .25s;opacity:.76;position:absolute;inset:0}.rail-card:after{content:"";z-index:-1;background:linear-gradient(#19161414,#191614e6);position:absolute;inset:0}.rail-card strong{font-family:var(--font-display);font-size:23px;font-weight:400;line-height:1.15;display:block}.rail-card small{letter-spacing:.1em;text-transform:uppercase;opacity:.76;margin-top:6px;font-size:11px;display:block}.rail-card:hover{transform:translateY(-6px)}.rail-card:hover img{opacity:.9;transform:scale(1.06)}.intro-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:clamp(48px,8vw,128px);display:grid}.intro-grid h2{max-width:14ch;margin:0;font-size:clamp(38px,5vw,68px)}.intro-copy{padding-top:54px}.intro-copy p{font-size:18px}.offset-gallery{grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(20px,4vw,56px);margin-top:clamp(64px,8vw,112px);display:grid}.image-mask{background:var(--surface);overflow:hidden}.image-mask img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease)}.image-mask:hover img{transform:scale(1.025)}.offset-gallery .image-large{aspect-ratio:1.25}.offset-gallery .image-small{aspect-ratio:.88;margin-top:96px}.image-caption{color:var(--muted);justify-content:space-between;gap:20px;margin-top:12px;font-size:12px;display:flex}.promise-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.promise{border-right:1px solid var(--line);padding:clamp(28px,4vw,52px)}.promise:first-child{padding-left:0}.promise:last-child{border-right:0;padding-right:0}.promise h3{font-family:var(--font-display);margin-bottom:14px;font-size:clamp(25px,2.4vw,34px);font-weight:400}.promise p{color:var(--muted);margin:0}.treatment-heading{grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-bottom:64px;display:grid}.treatment-heading h2{margin:0;font-size:clamp(40px,5vw,68px)}.treatment-heading p{justify-self:end;max-width:46ch;margin:0 0 8px}.treatment-list{border-top:1px solid var(--line);position:relative}.treatment-row{border-bottom:1px solid var(--line);min-height:150px;transition:padding .25s var(--ease),color .2s;grid-template-columns:minmax(220px,.75fr) 1fr 48px;align-items:center;gap:32px;padding:30px 0;display:grid;position:relative}.treatment-row h3{font-family:var(--font-display);margin:0;font-size:clamp(30px,3.5vw,48px);font-weight:400;line-height:1.1}.treatment-row p{max-width:48ch;color:var(--muted);margin:0;transition:color .2s}.treatment-row .arrow{border:1px solid var(--line);place-items:center;width:44px;height:44px;transition:transform .25s,background .2s,color .2s;display:grid}.treatment-row:hover{color:var(--accent-action);padding-left:12px}.treatment-row:hover .arrow{background:var(--text);color:var(--bg);transform:rotate(-35deg)}.treatment-row .row-image{z-index:3;object-fit:cover;pointer-events:none;opacity:0;width:250px;height:166px;transition:opacity .25s,transform .35s var(--ease);position:absolute;top:50%;right:12%;transform:translateY(-46%)scale(.95)rotate(2deg);box-shadow:0 20px 60px #281e192e}.treatment-row:hover .row-image{opacity:1;transform:translateY(-50%)scale(1)rotate(-2deg)}.quote-section{grid-template-columns:.75fr 1.25fr;align-items:start;gap:64px;display:grid}.quote-section blockquote{font-family:var(--font-display);margin:0;font-size:clamp(34px,4.3vw,60px);line-height:1.15}.quote-section blockquote:before{content:"“";color:var(--accent);margin-bottom:30px;font-size:1.8em;line-height:.5;display:block}.quote-note{border-top:1px solid var(--line);padding-top:22px}.closing-cta{isolation:isolate;min-height:620px;padding:var(--section) var(--gutter);color:var(--bg);align-items:center;display:flex;position:relative;overflow:hidden}.closing-cta img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.closing-cta:after{content:"";z-index:-1;background:linear-gradient(90deg,#191614d1,#1916143d);position:absolute;inset:0}.closing-cta h2{max-width:11ch;margin-bottom:24px;font-size:clamp(46px,6vw,82px)}.closing-cta p{max-width:44ch;color:var(--bg)}.page-hero{border-bottom:1px solid var(--line);padding:clamp(76px,10vw,144px) 0 clamp(64px,8vw,112px)}.page-hero-grid{grid-template-columns:1.25fr .75fr;align-items:end;gap:64px;display:grid}.page-hero h1{max-width:13ch;font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(46px,6.3vw,86px);font-weight:400;line-height:1.03}.page-hero .lead{margin:0 0 8px}.page-hero-image{aspect-ratio:2.05;margin-top:64px;overflow:hidden}.page-hero-image img{object-fit:cover;width:100%;height:100%}.content-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(48px,8vw,120px);display:grid}.content-grid>aside{position:sticky;top:116px}.content-grid h2,.article-body h2{font-family:var(--font-display);font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.15}.article-body h3{font-family:var(--font-display);margin:42px 0 12px;font-size:28px;font-weight:400}.article-body p,.article-body li{max-width:68ch;line-height:1.75}.article-body ul{padding-left:20px}.article-body li+li{margin-top:10px}.article-body .highlight{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--font-display);padding:26px 0;font-size:clamp(24px,2.6vw,34px);line-height:1.35}.side-nav{border-top:1px solid var(--line);display:grid}.side-nav a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;font-size:14px;display:flex}.side-nav a:hover{color:var(--accent-action)}.side-fact{border-top:1px solid var(--line);margin-top:32px;padding-top:20px}.side-fact strong{font-family:var(--font-display);margin-bottom:5px;font-size:26px;font-weight:400;display:block}.step-list{border-top:1px solid var(--line)}.step-item{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:24px;padding:28px 0;display:grid}.step-item .step-number{font-family:var(--font-display);color:var(--accent-action);font-size:34px}.step-item h3{font-family:var(--font-display);margin:0 0 8px;font-size:28px;font-weight:400}.step-item p{margin:0}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:70px;padding:20px 0;font-weight:500;list-style:none;display:flex;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:var(--font-display);font-size:28px;font-weight:400;transition:transform .2s}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{color:var(--muted);margin:0;padding:0 50px 24px 0}.price-list{border-top:1px solid var(--text)}.price-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:center;gap:32px;min-height:98px;padding:20px 0;display:grid}.price-row h3{font-family:var(--font-display);margin:0;font-size:clamp(24px,2.5vw,34px);font-weight:400}.price-row p{color:var(--muted);margin:0}.price-row strong{font-family:var(--font-display);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(22px,2.2vw,30px);font-weight:400}.notice{border-left:1px solid var(--accent-action);background:var(--surface);padding:24px}.notice p:last-child{margin-bottom:0}.team-list{border-top:1px solid var(--line)}.team-person{border-bottom:1px solid var(--line);grid-template-columns:.6fr 1fr 1fr;align-items:baseline;gap:32px;padding:28px 0;display:grid}.team-person h3{font-family:var(--font-display);margin:0;font-size:30px;font-weight:400}.team-person p{color:var(--muted);margin:0}.contact-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(48px,8vw,112px);display:grid}.contact-methods{border-top:1px solid var(--line);margin-top:36px;display:grid}.contact-methods a,.contact-methods div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:20px 0;display:flex}.contact-methods span{color:var(--muted)}.map-panel{background:var(--dark);min-height:300px;color:var(--bg);margin-top:40px;position:relative;overflow:hidden}.map-lines{opacity:.5;background-image:linear-gradient(28deg,transparent 45%,var(--line) 46%,var(--line) 47%,transparent 48%),linear-gradient(112deg,transparent 45%,var(--line) 46%,var(--line) 47%,transparent 48%);background-size:110px 90px,150px 130px;position:absolute;inset:0}.map-label{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-label strong{font-family:var(--font-display);font-size:30px;font-weight:400;display:block}.map-label a{border-bottom:1px solid;align-items:center;min-height:44px;margin-top:12px;font-size:13px;display:inline-flex}.form-shell{background:var(--surface);padding:clamp(24px,4vw,48px)}.form-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.field{gap:8px;display:grid}.field.full{grid-column:1/-1}.field label,.field-label{font-size:13px;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--field-border);background:var(--bg);border-radius:0;width:100%;min-height:50px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-action);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 22%,transparent);outline:0}.field .hint{color:var(--muted);margin:0;font-size:12px}.field .error-text{color:var(--error);margin:0;font-size:13px}.checkbox-field{align-items:flex-start;gap:12px;min-height:48px;padding:10px 0;font-size:14px;display:flex}.checkbox-field input{width:22px;height:22px;accent-color:var(--accent-action);flex-shrink:0;margin:2px 0 0}.form-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:26px;display:flex}.form-status{border:1px solid var(--line);background:var(--bg);padding:16px}.form-status.success{border-color:var(--success)}.form-status.error{border-color:var(--error);color:var(--error)}.loading-line{background:var(--faint);min-height:80px;position:relative;overflow:hidden}.loading-line:after{content:"";background:linear-gradient(90deg,transparent,var(--surface),transparent);animation:1.2s infinite loading;position:absolute;inset:0;transform:translate(-100%)}@keyframes loading{to{transform:translate(100%)}}.empty-state{border:1px dashed var(--field-border);text-align:center;padding:32px}.booking-page{padding:clamp(56px,8vw,104px) 0}.booking-head{grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-bottom:56px;display:grid}.booking-head h1{font-family:var(--font-display);margin:0;font-size:clamp(46px,6vw,80px);font-weight:400;line-height:1.04}.booking-head p{justify-self:end;max-width:46ch;margin:0 0 8px}.booking-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:clamp(32px,6vw,80px);display:grid}.booking-steps{border-top:1px solid var(--line);display:grid;position:sticky;top:110px}.booking-step-button{border:0;border-bottom:1px solid var(--line);text-align:left;min-height:58px;color:var(--muted);background:0 0;grid-template-columns:28px 1fr;align-items:center;gap:12px;padding:10px 0;display:grid}.booking-step-button .step-dot{border:1px solid var(--line);border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.booking-step-button.current{color:var(--text);font-weight:600}.booking-step-button.current .step-dot{background:var(--accent-action);border-color:var(--accent-action);color:var(--bg)}.booking-step-button.complete{cursor:pointer;color:var(--text)}.booking-step-button:disabled{cursor:not-allowed;opacity:.55}.booking-stage{min-width:0}.booking-panel{border-bottom:1px solid var(--line);animation:stage-in .28s var(--ease);padding-bottom:32px}@keyframes stage-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:none}}.booking-panel h2{font-family:var(--font-display);margin-bottom:12px;font-size:clamp(32px,3.5vw,48px);font-weight:400;line-height:1.12}.booking-panel>p{color:var(--muted);margin-bottom:32px}.option-list{border-top:1px solid var(--line);display:grid}.treatment-option{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:1fr auto;align-items:center;gap:16px;min-height:98px;padding:20px;transition:background .2s,padding .2s;display:grid}.treatment-option:hover{background:var(--surface);padding-left:26px}.treatment-option.selected{background:var(--text);color:var(--bg)}.treatment-option strong{font-family:var(--font-display);font-size:28px;font-weight:400;display:block}.treatment-option small{color:var(--muted);margin-top:4px;display:block}.treatment-option.selected small{color:var(--bg);opacity:.75}.treatment-option .option-price{font-family:var(--font-display);white-space:nowrap;font-size:20px}.calendar-shell{border:1px solid var(--line);grid-template-columns:1.25fr .75fr;min-height:480px;display:grid}.calendar-main{padding:28px}.calendar-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.calendar-top h3{font-family:var(--font-display);text-transform:capitalize;margin:0;font-size:28px;font-weight:400}.calendar-nav{gap:8px;display:flex}.weekday-grid,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday-grid{text-align:center;color:var(--muted);margin-bottom:6px;font-size:11px}.weekday-grid span{padding:6px 0}.day-cell{aspect-ratio:1;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;min-height:44px;padding:4px;font-size:13px;transition:background .15s,color .15s,border-color .15s;position:relative}.day-cell:not(:disabled):hover{border-color:var(--text)}.day-cell.available:after{content:"";background:var(--accent-action);border-radius:50%;width:4px;height:4px;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.day-cell.selected{background:var(--text);color:var(--bg)}.day-cell.selected:after{background:var(--bg)}.day-cell.today{border-color:var(--line)}.day-cell:disabled{opacity:.25;cursor:not-allowed}.day-cell.empty{visibility:hidden}.calendar-side{border-left:1px solid var(--line);background:var(--surface);padding:28px}.calendar-side h3{font-family:var(--font-display);margin-bottom:18px;font-size:26px;font-weight:400}.slot-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.slot-button{border:1px solid var(--field-border);background:var(--bg);font-variant-numeric:tabular-nums;min-height:46px;padding:10px;transition:background .15s,color .15s}.slot-button:hover{border-color:var(--text)}.slot-button.selected{background:var(--accent-action);border-color:var(--accent-action);color:var(--bg)}.slot-button:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.calendar-note{color:var(--muted);margin-top:24px;font-size:13px}.review-list{border-top:1px solid var(--line);margin:28px 0}.review-row{border-bottom:1px solid var(--line);grid-template-columns:160px 1fr;gap:24px;padding:17px 0;display:grid}.review-row dt{color:var(--muted)}.review-row dd{margin:0;font-weight:500}.confirmation{background:var(--surface);text-align:center;padding:clamp(28px,5vw,56px)}.confirmation-mark{border:1px solid var(--success);width:68px;height:68px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 24px;display:grid}.confirmation h2{margin-bottom:12px}.confirmation-code{background:var(--bg);font-family:var(--font-display);letter-spacing:.05em;margin:18px 0 28px;padding:12px 20px;font-size:28px;display:inline-block}.booking-lookup{border-top:1px solid var(--line);margin-top:56px;padding-top:32px}.booking-lookup summary{cursor:pointer;min-height:52px;font-weight:500}.booking-result{border:1px solid var(--line);margin-top:20px;padding:24px}.booking-result h3{font-family:var(--font-display);margin-bottom:8px;font-size:28px;font-weight:400}.booking-result-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.site-footer{padding:clamp(64px,8vw,112px) var(--gutter) 28px;background:var(--dark);color:var(--bg)}.footer-lead{border-bottom:1px solid color-mix(in oklch,var(--bg) 20%,transparent);grid-template-columns:1fr 1fr;align-items:end;gap:24px 64px;padding-bottom:64px;display:grid}.footer-brand{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(54px,8vw,108px);line-height:.9}.footer-brand span{font-family:var(--font-body);vertical-align:top;letter-spacing:0;font-size:12px}.footer-lead p{max-width:38ch;color:color-mix(in oklch,var(--bg) 78%,transparent);margin:0}.footer-lead .text-link{justify-self:start}.footer-grid{grid-template-columns:1.2fr 1.3fr 1fr 1fr;gap:40px;padding:56px 0;display:grid}.footer-grid>div{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.footer-grid h2{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklch,var(--bg) 62%,transparent);margin-bottom:12px;font-size:11px;font-weight:500}.footer-grid a,.footer-grid address,.footer-grid p{color:color-mix(in oklch,var(--bg) 84%,transparent);margin:0;font-size:14px}.footer-grid a{border-bottom:1px solid #0000;align-items:center;min-height:44px;display:inline-flex}.footer-grid a:hover{border-color:currentColor}.footer-bottom{border-top:1px solid color-mix(in oklch,var(--bg) 20%,transparent);letter-spacing:.08em;color:color-mix(in oklch,var(--bg) 58%,transparent);justify-content:space-between;gap:20px;padding-top:24px;font-size:11px;display:flex}.footer-bottom a{min-height:44px;color:var(--bg);align-items:center;display:inline-flex}.edge-booking{z-index:40;background:var(--accent-action);min-height:48px;color:var(--bg);writing-mode:vertical-rl;align-items:center;gap:22px;padding:12px 16px;font-size:12px;transition:background .2s;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.edge-booking:hover{background:var(--text)}.mobile-booking{display:none}html.motion-ready [data-reveal]{opacity:0;transform:translateY(18px)scale(.985)}html.motion-ready [data-reveal].revealed{opacity:1;transition:opacity .65s var(--ease),transform .65s var(--ease);transform:none}.cursor-dot,.cursor-ring{z-index:999;pointer-events:none;opacity:0;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:var(--accent-action);width:7px;height:7px}.cursor-ring{border:1px solid var(--accent-action);width:38px;height:38px;transition:width .2s,height .2s,background .2s}.cursor-ring.is-hover{background:color-mix(in oklch,var(--accent) 16%,transparent);width:52px;height:52px}@media (pointer:fine){.cursor-dot,.cursor-ring{opacity:.75}}.toast-region{z-index:200;gap:8px;max-width:min(380px,100vw - 40px);display:grid;position:fixed;bottom:24px;right:24px}.toast{background:var(--dark);color:var(--bg);animation:toast-in .25s var(--ease);padding:16px 20px;box-shadow:0 12px 36px #1e191633}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.system-shell{grid-template-columns:250px minmax(0,1fr);min-height:100dvh;display:grid}.system-sidebar{background:var(--dark);height:100dvh;color:var(--bg);padding:32px 24px;position:sticky;top:0;overflow:auto}.system-sidebar .brand{margin-bottom:44px}.system-sidebar nav{gap:3px;display:grid}.system-sidebar nav a{min-height:44px;color:color-mix(in oklch,var(--bg) 70%,transparent);align-items:center;padding:9px 12px;font-size:14px;display:flex}.system-sidebar nav a:hover,.system-sidebar nav a.active{background:color-mix(in oklch,var(--bg) 10%,transparent);color:var(--bg)}.system-sidebar .back-link{border-top:1px solid color-mix(in oklch,var(--bg) 20%,transparent);margin-top:32px;padding-top:20px}.system-main{min-width:0;padding:clamp(32px,5vw,72px)}.system-main h1{font-family:var(--font-display);margin-bottom:16px;font-size:clamp(42px,5vw,68px);font-weight:400}.system-main h2{font-family:var(--font-display);margin:56px 0 20px;font-size:34px;font-weight:400}.swatch-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.swatch{border:1px solid var(--line);flex-direction:column;justify-content:flex-end;min-height:180px;padding:20px;display:flex}.swatch code{margin-top:4px;font-size:12px}.type-specimen{border-bottom:1px solid var(--line);padding:32px 0}.type-specimen h3{font-family:var(--font-display);margin:0;font-size:clamp(36px,6vw,76px);font-weight:400}.grid-demo{grid-template-columns:repeat(12,1fr);gap:8px;min-height:140px;display:grid}.grid-demo span{background:var(--surface);border:1px solid var(--line)}.component-demo{border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:32px;display:flex}.share-preview{border:1px solid var(--line);max-width:600px}.review-canvas{color:#f4f1ed;background:#242424;min-height:100dvh;padding:40px}.review-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px;display:flex}.review-top h1{font:400 30px var(--font-display);margin:0}.sitemap{border:1px solid #494949;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1000px;margin:auto;padding:40px;display:grid;position:relative}.site-node{text-align:center;background:#292929;border:1px solid #686868;padding:18px;position:relative}.site-node.root{grid-column:2}.site-node:after{content:"↓";color:#999;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}.site-node:last-child:after{display:none}.error-page{min-height:100dvh;padding:40px var(--gutter);text-align:center;place-items:center;display:grid}.error-code{font-family:var(--font-display);color:var(--surface);-webkit-text-stroke:1px var(--accent-action);margin-bottom:10px;font-size:clamp(110px,24vw,300px);line-height:.8}.error-page h1{font-family:var(--font-display);margin-bottom:18px;font-size:clamp(34px,5vw,58px);font-weight:400}.error-page p{margin-inline:auto}.error-page .button{margin-top:20px}@media (width<=1100px){.desktop-nav{display:none}.menu-toggle{display:block}.header-book,.hero-meta{display:none}.hero-copy{width:100%}.treatment-rail{grid-template-columns:none;grid-auto-columns:minmax(230px,1fr)}.edge-booking{display:none}.footer-grid{grid-template-columns:1fr 1fr}.booking-layout{grid-template-columns:190px minmax(0,1fr);gap:36px}.calendar-shell{grid-template-columns:1fr}.calendar-side{border-left:0;border-top:1px solid var(--line)}}@media (width<=760px){:root{--gutter:20px;--section:88px}body{padding-bottom:calc(68px + env(safe-area-inset-bottom));font-size:16px}body.technical{padding-bottom:0}.site-header{height:76px;padding-inline:20px}.site-header.is-fixed{height:68px}.brand-mark{width:31px;height:31px}.brand-type strong{font-size:13px}.brand-type small{font-size:8px}.header-actions{gap:6px}.language-switch a{min-width:44px}.demo-notice .demo-long{display:none}.demo-notice .demo-short{display:inline}.home-hero{min-height:900px;padding:120px 20px 20px}.hero-copy{margin-bottom:44px}.hero-title{max-width:10ch;font-size:clamp(44px,13vw,62px)}.hero-actions{grid-template-columns:1fr;display:grid}.hero-actions .button{width:100%}.rail-heading{align-items:center}.rail-heading p{max-width:200px}.rail-controls{display:none}.treatment-rail{grid-auto-columns:76vw;margin-right:-20px;padding-right:20px}.rail-card{min-height:140px}.intro-grid,.page-hero-grid,.treatment-heading,.quote-section,.contact-grid,.booking-head{grid-template-columns:1fr;gap:28px}.intro-copy{padding-top:0}.intro-copy p{font-size:17px}.offset-gallery{grid-template-columns:1fr;margin-top:56px}.offset-gallery .image-small{aspect-ratio:1.15;margin-top:0}.offset-gallery .image-large{aspect-ratio:1}.promise-list{grid-template-columns:1fr}.promise,.promise:first-child,.promise:last-child{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.promise:last-child{border-bottom:0}.treatment-heading{margin-bottom:36px}.treatment-heading p{justify-self:start}.treatment-row{grid-template-columns:1fr 44px;gap:18px;padding:26px 0}.treatment-row h3{grid-column:1}.treatment-row p{grid-column:1/-1;font-size:15px}.treatment-row .arrow{grid-area:1/2}.treatment-row .row-image{opacity:1;width:100%;height:190px;box-shadow:none;grid-area:3/1/auto/-1;position:relative;top:auto;right:auto;transform:none}.treatment-row:hover{padding-left:0}.treatment-row:hover .row-image{transform:none}.quote-section blockquote{font-size:36px}.closing-cta{min-height:580px;padding-inline:20px}.closing-cta:after{background:linear-gradient(#19161433,#191614e0)}.page-hero{padding-top:64px}.page-hero h1{font-size:clamp(44px,13vw,62px)}.page-hero-image{aspect-ratio:1.25;margin-top:40px}.content-grid{grid-template-columns:1fr;gap:48px}.content-grid>aside{order:2;position:static}.price-row{grid-template-columns:1fr auto;gap:8px 16px;min-height:100px}.price-row p{grid-area:2/1/auto/-1;font-size:14px}.price-row strong{grid-area:1/2}.team-person{grid-template-columns:1fr;gap:6px}.team-person p{font-size:14px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-shell{padding:24px 18px}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .button{width:100%}.footer-lead{grid-template-columns:1fr;gap:28px}.footer-brand{font-size:66px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 20px}.footer-bottom{flex-wrap:wrap}.mobile-booking{z-index:45;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));background:var(--accent-action);min-height:52px;color:var(--bg);transition:transform .25s var(--ease),opacity .2s;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:fixed;box-shadow:0 8px 30px #1e19163d}body.home .mobile-booking{transform:translateY(calc(140% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}body.home .mobile-booking.is-visible{opacity:1;pointer-events:auto;transform:none}.toast-region{right:20px;bottom:calc(84px + env(safe-area-inset-bottom))}.booking-head p{justify-self:start}.booking-layout{grid-template-columns:1fr;gap:30px}.booking-steps{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:static}.booking-step-button{border:0;border-right:1px solid var(--line);text-align:center;justify-content:center;min-height:52px;padding:8px;display:flex}.booking-step-button:last-child{border-right:0}.booking-step-button .step-label{display:none}.booking-step-button .step-dot{width:28px;height:28px}.treatment-option{padding:18px 12px}.treatment-option strong{font-size:24px}.treatment-option .option-price{font-size:17px}.calendar-main,.calendar-side{padding:18px 12px}.weekday-grid,.calendar-grid{gap:2px}.day-cell{font-size:12px}.day-cell.available:after{bottom:4px}.review-row{grid-template-columns:110px 1fr;gap:16px;font-size:14px}.system-shell{grid-template-columns:1fr}.system-sidebar{height:auto;padding:20px;position:relative}.system-sidebar .brand{margin-bottom:16px}.system-sidebar nav{grid-template-columns:1fr 1fr}.system-main{padding:32px 20px}.swatch-grid{grid-template-columns:1fr 1fr}.component-demo{padding:20px}.sitemap{grid-template-columns:1fr 1fr;padding:20px}.site-node.root{grid-column:1/-1}.cursor-dot,.cursor-ring{display:none}}@media (width<=390px){.brand-type small{letter-spacing:.16em}.language-switch{font-size:10px}.header-actions{gap:0}.home-hero{min-height:860px}.hero-title{font-size:43px}.footer-grid{grid-template-columns:1fr}.slot-list{grid-template-columns:1fr 1fr}.swatch-grid{grid-template-columns:1fr}.review-canvas{padding:20px}.sitemap{grid-template-columns:1fr}.site-node.root{grid-column:auto}}@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}html.motion-ready [data-reveal]{opacity:1;transform:none}.cursor-dot,.cursor-ring{display:none}}
