.ms-form{
    --ms-primary:#0f62fe;
    --ms-primary-hover:#0043ce;
    --ms-bg:#f5f7fb;
    --ms-surface:#ffffff;
    --ms-surface-strong:#0f172a;
    --ms-text:#0f172a;
    --ms-muted:#64748b;
    --ms-border:#dbe4f0;
    --ms-border-strong:#99b7ff;
    --ms-radius:24px;
    --ms-shadow:0 20px 60px rgba(15, 23, 42, .08);
    --ms-shadow-hover:0 26px 70px rgba(15, 98, 254, .16);
    --ms-space-1:8px;
    --ms-space-2:16px;
    --ms-space-3:24px;
    --ms-space-4:32px;
    --ms-space-5:40px;
    --ms-control-height:52px;
}

.ms-form,
.ms-form *,
.ms-form *::before,
.ms-form *::after{
    box-sizing:border-box;
}

.ms-form{max-width:1120px;margin:72px auto;padding:0 20px;}
.ms-wizard{background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.98));border:1px solid rgba(219, 228, 240, .9);border-radius:32px;box-shadow:var(--ms-shadow);padding:40px;position:relative;overflow:hidden;}
.ms-wizard::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(15,98,254,.08), transparent 34%), radial-gradient(circle at left bottom, rgba(2,132,199,.08), transparent 28%);pointer-events:none;}
.ms-progress,.ms-hero,.ms-step,.ms-navigation{position:relative;z-index:1;}
.ms-progress{max-width:760px;margin:0 auto var(--ms-space-4);}
.ms-progress-bar{height:10px;background:#e8eef8;border-radius:999px;overflow:hidden;}
.ms-progress-fill{width:20%;height:100%;background:linear-gradient(90deg,var(--ms-primary),#5b8cff);border-radius:inherit;transition:width .35s ease;}
.ms-progress-text{margin-top:var(--ms-space-2);text-align:right;color:var(--ms-muted);font-size:14px;font-weight:600;letter-spacing:.02em;}
.ms-hero{text-align:center;max-width:820px;margin:0 auto var(--ms-space-4);}
.ms-eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(15,98,254,.08);color:var(--ms-primary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 var(--ms-space-2);}
.ms-hero h2{margin:0 0 var(--ms-space-1);font-size:clamp(2rem,4vw,4rem);line-height:1.02;color:var(--ms-text);letter-spacing:-.04em;}
.ms-lead{margin:0 auto;color:var(--ms-muted);font-size:1.05rem;line-height:1.7;max-width:60ch;}
.ms-step{display:none;animation:msFade .32s ease;}
.ms-step.active{display:block;}
@keyframes msFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ms-step-meta{margin-bottom:var(--ms-space-3);}
.ms-step-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef4ff;color:var(--ms-primary);font-size:12px;font-weight:700;margin-bottom:var(--ms-space-1);}
.ms-step-meta h3{margin:0;color:var(--ms-text);font-size:1.45rem;letter-spacing:-.03em;}
.ms-step[data-step="3"]{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--ms-space-4);
    align-items:start;
}
.ms-step[data-step="3"] .ms-step-meta{
    grid-column:1 / -1;
}
.ms-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ms-space-3);max-width:820px;margin:0 auto;}
.ms-card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;}
.ms-card{appearance:none;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--ms-space-2);width:100%;min-height:164px;padding:22px;background:var(--ms-surface);color:var(--ms-text);border:1px solid var(--ms-border);border-radius:var(--ms-radius);cursor:pointer;text-align:left;box-shadow:0 10px 24px rgba(15,23,42,.04);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;}
.ms-card:hover{transform:translateY(-4px);border-color:var(--ms-border-strong);box-shadow:var(--ms-shadow-hover);}
.ms-card:focus-visible,
.ms-button:focus-visible,
.ms-step input:focus-visible,
.ms-step textarea:focus-visible{
    outline:3px solid rgba(15,98,254,.25);
    outline-offset:3px;
}
.ms-card.active{background:linear-gradient(180deg, var(--ms-primary), #4b82ff);border-color:var(--ms-primary);color:#fff;box-shadow:var(--ms-shadow-hover);}
.ms-card.active::after{content:"";position:absolute;top:18px;right:18px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);}
.ms-card.active::before{content:"";position:absolute;top:25px;right:25px;width:14px;height:8px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg);}
.ms-card-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:18px;background:rgba(15,98,254,.08);color:var(--ms-primary);}
.ms-card.active .ms-card-icon{background:rgba(255,255,255,.16);color:#fff;}
.ms-card svg{width:30px;height:30px;stroke-width:1.8;display:block;}
.ms-card h4{margin:2px 0 0;font-size:1.3rem;line-height:1.15;letter-spacing:-.02em;}
.ms-card p{margin:0;color:var(--ms-muted);line-height:1.6;}
.ms-card.active,.ms-card.active h4,.ms-card.active p,.ms-card.active .ms-card-icon,.ms-card.active svg{color:#fff;}
.ms-card.active svg{fill:none;stroke:#fff;}
.ms-card.active p{color:#fff;}
.ms-card.active h4{color:#fff;}
.ms-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--ms-space-4);
    row-gap:var(--ms-space-4);
}
.ms-row > div{
    min-width:0;
}
.ms-step label{display:block;margin:0 0 8px;font-weight:700;color:var(--ms-text);}
.ms-step input[type=text],.ms-step input[type=email],.ms-step input[type=tel],.ms-step textarea{
    width:100%;
    min-height:var(--ms-control-height);
    padding:14px 16px;
    border:1px solid var(--ms-border);
    border-radius:16px;
    background:#fff;
    color:var(--ms-text);
    font-size:16px;
    line-height:1.5;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.ms-step[data-step="3"] > div{
    min-width:0;
}
.ms-step[data-step="3"] > div > label{
    margin-top:0;
}
.ms-step textarea{min-height:176px;resize:vertical;}
.ms-step input:focus,.ms-step textarea:focus{border-color:var(--ms-primary);box-shadow:0 0 0 4px rgba(15,98,254,.1);outline:none;}
.ms-field.has-error input,
.ms-field.has-error textarea,
.ms-field.has-error button{
    border-color:#dc2626;
    box-shadow:0 0 0 4px rgba(220,38,38,.08);
}
.ms-field-error{
    display:block;
    margin-top:8px;
    color:#dc2626;
    font-size:14px;
    line-height:1.4;
}
.ms-notes{margin-top:var(--ms-space-2);}
.ms-note{display:flex;gap:10px;align-items:flex-start;padding:16px 18px;border-radius:18px;background:#f8fbff;border:1px solid #dbe8ff;color:var(--ms-muted);line-height:1.6;}
.ms-note strong{color:var(--ms-text);}
.ms-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ms-space-2);background:#f8fbff;border:1px solid #dbe8ff;border-radius:24px;padding:22px;}
.ms-summary-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#fff;border:1px solid #e8eef8;border-radius:18px;}
.ms-summary-item span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ms-muted);}
.ms-summary-item strong{font-size:1rem;color:var(--ms-text);word-break:break-word;}
.ms-summary-full{grid-column:1 / -1;}
.ms-summary-hint{margin:var(--ms-space-2) 0 0;color:var(--ms-muted);}
.ms-thanks{
    padding:28px;
    border-radius:24px;
    background:linear-gradient(180deg, rgba(15,98,254,.08), rgba(15,98,254,.04));
    border:1px solid rgba(15,98,254,.16);
    color:var(--ms-text);
}
.ms-form-message{
    margin:0 0 var(--ms-space-3);
    padding:14px 16px;
    border-radius:16px;
    background:#fff1f2;
    color:#9f1239;
    border:1px solid #fecdd3;
    font-weight:600;
}
.ms-navigation,.ms-actions{display:flex;justify-content:space-between;gap:var(--ms-space-2);margin-top:var(--ms-space-4);position:relative;z-index:1;}
.ms-actions{justify-content:flex-end;}
.ms-button{appearance:none;border:0;border-radius:16px;padding:14px 22px;min-height:48px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease;}
.ms-button:hover{transform:translateY(-1px);}
.ms-button-primary{background:var(--ms-primary);color:#fff;}
.ms-button-primary:hover{background:var(--ms-primary-hover);}
.ms-button-secondary{background:#eaf1ff;color:#1442a1;}
.ms-button-secondary:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.ms-step[aria-hidden="true"]{display:none;}
@media (max-width: 900px){
    .ms-form{margin:40px auto;padding:0 14px;}
    .ms-wizard{padding:24px;border-radius:24px;}
    .ms-card-grid,.ms-card-grid.cols-3,.ms-row,.ms-summary{grid-template-columns:1fr;}
    .ms-step[data-step="3"]{grid-template-columns:1fr;}
    .ms-step[data-step="3"] .ms-step-meta{grid-column:auto;}
    .ms-navigation,.ms-actions{flex-direction:column;}
    .ms-button{width:100%;}
    .ms-hero h2{font-size:clamp(1.8rem,8vw,2.8rem);}
    .ms-card{min-height:156px;}
    .ms-row{gap:var(--ms-space-3);}
}
