: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}.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__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-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-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-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{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.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)}
