:root{--bg:#1d1d1d;--surface:#2c2c2e;--white:#fff;--muted-on-dark:#fff9;--muted-on-light:#2c2c2e99;--radius-lg:27px;--radius-pill:34px;--gutter:18px;--content-width:434px;--font-body:"Inter", sans-serif;--glass-blur:20px;--glass-dark-bg:#2c2c2e8c;--glass-dark-bg-hover:#3a3a3cad;--glass-dark-border:#ffffff0f;--glass-light-bg:#ffffffc7;--glass-light-bg-hover:#ffffffe0;--glass-light-border:#ffffff4d;--glass-shadow:0 8px 24px #00000047;--header-bg:#0f0f10b3;--slide-gap:clamp(12px, 2.6vw, 28px);--slide-duration:.6s;--slide-cell-center:clamp(64px, 16vw, 120px);--slide-cell-side:clamp(52px, 12vw, 92px);--slide-cell-outer:clamp(40px, 9vw, 72px);--slide-width:calc(var(--slide-cell-center) + 2 * var(--slide-cell-side) + 2 * var(--slide-cell-outer) + 4 * var(--slide-gap));--header-offset:100px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body,#root{margin:0;padding:0}body{background:var(--bg);color:var(--white);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul{margin:0;padding:0;list-style:none}h1,h2,p{margin:0}.page{max-width:1440px;padding-bottom:var(--gutter);margin:0 auto}.hero{margin:var(--gutter);min-height:calc(100vh - var(--gutter) * 2);background:var(--surface);border-radius:var(--radius-lg);text-align:center;padding:clamp(20px, 2.5vw, 32px) var(--gutter) clamp(28px, 4vw, 48px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero__graffiti{opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;width:120%;max-width:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-slider,.hero__title,.hero__subtitle{z-index:1;animation:.6s ease-out both hero-fade-up;position:relative}.hero-slider{animation-delay:.1s}.hero__title{animation-delay:.2s}.hero__subtitle{animation-delay:.3s}@media (prefers-reduced-motion:reduce){.hero-slider,.hero__title,.hero__subtitle{animation:none}}.hero__title{width:var(--slide-width);margin-top:clamp(24px,6vh,64px)}.hero__title img{width:100%;height:auto;display:block}.hero__subtitle{text-transform:uppercase;margin-top:clamp(8px,2vh,20px);font-size:clamp(1.25rem,2.2vw,1.9375rem);font-weight:300}.site-header{top:var(--gutter);z-index:50;padding:0 var(--gutter);pointer-events:none;justify-content:center;display:flex;position:fixed;left:0;right:0}.site-header__bar{pointer-events:auto;border-radius:var(--radius-pill);background:var(--header-bg);border:1px solid var(--glass-dark-border);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);align-items:center;gap:4px;padding:4px;animation:.5s ease-out both hero-fade-up;display:flex}@media (prefers-reduced-motion:reduce){.site-header__bar{animation:none}}.site-header__logo{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background-color .15s;display:flex}.site-header__logo:hover{background:var(--glass-dark-bg-hover)}.site-header__logo img{width:42%;height:auto;display:block}.site-header__link{border-radius:var(--radius-pill);color:var(--white);white-space:nowrap;justify-content:center;align-items:center;padding:8px 16px;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.site-header__link:hover{background:var(--glass-dark-bg-hover)}.hero-slider{height:var(--slide-cell-center);width:var(--slide-width);margin:clamp(40px,12vh,140px) auto 0;position:relative;overflow:hidden}.hero-slider.is-resetting .hero-slider__cell,.hero-slider.is-resetting .hero-slider__photo{transition:none!important}.hero-slider__track{align-items:center;gap:var(--slide-gap);height:100%;display:flex}.hero-slider__cell{transition:width var(--slide-duration) ease, height var(--slide-duration) ease;flex:none;position:relative}.hero-slider__photo{object-fit:cover;width:100%;height:100%;transition:opacity var(--slide-duration) ease, filter var(--slide-duration) ease;border-radius:22px;display:block}.hero-slider__cell--center{z-index:3;width:var(--slide-cell-center);height:var(--slide-cell-center)}.hero-slider__cell--center .hero-slider__photo{opacity:1;filter:none}.hero-slider__cell--side{z-index:2;width:var(--slide-cell-side);height:var(--slide-cell-side)}.hero-slider__cell--side .hero-slider__photo{opacity:.8;filter:grayscale(25%)brightness(.85)}.hero-slider__cell--outer{z-index:1;width:var(--slide-cell-outer);height:var(--slide-cell-outer)}.hero-slider__cell--outer .hero-slider__photo{opacity:.5;filter:grayscale(55%)brightness(.65)}@media (prefers-reduced-motion:reduce){.hero-slider__track,.hero-slider__cell,.hero-slider__photo{transition:none!important}}.content{max-width:calc(var(--content-width) + var(--gutter) * 2);padding:0 var(--gutter) 46px;margin:0 auto;transition:padding-bottom .2s}.content--with-bar{padding-bottom:116px}#services{scroll-margin-top:var(--header-offset)}.section-title{text-align:center;text-transform:uppercase;margin-top:55px;font-size:1.9375rem;font-weight:400}.category-row{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px;display:grid}.category{flex-direction:column;align-items:center;gap:11px;width:100%;min-width:0;display:flex}.category__icon{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);color:var(--white);justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,color .15s;display:flex}.category__icon svg{width:45%;height:45%}.category__label{color:var(--muted-on-dark);font-size:1rem;transition:color .15s}.category.is-active .category__icon{background:var(--glass-light-bg);border-color:var(--glass-light-border);color:var(--surface)}.category.is-active .category__label{color:var(--white)}.category:hover:not(.is-active) .category__icon{background:var(--glass-dark-bg-hover)}.category:hover:not(.is-active) .category__label{color:var(--white)}.category.is-active:hover .category__icon{background:var(--glass-light-bg-hover)}.price-list{flex-direction:column;gap:12px;margin-top:23px;display:flex}.price-list-empty{text-align:center;color:var(--muted-on-dark);margin-top:23px}.price-card{border-radius:var(--radius-lg);background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);color:var(--white);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:28px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.price-card__text{flex-direction:column;gap:4px;min-width:0;display:flex}.price-card__title{font-size:1rem}.price-card__desc{color:var(--muted-on-dark);font-size:.875rem}.price-card__price{white-space:nowrap;font-size:1rem}.price-card.is-selected{background:var(--glass-light-bg);border-color:var(--glass-light-border);color:var(--surface)}.price-card.is-selected .price-card__desc{color:var(--muted-on-light)}.price-card:hover:not(.is-selected){background:var(--glass-dark-bg-hover)}.price-card.is-selected:hover{background:var(--glass-light-bg-hover)}#reviews{scroll-margin-top:var(--header-offset)}.reviews-card{border-radius:var(--radius-lg);background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);flex-direction:column;gap:26px;margin-top:23px;padding:28px;display:flex}.reviews-card__avatars{display:flex}.reviews-card__avatar{border:3px solid var(--surface);width:46px;height:46px;color:var(--white);background:#3b3b3d;border-radius:50%;justify-content:center;align-items:center;margin-left:-17px;font-size:1rem;font-weight:500;display:flex}.reviews-card__avatar:first-child{margin-left:0}.reviews-card__stats{justify-content:space-between;align-items:center;gap:12px;display:flex}.reviews-card__rating{flex-direction:column;align-items:flex-start;gap:11px;min-width:0;display:flex}.reviews-card__stars{width:clamp(140px,45vw,194px);height:auto;display:block}.reviews-card__caption{color:var(--muted-on-dark);font-size:.875rem}.reviews-card__score{color:var(--white);white-space:nowrap;font-size:clamp(2.75rem,8vw,4.375rem);font-weight:500}.booking-bar{bottom:var(--gutter);z-index:45;padding:0 var(--gutter);pointer-events:none;justify-content:center;display:flex;position:fixed;left:0;right:0}.booking-bar__bar{pointer-events:auto;width:100%;max-width:calc(var(--content-width) + var(--gutter) * 2);border-radius:var(--radius-lg);background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);justify-content:space-between;align-items:center;gap:16px;padding:10px 10px 10px 24px;animation:.3s ease-out both hero-fade-up;display:flex}@media (prefers-reduced-motion:reduce){.booking-bar__bar{animation:none}}.booking-bar__info{min-width:0;color:var(--white);flex-direction:column;gap:2px;display:flex}.booking-bar__title{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.booking-bar__price{color:var(--muted-on-dark);font-size:.875rem}.booking-bar__button{background:var(--glass-light-bg);border:1px solid var(--glass-light-border);color:var(--bg);border-radius:var(--radius-pill);flex-shrink:0;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:1rem;font-weight:600;transition:background-color .15s;display:flex}.booking-bar__button:hover{background:var(--glass-light-bg-hover)}.booking-bar__button svg{width:8px;height:14px}.confirmation{text-align:center;color:var(--muted-on-dark);margin-top:16px;font-size:.875rem}.booking-modal{z-index:60;padding:var(--gutter);background:#0000008c;justify-content:center;align-items:flex-end;animation:.2s ease-out both booking-modal-fade;display:flex;position:fixed;inset:0}@keyframes booking-modal-fade{0%{opacity:0}to{opacity:1}}.booking-modal__sheet{width:100%;max-width:calc(var(--content-width) + var(--gutter) * 2);background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;max-height:85vh;padding:24px;animation:.25s ease-out both booking-modal-up;display:flex;overflow-y:auto}@keyframes booking-modal-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.booking-modal,.booking-modal__sheet{animation:none}}.booking-modal__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.booking-modal__service{flex-direction:column;gap:2px;min-width:0;display:flex}.booking-modal__service-title{color:var(--white);font-size:1.0625rem;font-weight:600}.booking-modal__service-price{color:var(--muted-on-dark);font-size:.875rem}.booking-modal__close{background:var(--glass-dark-bg);width:32px;height:32px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.375rem;line-height:1;transition:background-color .15s;display:flex}.booking-modal__close:hover{background:var(--glass-dark-bg-hover)}.booking-modal__label{color:var(--muted-on-dark);margin:14px 0 10px;font-size:.875rem}.booking-modal__dates{scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.booking-modal__dates::-webkit-scrollbar{display:none}.booking-modal__dates.is-dragging{cursor:grabbing;scroll-snap-type:none}.booking-modal__date{border-radius:var(--radius-lg);background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);min-width:56px;color:var(--white);white-space:nowrap;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:10px 8px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.booking-modal__date:hover:not(.is-selected){background:var(--glass-dark-bg-hover)}.booking-modal__date.is-selected{background:var(--glass-light-bg);border-color:var(--glass-light-border);color:var(--surface)}.booking-modal__date-weekday{color:var(--muted-on-dark);font-size:.75rem}.booking-modal__date.is-selected .booking-modal__date-weekday{color:var(--muted-on-light)}.booking-modal__date-day{font-size:1.0625rem;font-weight:600}.booking-modal__times-wrap{min-height:130px}.booking-modal__times{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;transition:opacity .15s;display:grid}.booking-modal__times.is-loading{opacity:.5;pointer-events:none}.booking-modal__time{border-radius:var(--radius-lg);background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);color:var(--white);padding:10px 0;font-size:.9375rem;transition:background-color .15s,border-color .15s,color .15s}.booking-modal__time:hover:not(.is-selected){background:var(--glass-dark-bg-hover)}.booking-modal__time.is-selected{background:var(--glass-light-bg);border-color:var(--glass-light-border);color:var(--surface)}.booking-modal__time.is-unavailable{color:var(--muted-on-dark);cursor:not-allowed;text-decoration:line-through}.booking-modal__time.is-unavailable:hover{background:var(--glass-dark-bg)}.booking-modal__hint{color:var(--muted-on-dark);margin:0 0 4px;font-size:.875rem}.booking-modal__hint--error{color:#ff8a8a}.booking-modal__phone{border-radius:var(--radius-lg);background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);width:100%;color:var(--white);padding:13px 16px;font-family:inherit;font-size:1rem;transition:background-color .15s,border-color .15s}.booking-modal__phone::placeholder{color:var(--muted-on-dark)}.booking-modal__phone:focus{background:var(--glass-dark-bg-hover);border-color:var(--glass-light-border);outline:none}.booking-modal__submit{border-radius:var(--radius-pill);background:var(--glass-light-bg);border:1px solid var(--glass-light-border);width:100%;color:var(--bg);margin-top:24px;padding:14px;font-size:1rem;font-weight:600;transition:background-color .15s,opacity .15s}.booking-modal__submit:hover:not(:disabled){background:var(--glass-light-bg-hover)}.booking-modal__submit:disabled{opacity:.4;cursor:not-allowed}@media (width<=420px){.category-row{gap:10px}.price-card{padding:20px}}
