.program-page main { overflow: hidden; }
.program-page .program-hero { min-height: auto; padding-block: 5rem; }
.program-page .program-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.program-page .program-cards article { display: flex; flex-direction: column; gap: 0.5rem; }
.program-page .program-cards .button { margin-top: auto; align-self: flex-start; }
.program-page .program-bundle { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--line); background: white; }
.program-page .program-form { display: grid; gap: 1rem; }
.program-page .program-form label { display: grid; gap: 0.35rem; font-weight: 600; }
.program-page .program-form input,.program-page .program-form select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 4px; padding: 0.7rem; background: #fff; color: var(--ink); font: inherit; }
.program-page .form-status,.program-page .pending-note,.program-page .legal-note { color: var(--ink-soft); line-height: 1.6; }
.program-page .button-disabled { opacity: 0.55; cursor: not-allowed; }
.program-page .practice-preview { columns: 2; gap: 2rem; color: var(--ink-soft); line-height: 1.9; }
@media(max-width:900px){.program-page .program-cards{grid-template-columns:1fr}.program-page .practice-preview{columns:1}}
