.programs-page{background:#fff}.programs-hero{padding:84px 0 70px;border-bottom:1px solid var(--line)}.programs-hero h1{font-size:clamp(43px,5.5vw,76px);line-height:1;letter-spacing:-.065em;max-width:930px;margin:0}.programs-hero h1 em{font-family:Georgia,serif;font-weight:400}.programs-hero>div>p:last-child{max-width:690px;font-size:18px;line-height:1.65;color:var(--muted);margin:26px 0 0}.programs-list{padding:78px 0 96px;background:#f7f9f6}.programs-group{margin-bottom:74px}.programs-group>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.programs-group .eyebrow{margin:0}.programs-group>header span{font-size:12px;color:var(--muted);font-weight:700}.programs-list__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.program-list-card{min-height:230px;background:#fff;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column}.program-list-card h2{font-size:23px;line-height:1.12;letter-spacing:-.035em;margin:0 0 12px}.program-list-card p{font-size:14px;line-height:1.55;color:var(--muted);margin:0}.program-list-card a{color:var(--ink);font-weight:800;font-size:13px;text-decoration:none;margin-top:auto;padding-top:21px}.program-list-card a:hover{color:var(--green)}.programs-list__cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;background:var(--ink);color:#fff}.programs-list__cta .eyebrow{color:#b8d3a4;margin:0 0 10px}.programs-list__cta h2{font-size:32px;letter-spacing:-.04em;margin:0}.programs-list__cta .button{background:#fff;border-color:#fff;color:var(--ink)}@media(max-width:850px){.programs-list__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.programs-hero{padding:58px 0}.programs-list{padding:52px 0 70px}.programs-group{margin-bottom:52px}.programs-list__grid{grid-template-columns:1fr}.program-list-card{min-height:200px}.programs-list__cta{display:block;padding:26px}.programs-list__cta .button{margin-top:20px}}
/* Helpful secondary route: legislation lives with the study-programme information. */
.programs-list__legal{margin:0 0 46px;padding:15px 18px;border-left:3px solid var(--green);background:#fff;font-size:14px;font-weight:750}.programs-list__legal a{color:var(--ink);text-decoration:none}.programs-list__legal a span{color:var(--green);margin-left:7px}.programs-list__legal a:hover{color:var(--green)}

/* Discounts: structured information without turning the page into a price list. */
.programs-discounts{position:relative;isolation:isolate;margin:12px 0 74px;padding:54px;background:#eef3eb;border:1px solid #dce7d7;overflow:hidden}
.programs-discounts__heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:64px;align-items:end;margin-bottom:38px}
.programs-discounts__heading .eyebrow{margin:0 0 15px;color:var(--green)}
.programs-discounts__heading h2{max-width:720px;margin:0;font-size:clamp(35px,4.2vw,58px);line-height:1.02;letter-spacing:-.055em}
.programs-discounts__heading h2 em{color:var(--green);font-family:Georgia,serif;font-weight:400}
.programs-discounts__heading>p{max-width:480px;margin:0;color:#5f6c70;font-size:16px;line-height:1.65}
.programs-discounts__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cddbc8;border-left:1px solid #cddbc8}
.program-discount-card{min-height:220px;padding:25px 25px 28px;background:rgba(255,255,255,.78);border-right:1px solid #cddbc8;border-bottom:1px solid #cddbc8}
.program-discount-card>span{display:block;margin-bottom:34px;color:var(--green);font-size:12px;font-weight:850;letter-spacing:.12em}
.program-discount-card h3{margin:0 0 11px;color:var(--ink);font-size:21px;line-height:1.15;letter-spacing:-.03em}
.program-discount-card p{margin:0;color:#617078;font-size:14px;line-height:1.62}
.programs-discounts__footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:36px;margin-top:26px}
.programs-discounts__footer p{max-width:760px;margin:0;color:#68756f;font-size:12px;line-height:1.6}
.programs-discounts__footer .text-link{flex:0 0 auto;color:var(--ink);font-size:14px;font-weight:800;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}
.programs-discounts__footer .text-link:hover{color:var(--green);border-color:var(--green)}
.programs-discounts__geometry{position:absolute;z-index:0;top:-28px;right:-18px;width:210px;height:180px;opacity:.7;pointer-events:none}
.programs-discounts__geometry i{position:absolute;display:block}
.programs-discounts__geometry i:nth-child(1){top:0;right:0;width:108px;height:108px;background:#a9c7d8;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.programs-discounts__geometry i:nth-child(2){top:48px;right:88px;width:84px;height:84px;background:#e8c843;clip-path:polygon(0 0,100% 100%,0 100%)}
.programs-discounts__geometry i:nth-child(3){top:104px;right:22px;width:74px;height:74px;border:1px solid #7a9d72;transform:rotate(45deg)}
@media(max-width:900px){.programs-discounts{padding:42px 32px}.programs-discounts__heading{grid-template-columns:1fr;gap:20px}.programs-discounts__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.programs-discounts{margin-bottom:52px;padding:34px 20px}.programs-discounts__grid{grid-template-columns:1fr}.program-discount-card{min-height:0}.program-discount-card>span{margin-bottom:22px}.programs-discounts__footer{display:block}.programs-discounts__footer .text-link{display:inline-block;margin-top:18px}.programs-discounts__geometry{opacity:.28}}

/* Attendance: one clear, centrally managed promise across all programmes. */
.program-attendance{padding:0;background:#fff;border-bottom:1px solid var(--line)}
.program-attendance__inner{position:relative;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);gap:72px;align-items:end;padding-top:42px;padding-bottom:44px;overflow:hidden}
.program-attendance__heading,.program-attendance__inner>p{position:relative;z-index:1}
.program-attendance__heading .eyebrow{margin:0 0 12px;color:var(--green)}
.program-attendance__heading h2{max-width:620px;margin:0;font-size:clamp(27px,3vw,42px);line-height:1.08;letter-spacing:-.045em}
.program-attendance__inner>p{max-width:680px;margin:0;color:var(--muted);font-size:16px;line-height:1.7}
.program-attendance__marks{position:absolute;right:0;bottom:0;display:flex;align-items:flex-end;gap:6px;opacity:.6;pointer-events:none}
.program-attendance__marks i{display:block;width:28px;height:28px;background:#a9c7d8;clip-path:polygon(0 0,100% 100%,0 100%)}
.program-attendance__marks i:nth-child(2){width:22px;height:44px;background:#e8c843;clip-path:polygon(0 0,100% 50%,0 100%)}
.program-attendance__marks i:nth-child(3){width:34px;height:34px;background:#8fa884;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.program-attendance--compact{background:#f7f9f6}
.program-attendance--compact .program-attendance__inner{padding-top:30px;padding-bottom:32px}
.program-attendance--compact .program-attendance__heading h2{font-size:clamp(24px,2.4vw,34px)}
@media(max-width:800px){.program-attendance__inner{grid-template-columns:1fr;gap:18px;padding-top:34px;padding-bottom:36px}.program-attendance__inner>p{font-size:15px}.program-attendance__marks{opacity:.32}}
