 .program-page .wrap {max-width: 1160px; margin: auto; padding: 0 clamp(22px, 5vw, 64px);}
.program-page .program-intro,.program-page section {padding: clamp(36px, 7vw, 86px) 0;}
.program-page section {border-top: 1px solid var(--line);}
.program-page h1 {font-size: clamp(38px, 6vw, 78px); line-height: 1.04; max-width: 920px; margin: 0 0 24px;}
.program-page h2 {font-size: clamp(30px, 4.5vw, 52px); line-height: 1.1; margin: 0 0 20px;}
.program-page .lead {font-size: clamp(17px, 2.4vw, 22px); max-width: 780px;}
.program-page .grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 24px;}
.program-page .card,.program-page .cta {background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(20px, 4vw, 36px);}
.program-page .price {font-size: clamp(34px, 5vw, 54px); font-weight: 850;}
.program-page .actions {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px;}
.program-page a:focus-visible {outline: 3px solid var(--navy); outline-offset: 4px;}
@media (max-width: 720px) {.program-page .grid {grid-template-columns: 1fr;}}
