:root {
  --brand-blue: #1a65b1;
  --brand-teal: #30c1d5;
  --brand-dark: #0d2e4f;
  --brand-ink: #16324a;
  --brand-muted: #65798a;
  --brand-soft: #f3f9fb;
  --brand-border: #dce9ee;
  --display: "Manrope", sans-serif;
  --body: "DM Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--brand-ink); background: white; font-family: var(--body); -webkit-font-smoothing: antialiased; }
body, button, input, select { font-family: var(--body); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { border: 0; cursor: pointer; }
:focus-visible { outline: 3px solid rgba(48,193,213,.4); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 1000; top: -70px; left: 20px; padding: 12px 16px; color: white; background: var(--brand-blue); border-radius: 8px; }
.skip-link:focus { top: 15px; }
.programme-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.programme-header { position: fixed; z-index: 100; top: 0; width: 100%; background: rgba(255,255,255,.92); border-bottom: 1px solid rgba(220,233,238,.8); backdrop-filter: blur(18px); }
.programme-nav { height: 78px; display: flex; align-items: center; justify-content: space-between; }
.programme-brand img, .programme-footer img { width: 164px; height: auto; }
.programme-links { display: flex; align-items: center; gap: 30px; color: #536b7d; font-size: 13px; font-weight: 600; }
.programme-links > a:hover { color: var(--brand-blue); }
.programme-menu { display: none; width: 44px; height: 44px; background: transparent; }
.programme-menu span { display: block; width: 22px; height: 2px; margin: 5px auto; background: var(--brand-dark); }
.programme-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 54px; padding: 0 24px; color: white; background: linear-gradient(110deg,var(--brand-blue),#197bab); border-radius: 100px; font-size: 13px; font-weight: 700; box-shadow: 0 13px 30px rgba(26,101,177,.2); transition: .25s; }
.programme-button:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(26,101,177,.27); }
.programme-button.small { min-height: 42px; padding-inline: 18px; color: white !important; }

.programme-hero { position: relative; padding: 155px 0 0; overflow: hidden; background: linear-gradient(125deg,#fff 0%,#fff 47%,#eefbfc 100%); }
.programme-grid-bg { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(26,101,177,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(26,101,177,.05) 1px,transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg,transparent,black 45%); }
.programme-hero-grid { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; min-height: 580px; }
.programme-back { display: inline-block; margin-bottom: 32px; color: var(--brand-blue); font-size: 11px; font-weight: 700; }
.programme-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; color: var(--brand-blue); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.programme-eyebrow i { width: 4px; height: 4px; background: var(--brand-teal); transform: rotate(45deg); }
.programme-hero h1, .programme-section-heading h2, .project-copy h2, .enquiry-copy h2 { margin: 0; color: var(--brand-dark); font-family: var(--display); font-weight: 800; letter-spacing: -.06em; line-height: .95; }
.programme-hero h1 { max-width: 720px; font-size: clamp(56px,6.4vw,92px); }
.programme-promise { margin: 24px 0 12px; color: var(--brand-teal); font-family: var(--display); font-size: 17px; font-weight: 800; letter-spacing: .04em; }
.programme-intro { max-width: 620px; margin: 0 0 30px; color: var(--brand-muted); font-size: 17px; line-height: 1.7; }
.programme-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.programme-text-button { display: inline-flex; align-items: center; gap: 14px; color: var(--brand-dark); font-size: 13px; font-weight: 700; }
.programme-hero-art { position: relative; display: grid; place-items: center; min-height: 490px; }
.art-ring { position: absolute; border: 1px solid rgba(26,101,177,.14); border-radius: 50%; }
.ring-one { width: 410px; height: 410px; }.ring-two { width: 285px; height: 285px; border-style: dashed; animation: rotate 28s linear infinite; }
@keyframes rotate { to { transform: rotate(360deg); } }
.programme-number { position: absolute; color: rgba(26,101,177,.06); font-family: var(--display); font-size: 330px; font-weight: 800; letter-spacing: -.12em; }
.programme-icon { position: relative; z-index: 1; display: grid; place-items: center; width: 150px; height: 150px; color: white; background: linear-gradient(135deg,var(--brand-blue),var(--brand-teal)); border-radius: 38px; box-shadow: 0 35px 70px rgba(26,101,177,.25); font-family: var(--display); font-size: 42px; font-weight: 800; transform: rotate(-7deg); }
.art-label { position: absolute; z-index: 2; right: 0; bottom: 65px; display: flex; align-items: flex-start; gap: 13px; padding: 17px 21px; background: rgba(255,255,255,.9); border: 1px solid white; border-radius: 16px; box-shadow: 0 18px 50px rgba(13,46,79,.12); font-size: 10px; font-weight: 600; line-height: 1.7; }
.art-label i { width: 9px; height: 9px; margin-top: 3px; background: var(--brand-teal); border-radius: 50%; box-shadow: 0 0 0 5px rgba(48,193,213,.15); }
.programme-facts { position: relative; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 30px; border-top: 1px solid var(--brand-border); }
.programme-facts > div { display: grid; gap: 8px; padding: 27px 25px; border-right: 1px solid var(--brand-border); }.programme-facts > div:last-child{border-right:0}.programme-facts > div:first-child{padding-left:0}
.programme-facts small { color: #8294a2; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }.programme-facts strong{color:var(--brand-dark);font-size:12px}

.programme-section { padding: 115px 0; }
.overview-grid { display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end }
.section-index { display:block;margin-bottom:24px;color:var(--brand-blue);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase }
.programme-section-heading h2, .project-copy h2, .enquiry-copy h2 { font-size:clamp(47px,5.4vw,74px) }.programme-section-heading h2 em,.project-copy h2 em,.enquiry-copy h2 em{color:var(--brand-teal);font-style:normal}
.overview-copy>p{margin:0;color:var(--brand-muted);font-size:17px;line-height:1.85}.industry-note{display:flex;align-items:center;gap:13px;margin-top:27px;padding-top:25px;border-top:1px solid var(--brand-border);font-size:12px}.industry-note span{display:grid;place-items:center;width:27px;height:27px;color:white;background:var(--brand-blue);border-radius:50%;font-size:10px}
.audience-grid{display:grid;grid-template-columns:1fr repeat(3,1fr);gap:14px;margin-top:75px}.audience-title{padding:25px 25px 25px 0}.audience-title span{color:var(--brand-teal);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.audience-title h3{margin:12px 0;color:var(--brand-dark);font-family:var(--display);font-size:25px}
.audience-card{min-height:190px;padding:27px;background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:20px}.audience-card span{color:var(--brand-blue);font-size:10px}.audience-card p{margin:60px 0 0;color:#536b7d;font-size:13px;line-height:1.6}

.outcome-section { color:white;background:var(--brand-dark) }.programme-section-heading.light h2{color:white}.programme-section-heading.light h2 em{color:var(--brand-teal)}.programme-section-heading.light .section-index{color:var(--brand-teal)}
.outcome-list{margin-top:55px;border-top:1px solid #274966}.outcome-row{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;min-height:92px;border-bottom:1px solid #274966}.outcome-row>span{color:#6c8ba4;font-size:10px}.outcome-row p{margin:0;color:#e7f1f7;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em}.outcome-row i{color:var(--brand-teal);font-style:normal;font-size:20px}

.programme-section-heading.split{display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:end;margin-bottom:55px}.programme-section-heading.split>p{margin:0;color:var(--brand-muted);font-size:14px;line-height:1.75}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--brand-border);border-left:1px solid var(--brand-border)}
.module-card{min-height:270px;padding:30px;border-right:1px solid var(--brand-border);border-bottom:1px solid var(--brand-border);transition:.25s}.module-card:hover{background:var(--brand-soft)}.module-card>span{color:var(--brand-teal);font-size:10px;font-weight:700}.module-card h3{margin:70px 0 16px;color:var(--brand-dark);font-family:var(--display);font-size:20px;letter-spacing:-.03em}.module-card p{margin:0;color:var(--brand-muted);font-size:12px;line-height:1.65}

.project-section{background:var(--brand-soft)}.project-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.project-copy>p{margin:27px 0 0;color:var(--brand-muted);line-height:1.8}.project-stack{display:grid;gap:13px}.project-card{position:relative;min-height:155px;padding:28px 70px 28px 30px;background:white;border:1px solid var(--brand-border);border-radius:19px;transition:.25s}.project-card:hover{transform:translateX(-5px);box-shadow:0 18px 55px rgba(13,46,79,.08)}.project-card span{color:var(--brand-blue);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.project-card h3{max-width:430px;margin:30px 0 0;color:var(--brand-dark);font-family:var(--display);font-size:18px}.project-card i{position:absolute;right:28px;top:50%;color:var(--brand-teal);font-size:22px;font-style:normal}

.programme-section-heading.centered{max-width:750px;margin:0 auto 55px;text-align:center}.programme-section-heading.centered p{margin:25px auto 0;color:var(--brand-muted);line-height:1.7}.career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.career-chip{display:flex;align-items:center;gap:18px;min-height:78px;padding:0 22px;border:1px solid var(--brand-border);border-radius:13px;color:var(--brand-dark);font-family:var(--display);font-size:14px;font-weight:700}.career-chip span{display:grid;place-items:center;width:30px;height:30px;color:var(--brand-blue);background:var(--brand-soft);border-radius:8px;font-family:var(--body);font-size:9px}
.career-support{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:35px;padding:27px 30px;color:white;background:linear-gradient(105deg,var(--brand-blue),#197fa9,var(--brand-teal));border-radius:18px}.career-support div{display:grid;gap:7px}.career-support span{font-size:9px;text-transform:uppercase;letter-spacing:.13em}.career-support strong{font-size:12px}.career-support>a{font-size:12px;font-weight:700}

.programme-faq{background:var(--brand-soft)}.faq-programme-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.programme-faq-list{border-top:1px solid var(--brand-border)}.programme-faq-item{border-bottom:1px solid var(--brand-border)}.programme-faq-item button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:26px 0;color:var(--brand-dark);background:transparent;text-align:left;font-family:var(--display);font-size:15px;font-weight:700}.programme-faq-item button i{position:relative;width:28px;height:28px;border:1px solid var(--brand-border);border-radius:50%}.programme-faq-item button i::before,.programme-faq-item button i::after{content:"";position:absolute;left:8px;top:13px;width:10px;height:1px;background:var(--brand-dark);transition:.2s}.programme-faq-item button i::after{transform:rotate(90deg)}.programme-faq-item.open button i::after{transform:none}.programme-faq-item>div{display:grid;grid-template-rows:0fr;transition:.3s}.programme-faq-item>div p{min-height:0;overflow:hidden;margin:0;color:var(--brand-muted);font-size:13px;line-height:1.7}.programme-faq-item.open>div{grid-template-rows:1fr}.programme-faq-item.open>div p{padding-bottom:25px}

.enquiry-section{color:white;background:var(--brand-dark)}.enquiry-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.enquiry-copy h2{color:white}.enquiry-copy>p{max-width:500px;margin:27px 0;color:#9bb0bf;line-height:1.75}.enquiry-copy ul{display:grid;gap:13px;padding:0;margin:35px 0;list-style:none;color:#dce9ee;font-size:12px}.enquiry-copy li{color:#dce9ee}
.programme-form{padding:40px;background:white;border-radius:24px}.form-title{display:grid;gap:6px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--brand-border)}.form-title span{color:var(--brand-blue);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.form-title strong{color:var(--brand-dark);font-family:var(--display);font-size:21px}.programme-form label{display:grid;gap:7px;margin-bottom:16px;color:#536b7d;font-size:10px;font-weight:700}.programme-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.programme-form input,.programme-form select{width:100%;padding:14px;color:var(--brand-dark);background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:10px;outline:0}.programme-form input:focus,.programme-form select:focus{background:white;border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(48,193,213,.12)}.programme-consent{grid-template-columns:auto 1fr!important;align-items:start;gap:9px!important;font-weight:400!important;line-height:1.45}.programme-consent input{width:16px;height:16px;margin:0}.programme-form .programme-button{width:100%}.programme-privacy{margin:12px 0 0;color:#91a1ad;font-size:9px;text-align:center}
.programme-success{padding:60px;color:var(--brand-dark);background:white;border-radius:24px;text-align:center}.programme-success>span{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 25px;color:white;background:var(--brand-teal);border-radius:50%;font-size:25px}.programme-success h3{margin:0;font-family:var(--display);font-size:27px}.programme-success p{color:var(--brand-muted);line-height:1.7}

.more-programmes{padding:85px 0}.more-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:35px}.more-heading>span{grid-column:1;color:var(--brand-blue);font-size:9px;text-transform:uppercase;letter-spacing:.13em}.more-heading h2{grid-column:1;margin:7px 0 0;color:var(--brand-dark);font-family:var(--display);font-size:36px;letter-spacing:-.04em}.more-heading>a{grid-column:2;grid-row:1 / span 2;color:var(--brand-blue);font-size:12px;font-weight:700}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.more-card{position:relative;min-height:190px;padding:28px;background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:18px;transition:.25s}.more-card:hover{transform:translateY(-4px);border-color:var(--brand-teal)}.more-card>span{color:var(--brand-blue);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.more-card h3{margin:60px 0 0;color:var(--brand-dark);font-family:var(--display);font-size:20px}.more-card i{position:absolute;right:25px;bottom:25px;color:var(--brand-teal);font-style:normal}

.programme-footer{padding:65px 0 22px;color:#8ca1b2;background:#081f34}.programme-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:80px;padding-bottom:55px}.programme-footer-grid>div{display:grid;align-content:start;gap:12px}.programme-footer-grid p{color:#6f8799;font-size:12px;line-height:1.7}.programme-footer-grid strong{margin-bottom:7px;color:white;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.programme-footer-grid a,.programme-footer-grid span{font-size:11px}.programme-footer-grid a:hover{color:white}.programme-footer-bottom{display:flex;justify-content:space-between;padding-top:21px;border-top:1px solid #1a3a53;font-size:9px}

.programme-reveal{opacity:0;transform:translateY(20px);transition:.7s}.programme-reveal.visible{opacity:1;transform:none}

@media(max-width:950px){
  .programme-hero-grid{grid-template-columns:1fr;gap:20px}.programme-hero-art{min-height:390px}.art-label{right:10%}.overview-grid,.project-grid,.enquiry-grid{grid-template-columns:1fr;gap:55px}.audience-grid{grid-template-columns:repeat(3,1fr)}.audience-title{grid-column:1 / -1}.module-grid{grid-template-columns:repeat(2,1fr)}.faq-programme-grid{grid-template-columns:1fr;gap:50px}
}
@media(max-width:720px){
  .programme-container{width:calc(100% - 28px)}.programme-section{padding:82px 0}.programme-nav{height:68px}.programme-brand img,.programme-footer img{width:145px}.programme-menu{display:block}.programme-links{position:fixed;inset:68px 0 auto;display:grid;gap:20px;padding:27px 20px 34px;background:white;border-top:1px solid var(--brand-border);box-shadow:0 24px 45px rgba(13,46,79,.14);transform:translateY(-130%);opacity:0;transition:.3s}.programme-links.open{transform:none;opacity:1}.programme-links .programme-button{width:100%}
  .programme-hero{padding-top:115px}.programme-hero-grid{min-height:0}.programme-hero h1{font-size:clamp(49px,14vw,66px)}.programme-promise{font-size:14px}.programme-intro{font-size:15px}.programme-actions{align-items:stretch;flex-direction:column}.programme-actions .programme-button{width:100%}.programme-text-button{justify-content:center}.programme-hero-art{min-height:330px}.ring-one{width:300px;height:300px}.ring-two{width:220px;height:220px}.programme-number{font-size:240px}.programme-icon{width:120px;height:120px;border-radius:30px;font-size:33px}.art-label{right:0;bottom:30px}.programme-facts{grid-template-columns:1fr 1fr}.programme-facts>div{padding:20px 10px;border-bottom:1px solid var(--brand-border)}.programme-facts>div:nth-child(2){border-right:0}.programme-facts>div:first-child{padding-left:10px}
  .programme-section-heading h2,.project-copy h2,.enquiry-copy h2{font-size:46px}.overview-grid{gap:32px}.audience-grid{grid-template-columns:1fr;margin-top:48px}.audience-card{min-height:160px}.audience-card p{margin-top:42px}.outcome-row{grid-template-columns:45px 1fr 25px}.outcome-row p{font-size:16px}.programme-section-heading.split{grid-template-columns:1fr;gap:25px}.module-grid{grid-template-columns:1fr}.module-card{min-height:235px}.module-card h3{margin-top:50px}.project-grid{gap:40px}.career-grid{grid-template-columns:1fr}.career-support{align-items:flex-start;flex-direction:column}.programme-form{padding:27px 20px}.programme-form-row{grid-template-columns:1fr}.more-heading{display:block}.more-heading>a{display:inline-block;margin-top:16px}.more-grid{grid-template-columns:1fr}.programme-footer-grid{grid-template-columns:1fr 1fr;gap:40px}.programme-footer-grid>div:first-child{grid-column:1 / -1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.programme-reveal{opacity:1;transform:none}}
