.hero {
    min-height: 520px;
    display: grid;
    align-items: center;
    background:
        linear-gradient(110deg, rgba(11,47,107,.94), rgba(19,91,184,.86)),
        radial-gradient(circle at 80% 20%, rgba(0,158,179,.28), transparent 32%);
    color: white;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.hero h1 { max-width: 760px; margin: 0; font-size: clamp(38px, 7vw, 72px); line-height: 1.02; letter-spacing: 0; }
.hero p { max-width: 640px; color: rgba(255,255,255,.82); font-size: 18px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.section { padding: 64px 0; background: white; }
.section:nth-of-type(odd) { background: #f7fbff; }
.section-title { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 24px; }
.section-title h2 { margin: 0; font-size: clamp(26px, 4vw, 38px); letter-spacing: 0; }
.program-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.program-item { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; font-weight: 600; box-shadow: 0 10px 24px rgba(11,47,107,.06); }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.step { padding: 22px; background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 10px 24px rgba(11,47,107,.06); }
.step strong { color: var(--blue-800); }
.success-box, .status-box { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
@media (max-width: 820px) {
    .hero { min-height: 560px; padding-bottom: 44px; }
    .program-list, .steps { grid-template-columns: 1fr; }
    .section { padding: 44px 0; }
}
