:root{--color-sand:#d7bfa5;--color-gold:#b09d87;--color-white:#fefefe;--color-bg:#f8f4ee;--color-bg-elevated:#fefefe;--color-surface:#efe6da;--color-border:#e2d3c2;--color-blush:var(--color-sand);--color-blush-soft:#efe6da;--color-blush-deep:var(--color-gold);--color-ink:#505050;--color-ink-muted:#6d6d6d;--color-ink-subtle:#8f8a84;--color-text:var(--color-ink);--color-text-muted:var(--color-ink-muted);--color-accent:var(--color-gold);--color-accent-soft:var(--color-blush-soft);--color-focus:var(--color-gold);--font-display:"Fraunces", "Georgia", serif;--font-body:"Outfit", "Helvetica Neue", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.35rem;--text-2xl:1.75rem;--text-3xl:2.5rem;--text-hero:clamp(2.5rem, 6vw, 4rem);--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--radius-sm:4px;--radius-md:8px;--container:72rem;--header-height:4.75rem;--shadow-soft:0 1px 2px #5050500a, 0 8px 24px #5050500f;color:var(--color-text);background-color:var(--color-bg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);min-width:320px;min-height:100svh;color:var(--color-text);margin:0}#root{min-height:100svh}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--color-accent)}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:var(--leading-tight);color:var(--color-ink);margin:0}p{margin:0}button{font:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.site-shell{flex-direction:column;min-height:100svh;display:flex}.site-header{z-index:20;min-height:var(--header-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--color-bg-elevated) 88%, transparent);border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:center;display:flex;position:sticky;top:0}.site-header__inner,.site-footer__inner,.site-main__inner{width:min(100% - 2rem, var(--container));margin-inline:auto}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-5);min-height:var(--header-height);display:flex}.site-brand{color:var(--color-ink);flex-shrink:0;align-items:center;line-height:0;text-decoration:none;display:inline-flex}.site-brand:hover{color:var(--color-ink);opacity:.88}.brand-logo{width:auto;max-width:100%;height:auto;display:block}.brand-logo--nav{width:auto;height:2.65rem}.brand-logo--footer{width:auto;height:2.85rem;margin-bottom:var(--space-1)}.brand-logo--hero{width:min(100%,28rem);height:auto;max-height: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}.site-nav{align-items:center;gap:var(--space-4);min-width:0;display:flex}.site-nav__links{align-items:center;gap:var(--space-4);display:flex}.site-nav a{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);white-space:nowrap;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-ink)}.site-nav__cta{border:1px solid var(--color-gold);border-radius:var(--radius-sm);background:var(--color-gold);padding:.55rem .95rem;transition:background-color .2s,border-color .2s,color .2s;color:var(--color-white)!important}.site-nav__cta:hover,.site-nav__cta[aria-current=page]{background:color-mix(in srgb, var(--color-gold) 86%, #505050);border-color:color-mix(in srgb, var(--color-gold) 86%, #505050);color:var(--color-white)!important}.site-nav-mobile{display:none}.site-main{padding-block:var(--space-7);flex:1}.page-stub{gap:var(--space-4);max-width:40rem;display:grid}.page-stub__eyebrow{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-blush-deep)}.page-stub h1{font-size:var(--text-3xl)}.page-stub p{color:var(--color-text-muted);font-size:var(--text-lg)}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--space-6);background:var(--color-surface)}.site-footer__inner{justify-content:space-between;gap:var(--space-5);color:var(--color-ink-subtle);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.site-footer__brand{gap:var(--space-1);justify-items:start;display:grid}.site-footer__brand strong{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin-bottom:var(--space-1);font-weight:500;display:block}.site-footer__draft{margin-top:var(--space-2);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-blush-deep)}.site-footer__meta{gap:var(--space-2);text-align:end;align-content:start;display:grid}.site-footer__meta a{color:var(--color-ink-muted);text-decoration:none}.site-footer__meta a:hover{color:var(--color-ink)}.site-footer__social{flex-wrap:wrap;gap:.75rem 1rem;margin-top:.15rem;display:flex}.site-footer__social a,.site-footer__social-pending{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.site-footer__social-pending{color:var(--color-ink-subtle)}@media (width<=720px){.site-header{justify-content:flex-start;height:auto;min-height:0}.site-header__inner{gap:var(--space-3);min-height:3.75rem;width:min(100% - 1.25rem, var(--container));padding-block:.55rem}.site-footer__inner,.site-main__inner{width:min(100% - 1.25rem, var(--container))}.brand-logo--nav{height:2.15rem}.site-nav{gap:var(--space-2)}.site-nav__links--desktop{display:none}.site-nav__home{font-size:.72rem}.site-nav__cta{align-items:center;min-height:2.4rem;padding:.55rem .85rem;font-size:.72rem;display:inline-flex}.site-nav-mobile{border-top:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);background:color-mix(in srgb, var(--color-bg-elevated) 92%, transparent);display:block}.site-nav-mobile__inner{width:min(100% - 1.25rem, var(--container));overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.35rem;margin-inline:auto;padding-block:.45rem;display:flex;overflow-x:auto}.site-nav-mobile__inner::-webkit-scrollbar{display:none}.site-nav-mobile a{scroll-snap-align:start;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-ink-muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:.45rem .75rem;font-size:.68rem;font-weight:500;text-decoration:none}.site-nav-mobile a:active,.site-nav-mobile a:hover{color:var(--color-ink);border-color:color-mix(in srgb, var(--color-ink) 28%, var(--color-border))}.site-footer__meta{text-align:start}.site-shell--home{--header-height:6.6rem}}@media (width>=721px){.site-nav-mobile{display:none!important}}.site-shell--home .site-header{background:color-mix(in srgb, var(--color-white) 88%, transparent);border-bottom-color:color-mix(in srgb, var(--color-border) 70%, transparent)}.site-shell--home .site-main{padding-block:0}.site-shell--home .site-main__inner{width:100%;max-width:none;margin:0}.landing{flex-direction:column;display:flex}.landing__container{width:min(100% - 2rem, var(--container));margin-inline:auto}@media (width<=720px){.landing__container{width:min(100% - 1.25rem, var(--container))}}.draft-mark{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-blush-deep);vertical-align:middle;font-weight:500;display:inline-block}.hero{isolation:isolate;min-height:calc(100svh - var(--header-height));color:var(--color-ink);background:var(--color-ink);align-items:end;display:grid;position:relative;overflow:hidden}.hero__media{z-index:-2;position:absolute;inset:0}.hero__media img{object-fit:cover;object-position:center center;width:100%;height:100%}.hero__veil{z-index:-1;pointer-events:none;background:linear-gradient(90deg,#fefefef0 0%,#f8f4eec7 34%,#f8f4ee47 58%,#0000 78%),linear-gradient(#0000 58%,#f8f4ee9e 100%);position:absolute;inset:0}.hero__stage{width:min(100% - 2.5rem,34rem);margin-inline:auto 0;margin-left:max(1.25rem, calc((100% - var(--container)) / 2 + 1rem));text-align:left;justify-items:start;gap:var(--space-4);padding-block:clamp(2rem,6vh,3.5rem) clamp(2.5rem,8vh,4.5rem);display:grid}.hero__brand{margin:0;line-height:0;animation:.9s cubic-bezier(.22,1,.36,1) both hero-rise}.hero__brand .brand-logo--hero{width:min(100%,22rem)}.hero__tagline{max-width:20rem;font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:400;line-height:var(--leading-snug);color:var(--color-ink-muted);margin:0;animation:.9s cubic-bezier(.22,1,.36,1) .1s both hero-rise}.hero__actions{padding-top:var(--space-1);animation:.9s cubic-bezier(.22,1,.36,1) .2s both hero-rise;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:3.1rem;font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;padding:.9rem 1.75rem;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-white)}.btn--primary:hover{background:color-mix(in srgb, var(--color-gold) 86%, #505050);border-color:color-mix(in srgb, var(--color-gold) 86%, #505050);color:var(--color-white)}.btn--secondary{background:var(--color-white);border-color:var(--color-sand);color:var(--color-ink)}.btn--secondary:hover{background:color-mix(in srgb, var(--color-sand) 22%, var(--color-white));border-color:var(--color-gold);color:var(--color-ink)}.btn--ghost{color:var(--color-ink);border-color:color-mix(in srgb, var(--color-ink) 28%, var(--color-border));background:0 0}.btn--ghost:hover{color:var(--color-ink);border-color:var(--color-ink);background:color-mix(in srgb, var(--color-ink) 4%, transparent)}@media (width<=720px){.hero__media img{object-position:center 40%}.hero__veil{background:linear-gradient(#fefefe59 0%,#0000 35%),linear-gradient(#0000 38%,#f8f4eec7 68%,#f8f4eef0 100%)}.hero__stage{width:min(100% - 2rem,34rem);margin-left:auto;margin-right:auto}.hero__brand .brand-logo--hero{width:min(100%,18rem)}}.landing-section{padding-block:var(--space-8)}.landing-section__header{gap:var(--space-3);margin-bottom:var(--space-6);max-width:36rem;display:grid}.landing-section__header h2{letter-spacing:-.02em;font-size:clamp(1.75rem,3.5vw,2.35rem)}.landing-section__header p{color:var(--color-text-muted);font-size:var(--text-lg)}.landing-section--reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(1.25rem)}.landing-section--reveal.is-visible{opacity:1;transform:none}.services{background:var(--color-bg);border-block:1px solid var(--color-border)}.services__header{max-width:38rem;margin-bottom:var(--space-7)}.service-grid{gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=760px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}}.service-card{border:1.5px solid color-mix(in srgb, var(--color-gold) 28%, var(--color-border));border-radius:var(--radius-md);background:var(--color-white);transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;overflow:hidden;box-shadow:0 2px 14px #5050500d}.service-card:hover{border-color:color-mix(in srgb, var(--color-gold) 55%, var(--color-border));transform:translateY(-2px);box-shadow:0 8px 24px #50505014}.service-card--open{border-color:var(--color-gold);grid-column:1/-1;box-shadow:0 10px 28px #5050501a}.service-card__toggle{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;gap:.75rem;padding:1.25rem 1.2rem 1.15rem;display:grid}.service-card__top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.service-card__index{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-gold);font-weight:500;line-height:1}.service-card__price{background:color-mix(in srgb, var(--color-sand) 35%, var(--color-white));border:1px solid color-mix(in srgb, var(--color-sand) 70%, var(--color-border));letter-spacing:.02em;min-height:1.85rem;color:var(--color-ink);white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.service-card__price--soft{color:var(--color-ink-muted);background:var(--color-surface);border-color:var(--color-border);font-weight:500}.service-card__name{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.01em;font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:500;line-height:1.2}.service-card__summary{font-size:var(--text-sm);color:var(--color-ink-muted);line-height:1.5}.service-card__action{letter-spacing:.08em;text-transform:uppercase;color:var(--color-gold);align-items:center;gap:.55rem;margin-top:.25rem;font-size:.72rem;font-weight:600;display:inline-flex}.service-card__plus{border:1.5px solid var(--color-gold);border-radius:999px;place-items:center;width:1.45rem;height:1.45rem;font-size:.95rem;line-height:1;display:inline-grid}.service-card--open .service-card__plus{background:var(--color-gold);color:var(--color-white)}.service-card__panel{gap:var(--space-5);border-top:1px solid color-mix(in srgb, var(--color-sand) 55%, var(--color-border));background:color-mix(in srgb, var(--color-bg) 65%, var(--color-white));padding:0 1.2rem 1.35rem;animation:.35s both hero-rise;display:grid}.service-card__panel[hidden]{display:none}.service-card__block{gap:var(--space-3);padding-top:var(--space-4);display:grid}.service-card__label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);margin:0;font-weight:600}.service-card__benefits{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.service-card__benefits li{font-size:var(--text-sm);color:var(--color-ink);padding-left:1.05rem;line-height:1.45;position:relative}.service-card__benefits li:before{content:"";background:var(--color-sand);border-radius:999px;width:.4rem;height:.4rem;position:absolute;top:.55em;left:0}.service-card__prices{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.service-card__prices li{justify-content:space-between;align-items:baseline;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);font-size:var(--text-sm);padding:.7rem .85rem;display:flex}.service-card__price-sessions{color:var(--color-ink-muted)}.service-card__price-value{color:var(--color-ink);text-align:right;font-weight:600}.service-card__note{font-size:var(--text-sm);color:var(--color-ink-muted);margin:0}.services__cta{margin-top:var(--space-7)}@media (hover:none){.service-card:hover{transform:none;box-shadow:0 2px 14px #5050500d}}.about__layout{gap:var(--space-6);align-items:center;display:grid}@media (width>=860px){.about__layout{gap:var(--space-8);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}.about__photo{border-radius:var(--radius-md);background:var(--color-surface);margin:0;overflow:hidden}.about__photo img{object-fit:cover;object-position:center 35%;width:100%;height:100%;max-height:36rem}.about__copy{gap:var(--space-4);color:var(--color-text-muted);font-size:var(--text-lg);max-width:36rem;display:grid}.about__accent{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.75rem);line-height:var(--leading-snug);color:var(--color-ink);letter-spacing:-.02em}.salon-gallery{background:var(--color-surface);border-top:1px solid var(--color-border)}.salon-gallery__header{margin-bottom:var(--space-6)}.salon-gallery__grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.salon-gallery__item{border-radius:var(--radius-md);background:var(--color-bg-elevated);min-height:15rem;box-shadow:var(--shadow-soft);margin:0;overflow:hidden}.salon-gallery__item:first-child{grid-column:1/-1;min-height:24rem}.salon-gallery__item:last-child{grid-column:1/-1}.salon-gallery__item img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .45s}.salon-gallery__item:first-child img{object-position:center 28%}.salon-gallery__item:hover img{transform:scale(1.02)}@media (width>=860px){.salon-gallery__grid{gap:var(--space-4);grid-template-rows:repeat(2,16rem);grid-template-columns:repeat(3,minmax(0,1fr))}.salon-gallery__item,.salon-gallery__item:first-child,.salon-gallery__item:last-child{grid-column:auto;min-height:0}.salon-gallery__item:first-child,.salon-gallery__item:nth-child(2){grid-row:1/3}}.voucher{background:var(--color-white);border-block:1px solid var(--color-border)}.voucher__layout{gap:var(--space-6);align-items:center;display:grid}@media (width>=860px){.voucher__layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}.voucher__copy{gap:var(--space-4);display:grid}.voucher__note{color:var(--color-ink-muted);font-size:var(--text-base);margin:0}.voucher__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.voucher__figure{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated);box-shadow:var(--shadow-soft);margin:0;overflow:hidden}.voucher__figure img{width:100%;height:auto;display:block}.contact{background:var(--color-surface);border-top:1px solid var(--color-border)}.contact__list{gap:var(--space-5);max-width:28rem;margin:0;padding:0;list-style:none;display:grid}.contact__list li{gap:var(--space-1);display:grid}.contact__label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-subtle)}.contact__value{font-size:var(--text-lg);color:var(--color-ink)}.contact__value a{text-decoration:none}.contact__value a:hover{color:var(--color-blush-deep)}.contact__pending{gap:.15rem;display:grid}.contact__pending em{font-style:normal;font-size:var(--text-sm);color:var(--color-ink-subtle)}.contact__social-note{margin:var(--space-6) 0 0;max-width:28rem;font-size:var(--text-sm);color:var(--color-ink-muted);line-height:1.5}@keyframes hero-rise{0%{opacity:0;transform:translateY(.85rem)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero__brand,.hero__tagline,.hero__actions,.landing-section--reveal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}.booking-page{gap:var(--space-6);max-width:44rem;animation:.7s cubic-bezier(.22,1,.36,1) both booking-rise;display:grid}.booking-page__intro{gap:var(--space-3);display:grid}.booking-page__eyebrow{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-blush-deep)}.booking-page__intro h1{font-size:clamp(2rem, 4vw, var(--text-3xl))}.booking-page__intro>p:last-child{color:var(--color-text-muted);font-size:var(--text-lg);max-width:34rem}.booking-wizard{gap:var(--space-5);display:grid}.booking-steps{gap:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);padding:0;padding-bottom:var(--space-4);flex-wrap:wrap;margin:0;list-style:none;display:flex}.booking-steps__item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-subtle);display:inline-flex}.booking-steps__item--current{color:var(--color-ink)}.booking-steps__item--done{color:var(--color-blush-deep)}.booking-steps__index{width:1.5rem;height:1.5rem;font-size:var(--text-xs);border:1px solid;border-radius:999px;place-items:center;font-weight:500;display:inline-grid}.booking-steps__item--current .booking-steps__index{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg-elevated)}.booking-context{font-size:var(--text-sm);color:var(--color-ink-muted);padding:var(--space-3) 0 0;border-top:none;animation:.45s cubic-bezier(.22,1,.36,1) both booking-rise}.booking-panel{gap:var(--space-5);display:grid}.booking-panel__header{gap:var(--space-2);max-width:34rem;display:grid}.booking-panel__header h2{font-size:var(--text-2xl)}.booking-panel__header p{color:var(--color-ink-muted)}.booking-service-groups{gap:var(--space-6);display:grid}.booking-service-group h3{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-subtle);margin-bottom:var(--space-3);font-weight:500}.booking-service-grid{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.booking-service-card{align-items:center;gap:var(--space-4);border:1.5px solid color-mix(in srgb, var(--color-ink) 14%, var(--color-border));border-radius:var(--radius-md);background:var(--color-white);text-align:left;width:100%;color:inherit;cursor:pointer;grid-template-columns:auto 1fr auto;padding:1.2rem 1.25rem;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 2px 10px #1c1a190d}.booking-service-card:hover{border-color:color-mix(in srgb, var(--color-blush-deep) 55%, var(--color-border));transform:translateY(-2px);box-shadow:0 6px 18px #1c1a1914}.booking-service-card:hover .booking-service-card__hint{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-white)}.booking-service-card--selected{border-color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 42%, white);box-shadow:inset 0 0 0 1px var(--color-ink), 0 4px 14px #1c1a1914}.booking-service-card__index{background:color-mix(in srgb, var(--color-blush-soft) 70%, white);width:2.35rem;height:2.35rem;font-family:var(--font-display);font-size:var(--text-base);color:var(--color-blush-deep);border-radius:999px;place-items:center;font-weight:500;line-height:1;display:grid}.booking-service-card--selected .booking-service-card__index{background:var(--color-ink);color:var(--color-white)}.booking-service-card__body{gap:.3rem;min-width:0;display:grid}.booking-service-card__title{font-family:var(--font-display);color:var(--color-ink);font-size:clamp(1.2rem,2.2vw,1.4rem);font-weight:500;line-height:1.25}.booking-service-card__desc{font-size:var(--text-sm);color:var(--color-ink-muted);line-height:1.45}.booking-service-card__aside{flex-shrink:0;justify-items:end;gap:.55rem;display:grid}.booking-service-card__duration{background:var(--color-surface);border:1px solid var(--color-border);letter-spacing:.04em;min-height:1.85rem;color:var(--color-ink-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .7rem;font-size:.75rem;font-weight:500;display:inline-flex}.booking-service-card--selected .booking-service-card__duration{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-white)}.booking-service-card__price{color:var(--color-ink-muted);white-space:nowrap;font-size:.8rem}.booking-service-card__hint{border-radius:var(--radius-sm);border:1.5px solid var(--color-ink);letter-spacing:.08em;text-transform:uppercase;min-width:5.5rem;min-height:2rem;color:var(--color-ink);background:0 0;justify-content:center;align-items:center;padding:.35rem .85rem;font-size:.72rem;font-weight:600;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.booking-service-card--selected .booking-service-card__hint{background:var(--color-blush-deep);border-color:var(--color-blush-deep);color:var(--color-white)}.booking-choice-list{border-top:1px solid var(--color-border);gap:0;margin:0;padding:0;list-style:none;display:grid}.booking-choice{justify-content:space-between;align-items:flex-start;gap:var(--space-4);width:100%;padding:var(--space-4) 0;border:0;border-bottom:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);text-align:left;color:inherit;cursor:pointer;background:0 0;transition:color .2s,padding-left .2s;display:flex}.booking-choice:hover{color:var(--color-ink);padding-left:var(--space-2)}.booking-choice--selected{color:var(--color-ink);box-shadow:inset 3px 0 0 var(--color-blush);padding-left:var(--space-3)}.booking-choice__main{gap:var(--space-1);min-width:0;display:grid}.booking-choice__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.booking-choice__desc{font-size:var(--text-sm);color:var(--color-ink-subtle);line-height:var(--leading-snug)}.booking-choice__meta{font-size:var(--text-sm);color:var(--color-ink-subtle);flex-shrink:0;padding-top:.2rem}.booking-soon{gap:var(--space-3);margin-bottom:var(--space-5);display:grid}.booking-soon__head,.booking-slot-group__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.booking-soon__head h3,.booking-slot-group__head h3{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink);margin:0;font-weight:600}.booking-soon__head span,.booking-slot-group__head span{font-size:var(--text-xs);color:var(--color-ink-muted)}.booking-soon__list{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.booking-soon__chip{border:1.5px solid color-mix(in srgb, var(--color-ink) 14%, var(--color-border));border-radius:var(--radius-md);background:var(--color-white);width:100%;color:inherit;cursor:pointer;justify-items:center;gap:.2rem;padding:.85rem .5rem;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 2px 8px #1c1a190a}.booking-soon__chip:hover{border-color:color-mix(in srgb, var(--color-blush-deep) 50%, var(--color-border));transform:translateY(-1px);box-shadow:0 6px 16px #1c1a1912}.booking-soon__chip--selected{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-white);box-shadow:0 4px 14px #1c1a191f}.booking-soon__weekday{letter-spacing:.08em;text-transform:uppercase;color:var(--color-blush-deep);font-size:.72rem;font-weight:600}.booking-soon__chip--selected .booking-soon__weekday{color:color-mix(in srgb, var(--color-blush-soft) 80%, white)}.booking-soon__date{font-family:var(--font-display);font-size:1.15rem;font-weight:500;line-height:1.1}.booking-calendar{gap:var(--space-3);border:1.5px solid color-mix(in srgb, var(--color-ink) 12%, var(--color-border));border-radius:var(--radius-md);background:var(--color-white);max-width:26rem;padding:1.1rem;display:grid;box-shadow:0 2px 12px #1c1a190a}.booking-calendar__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.booking-calendar__month{font-family:var(--font-display);font-size:var(--text-xl);text-transform:capitalize;margin:0;font-weight:500}.booking-calendar__nav{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-ink);cursor:pointer;font-size:1.25rem;line-height:1}.booking-calendar__nav:hover:not(:disabled){border-color:var(--color-ink);background:var(--color-white)}.booking-calendar__nav:disabled{opacity:.35;cursor:not-allowed}.booking-calendar__legend{letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);flex-wrap:wrap;gap:.75rem 1rem;font-size:.72rem;display:flex}.booking-calendar__legend span{align-items:center;gap:.4rem;display:inline-flex}.booking-calendar__swatch{border:1px solid #0000;border-radius:999px;width:.7rem;height:.7rem}.booking-calendar__swatch--open{background:color-mix(in srgb, var(--color-blush-soft) 75%, white);border-color:color-mix(in srgb, var(--color-blush-deep) 35%, var(--color-border))}.booking-calendar__swatch--selected{background:var(--color-ink)}.booking-calendar__swatch--closed{background:var(--color-surface);border-color:var(--color-border)}.booking-calendar__weekdays,.booking-calendar__grid{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.booking-calendar__weekdays{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted);text-align:center;font-size:.7rem;font-weight:600}.booking-calendar__cell{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--color-ink-subtle);font-size:var(--text-sm);cursor:pointer;background:0 0;border:1.5px solid #0000;place-items:center;gap:.15rem;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:grid;position:relative}.booking-calendar__cell--empty{visibility:hidden;pointer-events:none}.booking-calendar__cell--open{background:color-mix(in srgb, var(--color-blush-soft) 55%, white);border-color:color-mix(in srgb, var(--color-blush-deep) 28%, var(--color-border));color:var(--color-ink);font-weight:600}.booking-calendar__cell--open:hover:not(:disabled){background:color-mix(in srgb, var(--color-blush-soft) 85%, white);border-color:var(--color-blush-deep);box-shadow:0 3px 10px #1c1a1914}.booking-calendar__cell--selected{box-shadow:0 4px 12px #1c1a1924;background:var(--color-ink)!important;border-color:var(--color-ink)!important;color:var(--color-white)!important}.booking-calendar__cell--closed,.booking-calendar__cell:disabled{color:color-mix(in srgb, var(--color-ink-subtle) 70%, transparent);opacity:1;cursor:not-allowed;background:0 0;border-color:#0000;font-weight:400}.booking-calendar__daynum{line-height:1}.booking-calendar__dot{background:var(--color-blush-deep);border-radius:999px;width:.28rem;height:.28rem}.booking-calendar__cell--selected .booking-calendar__dot{background:color-mix(in srgb, var(--color-blush-soft) 80%, white)}.booking-slot-groups{gap:var(--space-5);display:grid}.booking-slot-group{gap:var(--space-3);display:grid}.booking-slot-grid{grid-template-columns:repeat(auto-fill,minmax(7.25rem,1fr));gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.booking-slot{border:1.5px solid color-mix(in srgb, var(--color-ink) 14%, var(--color-border));border-radius:var(--radius-md);background:var(--color-white);width:100%;min-height:4.6rem;color:var(--color-ink);text-align:left;cursor:pointer;align-content:center;justify-items:start;gap:.2rem;padding:.8rem .85rem;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 2px 8px #1c1a190a}.booking-slot:hover{border-color:color-mix(in srgb, var(--color-blush-deep) 50%, var(--color-border));transform:translateY(-1px);box-shadow:0 6px 16px #1c1a1912}.booking-slot--selected{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-white);box-shadow:0 4px 14px #1c1a191f}.booking-slot__time{font-family:var(--font-display);letter-spacing:.01em;font-size:1.35rem;font-weight:500;line-height:1.1}.booking-slot__range{color:var(--color-ink-muted);font-size:.78rem}.booking-slot--selected .booking-slot__range{color:color-mix(in srgb, var(--color-white) 72%, transparent)}.booking-slot__hint{letter-spacing:.08em;text-transform:uppercase;color:var(--color-blush-deep);margin-top:.15rem;font-size:.68rem;font-weight:600}.booking-slot--selected .booking-slot__hint{color:color-mix(in srgb, var(--color-blush-soft) 85%, white)}.booking-form{gap:var(--space-4);max-width:28rem;display:grid}.booking-field{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-ink-muted);display:grid}.booking-field em{color:var(--color-ink-subtle);font-style:normal}.booking-field input,.booking-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);width:100%;color:var(--color-ink);font:inherit;resize:vertical;padding:.75rem .9rem}.booking-field input:focus-visible,.booking-field textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.booking-field__error{color:#9a4a42;font-size:var(--text-xs)}.booking-field--check{grid-template-columns:none;align-items:flex-start;gap:.65rem;display:flex}.booking-field--check input{width:auto;margin-top:.2rem}.booking-field--honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.booking-confirm__cancel{font-size:var(--text-sm);color:var(--color-ink-muted);margin:0}.booking-confirm__cancel a{color:inherit;text-underline-offset:.15em}.booking-status{color:var(--color-ink-muted);gap:var(--space-3);justify-items:start;display:grid}.booking-status--error{color:#9a4a42}.booking-confirm__eyebrow{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-blush-deep)}.booking-summary{gap:var(--space-3);padding-block:var(--space-2);border-block:1px solid var(--color-border);margin:0;display:grid}.booking-summary>div{gap:var(--space-3);grid-template-columns:7rem 1fr;align-items:baseline;display:grid}.booking-summary dt{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-subtle)}.booking-summary dd{color:var(--color-ink);margin:0}.booking-actions,.booking-nav{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.booking-nav{padding-top:var(--space-2)}@keyframes booking-rise{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.booking-page{gap:var(--space-5)}.booking-page__intro h1{font-size:clamp(1.75rem,8vw,2.25rem)}.booking-page__intro>p:last-child{font-size:var(--text-base)}.booking-steps{padding-bottom:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.booking-steps__item{letter-spacing:.06em;text-align:center;flex-direction:column;justify-content:flex-start;gap:.35rem;font-size:.65rem}.booking-steps__index{width:1.75rem;height:1.75rem}.booking-panel{gap:var(--space-4)}.booking-panel__header h2{font-size:clamp(1.35rem,6vw,1.7rem)}.booking-service-card{gap:var(--space-3);grid-template-columns:auto 1fr;align-items:start;padding:1rem}.booking-service-card__aside{place-items:center stretch;gap:var(--space-2);grid-column:2;grid-template-columns:1fr auto;width:100%}.booking-service-card__hint{justify-self:end;min-width:0}.booking-soon__list{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:.25rem;-webkit-overflow-scrolling:touch;gap:.55rem;margin-inline:-.15rem;padding-inline:.15rem;display:flex;overflow-x:auto}.booking-soon__list::-webkit-scrollbar{display:none}.booking-soon__chip{scroll-snap-align:start;flex:0 0 4.85rem;min-height:4.4rem;padding:.75rem .4rem}.booking-calendar{width:100%;max-width:none;padding:.85rem .7rem}.booking-calendar__month{font-size:var(--text-lg)}.booking-calendar__nav{width:2.75rem;height:2.75rem}.booking-calendar__legend{gap:.55rem .75rem;font-size:.65rem}.booking-calendar__cell{min-height:2.5rem;font-size:.85rem}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.booking-slot{min-height:4.25rem;padding:.75rem .7rem}.booking-slot__time{font-size:1.2rem}.booking-summary>div{gap:var(--space-1);grid-template-columns:1fr}.booking-actions .btn,.booking-nav .btn{justify-content:center;width:100%}}@media (width<=380px){.booking-steps__label{font-size:.58rem}.booking-service-card__index{width:2rem;height:2rem;font-size:var(--text-sm)}.booking-slot__hint{font-size:.62rem}}@media (hover:none){.booking-service-card:hover,.booking-soon__chip:hover,.booking-slot:hover,.booking-calendar__cell--open:hover:not(:disabled){transform:none;box-shadow:0 2px 8px #1c1a190a}.booking-service-card:hover .booking-service-card__hint{border-color:var(--color-ink);color:var(--color-ink);background:0 0}}.admin-page{gap:var(--space-5);width:100%;max-width:42rem;margin-inline:auto;display:grid}.admin-page--wide{max-width:64rem}.admin-eyebrow{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-blush-deep);margin:0 0 var(--space-2)}.admin-page h1{font-size:var(--text-3xl);margin:0}.admin-lead{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-base)}.admin-muted{color:var(--color-ink-subtle);font-size:var(--text-sm);margin:0;line-height:1.45}.admin-banner{padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-ink-muted);margin:0}.admin-banner code{color:var(--color-ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.admin-login{gap:var(--space-4);max-width:24rem;display:grid}.admin-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.admin-tabs{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-tabs--five{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=720px){.admin-tabs--five{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-tab{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-ink-muted);cursor:pointer;font:inherit;gap:.15rem;padding:.75rem .85rem;transition:border-color .15s,background-color .15s,color .15s;display:grid}.admin-tab:hover{border-color:color-mix(in srgb, var(--color-ink) 35%, var(--color-border));color:var(--color-ink)}.admin-tab--active{border-color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 55%, white);color:var(--color-ink)}.admin-tab__label{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;line-height:1.2}.admin-tab__hint{color:var(--color-ink-subtle);font-size:.75rem}.admin-tab--active .admin-tab__hint{color:var(--color-ink-muted)}.admin-tab-panel{min-height:12rem}.admin-panel{gap:var(--space-4);display:grid}.admin-panel__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-panel__head>div{gap:var(--space-2);max-width:34rem;display:grid}.admin-panel h2{font-size:var(--text-2xl);margin:0}.admin-stats{gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-stat{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);gap:.1rem;min-width:5.5rem;padding:.7rem .9rem;display:grid}.admin-stat__value{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-ink);font-weight:500;line-height:1}.admin-stat__label{color:var(--color-ink-subtle);text-transform:lowercase;font-size:.75rem}.admin-hero-actions{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);display:grid}.admin-empty{gap:var(--space-2);padding:var(--space-5) var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;display:grid}.admin-empty__title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin:0}.admin-form{gap:var(--space-4);display:grid}.admin-form--inline{align-items:end;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.admin-form--inline .admin-field--grow{grid-column:1/-1}.admin-form__actions{align-items:flex-end;display:flex}.admin-form__actions--row{justify-content:flex-start;gap:var(--space-3);flex-wrap:wrap}@media (width>=720px){.admin-form--inline .admin-field--grow{grid-column:span 2}}.admin-field{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-ink-muted);display:grid}.admin-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);width:100%;color:var(--color-ink);font:inherit;min-height:2.75rem;padding:.65rem .75rem}.admin-field input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.admin-btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);letter-spacing:.02em;border:1px solid #0000;min-height:2.75rem;padding:.65rem 1rem;transition:background-color .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.admin-btn--lg{min-height:3.1rem;font-size:var(--text-base);width:100%}.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-btn--primary{background:var(--color-gold);color:var(--color-white);border-color:var(--color-gold)}.admin-btn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-gold) 86%, #505050)}.admin-btn--ghost{border-color:var(--color-border);color:var(--color-ink-muted);background:0 0}.admin-btn--ghost:hover:not(:disabled){border-color:var(--color-ink);color:var(--color-ink)}.admin-btn--danger{border-color:color-mix(in srgb, var(--color-blush-deep) 55%, var(--color-border));color:var(--color-blush-deep);background:0 0;flex-shrink:0}.admin-btn--danger:hover:not(:disabled){background:var(--color-blush-soft);border-color:var(--color-blush-deep)}.admin-error{color:var(--color-blush-deep);font-size:var(--text-sm);margin:0}.admin-day-groups{gap:var(--space-5);display:grid}.admin-day-group__title{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);flex-wrap:wrap;font-weight:500;display:flex}.admin-day-group__count{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-ink-subtle);font-weight:400}.admin-list__item,.admin-booking{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);flex-wrap:wrap;display:flex}.admin-booking{grid-template-columns:auto 1fr auto;align-items:start;display:grid}@media (width<=560px){.admin-booking,.admin-tabs{grid-template-columns:1fr}}.admin-booking__time{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);min-width:6.5rem;font-weight:500;line-height:1.2}.admin-booking__body{gap:.2rem;min-width:0;display:grid}.admin-booking__service{font-size:var(--text-base);color:var(--color-ink);margin:0;font-weight:500}.admin-booking__client{font-size:var(--text-sm);color:var(--color-ink-muted);margin:0}.admin-booking__contact{font-size:var(--text-sm);color:var(--color-ink-subtle);word-break:break-word;margin:0}.admin-booking__contact a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.admin-booking__contact a:hover{color:var(--color-ink)}.admin-booking__notes{font-size:var(--text-sm);color:var(--color-ink-subtle);margin:.35rem 0 0}.admin-list__main{gap:var(--space-1);flex:1;min-width:0;display:grid}.admin-list__title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin:0;font-weight:500}.admin-list__meta{font-size:var(--text-sm);color:var(--color-ink-muted);word-break:break-word;margin:0}.admin-list__notes{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-ink-subtle)}.admin-section{gap:var(--space-4);display:grid}.admin-section__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-section h2{font-size:var(--text-2xl);margin:0}.admin-section h3,.admin-section h4{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-lg)}.admin-toolbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.admin-toolbar--wrap{margin-bottom:var(--space-2)}.admin-chip{border:1px solid var(--color-border);background:var(--color-bg-elevated);border-radius:var(--radius-sm);font:inherit;cursor:pointer;color:var(--color-ink-muted);padding:.4rem .75rem}.admin-chip--active{border-color:var(--color-ink);color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 55%, white)}.admin-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);width:100%;color:var(--color-ink);font:inherit;padding:.55rem .7rem}.admin-input--grow{flex:1;min-width:10rem}.admin-split{gap:var(--space-4);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);display:grid}@media (width<=800px){.admin-split{grid-template-columns:1fr}}.admin-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.admin-day-group h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-base)}.admin-day-group ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.admin-booking-row{gap:var(--space-3);text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);width:100%;color:inherit;font:inherit;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;padding:.75rem .85rem;display:grid}.admin-booking-row--active{border-color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 40%, white)}.admin-booking-row__time{font-size:var(--text-sm);white-space:nowrap;font-weight:600}.admin-booking-row__main{gap:.15rem;min-width:0;display:grid}.admin-booking-row__main span{font-size:var(--text-sm);color:var(--color-ink-muted)}.admin-booking-row__status{color:var(--color-ink-subtle);white-space:nowrap;font-size:.75rem}.admin-detail{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-content:start;display:grid}.admin-dl{gap:var(--space-3);margin:0;display:grid}.admin-dl dt{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-subtle)}.admin-dl dd{margin:.2rem 0 0}.admin-mini-list{font-size:var(--text-sm);color:var(--color-ink-muted);gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.admin-hours-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.admin-hours-row{gap:var(--space-2);grid-template-columns:7rem auto auto auto auto;align-items:center;display:grid}@media (width<=640px){.admin-hours-row{grid-template-columns:1fr 1fr}}.admin-block-row{justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:flex-start;display:flex}.admin-field--check{font-size:var(--text-sm);align-items:center;gap:.5rem;display:flex}.admin-form__row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=560px){.admin-form__row{grid-template-columns:1fr}}.admin-field-error{font-size:var(--text-xs);color:var(--color-danger,#9b2c2c);margin-top:.25rem;display:block}.admin-field__label-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.admin-save-status{font-size:var(--text-xs);color:var(--color-ink-subtle)}.admin-save-status.is-ok{color:var(--color-ink-muted)}.admin-save-status.is-error{color:var(--color-danger,#9b2c2c)}.admin-text-btn{font:inherit;color:var(--color-blush-deep);cursor:pointer;background:0 0;border:0;margin-left:.35rem;padding:0;text-decoration:underline}.admin-icon-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);width:2.25rem;height:2.25rem;color:var(--color-ink);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.admin-icon-btn:hover{border-color:color-mix(in srgb, var(--color-ink) 35%, var(--color-border))}.admin-status-badge{border-radius:var(--radius-sm);letter-spacing:.02em;white-space:nowrap;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-ink-muted);align-items:center;padding:.15rem .45rem;font-size:.7rem;display:inline-flex}.admin-status-badge.is-pending{border-color:color-mix(in srgb, #c9852a 35%, var(--color-border));color:#7a4b10;background:#f7eee1}.admin-status-badge.is-confirmed{background:color-mix(in srgb, var(--color-blush-soft) 55%, white);border-color:color-mix(in srgb, var(--color-blush-deep) 30%, var(--color-border));color:var(--color-blush-deep)}.admin-status-badge.is-completed{border-color:color-mix(in srgb, #4a7c59 30%, var(--color-border));color:#2f5538;background:#e9efeb}.admin-status-badge.is-cancelled,.admin-status-badge.is-noshow{opacity:.75}.admin-drawer-root,.admin-modal-root{z-index:40;display:grid;position:fixed;inset:0}.admin-drawer__backdrop,.admin-modal__backdrop{background:color-mix(in srgb, var(--color-ink) 35%, transparent);cursor:pointer;border:0;position:absolute;inset:0}.admin-drawer{background:var(--color-bg-elevated);width:min(26rem,100%);box-shadow:-8px 0 28px color-mix(in srgb, var(--color-ink) 12%, transparent);grid-template-rows:auto 1fr;animation:.2s admin-drawer-in;display:grid;position:absolute;top:0;bottom:0;right:0}@keyframes admin-drawer-in{0%{opacity:.6;transform:translate(1rem)}to{opacity:1;transform:none}}@media (width<=640px){.admin-drawer{border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-height:min(92vh,40rem);animation:.22s admin-sheet-in;top:auto;left:0}@keyframes admin-sheet-in{0%{opacity:.6;transform:translateY(1.25rem)}to{opacity:1;transform:none}}}.admin-drawer__head,.admin-modal__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.admin-drawer__head-main{gap:.35rem;min-width:0;display:grid}.admin-drawer__title,.admin-modal__head h2{font-size:var(--text-xl);font-family:var(--font-display);margin:0;font-weight:500}.admin-drawer__body,.admin-modal__body{padding:var(--space-4);gap:var(--space-4);display:grid;overflow:auto}.admin-drawer__contact{gap:.2rem;display:grid}.admin-drawer__contact a{color:var(--color-blush-deep)}.admin-drawer__actions{gap:var(--space-3);display:grid}.admin-drawer__secondary{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-drawer__history h3{margin:0 0 var(--space-2);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-subtle)}.admin-inline-dialog{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.admin-modal{background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);width:min(28rem,100% - 1.5rem);max-height:min(92vh,44rem);box-shadow:0 16px 40px color-mix(in srgb, var(--color-ink) 16%, transparent);z-index:1;grid-template-rows:auto 1fr auto;place-self:center;display:grid;position:relative;overflow:hidden}.admin-modal--wide{width:min(34rem,100% - 1.5rem)}.admin-modal__foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex}.admin-slot-grid{flex-wrap:wrap;gap:.45rem;display:flex}.admin-slot-chip{border:1px solid var(--color-border);background:var(--color-bg-elevated);border-radius:var(--radius-sm);font:inherit;cursor:pointer;color:var(--color-ink);padding:.4rem .65rem}.admin-slot-chip--active,.admin-slot-chip:hover{border-color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 45%, white)}.admin-calendar{gap:var(--space-4);padding-bottom:4.5rem;display:grid;position:relative}.admin-calendar__toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-calendar__nav{align-items:center;gap:.35rem;display:flex}.admin-calendar__range{font-size:var(--text-xl);font-family:var(--font-display);flex:12rem;margin:0;font-weight:500}.admin-calendar__modes{gap:.35rem;display:flex}.admin-calendar__new-desktop{align-items:center;gap:.35rem;display:inline-flex}.admin-calendar__summary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-ink-muted);flex-wrap:wrap;gap:.75rem 1.25rem;padding:.7rem .9rem;display:flex}.admin-calendar__summary strong{color:var(--color-ink);font-weight:600}.admin-calendar__pending{text-align:left;border:1px solid color-mix(in srgb, #c9852a 40%, var(--color-border));color:#7a4b10;border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);cursor:pointer;background:#f9f0e5;padding:.7rem .9rem}.admin-calendar__pending--active{outline:2px solid #c9852a8c}.admin-calendar__filters{gap:var(--space-2);grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);align-items:center;display:grid}.admin-calendar__search{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);color:var(--color-ink-subtle);grid-template-columns:auto 1fr;align-items:center;gap:.45rem;padding-inline:.65rem;display:grid}.admin-calendar__search .admin-input{box-shadow:none;background:0 0;border:0;padding-inline:0}.admin-calendar__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.admin-calendar__list--compact{gap:.45rem}.admin-calendar__empty{padding:var(--space-3);font-size:var(--text-sm);margin:0}.admin-cal-booking{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);width:100%;color:inherit;font:inherit;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem .75rem;padding:.75rem .85rem .75rem 1rem;display:grid;position:relative}.admin-cal-booking:hover{border-color:color-mix(in srgb, var(--color-ink) 30%, var(--color-border))}.admin-cal-booking.is-muted{opacity:.62}.admin-cal-booking__stripe{background:var(--color-border);border-radius:999px;width:3px;position:absolute;top:.45rem;bottom:.45rem;left:0}.admin-cal-booking.is-pending .admin-cal-booking__stripe{background:#c9852a}.admin-cal-booking.is-confirmed .admin-cal-booking__stripe{background:var(--color-blush-deep)}.admin-cal-booking.is-completed .admin-cal-booking__stripe{background:#4a7c59}.admin-cal-booking.is-cancelled .admin-cal-booking__stripe,.admin-cal-booking.is-noshow .admin-cal-booking__stripe{background:var(--color-ink-subtle)}.admin-cal-booking__time{font-size:var(--text-sm);white-space:nowrap;grid-column:1;font-weight:600}.admin-cal-booking__body{grid-column:2;gap:.1rem;min-width:0;display:grid}.admin-cal-booking__body span{font-size:var(--text-sm);color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-cal-booking .admin-status-badge{grid-column:3}.admin-cal-block{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 70%, white);color:var(--color-ink-muted);font-size:var(--text-sm);grid-template-columns:auto 1fr;gap:.5rem .75rem;padding:.65rem .85rem;display:grid}.admin-cal-block__time{white-space:nowrap;font-weight:600}.admin-cal-block__body{gap:.1rem;display:grid}.admin-calendar__week-scroll{-webkit-overflow-scrolling:touch;padding-bottom:.25rem;overflow-x:auto}.admin-calendar__week{gap:var(--space-2);grid-template-columns:repeat(7,minmax(7.5rem,1fr));min-width:56rem;display:grid}.admin-calendar__week-col{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-bg-elevated) 92%, var(--color-surface));align-content:start;gap:.45rem;min-width:0;padding:.35rem;display:grid}.admin-calendar__week-head{text-align:center;font:inherit;color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;gap:.1rem;padding:.4rem .35rem;display:grid}.admin-calendar__week-head--today{color:var(--color-ink)}.admin-calendar__week-head--today strong{color:var(--color-blush-deep)}.admin-calendar__week-head strong{color:var(--color-ink);font-size:var(--text-lg);font-family:var(--font-display);font-weight:500}.admin-calendar__week-body{gap:.35rem;min-height:4rem;display:grid}.admin-calendar__week-empty{text-align:center;color:var(--color-ink-subtle);font-size:var(--text-sm);margin:0;padding:.5rem 0}.admin-week-pill{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);width:100%;color:var(--color-ink);font:inherit;cursor:pointer;border-left-width:3px;gap:.05rem;padding:.4rem .45rem .4rem .55rem;font-size:.72rem;line-height:1.25;display:grid;overflow:hidden}.admin-week-pill strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.admin-week-pill.is-pending{border-left-color:#c47b2c}.admin-week-pill.is-confirmed{border-left-color:#3f7d4e}.admin-week-pill.is-completed{border-left-color:#3d6ea8}.admin-week-pill.is-cancelled,.admin-week-pill.is-noshow{border-left-color:var(--color-ink-subtle);opacity:.7}.admin-week-pill--block{border-style:dashed;border-left-width:3px;border-left-color:var(--color-gold);color:var(--color-ink-muted);cursor:default}.admin-calendar__day-chips{gap:.4rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.admin-calendar__day-chip{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);min-width:3.1rem;min-height:2.75rem;font:inherit;color:var(--color-ink-muted);cursor:pointer;flex:none;gap:.1rem;padding:.45rem .55rem;display:grid}.admin-calendar__day-chip--active{border-color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 45%, white);color:var(--color-ink)}.admin-inbox{gap:var(--space-3);padding:var(--space-4);border:1px solid color-mix(in srgb, #c47b2c 35%, var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb, #c47b2c 8%, var(--color-bg-elevated));display:grid}.admin-inbox__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.admin-inbox__head h3{font-size:var(--text-lg);font-family:var(--font-display);margin:0;font-weight:500}.admin-inbox__head span{font-size:var(--text-sm);color:#8a5a1c}.admin-inbox__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.admin-inbox__item{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);width:100%;color:inherit;font:inherit;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.7rem .8rem;display:grid}.admin-inbox__item:hover{border-color:color-mix(in srgb, #c47b2c 40%, var(--color-border))}.admin-inbox__when{font-size:var(--text-sm);white-space:nowrap;color:var(--color-ink);font-weight:600}.admin-inbox__who{gap:.1rem;min-width:0;display:grid}.admin-inbox__who span{font-size:var(--text-sm);color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-fab{right:1.1rem;bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));z-index:30;background:var(--color-ink);color:#fff;width:3.25rem;height:3.25rem;box-shadow:0 10px 24px color-mix(in srgb, var(--color-ink) 28%, transparent);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;display:none;position:fixed}@media (width<=1100px){.admin-calendar__new-desktop{display:none}.admin-fab{display:inline-flex}.admin-calendar__filters{grid-template-columns:1fr}.admin-inbox__item{grid-template-columns:1fr auto}.admin-inbox__when{grid-column:1/-1}}.admin-page--shell{max-width:none;min-height:100dvh;margin:0;padding:0}.admin-shell{background:var(--color-bg);grid-template-columns:1fr;min-height:100dvh;display:grid}.admin-shell__sidebar{display:none}.admin-shell__main{min-width:0;padding:var(--space-4);padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}.admin-shell__bottom{z-index:35;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--color-bg-elevated) 92%, var(--color-sand));border-top:1px solid var(--color-border);box-shadow:0 -6px 20px color-mix(in srgb, var(--color-ink) 6%, transparent);grid-template-columns:repeat(3,1fr);gap:.15rem;display:grid;position:fixed;bottom:0;left:0;right:0}.admin-shell__bottom-link{border-radius:var(--radius-md);min-height:2.75rem;color:var(--color-ink-muted);font:inherit;cursor:pointer;background:0 0;border:0;justify-items:center;gap:.15rem;padding:.45rem .35rem;font-size:.7rem;display:grid}.admin-shell__bottom-link--active{color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 70%, white)}@media (width>=900px){.admin-shell{grid-template-columns:15.5rem minmax(0,1fr)}.admin-shell__sidebar{gap:var(--space-4);padding:var(--space-5) var(--space-4);border-right:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-elevated) 88%, var(--color-sand));flex-direction:column;height:100dvh;display:flex;position:sticky;top:0}.admin-shell__brand{gap:.25rem;display:grid}.admin-shell__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);margin:0;font-weight:500}.admin-shell__email{word-break:break-word}.admin-shell__nav{flex:1;align-content:start;gap:.35rem;display:grid}.admin-shell__link,.admin-shell__logout{border-radius:var(--radius-md);width:100%;min-height:2.75rem;color:var(--color-ink-muted);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;padding:.55rem .75rem;display:flex}.admin-shell__link:hover,.admin-shell__logout:hover{color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 55%, white)}.admin-shell__link--active{color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 75%, white);box-shadow:inset 3px 0 0 var(--color-gold)}.admin-shell__logout{color:var(--color-ink-subtle);margin-top:auto}.admin-shell__main{padding:var(--space-5);padding-bottom:var(--space-5)}.admin-shell__bottom{display:none}}@media (width<=899px){.admin-fab{bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}}.admin-clients{gap:var(--space-4);display:grid}.admin-clients__layout{gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(16rem,.9fr);align-items:start;display:grid}.admin-clients__list-wrap{min-width:0}.admin-clients-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);overflow-x:auto}.admin-clients-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.admin-clients-table th,.admin-clients-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:.75rem .85rem}.admin-clients-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-subtle);background:color-mix(in srgb, var(--color-blush-soft) 40%, white);font-size:.72rem;font-weight:600}.admin-clients-table tbody tr:last-child td{border-bottom:0}.admin-clients-table__row{cursor:pointer}.admin-clients-table__row:hover{background:color-mix(in srgb, var(--color-blush-soft) 35%, white)}.admin-clients-table__row.is-active{background:color-mix(in srgb, var(--color-blush-soft) 55%, white)}.admin-clients-cards{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.admin-client-card{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);width:100%;min-height:2.75rem;color:inherit;font:inherit;cursor:pointer;gap:.2rem;padding:.85rem .95rem;display:grid}.admin-client-card.is-active{border-color:var(--color-gold);background:color-mix(in srgb, var(--color-blush-soft) 45%, white)}.admin-client-card__count{color:var(--color-ink-subtle);margin-top:.25rem;font-size:.75rem}.admin-clients__detail{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);top:var(--space-4);max-height:calc(100dvh - 2rem);display:grid;position:sticky;overflow:auto}.admin-clients__detail-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.admin-clients__detail-head h3{font-family:var(--font-display);font-size:var(--text-xl);margin:0;font-weight:500}.admin-client-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-client-actions .admin-btn{align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.admin-client-section h4{margin:0 0 var(--space-2);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-subtle)}.admin-settings-home,.admin-settings-pane{gap:var(--space-4);display:grid}.admin-settings-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.admin-settings-card{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-bg-elevated) 90%, var(--color-sand));min-height:2.75rem;color:inherit;font:inherit;cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;padding:1rem 1.05rem;transition:border-color .15s,background-color .15s;display:grid}.admin-settings-card:hover{border-color:color-mix(in srgb, var(--color-gold) 55%, var(--color-border));background:color-mix(in srgb, var(--color-blush-soft) 50%, white)}.admin-settings-card__icon{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-blush-soft) 70%, white);width:2.5rem;height:2.5rem;color:var(--color-gold);justify-content:center;align-items:center;display:inline-flex}.admin-settings-card__body{gap:.25rem;display:grid}.admin-settings-card__body strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.admin-settings-card__body span{font-size:var(--text-sm);color:var(--color-ink-muted);line-height:1.4}.admin-back-btn{border-radius:var(--radius-md);width:fit-content;min-height:2.75rem;color:var(--color-ink-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.45rem .7rem;display:inline-flex}.admin-back-btn:hover{color:var(--color-ink);background:color-mix(in srgb, var(--color-blush-soft) 45%, white)}.admin-blocks-lists{gap:var(--space-4);display:grid}.admin-blocks-lists h3{margin:0 0 var(--space-2);font-size:var(--text-base)}.admin-blocks-past{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:.65rem .85rem}.admin-blocks-past summary{cursor:pointer;min-height:2.75rem;color:var(--color-ink-muted);align-items:center;font-weight:500;display:flex}.admin-blocks-past[open] summary{margin-bottom:var(--space-3);color:var(--color-ink)}.admin-blocks-past .admin-list{margin-top:var(--space-2)}
