.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.20bhq2yj4r-o7.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.0smrnln2b1gpy.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.38p7fa7moljse.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
:root{--ink:#1d1d1f;--muted:#626268;--paper:#fff;--soft:#f5f5f7;--line:#dedee2;--radius:28px;--control-border:#b9b9c1;--control-radius:12px;--control-height:50px;--focus-color:#06c;--feedback-radius:12px;--feedback-space:20px;--interaction-time:.16s;--interaction-ease:cubic-bezier(.2, .8, .2, 1);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}body.modal-open{overflow:hidden}button,a,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}figure,p,h1,h2,h3,blockquote{margin:0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus-color);outline-offset:5px}button{border:0}a,button{transition:background-color var(--interaction-time) var(--interaction-ease), color var(--interaction-time) var(--interaction-ease), transform var(--interaction-time) var(--interaction-ease)}::selection{background:#d9d9dd}.skip-link{z-index:20;background:#fff;padding:16px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.section-shell{width:min(1160px,100% - 96px);margin-inline:auto}.eyebrow{letter-spacing:.16em;font-size:.75rem;font-weight:600;line-height:1.6}.site-header{z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border-bottom:1px solid #00000009;position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:24px;max-width:1380px;min-height:76px;margin:auto;padding:12px 48px;display:flex}.brand{align-items:center;gap:12px;font-size:.85rem;font-weight:600;line-height:1.4;display:flex}.brand-mark{letter-spacing:-.13em;padding-right:4px;font-size:2rem;font-weight:500;line-height:1}.desktop-nav{gap:32px;font-size:.875rem;display:flex}.desktop-nav a:hover,.text-link:hover{color:#68686d}.nav-actions{align-items:center;gap:12px;display:flex}.button{background:var(--ink);color:#fff;min-height:var(--control-height);border-radius:999px;justify-content:center;align-items:center;gap:27px;max-width:100%;padding:14px 26px;font-size:.875rem;font-weight:500;line-height:1.4;display:inline-flex}.button:not(:disabled):hover{background:#404043}.button-small{min-height:38px;padding:10px 20px;font-size:.8rem}.menu-toggle{background:0 0;width:44px;height:44px;padding:11px;display:none}.menu-toggle span{background:var(--ink);height:1px;margin:6px 0;display:block}.mobile-menu{padding:10px 24px 24px}.mobile-menu:not([hidden]){gap:4px;display:grid}.mobile-menu a{padding:12px 0}.hero{padding-top:68px}.hero-copy{text-align:center;padding:0 24px 54px}.hero .eyebrow{color:var(--muted);margin-bottom:23px}h1{letter-spacing:-.065em;font-size:clamp(3.4rem,6.2vw,6.1rem);font-weight:600;line-height:1.04}h1 span{color:#858589}.hero-description{color:var(--muted);margin-top:24px;font-size:1.18rem;line-height:1.55}.hero-actions{justify-content:center;align-items:center;gap:28px;margin-top:28px;display:flex}.text-link{align-items:center;gap:10px;min-height:44px;font-size:.875rem;display:inline-flex}.hero-visual{background:#e6e6e7;border-radius:22px;height:clamp(350px,44vw,640px);margin:0 24px;position:relative;overflow:hidden}.hero-visual>img{object-fit:cover;object-position:center 45%;width:100%;height:100%}.hero-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0007);position:absolute;inset:50% 0 0}.hero-visual figcaption{z-index:1;color:#fff;justify-content:space-between;gap:20px;font-size:.8rem;display:flex;position:absolute;bottom:30px;left:36px;right:36px}.hero-visual figcaption span:first-child{letter-spacing:.16em;font-size:.7rem}.philosophy{padding-block:120px}.philosophy>.eyebrow{color:var(--muted);margin-bottom:42px}.philosophy-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}h2{letter-spacing:-.052em;font-size:clamp(2.4rem,4.2vw,4rem);font-weight:550;line-height:1.09}h2 span{color:#858589}.philosophy h2{font-size:clamp(3.4rem,5.4vw,5rem)}.philosophy-copy{max-width:470px;padding-top:4px}.philosophy-copy p{color:var(--muted);margin-bottom:22px;font-size:1.05rem;line-height:1.7}.philosophy-copy .statement{letter-spacing:-.03em;color:var(--ink);font-size:1.5rem;font-weight:500;line-height:1.3}.principles{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:32px;padding-top:25px;font-size:.75rem;display:flex}.services{background:var(--soft);padding:104px 0}.section-heading{justify-content:space-between;align-items:end;gap:35px;margin-bottom:48px;display:flex}.section-heading .eyebrow{color:var(--muted);margin-bottom:24px}.section-heading>p{color:var(--muted);padding-bottom:5px;font-size:1rem;line-height:1.6}.bento-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.service-card{border-radius:var(--radius);background:#fff;flex-direction:column;min-height:410px;display:flex;position:relative;overflow:hidden}.card-top{z-index:1;padding:40px 40px 0}.card-top .eyebrow{color:var(--muted);margin-bottom:20px}.card-top h3{letter-spacing:-.045em;font-size:clamp(2rem,3vw,2.9rem);font-weight:550;line-height:1.08}.card-top>p:last-child{color:var(--muted);margin-top:18px;font-size:1rem;line-height:1.55}.cut-card,.color-card{min-height:590px}.cut-image{background:url(/assets/hair.webp) 50% 38%/cover;flex:1;height:270px;margin-top:24px}.color-card{color:#fff;background:#252423}.color-card .eyebrow,.color-card .card-top>p:last-child{color:#ceccca}.color-detail{filter:brightness(.8);background:linear-gradient(#25242333,#25242300),url(/assets/hair.webp) 65% 65%/170%;flex:1;height:270px;margin-top:24px}.card-button{text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:15px;width:100%;margin-top:auto;padding:19px 32px 19px 40px;font-size:.875rem;font-weight:500;display:flex}.card-button:hover{background:#00000006}.color-card .card-button:hover{background:#ffffff10}.plus{color:#333;background:#eeeeef;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;font-weight:400;display:flex}.color-card .plus{color:#fff;background:#464544}.card-note{letter-spacing:-.02em;margin:34px 40px 14px;font-size:1.2rem;line-height:1.4}.card-note span{color:var(--muted)}.styling-card{background:#e8e8ed}.styling-card .plus{background:#fff}.experience{text-align:center;padding-block:114px}.experience>.eyebrow{color:var(--muted);margin-bottom:26px}.experience h2{font-size:clamp(2.1rem,3.7vw,3.4rem)}.experience-intro{color:var(--muted);margin-top:24px;font-size:1.05rem;line-height:1.7}.reviews{text-align:left;grid-template-columns:1fr 1fr;gap:64px;margin-top:60px;display:grid}.review{border-top:1px solid var(--line);padding:25px 8px 0}.quote-mark{color:#97979c;font-size:3rem;line-height:1}.review blockquote{letter-spacing:-.02em;margin-bottom:28px;font-size:1.35rem;line-height:1.5}.review>p{font-size:.85rem}.review>p span{color:var(--muted);margin-top:5px;display:block}.review-disclaimer{color:var(--muted);margin-top:32px;font-size:.75rem}.booking-section{color:#fff;text-align:center;background:#1d1d1f;padding:92px 0 0}.booking-section .eyebrow{color:#b6b6bd;margin-bottom:26px}.booking-section h2{font-size:clamp(3.4rem,6.2vw,5.75rem)}.booking-section h2 span{color:#a1a1a8}.booking-section h2+p{color:#c0c0c5;margin:26px 0;font-size:1.05rem;line-height:1.65}.button-light{color:var(--ink);background:#fff}.button-light:hover{background:#ededf0}.contact-row{text-align:left;border-top:1px solid #ffffff25;grid-template-columns:1fr 1fr 1fr;gap:32px;margin-top:84px;padding:36px 0 42px;display:grid}.contact-label{letter-spacing:.12em;color:#a1a1a8;font-size:.7rem}.contact-row p{color:#e3e3e7;margin-top:12px;font-size:.875rem;line-height:1.8}.contact-row a:hover{text-decoration:underline}.site-footer{justify-content:space-between;align-items:center;gap:28px;padding-block:30px;display:flex}.site-footer p,.site-footer>span{color:var(--muted);font-size:.75rem}.footer-brand{font-size:.75rem}.modal{width:min(550px,100% - 32px);max-height:85dvh;color:var(--ink);border:0;border-radius:28px;padding:48px;box-shadow:0 30px 100px #0003}.modal::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006}.modal .eyebrow{color:var(--muted);margin:10px 28px 20px 0}.modal h2{font-size:2.7rem}.modal-description{color:var(--muted);margin:22px 0;line-height:1.7}.close-button{background:#eeeef0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.6rem;font-weight:300;display:grid;position:absolute;top:17px;right:17px}.service-includes{padding-left:20px;font-size:.95rem;line-height:1.7}.service-includes li{padding-bottom:9px}.service-meta{border-block:1px solid var(--line);color:var(--muted);margin:24px 0;padding:18px 0;font-size:.85rem}.field-label{margin-bottom:10px;font-size:.875rem;font-weight:500;display:block}select{border:1px solid var(--control-border);width:100%;color:var(--ink);min-height:var(--control-height);background:#fff;border-radius:12px;padding:15px 12px;font-size:1rem}.booking-note{color:var(--muted);margin-top:22px;font-size:.875rem;line-height:1.6}#booking-channels{gap:12px;margin-top:24px;display:grid}#booking-channels:empty{display:none}.noscript-message{text-align:center;background:#f5f5f7;padding:24px}@media (min-width:1600px){.hero-visual{max-width:1500px;margin-inline:auto}}@media (max-width:900px){.nav-shell{gap:16px;padding-inline:24px}.desktop-nav{gap:20px}.brand{max-width:230px;font-size:.75rem}.section-shell{width:calc(100% - 48px)}.philosophy-grid{gap:40px}.section-heading{flex-direction:column;align-items:start;gap:20px}.card-top{padding:30px 28px 0}.card-button{padding-inline:28px}.card-note{margin-inline:28px}.reviews{gap:32px}.site-footer{flex-wrap:wrap}.site-footer p{order:3;width:100%}.footer-brand{max-width:none}}@media (max-width:640px){html{scroll-padding-top:80px}.nav-shell{gap:10px;min-height:68px;padding:10px 18px}.brand{gap:8px;max-width:185px;font-size:.7rem}.brand-mark{font-size:1.7rem}.button-small{white-space:nowrap;min-height:38px;padding:9px 14px;font-size:.75rem}.nav-actions{gap:3px}.desktop-nav{display:none}.menu-toggle{flex-shrink:0;display:block}.section-shell{width:calc(100% - 40px)}.hero{padding-top:50px}.hero-copy{padding:0 20px 38px}.hero .eyebrow{margin-bottom:23px;font-size:.65rem}h1{font-size:clamp(2.6rem,11.1vw,4.5rem)}.hero-description{margin-top:20px;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:19px;margin-top:24px}.hero-actions .button{gap:20px;padding-inline:22px}.text-link{font-size:.8rem}.hero-visual{border-radius:18px;height:380px;margin:0 12px}.hero-visual>img{object-position:58% center}.hero-visual figcaption{bottom:21px;left:20px;right:20px}.hero-visual figcaption span:first-child{font-size:.6rem}.hero-visual figcaption span:last-child{display:none}.philosophy{padding-block:72px}.philosophy>.eyebrow{margin-bottom:28px}.philosophy-grid{grid-template-columns:1fr;gap:32px}.philosophy h2{font-size:3.4rem}.philosophy-copy{max-width:none}.philosophy-copy .statement{font-size:1.4rem}.principles{font-size:.7rem}.services{padding-block:70px}.section-heading{margin-bottom:32px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:2.4rem}.bento-grid{grid-template-columns:1fr;gap:18px}.service-card{border-radius:24px;min-height:370px}.cut-card,.color-card{min-height:540px}.card-top{padding:30px 28px 0}.card-top h3{font-size:2.7rem}.cut-image,.color-detail{min-height:220px}.card-top .eyebrow{font-size:.7rem}.experience{padding-block:72px}.experience h2{font-size:2.2rem}.experience h2 br{display:none}.experience h2 span{margin-top:8px;display:block}.experience-intro{font-size:1rem}.reviews{grid-template-columns:1fr;gap:32px;margin-top:36px}.review blockquote{font-size:1.2rem}.review-disclaimer{text-align:left;line-height:1.5}.booking-section{padding-top:72px}.booking-section h2{font-size:3.5rem}.contact-row{grid-template-columns:1fr;gap:28px;margin-top:56px;padding-block:32px}.site-footer{gap:18px;padding-block:24px}.footer-brand{max-width:270px}.modal{padding:34px 26px}.modal h2{font-size:2.25rem}.modal .eyebrow{font-size:.7rem}.modal .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}:where(a,button,input,select,textarea,summary){scroll-margin-block:100px 24px}.modal{overflow-wrap:anywhere;overflow-y:auto}@media (max-width:600px){.modal{max-height:calc(100dvh - 32px)}}h1,h2,h3,.brand,.button{overflow-wrap:anywhere}@media (max-width:640px){.nav-shell,.nav-actions{flex-wrap:wrap}.button-small{white-space:normal;min-height:44px}.nav-actions{min-width:0;max-width:100%}.philosophy-grid>*,.bento-grid>*,.reviews>*{min-width:0}}.button:not(:disabled):active,.secondary-button:not(:disabled):active{transition-duration:80ms;transform:scale(.985)}.secondary-button:not(:disabled):active{background-color:#d5d5dd}@media (prefers-reduced-motion:reduce){.button:not(:disabled):active,.secondary-button:not(:disabled):active{transform:none}}@media (prefers-reduced-transparency:reduce){.site-header{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.modal::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.site-header{background:var(--paper);border-bottom-color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}}.location-map{isolation:isolate;color:#111;text-align:left;background:#e9edf0;border:1px solid #ffffff38;border-radius:26px;min-width:0;height:390px;position:relative;overflow:hidden;box-shadow:0 20px 55px #0002}.location-map-canvas,.location-map-placeholder,.location-leaflet{width:100%;height:100%;position:absolute;inset:0}.location-map-canvas{z-index:0}.location-leaflet{z-index:0;background:#e9edf0;font-family:inherit}.location-leaflet .leaflet-tile-pane{filter:grayscale(.55)saturate(.3)brightness(1.08)contrast(.85)}.location-map:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#ffffffe8 0%,#ffffff6b 23%,#0000 44% 57%,#ffffff94 76%,#ffffffed 100%);position:absolute;inset:0}.location-map-heading{z-index:3;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:22px;left:22px;right:22px}.location-map-heading>span{letter-spacing:.14em;text-transform:uppercase;color:#596372;font-size:10px}.location-map-heading>strong{letter-spacing:-.05em;text-wrap:balance;font-size:27px;line-height:1.1}.location-map-caption{z-index:3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #fff9;border-radius:17px;gap:6px;padding:13px 15px;font-size:11px;line-height:1.5;display:grid;position:absolute;bottom:35px;left:18px;right:18px;box-shadow:0 6px 22px #26374a12}.location-map-caption>span{color:#586271}.location-map-caption>a{color:#2457cc;justify-content:space-between;align-items:center;gap:12px;min-height:32px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.location-map-caption>a>span{font-size:20px}.location-map-attribution{z-index:4;color:#49535f;text-underline-offset:2px;background:#ffffffe0;border-radius:4px;width:fit-content;margin-left:auto;padding:2px 5px;font-size:9px;line-height:1.3;text-decoration:underline;position:absolute;bottom:9px;left:15px;right:15px}.location-map-hit{z-index:2;position:absolute;inset:0}.location-map-hit:focus-visible{outline-offset:-6px;border-radius:24px;outline:3px solid #3467eb}.location-map-placeholder{background:radial-gradient(at 75% 30%,#dce8df,#0000 60%),linear-gradient(130deg,#edf0f2,#dfe5eb)}.location-map-pin{pointer-events:none;color:#3467eb;filter:drop-shadow(0 5px 8px #25447830);flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:48%;left:50%;transform:translate(-50%,-70%)}.location-map-pin>span{color:#333;background:#fffffff2;border-radius:10px;padding:6px 10px;font-size:12px}.location-map-pin svg{width:38px;height:47px}.location-map-pin i{display:none}.location-map-pending .location-map-pin{color:#9199a4;opacity:.5}.location-map-empty{z-index:3;text-align:center;color:#606b79;font-size:12px;position:absolute;bottom:135px;left:15px;right:15px}.studio-map-marker{color:#3467eb;filter:drop-shadow(0 6px 8px #234f9c45)}.studio-map-marker svg{width:44px;height:54px;position:relative}.studio-map-marker-shadow{filter:blur(2px);background:#25427825;border-radius:50%;width:28px;height:8px;position:absolute;bottom:0;left:8px}.location-map-preview{z-index:3;color:#2457cc;background:#fffffff2;border:1px solid #d2d8e0;border-radius:99px;min-height:44px;padding:10px 14px;font-size:12px;font-weight:600;position:absolute;top:58%;left:18px;right:18px;box-shadow:0 5px 15px #0001}.location-map-preview:focus-visible,.location-map-caption a:focus-visible{outline-offset:3px;outline:3px solid #3467eb}.location-map-load-error{z-index:2;text-align:center;color:#555;pointer-events:none;background:#ffffffe6;border-radius:10px;padding:10px;font-size:11px;position:absolute;top:48%;left:20px;right:20px}@media (max-width:760px){.location-map{border-radius:23px;height:350px}.location-map-heading{top:20px;left:20px;right:20px}.location-map-caption{padding:12px 14px;bottom:34px;left:14px;right:14px}.location-map-heading>strong{font-size:25px}}.route-entrance{min-height:100svh;animation:.26s cubic-bezier(.2,.7,.2,1) both route-arrive}@keyframes route-arrive{0%{opacity:.92}to{opacity:1}}@media (prefers-reduced-motion:reduce){.route-entrance{animation:none}}body input:focus-visible,body textarea:focus-visible,body .field input:focus-visible,body .field textarea:focus-visible,body .account-page .field input:focus-visible,body .calendar-editable>input:focus-visible{border-color:#333;outline:none;box-shadow:inset 0 0 0 1px #333}
:root{--app-border:var(--line);--app-muted:var(--muted)}.app-header{border-bottom:1px solid var(--app-border);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:auto;min-height:80px;padding:20px 5%;display:flex}.app-shell{max-width:900px;margin:auto;padding:90px 24px}.app-shell h1{font-size:3rem}.app-shell p{margin:24px 0}.muted{color:var(--app-muted);line-height:1.6}.small{font-size:.85rem;line-height:1.6}.wide{width:100%}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.call-link{white-space:nowrap;font-size:.9rem}.back-link{margin-bottom:60px;font-size:.9rem;display:block}.booking-page{background:#f5f5f7;min-height:100vh}.booking-layout{grid-template-columns:390px 1fr;gap:60px;max-width:1160px;margin:auto;padding:64px 32px 96px;display:grid}.booking-aside h1{letter-spacing:-.055em;font-size:3rem;line-height:1.1}.booking-aside .eyebrow{color:var(--app-muted);margin-bottom:24px}.steps{margin:48px 0;padding:0;list-style:none}.steps li{color:var(--muted);align-items:center;gap:14px;padding:13px 0;font-size:.95rem;display:flex}.steps li>span{border:1px solid #c7c7cd;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.8rem;display:grid}.steps .current{color:var(--ink);font-weight:600}.steps .current>span,.steps .complete>span{background:var(--ink);border-color:var(--ink);color:#fff}.booking-summary{border-top:1px solid var(--app-border);margin-bottom:24px;padding:24px 0;font-size:.95rem}.booking-summary p{color:var(--muted);margin-top:8px;line-height:1.6}.booking-content{background:#fff;border-radius:28px;align-self:start;min-width:0;padding:40px}.booking-content>.eyebrow{color:var(--muted);margin-bottom:26px}.booking-content h2{margin-bottom:18px;font-size:2.4rem}.service-options{gap:12px;margin:28px 0;display:grid}.service-option{border:1px solid var(--app-border);cursor:pointer;border-radius:16px;align-items:start;gap:14px;padding:20px;display:flex}.service-option.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#f7f7f8}.service-option input{accent-color:var(--ink);margin:4px 0 0}.service-option span{gap:8px;display:grid}.service-option small{color:var(--muted);font-size:.85rem;line-height:1.5}.service-option b{font-size:.85rem;font-weight:500}.field{min-width:0;margin:20px 0;font-size:.875rem;font-weight:500;display:block;position:relative}.field-caption{z-index:1;color:var(--muted);pointer-events:none;transform-origin:0 0;font-size:.75rem;line-height:1.4;transition:top .16s,transform .16s,color .16s;position:absolute;top:8px;left:16px}.field[data-floating=true]>.field-caption{top:28px;transform:translateY(-50%)scale(1.08)}.field[data-floating=true]:focus-within>.field-caption{color:var(--ink);top:8px;transform:none}.field[data-floating=true]:has(:is(input,textarea):not(:placeholder-shown))>.field-caption{color:var(--ink);top:8px;transform:none}.field input,.field textarea,.field select{border:1px solid var(--control-border);color:var(--ink);font:inherit;border-radius:var(--control-radius);min-height:max(56px, var(--control-height));background:#fff;width:100%;max-width:100%;padding:24px 14px 8px;font-size:1rem;font-weight:400}.field textarea{resize:vertical;min-height:112px;line-height:1.6}.field[data-floating=true] :is(input,textarea)::placeholder{color:#0000}.field[data-floating=true]:focus-within :is(input,textarea)::placeholder{color:var(--muted)}.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.field :is(input,textarea,select)[aria-invalid=true]{border-color:#9e2525}@media (prefers-reduced-motion:reduce){.field-caption{transition:none}}.two-fields{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.phone-fields{grid-template-columns:180px 1fr;gap:16px;display:grid}.slot-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0;display:grid}.slot-options button,.day-tabs button{background:#fff;border:1px solid #d5d5dc;border-radius:10px;min-height:44px;padding:10px;font-size:.875rem}.slot-options button[aria-pressed=true],.day-tabs button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.secondary-button{min-height:var(--control-height);background:#eeeef1;border-radius:999px;padding:12px 18px;font-size:.875rem;font-weight:500;line-height:1.4}.secondary-button:not(:disabled):hover{background:#dddde3}.check-label{align-items:start;gap:10px;min-height:44px;margin:20px 0;font-size:.875rem;line-height:1.6;display:flex}.check-label input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0;margin:2px 0}.privacy-details{margin:24px 0;font-size:.85rem;line-height:1.6}.privacy-details p{white-space:pre-wrap;color:var(--muted);margin-top:12px}.privacy-details a{text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.privacy-details summary,.setup-help summary{cursor:pointer;min-height:44px;padding-block:10px}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.error-message,.notice,.warning{border-radius:var(--feedback-radius);margin:var(--feedback-space) 0;overflow-wrap:anywhere;padding:18px 20px;font-size:.9rem;line-height:1.6}.error-message{color:#9e2525;background:#fff0f0}.error-text{color:#9e2525}.notice{color:#45454d;background:#f0f1f5}.warning{color:#73571e;background:#fff6df}.empty-state,.success-state{text-align:center;padding:30px 0}.empty-state p,.success-state p{margin:20px 0;line-height:1.6}.empty-symbol,.success-symbol{border:1px solid var(--app-border);border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 30px;font-size:1.8rem;display:grid}.success-symbol{background:var(--ink);color:#fff}.login-page{background:#f5f5f7;min-height:100vh;padding:36px 5%}.login-card{background:#fff;border-radius:28px;max-width:460px;margin:64px auto;padding:44px}.login-card h1{margin:24px 0 16px;font-size:2.9rem}.login-card .button{margin-top:15px}.setup-help{color:var(--muted);margin-top:28px;font-size:.8rem;line-height:1.6}.setup-help p{margin-top:12px}.header-right{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.admin-tag{letter-spacing:.15em;background:#eeeef1;border-radius:4px;padding:4px 8px;font-size:.6rem}.admin-page{background:#f5f5f7;min-height:100vh}.admin-layout{grid-template-columns:220px minmax(0,1fr);max-width:1500px;margin:auto;display:grid}.admin-nav{flex-direction:column;align-self:start;gap:8px;padding:38px 20px;display:flex;position:sticky;top:0}.admin-nav button,.admin-nav a{text-align:left;background:0 0;border-radius:12px;padding:14px 16px;font-size:.9rem}.admin-nav .active{background:var(--ink);color:#fff}.admin-nav a{color:var(--muted)}.admin-nav a.admin-nav-team{color:#27365c;background:#ebeffa;margin-top:22px;font-weight:650}.admin-nav button:not(.active):hover,.admin-nav a:hover{color:var(--ink);background:#e9e9ed}.admin-main{min-width:0;padding:44px 40px 90px}.admin-title{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.admin-title h1{margin-top:16px;font-size:3.2rem}.admin-title .eyebrow{color:var(--muted)}.status-strip{color:var(--muted);flex-wrap:wrap;gap:16px;margin-bottom:28px;font-size:.8rem;display:flex}.status-strip span{border:1px solid var(--app-border);background:#fff;border-radius:99px;padding:8px 12px}.admin-draft-banner{background:#fffaf0;border:1px solid #d6bc80;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:0 0 26px;padding:16px 20px;display:flex}.admin-draft-banner p{max-width:62ch;line-height:1.5}.admin-draft-banner .form-actions{margin:0}.overview{gap:26px;display:grid}.overview-intro,.overview-section-head{justify-content:space-between;align-items:start;gap:18px;display:flex}.overview-intro p:last-child,.overview-section-head p{color:var(--muted);line-height:1.5}.overview-date{margin-bottom:5px;font-size:1.25rem;font-weight:650}.overview-shortcuts{flex-wrap:wrap;gap:10px;display:flex}.overview-shortcuts>*{justify-content:center;align-items:center;min-height:46px;display:inline-flex}.overview-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr);gap:18px;display:grid}.overview-next,.overview-attention{border-radius:22px;min-width:0;padding:clamp(22px,3vw,36px)}.overview-next{color:#fff;background:#1d1d1f;flex-direction:column;min-height:330px;display:flex}.overview-next .overview-section-head span{color:#d0d1d8}.overview-section-head h2{font-size:1.25rem;line-height:1.2}.overview-section-head span{text-align:right;font-size:.85rem;line-height:1.5}.overview-time{letter-spacing:-.065em;font-variant-numeric:tabular-nums;margin-top:auto;padding-top:35px;font-size:clamp(4rem,9vw,7rem);line-height:1}.overview-next-date{text-transform:capitalize;margin-top:8px;font-size:1rem}.overview-next-detail{border-top:1px solid #55565e;flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin-top:24px;padding-top:16px;line-height:1.5;display:flex}.overview-next-detail strong{font-size:1.1rem}.overview-next-detail span{color:#d0d1d8}.overview-empty{margin-top:auto;padding-top:40px}.overview-empty strong{max-width:14ch;font-size:2rem;line-height:1.1;display:block}.overview-empty p{color:#d0d1d8;max-width:40ch;margin-top:12px;line-height:1.5}.overview-attention{border:1px solid var(--app-border);background:#fff;flex-direction:column;display:flex}.overview-attention .overview-section-head{border-bottom:1px solid var(--app-border);padding-bottom:18px}.overview-issues{margin:0;padding:0;list-style:none}.overview-issues li{border-bottom:1px solid var(--app-border);padding:17px 0}.overview-issues strong{line-height:1.4}.overview-issues p,.overview-attention-empty{color:var(--muted);margin-top:5px;line-height:1.5}.overview-issues button,.overview-issues a,.overview-upcoming .overview-section-head button{color:#263e78;text-underline-offset:4px;text-align:left;background:0 0;min-height:44px;padding:8px 0;font-weight:650;text-decoration:underline}.overview-team-count{color:var(--muted);margin-top:auto;padding-top:18px;font-size:.85rem}.overview-upcoming{border:1px solid var(--app-border);background:#fff;border-radius:22px;padding:clamp(22px,3vw,32px)}.overview-upcoming ol{margin:18px 0 0;padding:0;list-style:none}.overview-upcoming li{border-top:1px solid var(--app-border);grid-template-columns:minmax(160px,1.1fr) minmax(120px,1fr) minmax(140px,1fr);align-items:baseline;gap:12px;padding:15px 0;line-height:1.5;display:grid}.overview-upcoming time{font-variant-numeric:tabular-nums}.overview-upcoming li span,.overview-list-empty,.overview-updated{color:var(--muted)}.overview-list-empty{margin-top:18px}.overview-updated{font-size:.82rem;line-height:1.5}@media (max-width:1050px){.overview-grid{grid-template-columns:1fr}}@media (max-width:700px){.overview-intro,.overview-section-head{flex-wrap:wrap}.overview-upcoming li{grid-template-columns:1fr;gap:2px}.overview-shortcuts>*{flex:150px}.overview-time{font-size:clamp(4rem,20vw,6rem)}}.admin-card{border:1px solid var(--app-border);background:#fff;border-radius:22px;margin:24px 0;padding:30px}.admin-card h2{margin-bottom:18px;font-size:1.7rem}.admin-card h3{font-size:1.15rem;line-height:1.5}.admin-card p{margin-block:14px}.toolbar{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.toolbar .field{margin:0 0 14px}.booking-list{gap:12px;margin-top:22px;display:grid}.booking-row{border:1px solid var(--app-border);overflow-wrap:anywhere;background:#fff;border-radius:18px;grid-template-columns:160px 1fr 1fr;gap:24px;padding:24px;display:grid}.booking-row.affected{border-color:#d5ad58}.booking-row h3{font-size:1rem;line-height:1.5}.booking-row p,.booking-row a{font-size:.85rem;line-height:1.7}.booking-date{color:var(--muted);flex-direction:column;gap:7px;font-size:.8rem;display:flex}.booking-date strong{color:var(--ink);font-size:1.6rem;font-weight:500}.badge{background:#f0f0f3;border-radius:30px;margin-bottom:8px;padding:5px 10px;font-size:.75rem;display:inline-block}.row-actions{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.row-actions button{text-underline-offset:4px;background:0 0;padding:5px 0;font-size:.8rem;text-decoration:underline}.day-tabs{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.window-row{grid-template-columns:1fr 1fr auto;align-items:center;gap:14px;display:grid}.admin-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.admin-slot{background:#f5f5f7;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex}.admin-slot label{align-items:center;gap:7px;font-size:.875rem;display:flex}.admin-slot input[type=number]{background:#fff;border:1px solid #d1d1d6;border-radius:6px;width:50px;padding:8px 4px;font-size:.85rem}.closed-toggle{font-weight:600}.closed-toggle input{width:22px;height:22px}.exception{border-top:1px solid var(--app-border);padding:20px 0}.exception summary{cursor:pointer;font-size:.95rem}.service-edit{border-top:1px solid var(--app-border);padding:22px 0}.mail-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f5f5f7;border-radius:14px;margin:24px 0;padding:24px;font-size:1rem;line-height:1.7}.booking-row a:hover{text-decoration:underline}@media (max-width:1050px){.booking-layout{grid-template-columns:300px 1fr;gap:30px}.booking-content{padding:30px}.admin-layout{grid-template-columns:180px minmax(0,1fr)}.admin-main{padding:35px 24px}.admin-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-row{grid-template-columns:130px 1fr}.booking-row>div:last-child{grid-column:2}.admin-title h1{font-size:2.5rem}}@media (max-width:760px){.app-header{flex-wrap:wrap;gap:14px;padding:18px 20px}.app-header .brand{max-width:none}.booking-layout{grid-template-columns:1fr;gap:24px;padding:30px 18px 60px}.booking-aside h1{font-size:2.2rem}.back-link{margin-bottom:30px}.booking-aside .eyebrow{margin-bottom:14px}.steps{justify-content:space-between;gap:14px;margin:24px 0 0;display:flex}.steps li{gap:7px;font-size:.75rem}.steps li>span{flex-shrink:0;width:25px;height:25px}.booking-summary{margin-top:20px;margin-bottom:0;padding:15px 0 0}.booking-aside>.small{display:none}.booking-content{padding:28px 22px}.booking-content h2{font-size:2rem}.slot-options{grid-template-columns:repeat(2,minmax(0,1fr))}.two-fields{grid-template-columns:1fr}.phone-fields{grid-template-columns:120px 1fr;gap:10px}.login-card{margin-top:44px;padding:30px 24px}.login-card h1{font-size:2.5rem}.admin-layout{display:block}.admin-nav{flex-flow:wrap;gap:8px;padding:16px;position:static}.admin-nav button,.admin-nav a{white-space:normal;overflow-wrap:anywhere;flex-shrink:0;max-width:100%;min-height:44px;padding:10px 14px;font-size:.8rem}.admin-nav a{margin:0}.admin-main{padding:24px 18px 60px}.admin-title{flex-direction:column;align-items:start}.admin-title h1{font-size:2.6rem}.admin-card{padding:22px 18px}.admin-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.window-row{grid-template-columns:1fr 1fr}.window-row .secondary-button{grid-column:1/-1;justify-self:start}.booking-row{grid-template-columns:1fr;gap:18px;padding:20px}.booking-row>div:last-child{grid-column:auto}.booking-date{flex-flow:wrap;align-items:center;gap:12px}.header-right{gap:10px}.header-right>.small{overflow-wrap:anywhere;max-width:220px}.admin-card .booking-content{padding:0}.slot-options button{font-size:.8rem}.service-option{padding:16px}.field input[type=date]{appearance:none;min-width:0}}.booking-details-fields{border:0;min-width:0;margin:0;padding:0}.booking-field{min-width:0;margin:16px 0}.field-error{color:#9e2525;margin:8px 0 0;font-size:.85rem;line-height:1.5;display:block}.field-hint{color:var(--muted);margin:-6px 0 18px;font-size:.85rem;line-height:1.5}.booking-details-fields:disabled{opacity:.7}.account-page,.team-page{overflow-wrap:anywhere;max-width:1050px;margin:40px auto;padding:24px}.account-page{max-width:680px}.team-access-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.account-page fieldset,.team-page fieldset{border:0;min-width:0;padding:0}.panel,.team-row{border:1px solid #ddd;border-radius:18px;margin:16px 0;padding:20px}.account-links{background:#f5f5f7;justify-content:flex-end;gap:20px;padding:12px 24px;display:flex}.team-row button{margin-left:16px}.team-page textarea{width:100%;font-family:monospace}.account-page .form-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px}.team-page h1,.account-page h1{overflow-wrap:anywhere}.team-page{max-width:1180px;margin-top:12px}.team-page button{margin:0}.team-links{flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:.88rem;display:flex}.team-links a{color:#27365c;text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.team-hero{border-bottom:1px solid var(--app-border);margin-bottom:30px;padding:25px 0 28px}.team-hero .eyebrow,.team-section-heading .eyebrow{color:var(--muted);margin-bottom:10px}.team-hero h1{letter-spacing:-.055em;margin:0 0 16px;font-size:clamp(2.8rem,6vw,4.5rem);line-height:1.04}.team-hero>p:last-child{color:var(--muted);max-width:64ch;line-height:1.55}.team-agenda,.team-people,.team-editor,.team-policy,.team-access-state{border:1px solid var(--app-border);background:#fff;border-radius:24px;min-width:0;margin:24px 0;padding:clamp(20px,3.5vw,38px)}.team-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.team-page .team-section-heading h2,.team-page .team-policy h2{margin:0 0 9px;font-size:clamp(1.8rem,3vw,2.5rem)}.team-section-heading p:last-child,.team-policy p,.team-editor-note,.team-exception>p,.team-move>p{color:var(--muted);max-width:68ch;line-height:1.55}.team-editor h2[tabindex="-1"]:focus{outline:2px solid var(--focus-color);outline-offset:6px;border-radius:3px}.team-scope{color:#205737;white-space:nowrap;background:#edf4ee;border:1px solid #c7dfce;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:650}.team-scope.read-only{color:#293f73;background:#eef1f9;border-color:#cbd5ed}.team-agenda-controls{border-top:1px solid var(--app-border);border-bottom:1px solid var(--app-border);margin-top:28px;padding:25px 0}.team-date-nav,.team-agenda-filters,.team-agenda-actions,.team-booking-actions,.team-move-actions,.team-editor-footer,.team-exception-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.team-date-nav>.calendar-field{width:220px;max-width:100%}.team-date-nav>button{min-width:48px;min-height:48px}.team-agenda-filters{gap:16px;margin-top:20px}.team-agenda-filters>.field{flex:220px;min-width:0}.team-agenda-actions{align-items:center;margin:22px 0}.team-agenda-actions>span{color:var(--muted);margin-right:auto}.team-booking-list{gap:10px;display:grid}.team-booking{border-top:1px solid var(--app-border);grid-template-columns:130px minmax(0,1fr) minmax(190px,auto);align-items:start;gap:18px;padding:20px 0;display:grid}.team-booking>*{min-width:0}.team-booking-time time{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.1;display:block}.team-booking-time span,.team-booking-details p{color:var(--muted);font-size:.85rem;line-height:1.5}.team-booking-details h3{margin:1px 0 5px;font-size:1.12rem}.team-booking-details .team-customer{color:var(--ink);overflow-wrap:anywhere;margin-top:8px}.team-booking-side{text-align:right}.team-booking-status{background:#f0f1f3;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:650;display:inline-block}.team-booking-actions{justify-content:flex-end;margin-top:12px}.team-booking-actions button{min-height:42px}.team-empty,.team-move{background:#f7f8fb;border-radius:18px;padding:26px}.team-empty h3{margin-bottom:8px;font-size:1.25rem}.team-empty p,.team-move p{color:var(--muted);line-height:1.5}.team-move{gap:18px;margin-top:24px;display:grid}.team-move .field{max-width:420px}.team-booking-form{margin:20px 0}.team-editor-identity,.team-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:18px;margin:24px 0;display:grid}.team-editor-identity .check-label{grid-column:1/-1}.team-editor .check-label{margin:18px 0}.team-exception{border-top:1px solid var(--app-border);margin-top:30px;padding-top:26px}.team-exception h3{margin-bottom:7px;font-size:1.4rem}.team-exception-actions{margin:20px 0}.team-exception-actions .calendar-field{width:220px}.team-exception-editor{margin:20px 0}.team-editor-footer{border-top:1px solid var(--app-border);justify-content:flex-end;margin-top:30px;padding-top:26px}.team-people-list{margin-top:22px}.team-person{border-top:1px solid var(--app-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;display:flex}.team-person>div{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.team-person span{color:var(--muted);font-size:.85rem}.team-policy .check-label{margin-top:20px}@media (max-width:820px){.team-booking{grid-template-columns:105px minmax(0,1fr)}.team-booking-side{text-align:left;grid-column:2}.team-booking-actions{justify-content:flex-start}}@media (max-width:600px){.team-hero{padding-top:24px}.team-booking{grid-template-columns:1fr;gap:9px}.team-booking-side{grid-column:1}.team-date-nav>.calendar-field{flex:180px;width:auto}.team-agenda-actions>span{flex-basis:100%}.team-editor-identity,.team-editor-fields{grid-template-columns:1fr}.team-editor-identity .check-label{grid-column:1}.team-page,.account-page{margin:16px auto;padding:16px}.team-row button{margin-left:0}.team-page .panel{padding:14px}.account-page .form-actions button{flex:auto}}.team-page h2,.account-page h2{letter-spacing:-.03em;margin-block:32px 18px;font-size:1.7rem;line-height:1.2}.admin-slots{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.admin-slot{min-width:0;min-height:64px}.admin-slot input[type=number]{flex-shrink:0;width:60px;min-height:44px}.row-actions button{min-height:44px}@media (max-width:600px){.team-page button,.account-page button{max-width:100%;min-height:44px}.team-page .window-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:400px){.phone-fields{grid-template-columns:1fr;gap:0}}.booking-content h2[tabindex="-1"]:focus-visible{outline:2px solid var(--focus-color);outline-offset:6px}.booking-review p{margin:8px 0 0}.account-page>form,.account-page>p,.team-page>p{margin-block:16px}.booking-aside{min-width:0}@media (max-width:760px){.booking-layout{grid-template-columns:minmax(0,1fr)}.steps{flex-wrap:wrap}.steps li{min-width:0}}.admin-editing{border:0;min-width:0;margin:0;padding:0}.account-page>h1,.team-page>h1{letter-spacing:-.04em;margin-block:24px;font-size:3.2rem;line-height:1.1}@media (max-width:760px){.account-page>h1,.team-page>h1{font-size:2.5rem}}@media (hover:hover) and (pointer:fine){.slot-options button:not(:disabled):not([aria-pressed=true]):hover,.day-tabs button:not(:disabled):not([aria-pressed=true]):hover{background-color:var(--soft);border-color:var(--muted)}}.slot-options button:not(:disabled):not([aria-pressed=true]):active,.day-tabs button:not(:disabled):not([aria-pressed=true]):active{background-color:#e5e5e9}@media (prefers-contrast:more){.field input,.field select,.field textarea,.slot-options button,.day-tabs button{border-color:var(--ink)}}.field select{appearance:none;cursor:pointer;background-color:#f5f7ff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 6 5 5 5-5' stroke='%23374468' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 17px center;background-repeat:no-repeat;border-color:#b8c4e4;padding-right:48px;transition:background-color .15s,border-color .15s,box-shadow .15s}.field select:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.field select:disabled{cursor:not-allowed;opacity:.65}.field select option{color:var(--ink);background:#fff}@media (hover:hover) and (pointer:fine){.field select:not(:disabled):hover,.field input:not(:disabled):hover,.field textarea:not(:disabled):hover{border-color:#7789c0;box-shadow:0 4px 14px #41539317}.header-action:hover{background:#e5ebff;border-color:#788bc2}.admin-slot:not(.is-disabled):hover{background:#e7edff;transform:translateY(-2px)}}.field input[type=date],.field input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;cursor:pointer;background-color:#f8faff;border-color:#b8c4e4}.field input:is([type=date],[type=time])::-webkit-calendar-picker-indicator{cursor:pointer;background-color:#e4eafe;border-radius:8px;padding:8px}.phone-fields{grid-template-columns:minmax(190px,.9fr) minmax(0,1.1fr)}.phone-fields>.field-hint{grid-column:1/-1;margin-top:-6px}.steps li{gap:18px;padding:14px 0;font-size:1rem}.steps li>span{flex:0 0 46px;width:46px;height:46px;font-size:1.08rem;font-weight:700}.header-action{color:#26365e;background:#f3f6ff;border:1px solid #bdc8e7;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:.88rem;font-weight:650;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.header-action:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.admin-card>.two-fields,.admin-card>.toolbar{background:#f8faff;border:1px solid #e0e6f5;border-radius:18px;padding:14px 18px}.admin-card>.toolbar .field{margin:0}.window-row{background:#f8faff;border:1px solid #dfe6f5;border-radius:18px;margin-bottom:10px;padding:10px 14px}.window-row .field{margin:0}.field.window-start input[type=time]{background-color:#f0faf5;border-color:#9ac9bc}.field.window-end input[type=time]{background-color:#fff8ef;border-color:#e6c599}.window-start .field-caption{color:#286c50}.window-end .field-caption{color:#86602e}.admin-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-slot{background:#f0f4ff;border:1px solid #dbe3f3;border-radius:16px;min-height:76px;padding:12px 14px;transition:background-color .15s,transform .15s}.admin-slot.is-disabled{color:#72747a;opacity:.8;background:#f4f4f5}.admin-slot label{font-weight:600}.admin-slot input[type=checkbox]{accent-color:#3d548c;width:20px;height:20px}.admin-slot input[type=number]{text-align:center;border-color:#aebde0;border-radius:10px;width:62px;min-height:46px;font-weight:600}.service-remove{margin-top:10px}.template-variables{flex-wrap:wrap;gap:8px;display:flex}.template-variables button{min-height:42px}.admin-card p,.booking-content p,.account-page p{text-wrap:pretty}@media (max-width:760px){.admin-slots,.window-row{grid-template-columns:repeat(2,minmax(0,1fr))}.window-row .secondary-button{grid-column:1/-1}}@media (max-width:480px){.phone-fields,.admin-slots,.window-row{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.field select,.header-action,.admin-slot{transition:none}}.field.choice-field,.field.calendar-field{position:relative}.choice-trigger{width:100%;min-height:max(56px, var(--control-height));border-radius:var(--control-radius);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#f8faff;border:1px solid #b8c4e4;justify-content:space-between;align-items:center;gap:16px;padding:24px 16px 8px;font-size:1rem;font-weight:400;display:flex}.choice-trigger:hover:not(:disabled),.choice-trigger[aria-expanded=true]{border-color:#7789c0;box-shadow:0 4px 14px #41539317}.choice-trigger:focus-visible,.choice-option:focus-visible,.calendar-popover button:focus-visible,.calendar-popover input:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.choice-trigger:disabled{cursor:not-allowed;opacity:.6}.choice-trigger[aria-invalid=true]{border-color:#9e2525}.choice-placeholder{color:var(--muted)}.choice-chevron{border-bottom:1.8px solid;border-right:1.8px solid;flex:none;width:9px;height:9px;margin:-5px 5px 0 0;transform:rotate(45deg)}.calendar-icon{flex:none;width:22px;height:22px}.choice-popover,.calendar-popover{z-index:100;background:#fff;border:1px solid #dce3f1;border-radius:20px;width:max(100%,260px);max-width:min(420px,100vw - 32px);padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 50px #1b244529}.choice-popover.opens-above,.calendar-popover.opens-above{top:auto;bottom:calc(100% + 8px)}.choice-options{overscroll-behavior:contain;max-height:min(320px,48vh);overflow-y:auto}.choice-option{width:100%;min-height:48px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:11px 14px;font-size:.95rem;line-height:1.4;display:flex}.choice-option:hover:not(:disabled),.choice-option:focus-visible{background:#f0f3fb}.choice-option[aria-selected=true]{color:#243968;background:#e9eefb;font-weight:650}.choice-option:disabled{opacity:.45;cursor:not-allowed}.choice-check{flex:none}.calendar-popover{width:min(340px,100vw - 32px);padding:16px}.calendar-heading,.calendar-actions,.calendar-manual>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-heading{margin-bottom:14px}.calendar-heading strong{font-size:.98rem}.calendar-nav{width:38px;height:38px;color:var(--ink);cursor:pointer;background:#f0f3fb;border:0;border-radius:11px;font-size:1.6rem}.calendar-nav:hover:not(:disabled){background:#e3eafa}.calendar-nav:disabled{opacity:.35;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekday{color:var(--muted);text-align:center;padding:7px 0;font-size:.72rem}.calendar-day{aspect-ratio:1;min-height:36px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px}.calendar-day:hover:not(:disabled){background:#e9eefb}.calendar-day.is-today{box-shadow:inset 0 0 0 1px #7789c0}.calendar-day.is-selected{color:#fff;box-shadow:none;background:#243968}.calendar-day:disabled{opacity:.28;cursor:not-allowed}.calendar-manual{border-top:1px solid #edf0f6;margin-top:14px;padding-top:14px}.calendar-manual>label{color:var(--muted);margin-bottom:8px;font-size:.8rem;display:block}.calendar-manual input{min-width:0;height:40px;min-height:40px;font:inherit;border:1px solid #cbd4e7;border-radius:10px;flex:1;padding:8px 10px}.calendar-manual button,.calendar-actions button{color:#243968;min-height:40px;font:inherit;cursor:pointer;background:#f0f3fb;border:0;border-radius:10px;padding:7px 12px}.calendar-manual button:hover,.calendar-actions button:hover:not(:disabled){background:#e3eafa}.calendar-actions{justify-content:flex-start;margin-top:12px}.calendar-actions button:disabled{opacity:.4;cursor:not-allowed}.window-start .choice-trigger{background:#f0faf5;border-color:#9ac9bc}.window-end .choice-trigger{background:#fff8ef;border-color:#e6c599}@media (max-width:450px){.choice-popover,.calendar-popover{max-width:min(340px,100vw - 32px)}.calendar-popover,.calendar-popover.opens-above{width:auto;max-width:none;max-height:calc(100dvh - 32px);position:fixed;inset:auto 16px 16px;overflow-y:auto}}@media (prefers-reduced-motion:reduce){.choice-trigger,.choice-option,.calendar-day{scroll-behavior:auto}}.booking-page{background:#f8f7f2}body:has(.booking-page,.admin-page)>.account-links{display:none}body:has(.account-page,.team-page,.login-page)>.account-links{color:#f8f7f2;background:#1a1a18;align-items:center;gap:8px;min-height:64px;padding:8px clamp(18px,5vw,64px)}body:has(.team-page,.team-access,.login-page)>.account-links{display:none}.account-links a{border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:9px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.account-links a:last-child{color:#1a1a18;background:#d5c19b}@media (hover:hover) and (pointer:fine){.account-links a:hover{background:#34332e}.account-links a:last-child:hover{background:#e6d6b8}}.account-links a:active{transform:scale(.97)}.admin-page .app-header{color:#f8f7f2;background:#1a1a18;border-bottom:1px solid #45443e;min-height:76px}.login-page>.brand{color:#f8f7f2;background:#1a1a18;border-radius:10px;width:fit-content;max-width:100%;padding:10px 16px}.admin-page .app-header .muted{color:#d0cdc4}.admin-page .admin-tag{color:#1a1a18;background:#d5c19b}.admin-page .header-right .secondary-button{color:#f8f7f2;background:#34332e;border:1px solid #77736a;min-height:44px}.admin-page .header-right .secondary-button:hover{background:#555148}.admin-page,.login-page{background:#f4f2ed}.admin-nav .active{background:#34332e}.admin-nav a.admin-nav-team{color:#34332e;background:#eae2d4}.admin-nav button:not(.active):hover,.admin-nav a:hover{background:#e6e1d8}.admin-page .header-action{color:#34332e;background:#f3eee5;border-color:#c5bcae}.admin-page .admin-card>.two-fields,.admin-page .admin-card>.toolbar,.admin-page .window-row{background:#fbfaf7;border-color:#ddd8ce}.admin-page .admin-slot{background:#f3efe7;border-color:#d7cec0}.admin-page .admin-slot:not(.is-disabled):hover{background:#eae1d1}.admin-page .admin-slot input[type=checkbox]{accent-color:#34332e}.admin-page .admin-slot input[type=number]{border-color:#bfb4a3}:is(.admin-page,.account-page,.team-page,.booking-page) .field select{color:#34332e;background-color:#f9f7f2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 6 5 5 5-5' stroke='%2334332e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");border-color:#bcb4a8}:is(.admin-page,.account-page,.team-page,.booking-page) .field input:is([type=date],[type=time]){background-color:#f9f7f2;border-color:#bcb4a8}:is(.admin-page,.account-page,.team-page,.booking-page) .field input:is([type=date],[type=time])::-webkit-calendar-picker-indicator{background-color:#eae2d4}@media (hover:hover) and (pointer:fine){:is(.admin-page,.account-page,.team-page,.booking-page) .field :is(input,select,textarea):not(:disabled):hover{border-color:#8b7960;box-shadow:0 4px 14px #34332e14}}@media (max-width:760px){.admin-page .app-header{flex-wrap:nowrap;padding:10px 18px}.admin-page .app-header .small{display:none}.admin-nav{overscroll-behavior-x:contain;scrollbar-width:thin;border-bottom:1px solid #dfd9cf;flex-wrap:nowrap;padding:12px 18px;overflow-x:auto}.admin-nav button,.admin-nav a{white-space:nowrap;overflow-wrap:normal;flex:none}.admin-nav a.admin-nav-team{margin-top:0}.admin-page .admin-main,.login-page{padding-inline:18px}.login-card{margin-top:28px}}@media (max-width:400px){.admin-page .app-header .header-right{gap:6px}.account-links a{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.account-links a{transition:none}}.admin-location{border-block:1px solid var(--line);margin-block:24px;padding-block:22px}.admin-location h3{margin:0 0 10px}.admin-location .location-map{max-width:560px;box-shadow:none;border-color:#ddd;margin-top:20px}.calendar-editable{position:relative}.calendar-editable>input{padding-right:64px}.calendar-editable>.field-caption{font-size:12px;top:8px;transform:none}.calendar-editable>.choice-trigger{background:0 0;border:0;border-radius:12px;justify-content:center;width:46px;min-height:46px;padding:10px;position:absolute;top:5px;right:5px}.calendar-editable>.choice-trigger .calendar-icon{width:22px;height:22px}.calendar-editable .calendar-month-year{gap:6px;min-width:0;display:flex}.calendar-editable .calendar-month-year select{background:#fff;border:1px solid #ddd;border-radius:9px;width:auto;max-width:130px;min-height:40px;padding:6px;font-size:13px}.calendar-editable .calendar-popover{z-index:50}.calendar-editable>input:focus-visible{outline-offset:1px;outline:2px solid #3467eb}
:is(.booking-page,.embedded-booking){--booking-accent:#000;--booking-accent-dark:#242424;--booking-tint:#f0f0ef;--booking-border:#d4d4d4;--focus-color:#000;color:#111}.booking-page{background:#f4f4f2;min-height:100svh}.booking-page .app-header{color:#fff;background:#000;border:0;gap:24px;min-height:72px;padding:14px max(18px,50vw - 520px)}.booking-page .app-header .brand{min-width:0;margin-right:auto}.booking-page .app-header .brand-name{overflow-wrap:anywhere;max-width:210px}.booking-page .app-header>a{align-items:center;min-height:44px;font-size:.85rem;display:inline-flex}.booking-page .booking-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:40px;width:min(920px,100% - 48px);margin:0 auto;padding:48px 0 80px;display:grid}:is(.booking-page,.embedded-booking) .booking-aside h1{letter-spacing:-.055em;margin:30px 0;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.08}:is(.booking-page,.embedded-booking) .steps{flex-direction:column;gap:20px;margin:0 0 28px;padding:0;list-style:none;display:flex}:is(.booking-page,.embedded-booking) .steps li{color:#646464;align-items:center;gap:14px;font-size:.9rem;display:flex}:is(.booking-page,.embedded-booking) .steps li>span{color:#555;background:#fff;border:1px solid #d0d0d0;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;font-size:1.3rem;font-weight:600;transition:background .25s,color .25s,transform .25s;display:grid}:is(.booking-page,.embedded-booking) .steps li.current{color:#000;font-weight:600}:is(.booking-page,.embedded-booking) .steps li.current>span{color:#fff;background:#000;border-color:#000;box-shadow:0 0 0 5px #e4e4e1}:is(.booking-page,.embedded-booking) .steps li.complete>span{color:#fff;background:#323232;border-color:#323232;animation:.35s ease-out booking-check}:is(.booking-page,.embedded-booking) .booking-summary{background:0 0;border-top:1px solid #d6d6d2;border-bottom:1px solid #d6d6d2;border-radius:0;margin:18px 0;padding:18px 0;font-size:.85rem}:is(.booking-page,.embedded-booking) .booking-summary p{color:#5d5d5d;margin-top:7px;line-height:1.6}.booking-page .booking-content{background:#fff;border:1px solid #dededb;border-radius:20px;min-width:0;padding:clamp(22px,3vw,30px);box-shadow:0 14px 45px #00000008}:is(.booking-page,.embedded-booking) .booking-content h2{letter-spacing:-.045em;margin:8px 0 20px;font-size:clamp(1.6rem,2.6vw,2rem);line-height:1.15}:is(.booking-page,.embedded-booking) .booking-content p{text-wrap:pretty;font-size:.9rem;line-height:1.65}:is(.booking-page,.embedded-booking) .booking-content>.eyebrow{letter-spacing:.09em;color:#626262;margin:20px 0 6px;font-size:.65rem}:is(.booking-page,.embedded-booking) .booking-step-feedback{color:#4f4f4f;align-items:center;gap:8px;min-height:22px;margin:0 0 8px;animation:.35s both booking-enter;display:flex;font-size:.78rem!important}.booking-step-feedback>span{color:#fff;background:#000;border-radius:50%;place-items:center;width:21px;height:21px;font-size:.7rem;animation:.35s ease-out booking-check;display:grid}:is(.booking-page,.embedded-booking) .field{margin-block:16px}:is(.booking-page,.embedded-booking) .field :is(input,select,textarea,.choice-trigger,.calendar-trigger){color:#111;background:#fafafa;border-color:#c9c9c9}:is(.booking-page,.embedded-booking) .field :is(input,select,textarea,.choice-trigger,.calendar-trigger):focus-visible,:is(.booking-page,.embedded-booking) .field:focus-within :is(input,select,textarea){background:#fff;border-color:#000;outline-color:#000}:is(.booking-page,.embedded-booking) .field .choice-trigger[aria-expanded=true]{background:#f1f1ef;border-color:#000}:is(.booking-page,.embedded-booking) .field :is(input,textarea)[aria-invalid=true]{background:#fff4f4;border-color:#a51f25}:is(.booking-page,.embedded-booking) .field-caption{color:#555}:is(.booking-page,.embedded-booking) .service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0;display:grid}:is(.booking-page,.embedded-booking) .service-option{min-width:0;animation:.4s cubic-bezier(.2,.8,.2,1) both booking-enter;animation-delay:calc(var(--item-index,0) * 24ms);background:#fff;border:1px solid #dedede;border-radius:12px;gap:12px;padding:15px;transition:border-color .18s,background .18s;display:flex}:is(.booking-page,.embedded-booking) .service-option.selected{background:#f4f4f2;border-color:#000;box-shadow:inset 0 0 0 1px #000}:is(.booking-page,.embedded-booking) .service-option input{accent-color:#000;flex:none;margin:3px 0 0}:is(.booking-page,.embedded-booking) .service-option strong{font-size:.95rem;line-height:1.3;display:block}:is(.booking-page,.embedded-booking) .service-option small{color:#5f5f5f;margin-top:6px;font-size:.78rem;line-height:1.55;display:none}:is(.booking-page,.embedded-booking) .service-option.selected small{display:block}:is(.booking-page,.embedded-booking) .service-option b{margin-top:8px;font-size:.76rem;font-weight:500;display:block}:is(.booking-page,.embedded-booking) .button:not(:disabled){color:#fff;background:#000;border-radius:999px;min-height:48px;padding:13px 22px;font-size:.9rem}:is(.booking-page,.embedded-booking) .button:not(:disabled):hover{background:#303030}:is(.booking-page,.embedded-booking) .secondary-button{color:#111;background:#ededeb;border-radius:999px;min-height:46px;font-size:.85rem}:is(.booking-page,.embedded-booking) .check-label input{accent-color:#000}:is(.booking-page,.embedded-booking) .form-actions{gap:12px;margin-top:22px}:is(.booking-page,.embedded-booking) .booking-review{background:#f4f4f2;border:1px solid #e1e1de;border-radius:12px;padding:18px}.slot-legend{color:#515151;flex-wrap:wrap;gap:12px;margin:18px 0 14px;font-size:.69rem;display:flex}.slot-legend>span{align-items:center;gap:6px;display:inline-flex}.slot-legend>span:before{content:"";background:#555;border-radius:50%;width:7px;height:7px}.slot-legend>[data-state=partial]:before{background:#9d6500}.slot-legend>[data-state=occupied]:before{background:#a0272c}:is(.booking-page,.embedded-booking) .slot-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0;display:grid}:is(.booking-page,.embedded-booking) .slot-options button{color:#111;text-align:left;min-width:0;min-height:94px;animation:.4s cubic-bezier(.16,1,.3,1) both booking-arrive;animation-delay:calc(var(--item-index,0) * 35ms);background:#fafafa;border:1px solid #ccc;border-radius:11px;flex-direction:column;align-items:start;gap:4px;padding:13px 11px;transition:background .18s,border-color .18s,transform .18s;display:flex}:is(.booking-page,.embedded-booking) .slot-options button strong{font-size:1.1rem;font-weight:600}:is(.booking-page,.embedded-booking) .slot-options button>span{color:#575757;font-size:.68rem}:is(.booking-page,.embedded-booking) .slot-options button small{margin-top:4px;font-size:.63rem;font-weight:600}:is(.booking-page,.embedded-booking) .slot-options button[data-state=free]{background:#f0f7f3;border-color:#b6d4c2}:is(.booking-page,.embedded-booking) .slot-options button[data-state=free] small{color:#245c3d}:is(.booking-page,.embedded-booking) .slot-options button[data-state=partial]{background:#fff8e9;border-color:#d5b475}:is(.booking-page,.embedded-booking) .slot-options button[data-state=partial] small{color:#805300}:is(.booking-page,.embedded-booking) .slot-options button[data-state=occupied]{color:#70262a;opacity:1;cursor:not-allowed;background:#fff2f2;border-color:#dbb5b7}:is(.booking-page,.embedded-booking) .slot-options button[data-state=occupied] small{color:#8b252a}:is(.booking-page,.embedded-booking) .slot-options button[data-state=unavailable]{opacity:.6;cursor:not-allowed}@media (hover:hover){:is(.booking-page,.embedded-booking) .slot-options button:not(:disabled):hover{border-color:#000;transform:translateY(-2px)}:is(.booking-page,.embedded-booking) .service-option:not(.selected):hover{background:#f5f5f3;border-color:#777}}.slot-loading>p{color:#606060;font-size:.8rem!important}.slot-loading>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px;display:grid}.slot-loading span{background:#efefed;border-radius:11px;height:94px;animation:1.2s ease-in-out infinite alternate booking-loading}:is(.booking-page,.embedded-booking) .success-symbol{color:#fff;background:#000;animation:.45s cubic-bezier(.2,.8,.2,1) booking-check}:is(.booking-page,.embedded-booking) .calendar-day{animation:.25s both booking-arrive}:is(.booking-page,.embedded-booking) .calendar-day[aria-selected=true],:is(.booking-page,.embedded-booking) .choice-option[aria-selected=true]{color:#fff;background:#000}:is(.booking-page,.embedded-booking) .calendar-popover{background:#fff;border-color:#d4d4d4;animation:.22s both booking-arrive}@keyframes booking-enter{0%{transform:translateY(8px)}to{transform:translateY(0)}}@keyframes booking-arrive{0%{transform:translateY(-12px)}to{transform:translateY(0)}}@keyframes booking-check{0%{opacity:.2;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes booking-loading{to{opacity:.45}}@media (max-width:760px){:is(.booking-page,.embedded-booking) .service-options{grid-template-columns:1fr}.booking-page .app-header{gap:14px;min-height:64px;padding:10px 18px}.booking-page .app-header .call-link{display:none}.booking-page .app-header .brand-name{max-width:160px}.booking-page .booking-layout{grid-template-columns:minmax(0,1fr);gap:22px;width:min(600px,100% - 32px);padding:24px 0 50px}.booking-page .booking-aside h1{margin:20px 0;font-size:2rem}.booking-page .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:0;display:grid}.booking-page .steps li{background:0 0;border:0;border-radius:0;flex-direction:column;align-items:start;gap:10px;padding:0;font-size:.8rem}.booking-page .steps li>span{width:52px;height:52px;font-size:1.25rem}.booking-page .booking-summary,.booking-page .booking-aside>.small{display:none}.booking-page .booking-content{border-radius:16px;padding:22px 18px}.booking-page .booking-content h2{font-size:1.7rem}:is(.booking-page,.embedded-booking) .slot-options{gap:8px}:is(.booking-page,.embedded-booking) .slot-options button{min-height:98px;padding:12px 9px}:is(.booking-page,.embedded-booking) .slot-options button small{font-size:.62rem;line-height:1.4}}@media (max-width:360px){:is(.booking-page,.embedded-booking) .slot-options{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-page .app-header .brand-name{max-width:130px}}@media (prefers-reduced-motion:reduce){:is(.booking-page,.embedded-booking) *,:is(.booking-page,.embedded-booking) :before{transition:none!important;animation:none!important}}.booking-page{--booking-tint:#f4f5f7;background:#fff}.booking-page .booking-layout{grid-template-columns:210px minmax(0,1fr);gap:32px;width:min(1000px,100% - 40px);padding-top:32px}:is(.booking-page,.embedded-booking) .booking-content{background:#fff;border-radius:28px;padding:28px;box-shadow:0 12px 45px #00000008}.booking-page .booking-aside .steps{align-items:center;gap:24px}.booking-page .booking-aside .steps li{width:145px}.booking-categories,.booking-modes{flex-wrap:wrap;gap:7px;margin:20px 0;display:flex}.booking-categories button,.booking-modes button{min-height:44px;font:inherit;background:#f7f8fa;border:1px solid #dce0e6;border-radius:30px;padding:10px 15px;font-size:13px;transition:box-shadow .25s,background .25s}.booking-categories button[aria-pressed=true],.booking-modes button[aria-pressed=true]{color:#fff;background:#111;box-shadow:0 3px 12px #0002}:is(.booking-page,.embedded-booking) .service-options{gap:9px;margin-block:16px}.booking-page .service-option{border-radius:17px;min-height:0;padding:15px;transition:box-shadow .25s,border-color .25s}.booking-page .service-option.selected{background:#f5f6f8;box-shadow:0 0 0 1px #111,0 4px 18px #0000000c}.booking-page .service-option strong{font-size:14px}.booking-page .service-option small{font-size:12px;line-height:1.5}.booking-page .service-option b{font-size:12px}:is(.booking-page,.embedded-booking) .slot-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-page .slot-option{border-radius:17px;min-height:76px;padding:12px 9px}.booking-page .slot-option strong{font-size:18px}.booking-page .slot-option small{font-size:10px}.booking-page .slot-option span{font-size:11px}.booking-login{background:#f6f7f9;border-radius:18px;gap:12px;margin-bottom:18px;padding:18px;display:grid}.booking-login label{gap:6px;font-size:13px;display:grid}.booking-login a{font-size:12px;text-decoration:underline}.booking-account-card{background:#f7f8fa;border-radius:16px;gap:5px;margin:14px 0;padding:16px;font-size:13px;display:grid}.booking-page .booking-summary{background:#fafbfc;border:1px solid #e1e3e7;border-radius:18px;padding:18px;font-size:13px;line-height:1.5}.booking-page .booking-summary p{margin:8px 0}.booking-page .booking-review{display:none}.booking-page .booking-details-fields .muted{font-size:12px}.booking-page .booking-details-fields{gap:12px}.booking-page .booking-step-feedback{min-height:22px;font-size:12px}@media (max-width:760px){.booking-page .booking-layout{width:calc(100% - 28px);padding-top:18px;display:block}.booking-page .booking-aside .steps{grid-template-columns:repeat(3,1fr);justify-items:center;gap:0;max-width:390px;margin-inline:auto;display:grid}.booking-page .booking-aside .steps li{text-align:center;flex-direction:column;gap:7px;width:auto}.booking-page .booking-aside h1{text-align:center;margin:18px 0;font-size:30px}.booking-page .booking-aside .booking-summary{display:none}.booking-page .booking-content{border-radius:24px;padding:20px 16px}.booking-page .booking-content>.eyebrow{text-align:center;margin-block:12px}.booking-page .booking-content h2{font-size:24px}.booking-page .booking-review{border-radius:18px;padding:16px;font-size:13px;display:block}.booking-page .service-options{grid-template-columns:1fr}.booking-page .slot-options{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-page .slot-option{min-height:74px;padding:10px 5px}.booking-page .slot-option strong{font-size:16px}.booking-page .booking-categories{gap:5px}.booking-page .booking-categories button{padding-inline:11px;font-size:12px}}@media (max-width:370px){.booking-page .slot-options{grid-template-columns:repeat(3,minmax(0,1fr))}}:is(.booking-page,.embedded-booking) .slot-options button{border-radius:17px;min-height:76px;padding:12px 9px}:is(.booking-page,.embedded-booking) .slot-options button strong{font-size:18px}:is(.booking-page,.embedded-booking) .slot-options button>span{font-size:10px}:is(.booking-page,.embedded-booking) .slot-options button small{font-size:10px;line-height:1.3}.booking-date-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.booking-date-heading h2{flex:1;min-width:150px;margin:0!important}.booking-date-heading .field{max-width:190px;margin:0}.booking-date-heading input{min-height:44px}@media (max-width:760px){.booking-date-heading{gap:10px}.booking-date-heading h2{min-width:130px;font-size:21px!important}.booking-date-heading .field{max-width:155px;font-size:11px}:is(.booking-page,.embedded-booking) .slot-options button{min-height:74px;padding:10px 5px}:is(.booking-page,.embedded-booking) .slot-options button strong{font-size:16px}}:is(.booking-page,.embedded-booking) fieldset[hidden]{display:none}.booking-step-label{font-weight:inherit}:is(.booking-page,.embedded-booking) .booking-categories{justify-content:center}.booking-date-heading{grid-template-columns:minmax(0,1fr) minmax(130px,170px);align-items:center;gap:16px;display:grid}.booking-date-title,.booking-date-heading h2{min-width:0}:is(.booking-page,.embedded-booking) .booking-date-title .booking-zone{margin:7px 0 0;font-size:12px;line-height:1.4}.booking-date-heading .field{width:100%;max-width:none}:is(.booking-page,.embedded-booking) .booking-empty-slots p{margin:0 0 12px}.booking-page .booking-empty-slots .secondary-button{min-height:44px;font-size:13px}@media (max-width:760px){.booking-page .booking-aside .booking-step-label{display:none}.booking-page .booking-aside .steps{gap:18px;max-width:340px;margin:24px auto}.booking-page .booking-aside .steps li{gap:0;position:relative}.booking-page .booking-aside .steps li>span{border-width:1px;width:60px;height:60px;font-size:25px}.booking-page .booking-aside .steps li.current>span{background:#111;animation:2.6s ease-in-out infinite booking-step-glow;box-shadow:0 0 0 6px #1111,0 0 24px #0002}.booking-page .booking-categories{grid-template-columns:.8fr .8fr 1.6fr;align-items:stretch;gap:6px;display:grid}.booking-page .booking-categories button{text-align:center;min-height:48px;padding:10px 8px;line-height:1.3}.booking-page .booking-date-heading{grid-template-columns:minmax(0,1fr) minmax(125px,155px);gap:12px}.booking-page .booking-date-heading .field{max-width:none}.booking-page .booking-date-heading h2{min-width:0}.booking-page .booking-date-title .booking-zone{font-size:11px}}@keyframes booking-step-glow{0%,to{box-shadow:0 0 0 5px #1111,0 0 14px #0001}50%{box-shadow:0 0 0 8px #1111,0 0 26px #0003}}@media (prefers-reduced-motion:reduce){.booking-page .booking-aside .steps li.current>span{animation:none}}@media (max-width:350px){.booking-page .booking-date-heading{grid-template-columns:1fr}.booking-page .booking-date-heading .field{max-width:100%}.booking-page .booking-categories button{padding-inline:4px;font-size:11px}}:is(.booking-page,.embedded-booking) .booking-login{background:#f7f8fa;border:1px solid #e9ebef;border-radius:20px;gap:12px;padding:18px}:is(.booking-page,.embedded-booking) .booking-login .field{margin:0;font-size:16px;display:block}:is(.booking-page,.embedded-booking) .booking-login .field input{background:#fff;border-radius:14px;min-height:58px;font-size:16px}:is(.booking-page,.embedded-booking) .booking-login .field input:focus-visible{outline-offset:2px;outline:2px solid #222}:is(.booking-page,.embedded-booking) .booking-login .field:focus-within input:not(:focus-visible){outline:none}.booking-login .button{width:100%;margin-top:2px}.booking-login>a{text-underline-offset:3px;align-items:center;min-height:44px;line-height:1.4;display:flex}:is(.booking-page,.embedded-booking) .booking-receipt{color:#161616;background:#fff;border:1px solid #dddfe3;border-radius:18px;margin-block:18px;padding:18px;line-height:1.5;position:relative;box-shadow:0 5px 16px #00000004}.receipt-heading{text-transform:uppercase;letter-spacing:.12em;border-bottom:1px dashed #d0d3d8;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;font-size:10px;display:flex}.receipt-heading small{letter-spacing:.03em;text-transform:none;color:#666;white-space:nowrap;border:1px solid #e1e3e6;border-radius:20px;padding:3px 8px;font-size:9px}.receipt-body{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;padding-block:18px;display:grid}.receipt-service{flex-direction:column;gap:7px;min-width:0;display:flex}.receipt-service>span{color:#777;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.receipt-service>strong{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:16px;line-height:1.3}.receipt-service>small{color:#666;font-size:11px}.receipt-details{text-align:right;gap:10px;margin:0;display:grid}.receipt-details>div{gap:2px;display:grid}.receipt-details dt{color:#777;font-size:10px}.receipt-details dd{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.4}.receipt-details .receipt-time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.receipt-total{border-top:1px dashed #bfc3c9;justify-content:space-between;align-items:baseline;gap:15px;padding-top:14px;display:flex}.receipt-total>span{color:#555;font-size:11px}.receipt-total>strong{font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.03em;font-size:19px;line-height:1.2}.receipt-note{color:#777;margin-top:10px;font-size:10px;display:block}.booking-summary .receipt-body{grid-template-columns:1fr;gap:14px}.booking-summary .receipt-details{text-align:left}.booking-summary .receipt-details>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.booking-summary .receipt-details dd{text-align:right}.booking-summary .receipt-total{flex-wrap:wrap;gap:6px}.booking-summary .receipt-total>strong{font-size:17px}@media (max-width:370px){.receipt-body{gap:12px}.receipt-service>strong{font-size:14px}.receipt-details dd{font-size:11px}.receipt-total>strong{font-size:17px}:is(.booking-page,.embedded-booking) .booking-login{padding:12px}}:is(.booking-page,.embedded-booking) .booking-categories{grid-template-columns:1fr 1fr 1.25fr;justify-content:center;align-items:stretch;gap:8px;display:grid}:is(.booking-page,.embedded-booking) .booking-categories button,:is(.booking-page,.embedded-booking) .booking-modes button{text-align:center;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:96px;padding:13px 8px;font-size:12px;line-height:1.35;display:flex}.booking-choice-icon{width:37px;height:37px;color:inherit;--choice-icon-badge:#e7e9ed;background:#e7e9ed;border-radius:50%;flex:none;place-items:center;display:grid}.booking-choice-icon svg{width:25px;height:25px}:is(.booking-page,.embedded-booking) [aria-pressed=true]>.booking-choice-icon{--choice-icon-badge:#303030;color:#fff;background:#ffffff20}:is(.booking-page,.embedded-booking) .booking-modes{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;gap:10px;width:100%;max-width:420px;margin:18px auto 22px;display:grid}.booking-modes>button:only-child{grid-column:1/-1}:is(.booking-page,.embedded-booking) .service-option.selected{color:#fff;box-shadow:none;background:#111;border-color:#111}.booking-page .service-option.selected strong{color:#183f28}.booking-page .service-option.selected input{accent-color:#38794e}:is(.booking-page,.embedded-booking) .slot-options button[aria-pressed=true]{box-shadow:none;border-color:#111}:is(.booking-page,.embedded-booking) :is(button,a,input):focus-visible{outline-offset:0;outline:2px solid #4779ec}:is(.booking-page,.embedded-booking) :is(button,a):focus:not(:focus-visible){outline:none}@media (max-width:760px){.booking-page .booking-categories button{min-height:94px;padding-inline:7px;font-size:11px}.booking-page .booking-modes button{min-height:87px;font-size:12px}.booking-page .booking-categories{gap:6px}}:is(.booking-page,.embedded-booking) .booking-categories{justify-content:center;align-items:center;gap:clamp(18px,5vw,34px);display:flex}:is(.booking-page,.embedded-booking) .booking-categories button{width:76px;height:76px;min-height:76px;box-shadow:none;border:1px solid #dce0e6;border-radius:50%;flex:none;padding:0;transition:background .3s,color .3s,border-color .3s,transform .3s;position:relative}:is(.booking-page,.embedded-booking) .booking-categories .booking-category-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:is(.booking-page,.embedded-booking) .booking-categories .booking-choice-icon{--choice-icon-badge:#f7f8fa;background:0 0;border-radius:50%;width:100%;height:100%}:is(.booking-page,.embedded-booking) .booking-categories .booking-choice-icon svg{width:38px;height:38px}:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true]{color:#fff;background:#111;border-color:#111;transform:translateY(-2px);box-shadow:0 5px 17px #0002}:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true] .booking-choice-icon{--choice-icon-badge:#111;animation:.6s cubic-bezier(.2,.8,.2,1) both booking-icon-select}:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true]:after{content:"✓";color:#fff;background:#111;border:3px solid #fff;border-radius:50%;place-items:center;width:23px;height:23px;font-size:12px;animation:.6s cubic-bezier(.2,.8,.2,1) both booking-icon-select;display:grid;position:absolute;bottom:0;right:-1px}.booking-content>.error-message p{margin:0 0 10px}.booking-content>.error-message .secondary-button{color:#111;background:#fff;border:1px solid #dbc9c9;border-radius:99px;min-height:44px;font-size:13px}@keyframes booking-icon-select{0%{transform:scale(.72)rotate(-12deg)}60%{transform:scale(1.12)rotate(4deg)}to{transform:scale(1)rotate(0)}}@media (max-width:370px){:is(.booking-page,.embedded-booking) .booking-categories button{width:68px;height:68px;min-height:68px}}@media (prefers-reduced-motion:reduce){:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true] .booking-choice-icon,:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true]:after{animation:none}}:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true]{color:#111;background:#eef0f3;border-color:#b7bdc7;box-shadow:0 3px 12px #0000000a}:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true] .booking-choice-icon{color:#111;--choice-icon-badge:#eef0f3}:is(.booking-page,.embedded-booking) .booking-modes{background:#f3f4f6;border:1px solid #e4e7ec;border-radius:99px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;max-width:420px;margin:18px auto 24px;padding:5px;display:grid}:is(.booking-page,.embedded-booking) .booking-modes button{color:#68707b;min-height:48px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:99px;flex-direction:row;gap:9px;padding:10px 12px;font-size:12px;font-weight:500}:is(.booking-page,.embedded-booking) .booking-modes button[aria-pressed=true]{color:#111;background:#fff;border-color:#e0e3e8;box-shadow:0 2px 6px #00000008}:is(.booking-page,.embedded-booking) .booking-modes .booking-choice-icon{width:23px;height:23px;color:inherit;background:0 0;border-radius:0}:is(.booking-page,.embedded-booking) .booking-modes [aria-pressed=true]>.booking-choice-icon{color:#111;background:0 0}:is(.booking-page,.embedded-booking) .booking-modes .booking-choice-icon svg{width:21px;height:21px}:is(.booking-page,.embedded-booking) .steps li>button{color:#666;cursor:pointer;background:#fff;border:1px solid #d4d4d4;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;padding:0;font-size:21px;font-weight:600;transition:background .2s,box-shadow .2s;display:grid}:is(.booking-page,.embedded-booking) .steps li>button:disabled{opacity:1;cursor:default}:is(.booking-page,.embedded-booking) .steps li.current>button{color:#fff;background:#111;border-color:#111;box-shadow:0 0 0 6px #1111}:is(.booking-page,.embedded-booking) .steps li.complete>button{color:#fff;background:#343434;border-color:#343434}@media (hover:hover){:is(.booking-page,.embedded-booking) .steps li>button:not(:disabled):hover{background:#111;box-shadow:0 0 0 4px #1111}}@media (max-width:760px){.booking-page .booking-aside .steps li>button{width:60px;height:60px;font-size:25px}.booking-page .booking-aside .steps li.current>button{animation:2.6s ease-in-out infinite booking-step-glow}.booking-page .booking-modes button{gap:7px;min-height:46px;padding:9px 8px;font-size:12px}}@media (max-width:350px){.booking-page .booking-modes button{gap:5px;padding-inline:5px;font-size:11px}.booking-page .booking-modes .booking-choice-icon{width:20px;height:20px}}@media (prefers-reduced-motion:reduce){.booking-page .booking-aside .steps li.current>button{animation:none}}:is(html:has(.booking-page),html:has(.account-page)){scroll-behavior:auto}.booking-page .booking-content{overflow-anchor:none}@media (hover:none) and (pointer:coarse){.booking-page .slot-options button:hover{transform:none}}:is(.booking-page,.embedded-booking) .service-option{background:#fafafa;border-color:#e4e5e8;border-radius:20px;align-items:flex-start;gap:14px;padding:18px}:is(.booking-page,.embedded-booking) .service-option b{color:#555;margin-top:10px;font-size:12px}@media (max-width:760px){.booking-page .booking-layout{gap:22px;width:100%;padding:20px 12px 40px}.booking-page .booking-aside{text-align:center;width:100%}.booking-page .booking-aside>a{padding:8px 12px;display:inline-flex}.booking-page .booking-content{width:100%;padding:24px 18px}.booking-page .booking-content>h2{text-align:center;font-size:24px}.booking-page .booking-step-feedback{text-align:center;justify-content:center}}:is(.booking-page,.embedded-booking) .slot-options button:is([data-state=free],[data-state=available]){color:#173d60;background:#eaf4ff;border-color:#c3ddf5}:is(.booking-page,.embedded-booking) .slot-options button[data-state=partial]{color:#624c16;background:#fff5d9;border-color:#efd18b}:is(.booking-page,.embedded-booking) .slot-options button[data-state=occupied]{color:#922e2e;opacity:1;background:#ffeded;border-color:#efbcbc}:is(.booking-page,.embedded-booking) .slot-options button[aria-pressed=true]{color:#fff;background:#111;border-color:#111}:is(.booking-page,.embedded-booking) .slot-options button[aria-pressed=true] small{color:#fff}.slot-legend>[data-state=free]:before{background:#86bdeb}.success-state .booking-receipt{text-align:left;margin:24px 0}.success-state .receipt-heading small{color:#236343;background:#edf8f1;border-color:#c9e7d4}@media (max-width:760px){.booking-page .booking-aside h1{letter-spacing:-.045em;margin:14px 0 22px;font-size:28px}.booking-page .booking-aside>a{color:#626268;font-size:12px}.booking-page .booking-aside .steps{margin-bottom:0}}@media (min-width:390px) and (max-width:760px){.booking-page .service-options{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}.booking-page .service-option{border-radius:18px;gap:8px;padding:15px 12px}.booking-page .service-option strong{font-size:13px;line-height:1.4}.booking-page .service-option b,.booking-page .service-option small,.booking-page .service-option.selected small{font-size:11px;line-height:1.5}}:is(.booking-page,.embedded-booking) .booking-categories button,:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true],:is(.booking-page,.embedded-booking) .booking-categories button .booking-choice-icon,:is(.booking-page,.embedded-booking) .booking-categories button[aria-pressed=true] .booking-choice-icon{animation:none;transform:none}:is(.booking-page,.embedded-booking) .booking-categories button{transition:background .2s,border-color .2s,box-shadow .2s}.booking-page .booking-layout{grid-template-columns:minmax(180px,220px) minmax(0,640px);justify-content:center;gap:clamp(24px,4vw,40px);width:min(960px,100% - 48px);display:grid}.booking-page :is(.booking-aside,.booking-content){width:100%;min-width:0}@media (max-width:760px){.booking-page .booking-layout{grid-template-columns:minmax(0,1fr);gap:28px;width:min(600px,100%);padding:18px clamp(12px,3vw,20px) 40px}.booking-page .booking-aside{justify-items:center;gap:18px;display:grid}.booking-page .booking-aside>a{align-items:center;min-height:36px;padding:0;display:inline-flex}.booking-page .booking-aside h1{margin:0;font-size:clamp(26px,6vw,32px)}.booking-page .booking-aside .steps{width:min(100%,340px);margin:0;padding:6px 0}.booking-page .booking-content{border-radius:26px;padding:clamp(20px,5vw,28px) clamp(14px,4vw,24px)}.booking-page .booking-content>h2{font-size:clamp(22px,5.5vw,27px)}}.booking-toplinks{grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:0 0 8px;display:flex}.booking-toplinks .brand{color:#111;align-items:center;gap:9px;min-width:0;display:inline-flex}.booking-toplinks .brand-mark{font-size:32px}.booking-toplinks .brand-name{overflow-wrap:anywhere;font-size:14px;font-weight:600}.booking-toplinks>div{flex:none;align-items:center;gap:14px;display:flex}.booking-account-link{background:#f1f2f4;border-radius:99px;justify-content:center;align-items:center;min-height:42px;padding:10px 17px;font-size:13px;font-weight:500;transition:background .2s;display:inline-flex}.booking-account-link:hover{background:#e6e7ea}.booking-phone{color:#626268;font-size:12px}@media (max-width:760px){.booking-page .booking-layout{row-gap:24px;padding-top:16px}.booking-toplinks{padding-bottom:0}.booking-toplinks .brand-mark{font-size:29px}.booking-toplinks .brand-name{font-size:13px}.booking-toplinks .booking-phone{display:none}.booking-account-link{padding:10px 15px;font-size:12px}}:is(.booking-page,.embedded-booking) :is(.service-option,.slot-options button,.calendar-day,.booking-step-feedback,.booking-step-feedback>span){animation:none}:is(.booking-page,.embedded-booking) .service-option small,:is(.booking-page,.embedded-booking) .service-option.selected small{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:4.65em;display:-webkit-box;overflow:hidden}:is(.booking-page,.embedded-booking) .calendar-popover{animation:.14s ease-out booking-soft-appear}@keyframes booking-soft-appear{0%{opacity:.85}to{opacity:1}}@media (prefers-reduced-motion:reduce){:is(.booking-page,.embedded-booking) .calendar-popover{animation:none}}:is(.booking-page,.embedded-booking) .service-options{align-content:start;overflow:visible}:is(.booking-page,.embedded-booking) .service-option{background:#fff;border-color:#dedfe3;border-radius:14px;padding:18px 14px 14px;transition:background-color .16s,border-color .16s,color .16s;position:relative;box-shadow:0 3px 10px #11111104}:is(.booking-page,.embedded-booking) .service-option>span{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}:is(.booking-page,.embedded-booking) .service-option strong{letter-spacing:-.02em}:is(.booking-page,.embedded-booking) .service-option b{color:#333;font-variant-numeric:tabular-nums;border-top:1px dashed #cdd0d5;margin-top:16px;padding-top:12px}:is(.booking-page,.embedded-booking) .service-option:before,:is(.booking-page,.embedded-booking) .service-option:after{content:"";pointer-events:none;background:#fff;border:1px solid #dedfe3;border-radius:50%;width:10px;height:10px;position:absolute;bottom:40px}:is(.booking-page,.embedded-booking) .service-option:before{left:-6px}:is(.booking-page,.embedded-booking) .service-option:after{right:-6px}:is(.booking-page,.embedded-booking) .service-option.selected{color:#183f28;background:#edf8f0;border-color:#9bc8aa;box-shadow:inset 0 0 0 1px #9bc8aa}:is(.booking-page,.embedded-booking) .service-option.selected :is(small,b){color:#355b43}:is(.booking-page,.embedded-booking) .service-option.selected b{border-top-color:#a6cbb2}:is(.booking-page,.embedded-booking) .service-option input{accent-color:#38794e}:is(.booking-page,.embedded-booking) .slot-options button{box-shadow:none;font-variant-numeric:tabular-nums;border-radius:12px;gap:4px;padding:12px 9px 9px;position:relative}:is(.booking-page,.embedded-booking) .slot-options button small{border-top:1px dashed;width:100%;margin-top:5px;padding-top:7px;font-size:10px;display:block}:is(.booking-page,.embedded-booking) .slot-options button:before,:is(.booking-page,.embedded-booking) .slot-options button:after{content:"";pointer-events:none;background:#fff;border-radius:50%;width:7px;height:7px;position:absolute;bottom:28px}:is(.booking-page,.embedded-booking) .slot-options button:before{left:-4px}:is(.booking-page,.embedded-booking) .slot-options button:after{right:-4px}:is(.booking-page,.embedded-booking) .slot-options button[aria-pressed=true]{color:#204e30;background:#e5f5e9;border-color:#80b993;box-shadow:inset 0 0 0 1px #80b993}:is(.booking-page,.embedded-booking) .slot-options button[aria-pressed=true] :is(small,span){color:#285a39}:is(.booking-page,.embedded-booking) .service-option>span{align-self:stretch;height:auto}:is(.booking-page,.embedded-booking) .service-option strong{overflow-wrap:anywhere;min-height:2.8em;line-height:1.4}:is(.booking-page,.embedded-booking) .service-option.selected strong{color:#183f28}:is(.booking-page,.embedded-booking) .service-option small{margin-top:8px;margin-bottom:14px}:is(.booking-page,.embedded-booking) .service-option b{min-height:42px;margin-top:auto;line-height:1.5}@media (max-width:389px){.booking-page .service-option strong,.booking-page .service-option b{min-height:0}}:is(.booking-page,.embedded-booking) .slot-options button{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}@media (hover:hover){:is(.booking-page,.embedded-booking) .slot-options button:not(:disabled):hover,:is(.booking-page,.embedded-booking) .slot-options button:not(:disabled):not([aria-pressed=true]):hover{border-color:#80b993;transform:none;box-shadow:inset 0 0 0 1px #80b993}:is(.booking-page,.embedded-booking) .slot-options button[aria-pressed=true]:hover{color:#204e30;background:#e5f5e9}:is(.booking-page,.embedded-booking) .service-option:not(.selected):hover{background:#f5fbf7;border-color:#9bc8aa;transform:none;box-shadow:inset 0 0 0 1px #9bc8aa}}:is(.booking-page,.embedded-booking) .service-option{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}:is(.booking-page,.embedded-booking) .service-option :is(strong,small,b){transition:color .18s}
