:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg:#f8f6fb;--bg-muted:#f1edf8;--bg-accent:#fcfaff;--surface:hsla(0,0%,100%,.8);--surface-elevated:hsla(0,0%,100%,.92);--surface-soft:rgba(248,244,255,.78);--surface-tint:linear-gradient(180deg,rgba(253,251,255,.92),rgba(246,242,252,.8));--text:#17141f;--text-muted:#6c6481;--text-soft:#9790ad;--border:rgba(227,219,241,.92);--border-strong:rgba(182,156,240,.26);--ring:rgba(182,156,240,.28);--primary:#b69cf0;--primary-hover:#aa91ea;--primary-strong:#9075d1;--primary-tint:rgba(182,156,240,.14);--secondary-accent:#d7d0e6;--mint-accent:#cfffb0;--success-bg:rgba(244,255,237,.94);--success-border:rgba(207,255,176,.56);--success-text:#56713f;--error-bg:rgba(255,243,248,.96);--error-border:rgba(231,177,209,.5);--error-text:#8a3766;--info-bg:rgba(247,255,241,.94);--info-border:rgba(207,255,176,.46);--info-text:#5f7250;--shadow-sm:0 18px 45px rgba(77,64,117,.08);--shadow-md:0 22px 60px rgba(77,64,117,.11);--shadow-lg:0 28px 90px rgba(182,156,240,.16);--shadow-glow:0 24px 80px rgba(182,156,240,.14);--inner-highlight:inset 0 1px 0 hsla(0,0%,100%,.92);--radius-sm:16px;--radius-md:22px;--radius-lg:30px;--radius-xl:40px}*,:after,:before{box-sizing:border-box}body,html{min-height:100%}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background-image:radial-gradient(circle at 10% 10%,rgba(217,203,251,.22),transparent 24%),radial-gradient(circle at 86% 8%,rgba(207,255,176,.18),transparent 22%),radial-gradient(circle at 52% 30%,hsla(0,0%,100%,.74),transparent 26%),linear-gradient(180deg,#fcfbff,#f6f3fb 46%,#f3f0f9);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;position:relative}body:before{background-image:linear-gradient(rgba(182,156,240,.05) 1px,transparent 0),linear-gradient(90deg,rgba(182,156,240,.05) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.28),transparent 82%);mask-image:linear-gradient(180deg,rgba(0,0,0,.28),transparent 82%);z-index:-2}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{background:radial-gradient(circle at 14% 20%,rgba(217,203,251,.16),transparent 30%),radial-gradient(circle at 82% 18%,rgba(207,255,176,.12),transparent 24%),radial-gradient(circle at 50% 65%,hsla(0,0%,100%,.46),transparent 30%);z-index:-1}::selection{background:rgba(182,156,240,.24)}a{color:var(--primary-strong);-webkit-text-decoration-color:rgba(144,117,209,.24);text-decoration-color:rgba(144,117,209,.24);text-underline-offset:2px}a:hover{color:var(--primary);-webkit-text-decoration-color:rgba(182,156,240,.42);text-decoration-color:rgba(182,156,240,.42)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 4px var(--ring)}h1,h2,h3,h4,p{margin:0}main{width:min(100%,1200px)}.page-shell,main{margin:0 auto;padding:1rem}.page-shell{width:min(100%,1120px)}.page-shell.compact{width:min(100%,860px)}.actions,.actions-inline,.booking-actions,.booking-center,.booking-row,.booking-shell,.booking-stack,.cols-auto,.field-grid,.field-group,.grid,.grid-2,.grid-3,.hero-grid,.kv-grid,.link-card-grid,.page-stack,.service-grid,.stack,.stack-lg,.stack-xl,.time-grid{display:grid}.page-stack{gap:1rem}.page-header{display:grid;grid-gap:.5rem;gap:.5rem}.badge,.eyebrow{display:inline-flex;align-items:center;gap:.42rem;width:-moz-fit-content;width:fit-content;padding:.34rem .72rem;border-radius:999px;border:1px solid hsla(0,0%,100%,.7);background:hsla(0,0%,100%,.78);color:var(--text-muted);font-size:.8rem;font-weight:600;box-shadow:var(--inner-highlight),var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.title{font-size:clamp(1.7rem,1.42rem + 1vw,2.6rem);line-height:1.04;letter-spacing:-.04em}.subtitle{color:var(--text-muted);line-height:1.6;max-width:68ch}.booking-card,.booking-modal,.card,.glass-panel,.hero,.link-card,.panel,.salon-header{border:1px solid hsla(0,0%,100%,.68);background:linear-gradient(180deg,hsla(0,0%,100%,.84),rgba(249,245,255,.72));box-shadow:var(--inner-highlight),var(--shadow-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.hero{position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:1.5rem}.hero:after{inset:auto -8% -20% auto;width:260px;height:260px;background:radial-gradient(circle,rgba(182,156,240,.22) 0,transparent 68%)}.hero:after,.hero:before{content:"";position:absolute;pointer-events:none}.hero:before{left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.95),transparent)}.hero-grid{gap:1rem}.card,.link-card,.panel{border-radius:var(--radius-lg);padding:1rem}.panel-soft{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--inner-highlight),var(--shadow-sm)}.panel-muted{background:hsla(0,0%,100%,.62);border:1px dashed rgba(182,156,240,.24);border-radius:var(--radius-md);padding:.95rem}.section-header{display:grid;grid-gap:.25rem;gap:.25rem}.section-title{font-size:1rem;font-weight:700;letter-spacing:-.02em}.booking-copy,.booking-helper,.field-hint,.link-card-copy,.muted,.salon-subtitle,.section-copy,.service-description,.subtitle{color:var(--text-muted)}.booking-copy,.link-card-copy,.section-copy{line-height:1.6}.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(227,219,241,.96) 10%,rgba(227,219,241,.96) 90%,transparent)}.kv-label,.text-soft{color:var(--text-soft)}.button-row,.meta-row{display:flex;flex-wrap:wrap;gap:.6rem}.badge.accent{background:rgba(182,156,240,.1);border-color:rgba(182,156,240,.18);color:var(--primary-strong);box-shadow:0 0 0 1px rgba(182,156,240,.08),var(--shadow-sm)}.badge.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.badge.warning{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.badge.neutral{background:rgba(241,237,248,.88);border-color:rgba(227,219,241,.96)}.info-card{border-radius:var(--radius-md);background:linear-gradient(180deg,hsla(0,0%,100%,.8),rgba(247,243,255,.74));border:1px solid hsla(0,0%,100%,.66);padding:.9rem 1rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--inner-highlight),var(--shadow-sm)}.kv-grid{gap:.8rem}.kv-item{display:grid;grid-gap:.15rem;gap:.15rem}.kv-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.kv-value{color:var(--text);line-height:1.4}.actions{gap:.8rem}.actions-inline{gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.link-card-grid{gap:.9rem}.link-card{gap:.5rem;color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.link-card:hover{transform:translateY(-2px);box-shadow:var(--inner-highlight),var(--shadow-lg);border-color:rgba(182,156,240,.18)}.link-card-title{font-weight:700;letter-spacing:-.02em}label{display:grid;grid-gap:.45rem;gap:.45rem;font-size:.92rem;font-weight:600;color:var(--text)}.field-group{gap:.35rem}.field-hint{font-size:.82rem;font-weight:500}button,input,select,textarea{font:inherit}.field-input,input,select,textarea{width:100%;border-radius:20px;border:1px solid rgba(227,219,241,.94);background:hsla(0,0%,100%,.84);color:var(--text);padding:.88rem 1rem;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.92),0 10px 20px rgba(92,74,166,.04);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}textarea{min-height:110px;resize:vertical}.field-input:hover,input:hover,select:hover,textarea:hover{border-color:rgba(182,156,240,.24)}.field-input:focus,input:focus,select:focus,textarea:focus{border-color:rgba(182,156,240,.42)}.field-input:disabled,input:disabled,select:disabled,textarea:disabled{color:var(--text-soft);background:hsla(0,0%,100%,.68);cursor:not-allowed}.booking-btn,.button-link,button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;border-radius:999px;border:1px solid transparent;padding:.82rem 1.2rem;background:linear-gradient(135deg,#b8a7dc,#9f8ac8 52%,#8572a7);color:#fdfcff;font-weight:800;font-size:.98rem;letter-spacing:-.025em;text-shadow:0 1px 0 rgba(65,54,92,.22);cursor:pointer;box-shadow:0 16px 32px rgba(126,104,172,.24),inset 0 1px 0 hsla(0,0%,100%,.24);text-decoration:none;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .12s ease,border-color .16s ease}.booking-btn:hover,.button-link:hover,button:hover{transform:translateY(-1px);box-shadow:0 24px 50px rgba(126,104,172,.28),inset 0 1px 0 hsla(0,0%,100%,.28)}.booking-btn.ghost,.button-link.secondary,button.secondary{background:hsla(0,0%,100%,.84);color:var(--text);border-color:rgba(227,219,241,.94);box-shadow:var(--inner-highlight),var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.booking-btn.ghost:hover,.button-link.secondary:hover,button.secondary:hover{background:hsla(0,0%,100%,.96);border-color:rgba(182,156,240,.18)}.booking-btn.danger,button.danger{background:linear-gradient(135deg,#c7b7e6,#a18bc9 50%,#8771ab);color:#fff}button.ghost{background:hsla(0,0%,100%,.62);color:var(--text);border-color:rgba(182,156,240,.2);box-shadow:var(--inner-highlight),var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.button-link.full-width,button.full-width{width:100%}.booking-btn:disabled,.button-link[aria-disabled=true],button:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}.booking-error,.booking-note,.error,.info,.reschedule-success,.success{border-radius:var(--radius-md);border:1px solid;padding:.9rem 1rem;line-height:1.55;box-shadow:var(--inner-highlight),var(--shadow-sm)}.booking-error,.error{color:var(--error-text);background:var(--error-bg);border-color:var(--error-border)}.reschedule-success,.success{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}.booking-note,.info{color:var(--info-text);background:var(--info-bg);border-color:var(--info-border)}.loading-block{border-radius:var(--radius-md);border:1px dashed rgba(182,156,240,.22);background:hsla(0,0%,100%,.6);color:var(--text-muted);padding:.95rem}.code-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(227,219,241,.94);background:hsla(0,0%,100%,.92);padding:.24rem .56rem;font-size:.82rem;color:var(--text-muted)}.truncate-link{overflow-wrap:anywhere}.booking-shell{width:min(100%,980px);margin:0 auto;padding:1.5rem 1.25rem 2.25rem;gap:1.35rem;position:relative}.booking-shell:before{content:"";position:absolute;inset:0 auto auto 8%;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(217,203,251,.22) 0,transparent 72%);pointer-events:none;filter:blur(10px)}.salon-header{display:flex;align-items:center;gap:.95rem;padding:1.15rem 1.2rem;border-radius:32px;position:relative;overflow:hidden}.salon-header:after{content:"";position:absolute;inset:auto 8% 0 8%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.92),transparent);pointer-events:none}.salon-home-link{display:inline-flex;align-items:center;gap:.95rem;color:inherit;text-decoration:none}.salon-badge{width:3.1rem;height:3.1rem;border-radius:22px;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.44),transparent 38%),linear-gradient(135deg,#ece7f6,#b69cf0 58%,#cabfdf);color:#fff;display:grid;place-items:center;font-size:0;box-shadow:0 18px 34px rgba(182,156,240,.2)}.salon-badge:after{content:"F";font-size:1.35rem;font-weight:700;letter-spacing:-.04em}.salon-title{font-size:clamp(1.75rem,3vw,2.2rem);line-height:.98;color:var(--text);font-weight:800;letter-spacing:-.05em}.booking-stack{gap:1rem}.booking-center{text-align:center;gap:1rem;justify-items:center;padding:1.9rem 0 1.35rem}.booking-kicker{color:var(--primary-strong);letter-spacing:.3rem;font-weight:700;text-transform:uppercase;font-size:.76rem;padding:.42rem .8rem;border-radius:999px;border:1px solid hsla(0,0%,100%,.7);background:hsla(0,0%,100%,.78);box-shadow:var(--inner-highlight),var(--shadow-sm)}.booking-title{font-size:clamp(2.35rem,3vw,4.25rem);color:var(--text);font-weight:700;line-height:.98;letter-spacing:-.055em;max-width:14ch}.booking-title.sm{font-size:clamp(1.6rem,2vw,2.4rem);max-width:22ch;line-height:1.02}.booking-copy{font-size:1.02rem;line-height:1.7;max-width:54ch}.booking-copy.small{font-size:1rem}.booking-actions{gap:.95rem;width:100%}.booking-actions.two{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-btn.inline{border-radius:999px;padding:.56rem .78rem;font-size:.92rem;line-height:1;min-width:128px;min-height:40px}.booking-card{position:relative;overflow:hidden;border-radius:32px;padding:1.3rem}.booking-card:before{inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.95),transparent)}.booking-card:after,.booking-card:before{content:"";position:absolute;pointer-events:none}.booking-card:after{inset:auto -15% -28% auto;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(217,203,251,.18) 0,transparent 72%)}.booking-card.compact{padding:.95rem;border-radius:26px}.booking-row{gap:.85rem}.booking-row.two{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.service-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.service-card,.time-chip{position:relative;border:1px solid hsla(0,0%,100%,.7);background:linear-gradient(180deg,hsla(0,0%,100%,.82),rgba(246,241,255,.74));color:var(--text);border-radius:26px;padding:1rem;display:grid;grid-gap:.4rem;gap:.4rem;text-align:left;font-size:1rem;cursor:pointer;box-shadow:var(--inner-highlight),var(--shadow-sm);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;overflow:hidden}.service-card:before,.time-chip:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.95),transparent);pointer-events:none}.service-card{align-content:start;min-height:144px}.service-title{font-size:1.04rem;line-height:1.3;letter-spacing:-.02em}.service-meta{display:flex;flex-wrap:wrap;gap:.45rem .7rem;color:#2f2848;font-weight:600}.time-chip{text-align:center;font-weight:700;justify-items:center}.time-chip.disabled{opacity:.5}.time-chip:disabled{cursor:not-allowed;background:rgba(243,240,248,.9)}.booking-btn.ghost:hover,.booking-btn.primary:hover,.link-card:hover,.service-card:hover,.time-chip:hover{transform:translateY(-2px)}.service-card.active,.time-chip.active{border-color:rgba(91,64,168,.9);background:linear-gradient(180deg,rgba(100,72,180,.98),rgba(63,43,123,.98)),linear-gradient(135deg,rgba(244,239,255,.16),rgba(207,255,176,.08));color:#fff;box-shadow:0 0 0 2px rgba(91,64,168,.18),0 20px 48px rgba(73,43,150,.34);transform:translateY(-2px) scale(1.01)}.service-card.active .service-meta,.time-chip.active .time-chip-meta{color:hsla(0,0%,100%,.78)}.service-card.active .service-description,.service-card.active .service-title{color:#fff}.selection-badge{display:inline-flex;align-items:center;gap:.35rem;width:-moz-fit-content;width:fit-content;padding:.24rem .55rem;border-radius:999px;background:rgba(91,64,168,.1);color:var(--primary-strong);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.selection-badge:before{content:"✓";font-size:.8rem}.selection-badge.inline{margin-top:.15rem}.service-card.active .selection-badge,.time-chip.active .selection-badge{background:hsla(0,0%,100%,.18);color:#fff}.service-card:focus-visible,.time-chip:focus-visible{outline:3px solid rgba(91,64,168,.3);outline-offset:3px}.field-label{display:block;font-weight:700;margin-bottom:.45rem;color:var(--text)}.field-grid{gap:.8rem}.field-input.compact{padding:.7rem .78rem}textarea.field-input{min-height:90px}.phone-row{display:grid;grid-template-columns:1.15fr 2fr;grid-gap:.7rem;gap:.7rem}.summary-list p{color:#2f2848;line-height:1.6}.booking-note{text-align:center}.booking-error.inline{margin-bottom:.7rem}.booking-section-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.4rem}.booking-section-head .field-label{margin-bottom:0}.fallback-code-card{width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;display:grid;grid-gap:.35rem;gap:.35rem;text-align:center;padding:1rem 1.7rem;box-shadow:0 0 0 1px rgba(182,156,240,.08),var(--shadow-glow)}.fallback-code-label{margin:0 0 .45rem;font-size:1.02rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--primary-strong)}.fallback-code-value{margin:0;font-size:clamp(1.5rem,3.6vw,2.2rem);font-weight:800;line-height:1.05;letter-spacing:.08em;color:var(--text)}.time-chip-meta{display:block;font-size:.7rem;line-height:1;color:#6d7892}.step-indicator{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);padding:.2rem .35rem}.booking-link{border:0;background:transparent;color:var(--primary-strong);cursor:pointer;font-size:1rem;padding:0;min-height:auto;box-shadow:none}.booking-link:hover{transform:none;box-shadow:none;color:var(--primary)}.confirmation-check{width:5rem;height:5rem;border-radius:999px;display:grid;place-items:center;font-size:2.2rem;color:#5b7245;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.9),transparent 35%),linear-gradient(180deg,rgba(248,255,242,.94),hsla(95,85%,92%,.96));box-shadow:var(--inner-highlight),0 18px 34px hsla(89,41%,71%,.2)}.booking-modal-backdrop{position:fixed;inset:0;background:radial-gradient(circle at top,rgba(182,156,240,.12),transparent 38%),rgba(18,15,33,.34);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:1rem;z-index:50}.booking-modal{width:min(100%,460px);border-radius:32px;padding:1.25rem;display:grid;grid-gap:.95rem;gap:.95rem}.booking-hero,.booking-shell>.booking-center,.booking-stack>.booking-center:first-child,.home-hero{position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:1.75rem 1.35rem;background:linear-gradient(180deg,hsla(0,0%,100%,.86),rgba(249,245,255,.76));border:1px solid hsla(0,0%,100%,.72);box-shadow:var(--inner-highlight),var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.booking-hero:before,.booking-shell>.booking-center:before,.booking-stack>.booking-center:first-child:before,.home-hero:before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.95),transparent)}.booking-hero:after,.booking-shell>.booking-center:after,.booking-stack>.booking-center:first-child:after,.home-hero:after{content:"";position:absolute;inset:auto -16% -30% auto;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(217,203,251,.24) 0,transparent 72%)}.hero-highlight-grid{display:grid;grid-gap:.75rem;gap:.75rem;width:100%}.hero-highlight{border-radius:24px;border:1px solid rgba(182,156,240,.12);background:rgba(182,156,240,.05);padding:.9rem 1rem;box-shadow:0 0 0 1px rgba(182,156,240,.08),var(--shadow-sm)}.hero-highlight-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.24em;color:rgba(144,117,209,.8)}.hero-highlight-value{margin-top:.35rem;font-size:1.2rem;font-weight:700;letter-spacing:-.03em;color:var(--text)}@media (min-width:720px){.page-shell,main{padding:1.5rem}.booking-hero,.booking-shell>.booking-center,.booking-stack>.booking-center:first-child,.hero,.home-hero{padding:1.75rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:start}.hero-highlight-grid,.kv-grid,.link-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:719px){.booking-actions.two,.booking-row.two,.phone-row{grid-template-columns:minmax(0,1fr)}.booking-title{max-width:11ch}.salon-header{padding:1rem;border-radius:24px}.booking-card,.booking-hero,.booking-shell>.booking-center,.booking-stack>.booking-center:first-child,.home-hero{border-radius:26px}}@media (max-width:720px){.salon-title{font-size:1.5rem}.booking-copy,.salon-subtitle{font-size:1rem}.booking-actions.two,.booking-row.two,.hero-highlight-grid,.phone-row,.service-grid,.time-grid{grid-template-columns:1fr}.booking-section-head{flex-direction:column;align-items:stretch}.booking-btn.inline{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.booking-btn,.button-link,.link-card,.service-card,.time-chip,button{transition:none}}