.programs-page h1, .programs-page h2 { font-family: var(--heading); }
.programs-intro { padding-top: 155px; padding-bottom: 80px; border-bottom: 1px solid var(--ink); }
.programs-intro-grid { display: grid; grid-template-columns: 7fr 4fr; align-items: end; gap: 70px; }
.programs-intro h1 { max-width: 760px; margin: 0; font-size: clamp(3rem, 7vw, 6rem); font-weight: 600; line-height: .99; letter-spacing: -.04em; }
.programs-intro h1 span { color: var(--brand); }
.programs-intro-aside { max-width: 390px; padding-bottom: 6px; border-left: 2px solid var(--accent); padding-left: 18px; }
.programs-intro-aside p { margin-bottom: 14px; font-size: .98rem; }
.programs-intro-aside p:last-child { margin: 0; }
.programs-list-section { padding-block: 25px 80px; background: var(--paper); }
.program-row { display: grid; grid-template-columns: 48px 70px 1fr 160px; align-items: start; gap: 22px; border-bottom: 1px solid var(--ink); padding-block: 31px; }
.program-row:first-child { border-top: 1px solid var(--ink); }
.program-row-number { padding-top: 6px; color: var(--accent); font: 600 1rem var(--heading); }
.program-row-icon { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid var(--ink); border-radius: var(--radius); color: var(--brand); }
.program-row-icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.program-row-copy { max-width: 560px; }
.program-row-copy .eyebrow { margin-bottom: 7px; }
.program-row-copy h2 { margin: 0 0 10px; font-size: clamp(1.8rem, 3.2vw, 2.75rem); }
.program-row-copy > p:last-child { max-width: 500px; margin: 0; line-height: 1.6; }
.program-row-action { display: grid; justify-items: start; gap: 13px; padding-top: 4px; }
.program-row-action strong { font: 600 1.08rem var(--heading); }
.program-register { min-height: 43px; padding-inline: 16px; }
.program-details { border-top: 1px solid var(--ink); color: var(--paper); background: var(--accent); }
.program-details-grid { display: grid; grid-template-columns: 7fr 4fr; align-items: center; gap: 65px; }
.program-details h2 { max-width: 780px; margin: 0; color: var(--paper); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; }
.program-details p { margin-bottom: 20px; color: var(--paper); }
.program-details .text-link { color: var(--paper); }
.programs-page .site-header { position: fixed; }
@media (max-width: 760px) {
    .programs-intro { padding-top: 125px; padding-bottom: 58px; }
    .programs-intro-grid, .program-details-grid { grid-template-columns: 1fr; gap: 28px; }
    .program-row { grid-template-columns: 34px 52px 1fr; gap: 12px; padding-block: 23px; }
    .program-row-icon { width: 48px; height: 48px; }
    .program-row-icon svg { width: 25px; height: 25px; }
    .program-row-copy { grid-column: 3; }
    .program-row-action { grid-column: 3; display: flex; align-items: center; justify-content: space-between; }
    .program-row-action strong { font-size: .98rem; }
}
