.booking-page .page-atmosphere>i{left:10%;top:-20%;opacity:.7}
.booking-intro{max-width:880px;padding-top:38px;padding-bottom:30px}
.booking-home-link{display:inline-block;color:#929aa7;font-size:12px;text-decoration:none;margin-bottom:28px;min-height:26px}
.booking-intro h1{font-size:clamp(38px,4.2vw,56px);line-height:1.08;margin-bottom:18px;font-weight:550}
.booking-intro>p{font-size:15px;color:var(--muted);margin-bottom:0}
.wizard-shell{position:relative;max-width:880px;border:1px solid #ffffff24;border-radius:22px;background:linear-gradient(135deg,#1b1e23e6,#121418f5 65%);box-shadow:0 20px 100px #0003,inset 0 1px 0 #ffffff07;overflow:clip}
.wizard-shell:before{content:"";position:absolute;top:0;left:14%;right:14%;height:1px;background:linear-gradient(90deg,transparent,#c4ccd178,transparent);pointer-events:none}
#request-form{padding:32px 40px 22px}
.wizard-progress{margin-bottom:32px}
.step-indicators{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:0 0 24px}
.step-indicators li{min-width:0}
.step-indicators button{display:flex;align-items:center;gap:10px;padding:0;background:none;border:0;color:#9198a4;font-size:13px;min-height:36px;width:100%;text-align:left;transition:color .3s}
.step-indicators button:disabled{cursor:default;color:#737b87}
.step-number{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff24;border-radius:50%;font-size:11px;flex:none;font-variant-numeric:tabular-nums;transition:background .3s,color .3s,box-shadow .3s}
.step-indicators [aria-current] button{color:#fff}
.step-indicators [aria-current] .step-number{background:#eff1ef;color:#15171c;border-color:#fff;box-shadow:0 0 20px #fff1}
.step-indicators .complete button{color:#bfc7d2}
.step-indicators .complete .step-number{background:#ffffff0b;border-color:#ffffff50;color:#e7e9ec}
.progress-track{height:2px;background:#ffffff14;border-radius:5px;overflow:visible}
.progress-track>div{border-radius:5px;background:#eff3f3;box-shadow:0 0 16px #e3efff66;transition:width .5s cubic-bezier(.22,1,.36,1)}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.step-stage{position:relative;transition:height .35s var(--ease)}
.is-enhanced .step-panel{position:absolute;inset:0 0 auto;display:block}
.step-panel{padding-top:2px;padding-bottom:4px}
.step-heading{margin-bottom:26px}
.step-heading h2{font-size:30px;font-weight:550;letter-spacing:-.045em;line-height:1.2;margin:0 0 10px;outline:none;scroll-margin-top:100px}
.step-heading p{font-size:14px;color:#9fa7b3;margin:0}
.wizard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.wizard-full{grid-column:1/-1}
.wizard-field,.generation-slot{min-width:0}
.wizard-field label{display:block;color:#cfd3da;font-size:13px;line-height:1.5;margin-bottom:10px;font-weight:500}
.wizard-field label>span{color:#767f8e}
.field-control{position:relative;min-width:0}
.wizard-field input,.wizard-field select,.wizard-field textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;background-color:#20242b;border:1px solid #ffffff20;border-radius:10px;color:#f0f2f5;font-size:15px;line-height:1.5;padding:15px 16px;min-height:54px;outline:none;transition:border-color .25s,box-shadow .25s,background-color .25s;color-scheme:dark}
.wizard-field input::placeholder,.wizard-field textarea::placeholder{color:#747e8e;opacity:1}
.wizard-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 7.5 5 5 5-5' stroke='%23BFC7D2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:20px 20px;padding-right:48px;text-overflow:ellipsis;cursor:pointer}
.wizard-field select:disabled{background-color:#171a1f;color:#707987;border-color:#ffffff0e;opacity:1;cursor:default;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 7.5 5 5 5-5' stroke='%23505A68' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.wizard-field input:hover,.wizard-field select:not(:disabled):hover,.wizard-field textarea:hover{border-color:#ffffff46}
.wizard-field input:focus,.wizard-field select:focus,.wizard-field textarea:focus{border-color:#bfc9d6;box-shadow:0 0 0 3px #bfc9d615,0 0 24px #aabbd00a;background-color:#242932}
.wizard-field textarea{resize:vertical;min-height:110px;max-height:360px}
.wizard-field [aria-invalid=true]{border-color:#e8e8e8;box-shadow:0 0 0 2px #e8e8e833}
.wizard-field-error{font-size:13px;line-height:1.6;color:#f0f1f3;margin-top:8px}
.wizard-field-error:empty{display:none}
.wizard-errors{margin:0 0 24px;padding:16px 20px;border:1px solid #ffffff50;border-radius:10px;background:#ffffff08;font-size:14px}
.wizard-errors p{margin:0}
.wizard-errors p+p{margin-top:8px}
.model-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}
.model-feedback p,.wizard-footnote{font-size:12px;line-height:1.7;color:#959fad;margin:14px 0 0}
.model-feedback p:empty,.wizard-footnote:empty{display:none}
.model-feedback button{border:0;background:none;padding:10px 0;color:#e1e7ef;font-size:12px;text-decoration:underline;min-height:40px}
.model-loader{position:absolute;inset:0 45px 0 auto;display:flex;gap:3px;align-items:center;pointer-events:none}
.model-loader i,.submit-dots i{width:4px;height:4px;background:currentColor;border-radius:50%;animation:wizard-dot 1.2s ease-in-out infinite}
.model-loader i:nth-child(2),.submit-dots i:nth-child(2){animation-delay:.15s}
.model-loader i:nth-child(3),.submit-dots i:nth-child(3){animation-delay:.3s}
.model-reveal{animation:model-in .35s ease-out}
.schedule-options{margin-top:22px;border-top:1px solid #ffffff18}
.schedule-options summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;font-size:13px;color:#bbc3ce;cursor:pointer}
.schedule-options summary::-webkit-details-marker{display:none}
.schedule-options summary>span{font-size:22px;transition:transform .3s}
.schedule-options[open] summary>span{transform:rotate(45deg)}
.schedule-options[open] .wizard-fields{padding-top:6px}
.schedule-options .wizard-footnote{margin-bottom:12px}
.wizard-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#ffffff04;border:1px solid #ffffff14;border-radius:10px;padding:16px 18px;margin-bottom:24px}
.wizard-summary>div{min-width:0}
.wizard-summary strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.wizard-summary p{font-size:12px;color:#9fa9b7;line-height:1.6;margin:5px 0 0;overflow-wrap:anywhere}
.wizard-summary>.wizard-back{font-size:12px;flex:none}
.wizard-consent{display:flex;gap:12px;align-items:flex-start;margin:24px 0 0;font-size:12px;line-height:1.8;color:#aab4c0;cursor:pointer}
.wizard-consent input{flex:none;width:20px;height:20px;accent-color:#e5e9ef;margin:2px 0 0}
.wizard-consent a{color:#e0e5eb}
.wizard-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:30px;padding-top:24px;border-top:1px solid #ffffff18}
.wizard-primary{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-width:180px;min-height:54px;padding:15px 22px;background:#eef1ee;color:#171a1e;border:1px solid #ffffffb3;border-radius:10px;font-size:14px;font-weight:700;line-height:1.4;transition:background .3s,box-shadow .3s,transform .3s var(--ease)}
.wizard-primary:after{content:"";position:absolute;inset:-80% auto -80% -100%;width:50%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-25deg);transition:left .7s;z-index:-1}
.wizard-primary>span[aria-hidden]{font-size:20px}
.wizard-primary:disabled{color:#6e7784;background:#272d35;border-color:#ffffff12;cursor:default;box-shadow:none;transform:none}
.wizard-back{border:0;background:none;color:#b3bdcb;min-height:44px;padding:8px 0;font-size:13px;text-decoration:none}
.wizard-actions>.wizard-back{margin-right:auto}
.wizard-back:hover{color:#fff}
.submit-dots{display:inline-flex;gap:5px;align-items:center;height:20px}
.submit-dots i{width:5px;height:5px}
.wizard-assurance{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#85909f;margin:20px 0 0}
.wizard-assurance svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.2;flex:none}
.booking-bottom{max-width:880px;display:flex;justify-content:center;padding-block:20px 64px}
.booking-bottom .text-link{font-size:12px;color:#9ba5b2}
.booking-page .footer-grid{padding-top:30px}
#success-modal{color:var(--text);border:1px solid #ffffff38;border-radius:22px;padding:0;max-width:460px;width:calc(100% - 40px);background:linear-gradient(140deg,#22272e,#14171b);box-shadow:0 40px 120px #0009;opacity:0;transform:translateY(16px) scale(.96);transition:opacity .3s,transform .3s var(--ease)}
#success-modal.is-open{opacity:1;transform:translateY(0) scale(1)}
#success-modal::backdrop{background:#07090cdc;backdrop-filter:blur(8px)}
.success-content{padding:40px}
.success-mark{width:60px;height:60px;border:1px solid #d8e5f14d;box-shadow:0 0 36px #d8e5f10f;border-radius:50%;display:grid;place-items:center;margin-bottom:28px;background:#ffffff05}
.success-mark svg{width:32px;height:32px;fill:none;stroke:#e9edf3;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.success-mark path{stroke-dasharray:30;stroke-dashoffset:30}
.is-open .success-mark path{animation:draw-check .55s .15s ease-out forwards}
.success-content h2{font-size:30px;line-height:1.2;margin-bottom:18px}
.success-content>p{font-size:14px;color:#b3bdc9;line-height:1.9}
.success-content>.wizard-primary{width:100%;margin-top:14px}
.modal-open{overflow:hidden}
#booking-widget [hidden],.booking-page [hidden]{display:none!important}

@media(hover:hover) and (pointer:fine){.wizard-primary:not(:disabled):hover{background:#fff;box-shadow:0 0 28px #e7f2ff20;transform:translateY(-1px)}
.wizard-primary:not(:disabled):hover:after{left:150%}
.step-indicators button:not(:disabled):hover{color:#fff}
}

@keyframes wizard-dot{0%,70%,100%{opacity:.3;transform:translateY(0)}
35%{opacity:1;transform:translateY(-3px)}
}
@keyframes model-in{from{opacity:.5}
to{opacity:1}
}
@keyframes draw-check{to{stroke-dashoffset:0}
}

@media(max-width:900px){.booking-intro,.booking-bottom,.wizard-shell{width:calc(100% - 64px)}
#request-form{padding:30px}
.step-heading h2{font-size:28px}
}

@media(max-width:650px){.booking-intro,.booking-bottom{width:calc(100% - 40px)}
.booking-intro{padding-top:24px;padding-bottom:25px}
.booking-home-link{font-size:11px;margin-bottom:22px}
.booking-intro h1{font-size:clamp(34px,9vw,48px);letter-spacing:-.05em;margin-bottom:14px}
.booking-intro>p{font-size:13px;max-width:300px;line-height:1.8}
.wizard-shell{width:calc(100% - 24px);border-radius:16px}
#request-form{padding:22px 18px 18px}
.wizard-progress{margin-bottom:28px}
.step-indicators{gap:10px;margin-bottom:19px}
.step-indicators button{gap:7px;font-size:11px;flex-direction:column;align-items:flex-start;min-height:56px}
.step-number{width:28px;height:28px;font-size:10px}
.step-heading{margin-bottom:22px}
.step-heading h2{font-size:25px;line-height:1.25}
.step-heading p{font-size:12px}
.wizard-fields{grid-template-columns:minmax(0,1fr);gap:20px}
.wizard-full{grid-column:1}
.wizard-field label{font-size:13px;margin-bottom:9px}
.wizard-field input,.wizard-field select,.wizard-field textarea{font-size:16px;min-height:54px;padding-block:15px}
.wizard-field textarea{min-height:105px}
.wizard-field input[type=date],.wizard-field input[type=time]{min-height:54px;display:block}
.wizard-field input::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
.wizard-actions{margin-top:24px;padding-top:22px;gap:18px}
.wizard-actions>.wizard-primary{flex:1;min-width:0}
.wizard-actions>.wizard-back{min-width:58px;font-size:12px}
.wizard-primary{font-size:14px;min-height:54px;padding-inline:20px}
.wizard-assurance{font-size:10px;gap:6px;margin-top:18px}
.wizard-summary{padding:14px;gap:12px}
.wizard-summary strong{font-size:13px}
.wizard-summary p{font-size:11px}
.wizard-summary>.wizard-back{font-size:11px}
.wizard-consent{font-size:12px}
.schedule-options summary{font-size:12px}
.wizard-footnote,.model-feedback p{font-size:11px}
.booking-bottom{padding-bottom:44px}
.success-content{padding:30px 26px}
.success-content h2{font-size:27px}
.success-content>p{font-size:14px}
}

@media(prefers-reduced-motion:reduce){#booking-widget *,#success-modal{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.success-mark path{stroke-dashoffset:0}
}


.motion-paused .success-mark path{animation:none;stroke-dashoffset:0}

.wizard-field input[data-phone-format="ru"]{font-variant-numeric:tabular-nums;letter-spacing:.025em}
