:root{--powder-pink:#e8d7d8;--soft-blush:#dcc7cb;--warm-ivory:#f7f3f0;--taupe-grey:#8e7f80;--deep-cocoa:#4e403f;--rose-taupe:#b89a9d;--shadow-soft:0 14px 32px #4e403f14;--shadow-hover:0 20px 40px #4e403f24;--container:1160px}*,:before,:after{box-sizing:border-box}body{background:var(--warm-ivory);color:var(--deep-cocoa);margin:0;font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.95rem;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--deep-cocoa);color:#fff;border-radius:10px;padding:.55rem 1rem;font-size:.92rem;font-weight:600;transition:transform .2s;position:absolute;top:.65rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus,.skip-link:focus-visible{outline:2px solid var(--rose-taupe);outline-offset:2px;transform:translateY(0)}.container{width:min(var(--container), calc(100% - 2.5rem));margin:0 auto}.site-header{z-index:50;padding-top:env(safe-area-inset-top,0px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f7f3f0f2;border-bottom:1px solid #b89a9d33;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:84px;display:flex}.brand{align-items:center;gap:.75rem;font-weight:500;display:flex}.brand strong{letter-spacing:.03em;font-weight:500}.brand img{-o-object-fit:cover;object-fit:cover;border-radius:999px;width:44px;height:44px}.nav-links{color:var(--taupe-grey);align-items:center;gap:1rem;font-size:.95rem;display:flex}body[data-nav-drawer-open=true] .mobile-book-btn{visibility:hidden;pointer-events:none}.site-header--drawer .nav-links-desktop{color:var(--taupe-grey);align-items:center;gap:1rem;font-size:.95rem;display:none}.site-header--drawer .nav-burger{width:44px;height:44px;color:var(--deep-cocoa);cursor:pointer;background:#fff;border:1px solid #b89a9d73;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s;display:none}.site-header--drawer .nav-burger:hover,.site-header--drawer .nav-burger:focus-visible{border-color:var(--rose-taupe);background:#e8d7d859;outline:none}.site-header--drawer .nav-burger-lines{background:var(--deep-cocoa);border-radius:1px;width:18px;height:2px;transition:background-color .2s;display:block;position:relative}.site-header--drawer .nav-burger-lines:before,.site-header--drawer .nav-burger-lines:after{content:"";background:var(--deep-cocoa);border-radius:1px;width:18px;height:2px;transition:transform .2s,top .2s;position:absolute;left:0}.site-header--drawer .nav-burger-lines:before{top:-6px}.site-header--drawer .nav-burger-lines:after{top:6px}.site-header--drawer .nav-burger.is-open .nav-burger-lines{background:0 0}.site-header--drawer .nav-burger.is-open .nav-burger-lines:before{top:0;transform:rotate(45deg)}.site-header--drawer .nav-burger.is-open .nav-burger-lines:after{top:0;transform:rotate(-45deg)}.site-header--drawer .nav-scrim{z-index:55;cursor:pointer;opacity:0;background:#4e403f61;border:0;margin:0;padding:0;transition:opacity .2s;display:none;position:fixed;inset:0}.site-header--drawer .nav-scrim.is-visible{opacity:1;display:block}.site-header--drawer .nav-links-drawer{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf7f7;border-left:1px solid #b89a9d40;flex-direction:column;align-items:stretch;gap:0;width:min(320px,90vw);height:100dvh;max-height:100vh;margin:0;padding:0;transition:transform .25s;display:none;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-16px 0 40px #4e403f1f}.site-header--drawer .nav-links-drawer.is-open{display:flex;transform:translate(0)}.nav-drawer-head{border-bottom:1px solid #b89a9d33;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.nav-drawer-title{letter-spacing:.12em;text-transform:uppercase;color:var(--rose-taupe);font-size:.72rem;font-weight:700}.nav-drawer-close{width:44px;height:44px;color:var(--deep-cocoa);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;margin:-.35rem -.5rem -.35rem 0;font-size:1.65rem;line-height:1;transition:background-color .15s;display:inline-flex}.nav-drawer-close:hover,.nav-drawer-close:focus-visible{background:#e8d7d873;outline:none}.nav-drawer-links{flex-direction:column;flex:auto;gap:.15rem;padding:.75rem 1rem 1.5rem;display:flex}.nav-drawer-link{min-height:48px;color:var(--deep-cocoa);border-radius:12px;align-items:center;margin:0 -.65rem;padding:.35rem .65rem;font-size:1.02rem;font-weight:600;transition:background-color .15s;display:flex}.nav-drawer-link:hover,.nav-drawer-link:focus-visible{background:#e8d7d859;outline:none}.nav-drawer-cta{justify-content:center;width:100%;margin-top:.5rem}@media (min-width:761px){.site-header--drawer .nav-burger,.site-header--drawer .nav-scrim,.site-header--drawer .nav-links-drawer{display:none!important}.site-header--drawer .nav-links-desktop{display:flex}.site-header--admin .nav-links-desktop{flex-wrap:wrap;justify-content:flex-end;row-gap:.35rem}}@media (prefers-reduced-motion:reduce){.site-header--drawer .nav-links-drawer,.site-header--drawer .nav-scrim,.site-header--drawer .nav-burger-lines,.site-header--drawer .nav-burger-lines:before,.site-header--drawer .nav-burger-lines:after{transition:none!important}}.btn{border:0;border-radius:999px;justify-content:center;align-items:center;padding:.72rem 1.35rem;font-weight:600;transition:background-color .2s,transform .2s;display:inline-flex}.btn-primary{background:var(--rose-taupe);color:#fff}.btn-primary:hover,.btn-primary:focus-visible{background:#a68488}.btn:focus-visible{outline:2px solid var(--deep-cocoa);outline-offset:2px}.hero-grid{align-items:start;gap:2.2rem;display:grid}.hero h1,.section-title{letter-spacing:.01em;color:var(--deep-cocoa);margin:0;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;line-height:1.15}.hero p{color:var(--taupe-grey);max-width:58ch;margin:1rem 0 1.5rem}.services{padding:5.5rem 0}.section-header{text-align:center;max-width:700px;margin:0 auto 2.6rem}.eyebrow{color:var(--rose-taupe);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.82rem;font-weight:700}.section-title{margin-top:.5rem;font-size:clamp(1.45rem,3.35vw,2.35rem)}.section-support{color:var(--taupe-grey);margin-top:.8rem;font-size:.92rem;line-height:1.5}.next-page main .section p:not(.eyebrow):not(.section-support){font-size:.92rem;line-height:1.55}.services-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}.service-card{background:var(--warm-ivory);box-shadow:var(--shadow-soft);border:1px solid #b89a9d2e;border-radius:24px;gap:1rem;padding:1rem;transition:transform .25s,box-shadow .25s;display:grid}.service-card:hover,.service-card:focus-within{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.service-card img{aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;border-radius:20px;width:100%}.service-title{color:var(--deep-cocoa);margin:0;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:1.32rem;line-height:1.2}.service-description{color:var(--taupe-grey);min-height:4.8rem;margin:0;font-size:.9rem;line-height:1.5}.service-price{color:#655655;margin:0;font-weight:600}.service-card .btn{justify-self:start}.treatments-scroll-outer{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden}.treatments-scroll-with-nav{position:relative}.treatments-scroll-nav{z-index:2;width:40px;height:40px;color:var(--deep-cocoa);cursor:pointer;background:#fffffff0;border:1px solid #b89a9d66;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.35rem;line-height:1;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;position:absolute;top:50%;translate:0 -50%;box-shadow:0 6px 20px #4e403f1f}.treatments-scroll-nav span{margin-top:-.08em;display:block}.treatments-scroll-nav--prev{left:clamp(.45rem,3vw,1.25rem)}.treatments-scroll-nav--next{right:clamp(.45rem,3vw,1.25rem)}.treatments-scroll-nav:hover:not(:disabled){border-color:var(--rose-taupe);box-shadow:var(--shadow-soft)}.treatments-scroll-nav:focus-visible{outline:2px solid var(--rose-taupe);outline-offset:2px}.treatments-scroll-nav:disabled{opacity:.32;cursor:default;box-shadow:none}@media (max-width:479px){.treatments-scroll-nav{width:36px;height:36px;font-size:1.2rem}}@media (hover:none) and (pointer:coarse){.treatments-scroll-nav{display:none}}.treatments-scroll{scroll-snap-type:x mandatory;scroll-padding-inline:max(.65rem, calc((100vw - min(var(--container), 100% - 1.3rem)) / 2));padding:.2rem max(.65rem, calc((100vw - min(var(--container), 100% - 1.3rem)) / 2)) .55rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:1rem;display:flex;overflow:auto hidden}.treatments-scroll:focus-visible{outline:2px solid var(--rose-taupe);outline-offset:2px}.service-card--scroll{scroll-snap-align:start;max-width:300px;scroll-margin-inline:max(.65rem, calc((100vw - min(var(--container), 100% - 1.3rem)) / 2));flex:0 0 min(280px,100vw - 2.75rem)}.service-card--scroll:hover,.service-card--scroll:focus-within{transform:translateY(-2px)}.service-card--scroll .service-visual{height:168px;aspect-ratio:unset}.service-card--scroll .service-title{font-size:1.08rem}.service-card--scroll .service-description{min-height:3rem;font-size:.82rem;line-height:1.45}.service-card--scroll .service-price{font-size:.88rem}.service-card--scroll .btn{justify-content:center;justify-self:stretch;width:100%}.booking-note{text-align:center;color:var(--taupe-grey);margin-top:2rem}.site-footer{color:var(--taupe-grey);border-top:1px solid #b89a9d33;padding:2rem 0;font-size:.95rem}.booking-card{background:var(--warm-ivory);max-width:700px;box-shadow:var(--shadow-soft);border:1px solid #b89a9d33;border-radius:24px;margin:0 auto;padding:1.4rem}.booking-steps{color:var(--rose-taupe);margin:0 0 1rem;font-size:.9rem;font-weight:600}.booking-panel{gap:.8rem;display:grid}.field-label{color:var(--taupe-grey);font-size:.95rem}.field-label--invalid{color:#9e4a4a}.field-label--invalid input,.field-label--invalid select,.field-label--invalid textarea{background:snow;border-color:#c45c5c;box-shadow:0 0 0 2px #c45c5c33}.field-label--invalid input:focus-visible,.field-label--invalid select:focus-visible,.field-label--invalid textarea:focus-visible{outline-color:#c45c5c}input,select{font:inherit;width:100%;color:var(--deep-cocoa);background:#fff;border:1px solid #b89a9d73;border-radius:14px;padding:.75rem .9rem}textarea{font:inherit;width:100%;min-height:90px;color:var(--deep-cocoa);resize:vertical;background:#fff;border:1px solid #b89a9d73;border-radius:14px;padding:.75rem .9rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rose-taupe);outline-offset:1px}.check-row{color:var(--taupe-grey);align-items:center;gap:.6rem;display:flex}.check-row input{width:auto}.booking-summary{background:#e8d7d840;border-radius:16px;padding:.8rem 1rem}.booking-summary p{margin:.35rem 0}.form-message{min-height:1.5rem;margin:.9rem 0}.booking-actions{justify-content:space-between;gap:.7rem;display:flex}.admin-toolbar{gap:1rem;margin-bottom:1.5rem;display:grid}.admin-section{margin-top:1.25rem}.admin-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:0;display:grid}.admin-summary-grid--snapshot{margin-bottom:0}.admin-card-toolbar{justify-content:flex-end;align-items:center;margin-bottom:.75rem;display:flex}.admin-logout-btn{padding-inline:1rem}.admin-filter-grid{grid-template-columns:1fr;align-items:stretch;gap:.9rem;display:grid}.admin-filter-grid>.field-label{flex-direction:column;gap:.45rem;min-height:0;display:flex}.admin-filter-grid>.field-label input{width:100%;margin-top:auto}.chip-list{flex-wrap:wrap;gap:.6rem;margin:.8rem 0 1rem;display:flex}.chip{color:var(--taupe-grey);cursor:pointer;background:#fff;border:1px solid #b89a9d66;border-radius:999px;padding:.35rem .7rem}.mobile-book-btn{left:max(1rem, env(safe-area-inset-left,0px));right:max(1rem, env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:40;min-height:48px;transition:opacity .22s,transform .22s;position:fixed;box-shadow:0 12px 22px #4e403f33}.mobile-book-btn[data-visible=false]{opacity:0;pointer-events:none;transform:translateY(140%)}@media (prefers-reduced-motion:reduce){.mobile-book-btn{transition:none}}@media (min-width:700px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.7rem}.admin-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-summary-grid:not(.admin-summary-grid--snapshot){grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-book-btn{display:none}}@media (max-width:699px){.next-page{padding-bottom:calc(4.85rem + env(safe-area-inset-bottom,0px))}.service-card--scroll{flex:0 0 min(280px,100vw - 3.5rem)}}@media (min-width:980px){.hero-grid{grid-template-columns:1fr minmax(280px,42%);align-items:stretch;gap:clamp(1.25rem,3vw,2.25rem)}.hero-image-shell{min-height:clamp(360px,52vh,520px);max-height:min(82vh,560px)}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{--warm-beige:#f4ede7;--soft-sage:#8fa38a;--logo-brown:#a47c6f}html{scroll-behavior:smooth}button{font:inherit}.brand .brand-logo{-o-object-fit:cover;object-fit:cover;background:#fff;border-radius:50%;flex:none;width:58px;height:58px;padding:3px;box-shadow:0 10px 24px #4e403f24}.brand strong,.brand small{display:block}.brand small{color:var(--taupe-grey);font-size:.78rem;font-weight:500}.nav-links a:not(.btn){padding:.4rem 0;position:relative}.nav-links a:not(.btn):after{content:"";background:var(--logo-brown);width:0;height:1px;transition:width .2s;position:absolute;bottom:0;left:0}.nav-links a:not(.btn):hover:after{width:100%}.btn{cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-secondary{color:var(--deep-cocoa);background:#fff;border:1px solid #b89a9d59}.btn-secondary:hover,.btn-secondary:focus-visible{background:#e8d7d859}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.hero{background:radial-gradient(ellipse 80% 55% at 100% 0%, #e8d7d88c, transparent 55%), radial-gradient(circle at 12% 20%, #8fa38a24, transparent 38%), linear-gradient(165deg, #fffdfb 0%, var(--warm-ivory) 48%, #f5eeea 100%);padding:clamp(1.5rem,3.5vw,2.35rem) 0 clamp(1.35rem,2.8vw,2rem);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 18% 88%,#b89a9d1f,#0000 45%);position:absolute;inset:0}.hero .container{z-index:1;position:relative}.hero-content{flex-direction:column;width:100%;max-width:36rem;min-height:0;display:flex}.hero-intro-lockup{text-align:center;flex-direction:column;align-items:center;margin-bottom:1.275rem;display:flex}.hero-intro-logo{-o-object-fit:cover;object-fit:cover;background:#fff;border:1px solid #b89a9d33;border-radius:50%;width:clamp(72px,16vw,96px);height:clamp(72px,16vw,96px);margin-bottom:.5rem;padding:5px;box-shadow:0 10px 28px #4e403f1f}.hero-intro-lockup .hero-eyebrow{max-width:22rem;margin-bottom:0}.hero-eyebrow{margin-bottom:.65rem}.hero-heading{letter-spacing:.01em;color:var(--deep-cocoa);margin:0;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.55rem,3.8vw,2.75rem);font-weight:600;line-height:1.12}.hero-heading-accent{background:linear-gradient(120deg, var(--rose-taupe) 0%, #9a7679 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:500;display:inline}.hero-copy{max-width:40ch;color:var(--taupe-grey);margin:.85rem 0 1.85rem;font-size:.96rem;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:.65rem;display:flex}@media (min-width:980px){.hero-content{align-self:stretch;max-width:min(36rem,100%)}.hero-copy{margin-bottom:1rem}.hero-actions{margin-top:auto;margin-bottom:auto;padding-bottom:.25rem}}.hero-stats{color:var(--taupe-grey);grid-template-columns:1fr;gap:.75rem;margin-top:2rem;display:grid}.hero-stats span{background:#ffffff9e;border:1px solid #b89a9d38;border-radius:18px;padding:.85rem 1rem}.hero-stats strong{color:var(--deep-cocoa);display:block}.hero-card{box-shadow:none;background:0 0;border:0;padding:0;position:relative;overflow:visible}.hero-card--feature{flex-direction:column;min-height:0;display:flex}.hero-image-shell{border-radius:clamp(20px,3vw,28px);flex:auto;min-height:min(52vw,320px);max-height:min(72vh,520px);position:relative;overflow:hidden;box-shadow:0 28px 56px #4e403f29,0 0 0 1px #b89a9d38}.hero-image-shell:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff59}.hero-photo{width:100%;height:100%;min-height:inherit;max-height:inherit;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 28%;object-position:50% 28%;display:block}.hero-photo-note{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf7c7;border:1px solid #ffffff8c;border-radius:20px;gap:.2rem;padding:1rem;display:grid;position:absolute;bottom:1.1rem;left:1.1rem;right:1.1rem;box-shadow:0 18px 36px #4e403f24}.hero-photo-note strong{color:var(--deep-cocoa);font-family:Playfair Display,Georgia,serif;font-size:1.25rem}.hero-photo-note span{color:var(--taupe-grey);font-size:.92rem}.section{padding:5.5rem 0}.treatments-section{padding:clamp(1rem,2.5vw,1.65rem) 0 clamp(.25rem,1.2vw,.65rem)}.booking-section{padding:clamp(.65rem,1.8vw,1.25rem) 0 clamp(3.25rem,5vw,4.75rem);scroll-margin-top:5rem}.location-section{background:#f7f3f0e6;padding:clamp(.85rem,2vw,1.5rem) 0 clamp(2.25rem,4vw,3.25rem)}.location-section .section-header{margin-bottom:1rem}.location-map-wrap{margin-top:0;width:min(100%,680px);box-shadow:var(--shadow-soft);aspect-ratio:16/10;border:1px solid #b89a9d40;border-radius:22px;max-height:420px;margin-inline:auto;overflow:hidden}.location-map-frame{border:0;width:100%;height:100%;min-height:240px;display:block}.location-address-link{font-weight:600}.booking-section,.testimonials-section,.experience-section{background:#e8d7d838}.testimonial-grid,.about-grid,.experience-grid,.client-grid{gap:1.25rem;display:grid}.testimonial-grid article,.quote-card,.admin-card,.admin-login,.experience-copy,.client-grid article{box-shadow:var(--shadow-soft);background:#ffffffd1;border:1px solid #b89a9d38;border-radius:26px;padding:1.4rem}.admin-card h3{color:var(--deep-cocoa);margin:0 0 .7rem;font-family:Playfair Display,Georgia,serif}.about-grid p,.testimonial-grid p,.quote-card p{color:var(--taupe-grey)}.service-visual{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;filter:saturate(.92)contrast(.96);border-radius:20px;width:100%;height:255px}.service-card:first-child .service-visual,.service-card:nth-child(2) .service-visual,.service-card:nth-child(3) .service-visual{-o-object-position:50% 30%;object-position:50% 30%}.about-photo-stack{min-height:520px;position:relative}.about-photo-stack img:first-child{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 28%;object-position:50% 28%;width:min(420px,82%);height:520px;box-shadow:var(--shadow-hover);border-radius:32px}.experience-copy{align-self:stretch}.booking-shell{place-items:center;display:grid}.booking-card{background:#ffffffe6;max-width:960px;padding:1rem}.booking-card--compact{gap:.42rem;max-width:920px;padding:.85rem;display:grid}.booking-card--compact .booking-panel{gap:.4rem}.booking-card--compact input,.booking-card--compact select{padding:.52rem .72rem}.booking-card--compact .field-label{gap:.18rem;font-size:.82rem;display:grid}.booking-service-row select{padding:.55rem .75rem}.booking-schedule,.booking-calendar-layout{gap:.42rem;display:grid}.booking-side-stack{gap:.45rem;min-width:0;display:grid}.panel-title--compact{letter-spacing:.08em;text-transform:uppercase;color:var(--taupe-grey);margin:0;font-family:inherit;font-size:.78rem;font-weight:700}.calendar-month-label{color:var(--deep-cocoa);text-align:center;margin:0;font-family:Playfair Display,Georgia,serif;font-size:.95rem}.booking-details-grid{grid-template-columns:1fr 1fr;gap:.42rem;display:grid}.booking-details-grid .field-label--full{grid-column:1/-1}.booking-card--compact textarea{resize:none;min-height:2.65rem}.booking-footer{gap:.35rem;display:grid}.booking-summary--compact{background:#e8d7d838;border-radius:12px;padding:.45rem .65rem;font-size:.82rem;line-height:1.35}.booking-summary--compact p{margin:0}.booking-card--compact .form-message{min-height:1.05rem;margin:0;font-size:.84rem}.booking-card--compact .booking-actions{margin:0}.booking-card--compact .booking-actions .btn{padding:.62rem 1rem}.booking-panel--calendar{background:#ffffff73;border:1px solid #b89a9d61;border-radius:14px;gap:0;padding:.32rem .44rem .48rem}.booking-panel--calendar .calendar-heading{gap:.4rem;margin-bottom:.1rem}.booking-panel--calendar .calendar-nav{width:24px;height:24px;font-size:.95rem}.booking-panel--calendar .calendar-month-label{font-size:.86rem}.booking-panel--calendar .calendar-weekdays{margin-bottom:.12rem;font-size:.64rem}.booking-panel--calendar .calendar-weekdays,.booking-panel--calendar .calendar-grid{gap:.16rem}.booking-panel--calendar .calendar-day{border-radius:8px;gap:.1rem;min-height:2.45rem;padding:.2rem .12rem;font-size:.86rem}.booking-panel--calendar .calendar-day>span:first-child{font-size:.88rem}.booking-panel--calendar .calendar-day small,.booking-panel--calendar .calendar-day em{min-height:1.6em;font-size:.56rem}.booking-panel--calendar .calendar-day.is-empty{min-height:2.45rem}.booking-panel--times .time-slot-grid{gap:.22rem;margin-top:.18rem}.booking-panel--times .time-slot{min-height:1.72rem;padding:.18rem .32rem;font-size:.72rem}.booking-panel--times .time-slot-status{margin:.25rem 0 0;padding:.15rem 0;font-size:.84rem}.calendar-heading{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.55rem;display:flex}.calendar-heading h3,.panel-title{color:var(--deep-cocoa);margin:0;font-family:Playfair Display,Georgia,serif}.calendar-nav{width:32px;height:32px;color:var(--deep-cocoa);cursor:pointer;background:#fff;border:1px solid #b89a9d59;border-radius:50%;transition:opacity .15s}.calendar-nav:disabled{opacity:.32;cursor:not-allowed}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;display:grid}.calendar-weekdays{color:var(--taupe-grey);text-align:center;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-size:.72rem;font-weight:700}.calendar-day{min-height:3.85rem;color:var(--deep-cocoa);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffb8;border:1px solid #b89a9d38;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:.2rem;padding:.35rem .25rem;display:flex}.calendar-day>span:first-child{font-weight:600;line-height:1}.calendar-day small,.calendar-day em{color:var(--taupe-grey);text-align:center;word-break:break-word;width:100%;min-height:2.4em;font-size:.62rem;font-style:normal;line-height:1.2;display:block}.calendar-day:disabled{cursor:not-allowed;opacity:.38}.calendar-day.has-slots{background:#8fa38a1a;border-color:#8fa38a73}.calendar-day.has-bookings{background:#e8d7d84d;border-color:#b89a9d80}.calendar-day.has-blocks{box-shadow:inset 0 -4px #985f5f47}.calendar-day.is-selected,.calendar-day:hover:not(:disabled){border-color:var(--logo-brown);background:var(--logo-brown);color:#fff}.calendar-day.is-selected small,.calendar-day.is-selected em,.calendar-day:hover:not(:disabled) small,.calendar-day:hover:not(:disabled) em{color:#ffffffd1}.calendar-day.is-empty{min-height:3.85rem;box-shadow:none;background:0 0;border:0}.admin-day-agenda{background:#f7f3f0b8;border:1px solid #b89a9d38;border-radius:18px;margin-top:.65rem;padding:.65rem .75rem}.agenda-header{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.55rem;display:flex}.agenda-header h3{color:var(--deep-cocoa);margin:0;font-family:Playfair Display,Georgia,serif}.agenda-header span{color:var(--taupe-grey);background:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.9rem;font-weight:700}.agenda-list{gap:.75rem;display:grid}.agenda-booking{background:#fff;border:1px solid #b89a9d38;border-radius:18px;gap:.8rem;padding:.9rem;display:grid}.agenda-booking div{gap:.22rem;display:grid}.agenda-booking span,.agenda-booking p{color:var(--taupe-grey);margin:0;font-size:.92rem}.agenda-blocks{margin-top:.65rem}.services-admin-list{gap:.65rem;display:grid}.service-admin-editor{background:#f7f3f073;border:1px solid #b89a9d2e;border-radius:16px;gap:.55rem;padding:.65rem .75rem;display:grid}.service-admin-editor textarea{min-height:88px}.notification-item{background:#fff;border:1px solid #b89a9d38;border-radius:18px;gap:.22rem;padding:.9rem;display:grid}.notification-item span,.notification-item p,.notification-item small{color:var(--taupe-grey);margin:0}.notification-item small{color:var(--soft-sage);font-weight:700}.time-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.4rem;margin-top:.65rem;display:grid}.time-slot-status{margin:.65rem 0 0;padding:.5rem 0}.time-slot{height:100%;min-height:2.75rem;color:var(--deep-cocoa);cursor:pointer;text-align:center;-webkit-hyphens:auto;hyphens:auto;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #b89a9d59;border-radius:999px;justify-content:center;align-items:center;padding:.5rem .35rem;line-height:1.2;display:flex}.time-slot.is-selected,.time-slot:hover{border-color:var(--logo-brown);background:var(--logo-brown);color:#fff}.client-details-panel{margin-top:.8rem}.booking-progress{background:#e8d7d899;border-radius:999px;height:8px;margin-bottom:1.25rem;overflow:hidden}.booking-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--rose-taupe), var(--soft-sage));width:25%;height:100%;transition:width .2s;display:block}.is-hidden{display:none!important}.field-help,.muted{color:var(--taupe-grey);font-size:.9rem}.two-col{gap:.8rem;display:grid}.form-message{color:var(--logo-brown);font-weight:600}.form-message--error{color:#9e4a4a}.about-section{background:radial-gradient(circle at 12% 20%, #8fa38a29, transparent 26%), var(--warm-ivory);padding:clamp(2rem,3.8vw,3rem) 0 clamp(.85rem,2vw,1.35rem)}.about-section .about-grid{gap:clamp(1rem,2.8vw,1.35rem)}.quote-card{border-color:#8fa38a4d;align-self:start}.quote-card p{color:var(--deep-cocoa);margin-top:0;font-family:Playfair Display,Georgia,serif;font-size:1.6rem;line-height:1.3}.admin-login{max-width:440px;margin:0 auto}.admin-login-fields{flex-direction:column;gap:1.2rem;display:flex}.admin-dashboard-stack{flex-direction:column;gap:1rem;display:flex}.admin-page .section-header{margin-bottom:.65rem}.admin-page .section-title{margin-bottom:.35rem}.admin-page .section-support{margin-bottom:0}.admin-page .admin-section{padding-top:.55rem;padding-bottom:1.25rem}.admin-category--snapshot{margin-bottom:.15rem}.admin-snapshot-panel{box-shadow:var(--shadow-soft);background:#ffffffd1;border:1px solid #b89a9d38;border-radius:16px;padding:.65rem .75rem}.admin-snapshot-head{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.55rem;display:flex}.admin-snapshot-title{letter-spacing:.02em;color:var(--deep-cocoa);margin:0;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:1.05rem;font-weight:600}.admin-logout-btn--compact{padding:.35rem .75rem;font-size:.82rem}.admin-summary-stat{text-align:center;background:#f7f3f0e0;border-radius:12px;gap:.1rem;padding:.55rem .45rem;display:grid}.admin-summary-grid--snapshot .admin-summary-stat strong{color:var(--logo-brown);font-size:1.35rem;line-height:1.1}.admin-summary-grid--snapshot .admin-summary-stat span{color:var(--taupe-grey);letter-spacing:.03em;text-transform:uppercase;font-size:.74rem;font-weight:600}.admin-snapshot-error{margin:.55rem 0 0}.admin-booking-details-panel{gap:.65rem;display:grid}.admin-details-form,.admin-details-block-form{gap:.45rem;display:grid}.admin-details-table{min-width:0}.admin-details-table td:first-child{width:52%;color:var(--deep-cocoa);font-size:.84rem}.admin-details-table td:last-child:not(:only-child){width:auto}.admin-details-table input[type=number],.admin-details-table input[type=time]{border-radius:10px;width:100%;max-width:6.5rem;padding:.32rem .45rem;font-size:.84rem}.admin-details-table .check-row--table{justify-content:flex-start}.admin-details-save,.admin-details-add{justify-self:start;padding:.38rem .85rem;font-size:.82rem}.admin-details-block-form--standalone{border-top:0;padding-top:0}.admin-details-block-form+.admin-table-wrap{border-top:1px solid #b89a9d29;padding-top:.55rem}.admin-add-booking-form{gap:.45rem;display:grid}.admin-add-booking-table select,.admin-add-booking-table input[type=text],.admin-add-booking-table input[type=email],.admin-add-booking-table input[type=tel],.admin-add-booking-table input[type=date],.admin-add-booking-table input[type=time]{border-radius:10px;width:100%;min-width:0;padding:.32rem .45rem;font-size:.84rem}.admin-add-booking-table th{font-size:.72rem}.admin-add-booking-table{min-width:640px}.admin-category{scroll-margin-top:5rem}.admin-category-title{letter-spacing:.02em;color:var(--deep-cocoa);margin:0 0 .35rem;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.02rem,2.4vw,1.28rem);font-weight:600}.admin-category--collapsible{background:#ffffff6b;border:1px solid #b89a9d2e;border-radius:16px;padding:.55rem .75rem .65rem}.admin-category-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.65rem;margin:0;padding:.15rem 0;list-style:none;display:flex}.admin-category-summary::-webkit-details-marker{display:none}.admin-category-summary:after{content:"Show";letter-spacing:.04em;text-transform:uppercase;color:var(--taupe-grey);flex-shrink:0;font-family:Inter,system-ui,sans-serif;font-size:.72rem;font-weight:700}.admin-category--collapsible[open] .admin-category-summary:after{content:"Hide"}.admin-category--collapsible .admin-category-body{border-top:1px solid #b89a9d29;margin-top:.55rem;padding-top:.55rem}.admin-category-body{flex-direction:column;gap:.55rem;display:flex}.admin-page .admin-card{padding:.75rem .85rem}.admin-page .admin-card h3{margin:0 0 .4rem;font-size:1rem}.admin-eyebrow-compact{margin-bottom:.15rem}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:620px;font-size:.88rem}.admin-table--compact{min-width:520px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #b89a9d38;padding:.45rem .55rem}.admin-table th{color:var(--taupe-grey);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.admin-table td small{color:var(--taupe-grey);font-size:.8rem}.admin-table-note{margin-top:.25rem;display:block}.admin-table-message{white-space:nowrap;text-overflow:ellipsis;max-width:240px;overflow:hidden}.admin-table-select{min-width:118px;font-size:.82rem}.admin-btn-delete{color:#985f5f;cursor:pointer;white-space:nowrap;background:#fff5f5eb;border:1px solid #985f5f59;border-radius:999px;padding:.22rem .55rem;font-size:.76rem;font-weight:700}.admin-btn-delete:hover,.admin-btn-delete:focus-visible{color:#fff;background:#985f5f;outline:none}.admin-booking-card-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.admin-schedule-form{gap:.55rem;display:grid}.admin-schedule-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.admin-schedule-table{min-width:520px}.admin-schedule-table input[type=time]{width:100%;min-width:4.5rem;max-width:6.5rem;padding:.4rem .45rem;font-size:.88rem}.admin-weekly-layout{gap:.75rem;display:grid}.admin-week-picker{grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.45rem;display:grid}.admin-week-picker-status{color:var(--taupe-grey);margin:0 0 .55rem;font-size:.86rem}.admin-week-setup-notice{background:#e8d7d873;border:1px solid #b89a9d59;border-radius:12px;gap:.55rem;margin:0 0 .55rem;padding:.55rem .65rem;line-height:1.45;display:grid}.admin-week-setup-notice p{margin:0}.admin-week-setup-notice code{font-size:.82rem}.admin-week-reset{justify-self:start}.admin-schedule-form .admin-week-reset{margin-right:.45rem}@media (max-width:719px){.admin-week-picker{grid-template-columns:1fr}}.check-row--table{justify-content:center;margin:0}.admin-category-grid{grid-template-columns:1fr;gap:.55rem;display:grid}@media (min-width:900px){.admin-category-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-subsection-title{color:var(--deep-cocoa);margin:.55rem 0 .35rem;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:1rem;font-weight:600}.admin-calendar-bookings-all{border-top:1px solid #b89a9d38;margin-top:.35rem;padding-top:.65rem}.admin-calendar-panel{gap:.75rem;display:grid}.admin-calendar-layout{align-items:start;gap:.65rem;display:grid}.admin-calendar-layout .booking-panel--calendar{width:100%;max-width:280px}.admin-calendar-day-panel{background:#f7f3f0b8;border:1px solid #b89a9d38;border-radius:14px;min-width:0;padding:.5rem .65rem}.admin-calendar-day-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.admin-calendar-day-count{color:var(--taupe-grey);white-space:nowrap;background:#fff;border-radius:999px;padding:.22rem .55rem;font-size:.78rem;font-weight:700}.admin-table-wrap--day{max-height:min(420px,55vh);overflow:auto}.admin-table-wrap--all-bookings{overflow-x:auto}.admin-bookings-table{min-width:480px}.admin-bookings-table .admin-table-select{min-width:100px;font-size:.78rem}@media (min-width:720px){.admin-calendar-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}}@media (max-width:719px){.admin-calendar-layout .booking-panel--calendar{max-width:none}.admin-calendar-day-head{flex-wrap:wrap}}.header-inner--public{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem .65rem;display:grid}.header-inner--public .brand{grid-column:1;justify-self:start;min-width:0}.header-inner--public .header-contact-strip{grid-column:2;justify-self:center}.header-inner--public .nav-burger{grid-column:3;justify-self:end}.header-inner--public .nav-links-desktop{grid-column:3;justify-self:end;margin-left:0}.header-inner--admin .nav-links-desktop{margin-left:auto}.contact-icon-strip{flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.contact-icon-link{color:#fffffff0;border:1px solid #ffffff38;border-radius:22%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .15s,filter .15s,box-shadow .15s,background-color .15s;display:inline-flex;box-shadow:0 2px 7px #4e403f24}.contact-icon-link:hover,.contact-icon-link:focus-visible{filter:brightness(1.03);outline:none;transform:scale(1.04)}.contact-icon-link:focus-visible{outline:2px solid var(--deep-cocoa);outline-offset:2px}.contact-icon-link--facebook{background:#5f7eb8}.contact-icon-link--facebook:hover,.contact-icon-link--facebook:focus-visible{background:#5370a6}.contact-icon-link--instagram{background:linear-gradient(135deg,#d4987a 0%,#c06f7e 38%,#a86292 72%,#8f5c9e 100%)}.contact-icon-link--instagram:hover,.contact-icon-link--instagram:focus-visible{filter:brightness(1.06)}.contact-icon-link--phone{background:#52aa6f}.contact-icon-link--phone:hover,.contact-icon-link--phone:focus-visible{background:#489a63}.contact-icon-link--comfortable{width:48px;height:48px}button.contact-icon-link{cursor:pointer;font:inherit;appearance:none;padding:0}button.footer-link{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.phone-dialog{background:0 0;border:0;max-width:min(92vw,22rem);margin:auto;padding:0}.phone-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#4e403f6b}.phone-dialog-panel{box-shadow:var(--shadow-hover);text-align:center;background:#fffffff7;border:1px solid #b89a9d47;border-radius:20px;padding:1.35rem 1.15rem 1.1rem;position:relative}.phone-dialog-close{width:2rem;height:2rem;color:var(--taupe-grey);cursor:pointer;background:#f7f3f0e6;border:0;border-radius:50%;font-size:1.35rem;line-height:1;position:absolute;top:.45rem;right:.5rem}.phone-dialog-close:hover,.phone-dialog-close:focus-visible{color:var(--deep-cocoa);outline:2px solid var(--rose-taupe);outline-offset:1px}.phone-dialog-title{color:var(--deep-cocoa);margin:0 0 .35rem;font-family:Playfair Display,Georgia,serif;font-size:1.25rem}.phone-dialog-copy{color:var(--taupe-grey);margin:0 0 .85rem;font-size:.88rem;line-height:1.45}.phone-dialog-number{color:var(--deep-cocoa);letter-spacing:.02em;-webkit-tap-highlight-color:transparent;background:#52aa6f1f;border:1px solid #52aa6f61;border-radius:14px;margin-bottom:.95rem;padding:.6rem .95rem;font-size:1.35rem;font-weight:700;text-decoration:none;display:inline-block}.phone-dialog-number:hover,.phone-dialog-number:focus-visible{color:var(--deep-cocoa);background:#52aa6f33;outline:none}.phone-dialog-dismiss{justify-content:center;width:100%}.nav-drawer-footer .contact-icon-strip{justify-content:center;gap:.65rem;width:100%}.nav-drawer-footer{padding:1rem 1rem max(1.25rem, calc(.75rem + env(safe-area-inset-bottom,0px)));border-top:1px solid #b89a9d33;margin-top:auto}.nav-drawer-footer-label{letter-spacing:.12em;text-transform:uppercase;color:var(--taupe-grey);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.admin-wide{grid-column:1/-1}.admin-summary-grid div{background:#f7f3f0cc;border-radius:16px;gap:.15rem;padding:.8rem;display:grid}.admin-summary-grid strong{color:var(--logo-brown);font-size:1.5rem}.admin-summary-grid span{color:var(--taupe-grey);font-size:.85rem}.schedule-grid{gap:.7rem;display:grid}.schedule-row{grid-template-columns:1fr 110px 110px;align-items:center;gap:.65rem;display:grid}.schedule-times{grid-template-columns:1fr 1fr;align-items:center;gap:.65rem;min-width:0;display:grid}@media (min-width:761px){.schedule-times{display:contents}}.table-wrap{overflow-x:auto}.bookings-mobile-list{display:none}.admin-booking-card{background:#fff;border:1px solid #b89a9d38;border-radius:18px;gap:.65rem;padding:.9rem;display:grid}.admin-booking-card-head{flex-direction:column;align-items:stretch;gap:.65rem;display:flex}.admin-booking-card-main{gap:.2rem;min-width:0;display:grid}.admin-booking-card-main strong{color:var(--deep-cocoa);font-size:1rem}.admin-booking-card-contact{word-break:break-word;font-size:.88rem}.admin-booking-card-service{border-top:1px solid #b89a9d26;gap:.15rem;padding-top:.35rem;font-size:.92rem;display:grid}.admin-booking-card-notes{word-break:break-word;color:var(--taupe-grey);margin:0;font-size:.9rem}.admin-booking-card-when{color:var(--deep-cocoa);font-size:.88rem;font-weight:700}.admin-show-mobile{display:none}.admin-show-desktop{display:block}.admin-form-stack{gap:.85rem;display:grid}.admin-form-stack--2{grid-template-columns:1fr}.admin-toggle-list{gap:.35rem;margin-top:.15rem;display:grid}.admin-toggle-row{background:#f7f3f0e0;border:1px solid #b89a9d2e;border-radius:14px;min-height:48px;padding:.55rem .75rem}.admin-mobile-list{gap:.7rem;display:grid}.admin-mobile-list--day{max-height:min(52vh,520px);padding-right:.15rem;overflow-y:auto}.admin-record-card{background:#fff;border:1px solid #b89a9d38;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:.65rem;padding:.85rem .9rem;display:flex;box-shadow:0 8px 20px #4e403f0f}.admin-record-card-main{flex:1;gap:.2rem;min-width:0;display:grid}.admin-record-card-main strong{color:var(--deep-cocoa);word-break:break-word;font-size:.98rem}.admin-record-card-main span{word-break:break-word;font-size:.88rem}.admin-record-card-badge{color:var(--taupe-grey);letter-spacing:.03em;text-transform:uppercase;background:#e8d7d88c;border-radius:999px;align-self:flex-start;margin-top:.15rem;padding:.18rem .55rem;font-size:.74rem;font-weight:700;display:inline-flex}.admin-record-card-message{color:var(--deep-cocoa);word-break:break-word;margin:.35rem 0 0;font-size:.86rem;line-height:1.45}.admin-record-card--message .admin-btn-delete{flex-shrink:0}.admin-empty-note{margin:0;padding:.65rem .1rem}.admin-mobile-tabbar{display:none}@media (min-width:761px){.admin-form-stack--2{grid-template-columns:repeat(2,minmax(0,1fr))}}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #b89a9d38;padding:.8rem}th{color:var(--taupe-grey);text-transform:uppercase;letter-spacing:.08em;font-size:.84rem}td small{color:var(--taupe-grey)}.service-description-edit,.service-variants{min-width:220px}.booking-status{min-width:135px;font-weight:700}.status-new{color:#8a6f20}.status-confirmed{color:#55764f}.status-completed{color:#4f7388}.status-cancelled,.status-no-show{color:#985f5f}.client-grid article{gap:.25rem;display:grid}.client-grid span{color:var(--taupe-grey)}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.next-page .footer-inner{text-align:center;flex-direction:column;gap:1rem;padding-bottom:.25rem}.footer-brand-line{color:var(--deep-cocoa);font-weight:600}.footer-contact-icons{justify-content:center}.footer-address-text{color:var(--taupe-grey);margin:0;font-size:.9rem;font-weight:500}.footer-text-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1.1rem;display:flex}.admin-footer-link{color:var(--warm-ivory);font-size:.88rem}.admin-footer-link:hover,.admin-footer-link:focus-visible{color:var(--warm-ivory)}.footer-link{color:var(--taupe-grey);text-underline-offset:.18em;-webkit-text-decoration:underline #b89a9d73;text-decoration:underline #b89a9d73}.footer-link:hover,.footer-link:focus-visible{color:var(--deep-cocoa);outline:none}.admin-page{background:radial-gradient(circle at 18% 10%, #e8d7d8a6, transparent 28%), radial-gradient(circle at 86% 8%, #8fa38a29, transparent 26%), var(--warm-ivory);min-height:100vh}@media (max-width:760px){.header-inner{flex-flow:row;justify-content:space-between;align-items:center;gap:.5rem;min-height:0;padding:.38rem 0}.brand{flex:0 auto;gap:.45rem;min-width:0}.site-header--drawer .brand{flex:auto;max-width:calc(100% - 52px)}.site-header--drawer .header-inner--public .brand{flex:0 auto;max-width:min(42vw,220px)}.site-header--drawer .nav-burger{display:inline-flex}.brand>span{min-width:0;overflow:hidden}.brand strong,.brand small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brand .brand-logo{width:40px;height:40px;padding:2px;box-shadow:0 6px 16px #4e403f1a}.brand strong{font-size:.95rem;line-height:1.15}.brand small{font-size:.65rem;line-height:1.2}.hero{padding:1.35rem 0 1.15rem}.hero-grid{gap:1.35rem}.section{padding:3.2rem 0}.treatments-section{padding:.85rem 0 .35rem}.about-section{padding:1.85rem 0 .65rem}.location-section{padding:.65rem 0 1.85rem}.location-section .section-header{margin-bottom:.75rem}.booking-section{padding:.65rem 0 2.75rem}.treatments-scroll{padding-bottom:.45rem}.container{width:min(var(--container), calc(100% - 1.3rem))}.hero-heading{font-size:clamp(1.38rem,6.2vw,2.05rem)}.hero-image-shell{min-height:280px;max-height:420px}.hero-photo{-o-object-position:50% 22%;object-position:50% 22%}.section-title,.hero-heading{overflow-wrap:anywhere}.hero-actions{flex-direction:column;align-items:stretch;gap:.55rem}.hero-actions .btn{justify-content:center;width:100%}.hero-photo-note{padding:.72rem .85rem;bottom:.6rem;left:.6rem;right:.6rem}.hero-photo-note strong{font-size:1.05rem}.hero-photo-note span{font-size:.82rem;line-height:1.35}.booking-card--compact{box-sizing:border-box;border-radius:18px;gap:.38rem;width:100%;max-width:none;margin-inline:0;padding:.55rem .6rem 0}.booking-card{box-sizing:border-box;width:100%;max-width:none;margin-inline:0}.booking-calendar-layout{min-width:0}input,select,textarea{font-size:16px}.about-photo-stack{min-height:390px}.about-photo-stack img:first-child{height:390px}.booking-actions{flex-direction:column-reverse}.booking-actions .btn{width:100%}.booking-card,.admin-card,.admin-login{border-radius:20px;padding:.9rem}.booking-panel--calendar{border-radius:12px;padding:.28rem .38rem .42rem}.booking-panel--calendar .calendar-day{border-radius:7px;gap:0;min-height:1.9rem;padding:.14rem;font-size:.82rem}.booking-panel--calendar .calendar-day>span:first-child{font-size:.84rem}.booking-panel--calendar .calendar-day.is-empty{min-height:1.9rem}.booking-panel--calendar .calendar-heading{margin-bottom:.06rem}.booking-panel--calendar .calendar-weekdays{margin-bottom:.1rem;font-size:0}.booking-panel--calendar .calendar-weekdays span:first-letter{letter-spacing:.02em;text-transform:uppercase;color:var(--taupe-grey);font-size:.58rem;font-weight:700}.booking-panel--calendar .calendar-grid,.booking-panel--calendar .calendar-weekdays{gap:.1rem}.booking-panel--calendar .calendar-nav{width:22px;height:22px;font-size:.88rem}.booking-panel--calendar .calendar-month-label{font-size:.8rem}.booking-panel--times .time-slot-grid{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;grid-template-columns:none;gap:.2rem;margin-top:.12rem;padding-bottom:.08rem;display:flex;overflow-x:auto}.booking-panel--times .time-slot{scroll-snap-align:start;flex:none;min-width:3.1rem;min-height:1.62rem;padding:.16rem .32rem;font-size:.68rem}.booking-footer{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.42rem .6rem calc(.55rem + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid #b89a9d2e;margin:.12rem -.6rem 0;position:sticky;bottom:0;box-shadow:0 -6px 20px #4e403f0f}.booking-section{padding-bottom:1rem}.calendar-day{border-radius:10px;min-height:3.35rem}.calendar-day small,.calendar-day em{min-height:2.2em;font-size:.58rem}.calendar-day:not(.admin-calendar-day) small,.calendar-day:not(.admin-calendar-day) em{display:none}.calendar-weekdays{letter-spacing:-.02em;font-size:.62rem}.calendar-nav{flex-shrink:0;width:44px;height:44px;font-size:1.15rem}.calendar-heading{flex-wrap:wrap}.calendar-heading h3{text-align:center;flex:auto;min-width:0;font-size:1.05rem}.admin-calendar-day small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.time-slot,.btn,input,select,textarea{min-height:44px}.booking-panel--times .time-slot{min-height:1.62rem}.calendar-day:not(:disabled),.time-slot{touch-action:manipulation}.agenda-header{flex-direction:column;align-items:flex-start}.footer-inner{flex-direction:column}.schedule-row{grid-template-columns:1fr}.admin-show-mobile{display:grid}.admin-show-desktop{display:none!important}.admin-page{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));overflow-x:clip}.admin-page .container{width:min(var(--container), calc(100% - 1rem))}.admin-page .admin-dashboard-stack,.admin-page .admin-category-body,.admin-page .admin-card,.admin-page .admin-wide,.admin-page .admin-schedule-form,.admin-page .admin-table-wrap{min-width:0;max-width:100%}.admin-page .admin-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.admin-page .admin-snapshot-head{flex-wrap:wrap}.admin-page .field-help{overflow-wrap:break-word}.admin-page .admin-record-card{flex-direction:column;align-items:stretch}.admin-page .admin-record-card .admin-btn-delete{justify-content:center;width:100%}.admin-page .admin-section{padding-top:1rem;padding-bottom:1.5rem}.admin-page .section-header{text-align:left;max-width:none;margin-bottom:1.35rem}.admin-page .section-title{margin-top:.35rem;font-size:clamp(1.32rem,5.2vw,1.75rem);line-height:1.2}.admin-page .section-support{margin-top:.45rem;font-size:.9rem;line-height:1.45}.admin-page .admin-dashboard-stack{gap:1.15rem}.admin-category{scroll-margin-top:4.5rem}.admin-category-title,.admin-category-summary{align-items:center;min-height:48px;font-size:1.05rem}.admin-category--collapsible{border-radius:18px;padding:.65rem .8rem .75rem}.admin-category-summary:after{background:#e8d7d880;border-radius:999px;padding:.35rem .55rem;font-size:.78rem}.admin-page .admin-card{border-radius:18px;padding:.9rem .95rem}.admin-snapshot-panel{border-radius:18px;padding:.85rem .95rem}.admin-details-save,.admin-details-add,.admin-page .admin-schedule-actions .btn,.admin-page .services-admin-list>.btn{justify-content:center;width:100%;min-height:48px}.admin-schedule-actions{flex-direction:column;align-items:stretch}.admin-schedule-form .admin-week-reset{width:100%;min-height:48px;margin-right:0}.admin-btn-delete{min-height:44px;padding:.45rem .85rem;font-size:.8rem}.admin-page .admin-bookings-table .admin-table-select{width:100%;min-width:0;max-width:9.5rem}.admin-calendar-layout{gap:.85rem}.admin-calendar-layout .booking-panel--calendar{border-radius:16px;width:100%;max-width:none;padding:.55rem .65rem .7rem}.admin-calendar-day-panel{border-radius:16px;padding:.75rem .85rem}.admin-mobile-tabbar{z-index:45;padding:.4rem max(.35rem, env(safe-area-inset-left,0px)) calc(.45rem + env(safe-area-inset-bottom,0px)) max(.35rem, env(safe-area-inset-right,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-top:1px solid #b89a9d47;grid-template-columns:repeat(6,minmax(0,1fr));gap:.15rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #4e403f1a}.admin-mobile-tabbar-link{letter-spacing:.02em;text-align:center;min-height:44px;color:var(--taupe-grey);border-radius:12px;justify-content:center;align-items:center;padding:.35rem .2rem;font-size:.68rem;font-weight:700;transition:background .15s,color .15s;display:flex}.admin-mobile-tabbar-link:hover,.admin-mobile-tabbar-link:focus-visible{color:var(--deep-cocoa);background:#e8d7d88c;outline:none}.admin-mobile-tabbar-link--menu{color:var(--logo-brown)}.site-header--admin .nav-burger{min-width:48px;min-height:48px}.header-inner--admin{padding:.45rem 0}.location-map-wrap{aspect-ratio:4/3;max-height:none}.admin-page .admin-card h3{margin-bottom:.55rem;font-size:1.08rem}.admin-page .admin-day-agenda{border-radius:18px;margin-top:.95rem;padding:.75rem}.admin-page .agenda-header span{align-self:flex-start;font-size:.82rem}.admin-page .agenda-booking strong{word-break:break-word;line-height:1.3}.admin-page .agenda-booking span,.admin-page .agenda-booking p{word-break:break-word}.admin-page .chip{align-items:center;min-height:44px;padding:.4rem .8rem;display:inline-flex}.admin-page .chip-list{gap:.45rem}.admin-page .check-row{align-items:center;min-height:44px;padding:.25rem 0}.admin-page .booking-panel>.btn,.admin-page .schedule-grid>.btn,.admin-page .services-admin-list>.btn{width:100%;margin-top:.15rem}.admin-page .service-admin-editor{border-radius:18px;padding:.8rem}.admin-page .service-admin-editor textarea{min-height:5.5rem;font-size:.92rem}.admin-page .notification-item strong,.admin-page .notification-item span,.admin-page .notification-item p{word-break:break-word}.admin-page .notification-item strong{font-size:.86rem;line-height:1.35}.admin-page .client-grid article span{word-break:break-word}.admin-page .admin-login{width:100%;max-width:none;padding:1rem}.admin-page .admin-login .btn{width:100%}.admin-page .admin-login .field-help{word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.admin-page .admin-block-time-form{grid-template-columns:1fr 1fr;align-items:end;gap:.65rem .75rem}.admin-page .admin-block-time-form>.field-help,.admin-page .admin-block-time-form>.btn{grid-column:1/-1}.admin-summary-grid:not(.admin-summary-grid--snapshot){grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-booking{grid-template-columns:1fr;gap:.65rem}.agenda-booking .booking-status{width:100%;min-width:0}.bookings-table-desktop{display:none}.bookings-mobile-list{gap:.75rem;margin-top:.25rem;display:grid}.booking-status{width:100%;min-width:0;max-width:100%}}@media (min-width:700px){.hero-stats,.testimonial-grid,.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-schedule,.booking-calendar-layout{min-width:0}.booking-card--compact{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"service service""calendar side""footer footer"}.booking-card--compact .booking-service-row{grid-area:service}.booking-card--compact .booking-schedule{display:contents}.booking-card--compact .booking-panel--calendar{grid-area:calendar}.booking-card--compact .booking-side-stack{grid-area:side;align-content:start}.booking-card--compact .booking-footer{grid-area:footer}.booking-card--compact .booking-details-grid{grid-template-columns:1fr 1fr}.booking-panel--times .time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:5.75rem;padding-right:.12rem;overflow-y:auto}.two-col,.about-grid,.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-calendar-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.agenda-booking{grid-template-columns:minmax(0,1fr) 150px;align-items:start}.admin-page .client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:980px){.admin-page .client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:380px){.booking-details-grid{grid-template-columns:1fr}.header-inner--public .header-contact-strip{display:none}}@media (max-width:360px){.time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-weekdays{letter-spacing:.02em;font-size:.58rem}}
html{overflow-x:clip}body{min-height:100dvh}.next-page main{overflow-x:clip}
