:root { --bg:#eef2ff; --ink:#1a1d3a; --muted:#667; --card:#fff; --acc:#4f46e5; --acc2:#7c3aed; }
* { box-sizing:border-box; }
body { margin:0; font-family:ui-sans-serif,system-ui,sans-serif; background:
  radial-gradient(900px 400px at 90% -10%, #ddd6fe 0%, transparent 60%),
  radial-gradient(700px 300px at -10% 0%, #c7d2fe 0%, transparent 55%),
  var(--bg); color:var(--ink); }
header, footer, main { width:min(1040px,calc(100% - 28px)); margin:0 auto; }
header { display:flex; justify-content:space-between; align-items:center; min-height:76px; }
.logo { text-decoration:none; color:#fff; background:linear-gradient(135deg,var(--acc),var(--acc2)); border-radius:999px; padding:8px 14px; font-weight:750; letter-spacing:-.03em; }
header span { color:#4b5180; font-size:13px; }
.eye { margin:0; color:var(--acc); font-weight:650; font-size:13px; }
h1 { font-size:clamp(32px,4.5vw,48px); letter-spacing:-.045em; line-height:1.05; margin:8px 0 18px; max-width:16ch; }
.must { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.must article { background:rgba(255,255,255,.82); border-radius:22px; padding:16px 18px; box-shadow:0 10px 30px rgba(49,46,129,.08); }
.must span { color:#6366a8; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.must strong { display:block; font-size:clamp(26px,3vw,34px); letter-spacing:-.04em; margin:6px 0; }
.must p { margin:0; color:#3f4468; font-size:14px; }
.must .rate { background:linear-gradient(160deg,#312e81,#4f46e5); color:#fff; }
.must .rate span, .must .rate p { color:#ddd6fe; }
.list { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:22px 0 40px; }
.card { background:var(--card); border-radius:22px; padding:16px; display:grid; grid-template-columns:1fr auto; gap:8px 12px; align-items:center; box-shadow:0 8px 24px rgba(49,46,129,.06); }
.card img { grid-column:1; width:120px; height:46px; object-fit:contain; }
.card h2 { margin:8px 0 0; font-size:18px; }
.card p { margin:2px 0 0; color:#6b7194; font-size:13px; }
.card ul { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:8px 0 0; margin:0; }
.card li { background:#eef2ff; color:#3730a3; border-radius:999px; padding:3px 8px; font-size:12px; }
.docs { display:flex; gap:10px; }
.docs a { color:#4f46e5; font-size:12px; }
.go { align-self:start; background:#111327; color:#fff; text-decoration:none; border-radius:12px; padding:10px 14px; font-size:14px; font-weight:650; }
footer { color:#54597a; font-size:13px; padding-bottom:28px; }
footer a { color:#4f46e5; }
@media (max-width:800px) {
  .must, .list { grid-template-columns:1fr; }
}
