.v21-steps{width:min(1180px,calc(100% - 32px));margin:28px auto;color:#17152d}
.v21-steps h2{margin:0 0 14px;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}
.v21-steps ol{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0;padding:0}
.v21-steps a{display:flex;flex-direction:column;gap:8px;min-height:168px;padding:16px;border-radius:16px;background:#fff;border:1px solid #e6e1f2;color:#17152d;text-decoration:none}
.v21-steps a:hover{border-color:#c9b6f3}
.v21-steps a:focus-visible{outline:3px solid #7a3cf0;outline-offset:3px}
.v21-steps .cs-icon{width:22px;height:22px;color:#6d36e5}
.v21-steps strong{font-size:16px}
.v21-steps small{color:#3d3458;font-size:13px;line-height:1.4}
.v21-intro{width:min(1180px,calc(100% - 32px));margin:0 auto 28px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.v21-intro p{margin:0;max-width:62ch;color:#3d3458}
.v21-intro a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#6d36e5;color:#fff;text-decoration:none;font-weight:700}
body.ws-v21{background:#f6f5fb;color:#17152d}
.ws-v21 main{max-width:1180px;margin:0 auto;padding:28px 20px 48px}
.ws-lock{max-width:640px;margin:48px auto;background:#fff;border:1px solid #e6e1f2;border-radius:16px;padding:28px}
.ws-lock a{color:#6d36e5;font-weight:700}
.v21-library{display:grid;gap:12px}
.v21-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid #e6e1f2;border-radius:16px;padding:14px}
.v21-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:#f3eefe;color:#6d36e5;font-weight:800}
.v21-card h3{margin:0;font-size:18px}
.v21-card p{margin:4px 0 0;color:#3d3458;font-size:14px}
.v21-card a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;background:#6d36e5;color:#fff;text-decoration:none;font-weight:700}
.v21-card .more{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.v21-card .more a{min-height:32px;padding:0 10px;background:transparent;color:#6d36e5;border-radius:8px}
.v21-form{background:#fff;border:1px solid #e6e1f2;border-radius:16px;padding:20px;margin:18px 0 28px}
.v21-form h2{margin:0 0 8px}
.v21-form label{display:grid;gap:6px;margin:12px 0;font-weight:650}
.v21-form input,.v21-form select,.v21-form textarea{font:inherit;padding:10px 12px;border:1px solid #d9d3ea;border-radius:10px;background:#fff;color:#17152d}
.v21-form button{min-height:46px;padding:0 18px;border:0;border-radius:999px;background:#6d36e5;color:#fff;font-weight:800;cursor:pointer}
.v21-form .note{color:#3d3458;font-size:14px}
@media (max-width:1100px){.v21-steps ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .v21-steps ol,.v21-card{grid-template-columns:1fr}
  .v21-intro{flex-direction:column;align-items:flex-start}
  .v21-card a{justify-content:center}
}
