.programme-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:clamp(32px,6vw,88px);align-items:center}
.programme-hero-grid h1{max-width:18ch;font-size:clamp(2.6rem,4.5vw,4.8rem);line-height:1.04}
.programme-promise{max-width:30ch;font:600 clamp(1.35rem,2vw,1.8rem)/1.35 var(--display);letter-spacing:-.025em;margin:1.4rem 0 1rem}
.page-hero .programme-intro{max-width:65ch;font-size:1.08rem;line-height:1.7}
.programme-focus{border:1px solid rgb(33 23 46 / 16%);border-radius:24px;padding:28px;background:rgb(255 253 248 / 72%)}
.programme-focus .programme-number{display:block;margin-bottom:28px;font:500 4.5rem/.9 var(--display);letter-spacing:-.07em;color:var(--purple)}
.programme-focus h2{font-size:1.4rem;margin-bottom:1rem;letter-spacing:-.025em}
.programme-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.programme-tags li{margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:.8rem;line-height:1.4}
.programme-jump{display:flex;flex-wrap:wrap;gap:8px;padding:24px 0;border-bottom:1px solid var(--line)}
.programme-jump a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-size:.88rem;font-weight:600;text-decoration:none}
.programme-jump a:hover,.programme-jump a:focus-visible{background:var(--purple);border-color:var(--purple);color:#fff}
.programme-page section[id],.programme-page aside[id]{scroll-margin-top:120px}
.programme-overview{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,7vw,100px);align-items:start}
.programme-overview h2{max-width:17ch}
.programme-overview p{max-width:65ch;line-height:1.75}
.programme-practical{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
.programme-section-intro{max-width:66ch;margin:12px 0 30px;color:var(--muted);line-height:1.7}
.programme-responsibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.programme-responsibility{padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:18px;background:var(--white)}
.programme-responsibility>span{display:inline-grid;place-items:center;width:34px;height:34px;margin-bottom:16px;border-radius:50%;background:var(--lilac);color:var(--purple);font-size:.8rem;font-weight:700}
.programme-responsibility h3{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.25;margin:0 0 12px}
.programme-responsibility p{margin:0;max-width:60ch;color:var(--muted);line-height:1.75}
.programme-objectives-band{background:var(--white);border-block:1px solid var(--line)}
.programme-objective{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(210px,.8fr);gap:24px;padding:28px 0;border-top:1px solid var(--line);align-items:start}
.programme-objective>span{font:600 1.2rem/1.4 var(--display);color:var(--purple)}
.programme-objective h3{font-size:1.3rem;line-height:1.3;margin:0 0 10px}
.programme-objective p{margin:0;line-height:1.7;color:var(--muted)}
.programme-evidence{padding:14px 18px;border-radius:12px;background:var(--lilac);font-size:.92rem}
.programme-evidence strong{display:block;margin-bottom:5px;color:var(--ink);font-size:.8rem}
.programme-projects{padding:clamp(26px,5vw,56px);border-radius:24px;background:var(--night);color:var(--white)}
.programme-projects h2,.programme-projects h3{color:var(--white)}
.programme-projects .kicker{color:var(--lime)}
.programme-projects>.programme-section-intro{color:#e9e0fa}
.programme-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.programme-project-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.programme-project{padding-top:24px;border-top:1px solid #65516f}
.programme-project h3{font-size:1.45rem;margin:0 0 14px}
.programme-project p{line-height:1.75;color:#eee7f6}
.programme-project .programme-output{margin-top:20px;color:#fff;font-size:.9rem}
.programme-output strong{display:block;margin-bottom:5px;color:var(--lime);font-size:.8rem}
.programme-fit{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(30px,6vw,80px);align-items:start}
.programme-fit p,.programme-fit li{line-height:1.75}
.programme-fit ul{padding-left:20px;margin:20px 0 0}
.programme-fit li{padding-left:4px;margin:10px 0}
.programme-application{padding:clamp(24px,4vw,38px);border:1px solid var(--line);border-radius:20px}
.programme-application h2{font-size:1.65rem}
.programme-application p{margin:16px 0 22px}
.programme-application .button{white-space:normal;text-align:left;max-width:100%}
.programme-application .textlink{display:inline-flex;margin-top:20px}
.programme-learning{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:28px 0 0;padding:0}
.programme-learning li{padding-top:20px;border-top:3px solid var(--purple)}
.programme-learning span{display:block;margin-bottom:12px;color:var(--purple);font-size:.8rem;font-weight:700}
.programme-learning h3{font-size:1.15rem;margin-bottom:10px}
.programme-learning p{margin:0;color:var(--muted);line-height:1.7;font-size:.95rem}
.programme-faqs{max-width:900px}
.programme-faqs details{border-bottom:1px solid var(--line)}
.programme-faqs summary{padding:22px 0;cursor:pointer;font:600 1.2rem/1.4 var(--display)}
.programme-faqs details p{max-width:70ch;padding:0 0 24px;margin:0;color:var(--muted);line-height:1.75}
.programme-faqs summary:focus-visible{outline:2px solid var(--purple);outline-offset:5px}
@media(max-width:1000px){
 .programme-hero-grid{grid-template-columns:minmax(0,1fr) 250px;gap:30px}
 .programme-project-grid[data-count="3"]{grid-template-columns:minmax(0,1fr)}
 .programme-objective{grid-template-columns:30px minmax(0,1fr);gap:18px}
 .programme-objective .programme-evidence{grid-column:2}
}
@media(max-width:760px){
 .programme-hero-grid,.programme-overview,.programme-fit{grid-template-columns:minmax(0,1fr)}
 .programme-hero-grid h1{font-size:clamp(2.4rem,8vw,3.5rem)}
 .programme-focus{padding:22px}
 .programme-focus .programme-number{display:none}
 .programme-responsibility-grid,.programme-project-grid{grid-template-columns:minmax(0,1fr)}
 .programme-learning{grid-template-columns:repeat(2,minmax(0,1fr))}
 .programme-jump{gap:7px;padding:18px 0}
 .programme-jump a{padding:8px 11px;font-size:.82rem}
}
@media(max-width:420px){.programme-learning{grid-template-columns:minmax(0,1fr)}.programme-hero-grid h1{font-size:clamp(2rem,9vw,2.4rem)}}
.programme-page>.page-hero{padding-bottom:clamp(36px,5vw,64px)}
