.booking-root{color:#e6edf3;background:#fff;padding:80px 0 100px;font-family:Berkeley Mono,Fira Code,ui-monospace,monospace;position:relative;overflow:hidden}.booking-root-success{color:#e6edf3;background:#fff;font-family:Berkeley Mono,Fira Code,ui-monospace,monospace;position:relative;overflow:hidden}.booking-bg{pointer-events:none;z-index:0;position:absolute;inset:0}.booking-bg__grid{opacity:.1;background-image:linear-gradient(#30363d 1px,#0000 1px),linear-gradient(90deg,#30363d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.booking-bg__blob{background:radial-gradient(circle,#3fb95014 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.booking-wrap{z-index:2;max-width:640px;margin:0 auto;padding:0 24px;position:relative}.booking-header{text-align:center;margin-bottom:36px}.booking-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#3fb950;background:#3fb9501a;border:1px solid #3fb95040;border-radius:100px;margin-bottom:16px;padding:4px 14px;font-size:.7rem;display:inline-block}.booking-title{letter-spacing:-.03em;color:#0d1117;margin-bottom:10px;font-size:clamp(2rem,5vw,3rem);font-weight:800}.booking-sub{color:#8b949e;font-family:-apple-system,Segoe UI,sans-serif;font-size:.95rem;line-height:1.6}.progress{justify-content:center;align-items:flex-start;gap:0;margin-bottom:32px;display:flex;position:relative}.progress:before{content:"";z-index:0;background:#30363d;height:1px;position:absolute;top:14px;left:calc(12.5% + 8px);right:calc(12.5% + 8px)}.progress__step{z-index:1;flex-direction:column;flex:1;align-items:center;gap:8px;display:flex;position:relative}.progress__dot{color:#fff;background:#1c2333;border:1px solid #30363d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.72rem;font-weight:700;transition:all .3s;display:flex}.progress__step--active .progress__dot{color:#0d1117;background:#3fb950;border-color:#3fb950;box-shadow:0 0 16px #3fb95066}.progress__step--done .progress__dot{color:#3fb950;background:#3fb95026;border-color:#3fb950}.progress__label{color:#484f58;text-align:center;letter-spacing:.03em;max-width:64px;font-family:-apple-system,Segoe UI,sans-serif;font-size:.65rem;line-height:1.3}.progress__step--active .progress__label{color:#0d1117}.progress__step--done .progress__label{color:#8b949e}.booking-card{background:#161b22;border:1px solid #30363d;border-radius:16px;padding:36px 32px;position:relative;overflow:hidden}.booking-card:before{content:"";background:linear-gradient(90deg,#3fb950,#58a6ff 50%,#3fb950) 0 0/200%;height:2px;animation:3s linear infinite shimmer;position:absolute;top:0;left:0;right:0}@keyframes shimmer{0%{background-position:0%}to{background-position:200%}}.step-block{flex-direction:column;gap:22px;animation:.3s both stepIn;display:flex}@keyframes stepIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.step-heading{color:#e6edf3;letter-spacing:-.02em;align-items:center;gap:12px;margin-bottom:4px;font-size:1.15rem;font-weight:700;display:flex}.step-heading__num{color:#3fb950;letter-spacing:.06em;font-size:.7rem;font-weight:700}.field{flex-direction:column;gap:6px;display:flex;position:relative}.field-group{flex-direction:column;gap:10px;display:flex}.field__label{color:#8b949e;pointer-events:none;z-index:1;background:0 0;font-size:.85rem;transition:all .2s;position:absolute;top:14px;left:14px}.field__label--raised{color:#3fb950;background:#161b22;padding:0 4px;font-size:.68rem;top:-9px;left:10px}.field__label--static{color:#8b949e;font-size:.8rem;position:static}.field__req{color:#f0883e;margin-left:3px}.field__input{color:#e6edf3;background:#0d1117;border:1px solid #30363d;border-radius:8px;outline:none;padding:14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.field__input:focus{border-color:#3fb950}.field--error .field__input{border-color:#f85149}.field__textarea{color:#e6edf3;resize:vertical;background:#0d1117;border:1px solid #30363d;border-radius:8px;outline:none;padding:14px;font-family:-apple-system,Segoe UI,sans-serif;font-size:.88rem;line-height:1.6;transition:border-color .2s}.field__textarea:focus{border-color:#3fb950}.field__textarea::placeholder{color:#484f58}.field__select{color:#e6edf3;cursor:pointer;appearance:none;background:#0d1117 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238b949e' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") right 14px center no-repeat;border:1px solid #30363d;border-radius:8px;outline:none;padding:12px 14px;font-family:inherit;font-size:.88rem;transition:border-color .2s}.field__select:focus{border-color:#3fb950}.field__bar{background:#3fb950;border-radius:0 0 8px 8px;height:2px;animation:.2s bar;position:absolute;bottom:0;left:0;right:0}@keyframes bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.field__error{color:#f85149;font-family:-apple-system,Segoe UI,sans-serif;font-size:.72rem}.field__hint{color:#fff;font-family:-apple-system,Segoe UI,sans-serif;font-size:.72rem}.mt-neg{margin-top:-8px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#8b949e;cursor:pointer;background:#0d1117;border:1px solid #30363d;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.8rem;transition:all .18s;display:inline-flex}.chip:hover{color:#e6edf3;border-color:#58a6ff}.chip--selected{color:#3fb950;background:#3fb9501f;border-color:#3fb950}.chip__icon{font-size:.9rem}.schedule-note{color:#484f58;background:#0d1117;border:1px solid #30363d;border-radius:8px;padding:12px 16px;font-family:-apple-system,Segoe UI,sans-serif;font-size:.8rem}.calendar{border:1px solid var(--border,#e2e2e2);border-radius:12px;width:62%;padding:12px}@media (max-width:640px){.calendar{width:98%}}.calendar__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calendar__title{font-weight:600}.calendar__nav{cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:18px}.calendar__weekdays{opacity:.6;text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:12px;display:grid}.calendar__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar__day{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:8px}.calendar__day:hover:not(:disabled){color:#0d1117;background:#f0f0f0}.calendar__day--selected{color:#fff;background:#3fb950}.calendar__day--today:not(.calendar__day--selected){border:1px solid #111}.calendar__day--disabled{opacity:.3;cursor:not-allowed}.time-group{margin-bottom:12px}.time-group__label{opacity:.75;margin-bottom:6px;font-size:13px;font-weight:600}.selected-summary{border:1px solid var(--border,#e2e2e2);color:#0d1117;background:#fafafa;border-radius:12px;margin-top:12px;padding:14px}.selected-summary__title{margin-bottom:8px;font-weight:700}.selected-summary__row{padding:2px 0;font-size:14px}.selected-summary__row--muted{opacity:.5;margin-top:4px;font-family:monospace;font-size:12px}.review-grid{background:#30363d;border:1px solid #30363d;border-radius:10px;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:16px;display:grid;overflow:hidden}.review-row{background:#0d1117;padding:12px 16px}.review-row__label{text-transform:uppercase;letter-spacing:.08em;color:#484f58;margin-bottom:4px;font-size:.65rem}.review-row__value{color:#e6edf3;font-family:-apple-system,Segoe UI,sans-serif;font-size:.88rem}.review-desc{background:#0d1117;border:1px solid #30363d;border-radius:8px;margin-bottom:16px;padding:14px 16px}.review-desc__label{text-transform:uppercase;letter-spacing:.08em;color:#484f58;margin-bottom:6px;font-size:.65rem}.review-desc__text{color:#c9d1d9;font-family:-apple-system,Segoe UI,sans-serif;font-size:.85rem;line-height:1.6}.review-promise{color:#484f58;text-align:center;padding-top:8px;font-family:-apple-system,Segoe UI,sans-serif;font-size:.78rem}.booking-nav{border-top:1px solid #30363d;align-items:center;gap:12px;margin-top:28px;padding-top:24px;display:flex}.nav-spacer{flex:1}.nav-btn{cursor:pointer;border:none;border-radius:8px;outline:none;align-items:center;gap:8px;padding:11px 22px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-btn--back{color:#8b949e;background:0 0;border:1px solid #30363d}.nav-btn--back:hover{color:#e6edf3;border-color:#8b949e}.nav-btn--next{color:#0d1117;background:#58a6ff;font-weight:700}.nav-btn--next:hover{background:#79b8ff;transform:translateY(-1px);box-shadow:0 0 20px #58a6ff59}.nav-btn--submit{color:#0d1117;background:#3fb950;padding:12px 26px;font-size:.9rem;font-weight:700}.nav-btn--submit:hover:not(:disabled){background:#4ed563;transform:translateY(-1px);box-shadow:0 0 24px #3fb95073}.nav-btn--loading{opacity:.7;cursor:not-allowed;pointer-events:none}.spinner{border:2px solid #0003;border-top-color:#0d1117;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.reassurance{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding:14px;display:flex}.reassurance__item{color:#484f58;letter-spacing:.04em;align-items:center;gap:7px;font-family:-apple-system,Segoe UI,sans-serif;font-size:.72rem;display:inline-flex}.reassurance__dot{background:#3fb950;border-radius:50%;width:4px;height:4px}.booking-card--success{text-align:center;height:100vh;animation:.5s both fadeUp}.success-icon{margin-bottom:16px;font-size:3rem}.success-title{letter-spacing:-.03em;color:#3fb950;margin-bottom:16px;font-size:1.8rem;font-weight:800}.success-body{color:#8b949e;margin-bottom:12px;font-family:-apple-system,Segoe UI,sans-serif;font-size:.95rem;line-height:1.7}.success-note{color:#484f58;margin-top:24px;font-family:-apple-system,Segoe UI,sans-serif;font-size:.85rem;line-height:1.7}.success-wa{color:#3fb950;font-weight:700;text-decoration:none}.success-wa:hover{text-decoration:underline}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (max-width:540px){.booking-card{padding:24px 18px}.review-grid{grid-template-columns:1fr}.booking-nav{flex-wrap:wrap}.nav-spacer{display:none}.nav-btn--next,.nav-btn--submit{flex:1;justify-content:center}}
