/* Shared component contract: a single colour, type and spacing system across routes. */
:root{--surface:#fff;--surface-soft:#f5f5f8;--surface-dark:#2e2e38;--ink:#2e2e38;--ink-secondary:#555561;--ink-on-dark:#d4d4de;--card-border:#d9d9e1;--card-gap:24px;--card-padding:32px;--focus-light:#075e91}
.light-section,.learner-preview,.learner-stories,.learning-experience{background:var(--surface-soft)}
.section{padding-block:88px}
.section-heading{gap:32px;margin-bottom:36px}
.section-heading h2,.opportunity-grid h2,.objectives-heading h2{font-size:clamp(32px,3.3vw,48px);line-height:1.15;letter-spacing:-.035em}
.section-heading>p,.opportunity-copy,.about-summary{color:var(--ink-secondary)}
.audience-grid,.pillar-grid,.action-grid,.roles-grid,.learner-grid,.testimonial-grid{gap:var(--card-gap)}
.audience-card,.pillar-card,.action-card,.role-card{padding:var(--card-padding);min-width:0;border:1px solid var(--card-border);box-shadow:none;transform:none}
.audience-card,.pillar-card{display:flex;flex-direction:column;min-height:320px}
.audience-card:before,.pillar-card:before{display:none}
.audience-card h3,.pillar-card h3,.action-card h3,.role-card h3{font-size:26px;line-height:1.25;font-weight:400;letter-spacing:-.02em;margin:0 0 16px}
.audience-card p,.pillar-card p,.action-card p,.role-card p{font-size:16px;line-height:1.65}
.audience-card .text-link,.pillar-card .text-link{align-self:flex-start;margin-top:auto;padding-top:24px}
.pillar-card,.action-card{background:var(--surface-dark);color:#fff;border-color:var(--surface-dark)}
.pillar-card p,.action-card p{color:var(--ink-on-dark)}
.action-card h3{color:#fff}
.card-icon,.pillar-story-heading .card-icon,.objective-symbol{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border:0;background:var(--yellow);color:var(--ink);margin-bottom:24px}
.card-icon .icon,.objective-symbol .icon{width:26px;height:26px;stroke-width:1.45}
.pillar-story-heading .card-icon{margin-bottom:0}
body[data-page=partners] .full-roles .role-card{background:var(--surface);border:1px solid var(--card-border);padding:var(--card-padding)}
body[data-page=partners] .full-roles .role-card h3{font-size:26px}
body[data-page=partners] .full-roles .role-card .card-icon{width:48px;height:48px}
body[data-page=partners] .full-roles .role-card p{color:var(--ink-secondary)}
/* Informational cards do not lift, rotate or suggest an action on hover. */
.action-card,.role-card,.objective-panel,.learning-stage,.learning-method{cursor:default}
.objectives-composition{gap:28px}
.objectives-quadrants{gap:0;border:1px solid var(--card-border);background:var(--surface-soft)}
.objective-panel,.objective-panel:last-child{padding:28px;gap:0;border:0;background:var(--surface-soft);min-height:270px}
.objective-panel:nth-child(odd){border-right:1px solid var(--card-border)}
.objective-panel:nth-child(-n+2){border-bottom:1px solid var(--card-border)}
.objective-panel h3,.objective-panel:last-child h3{font-size:24px;line-height:1.25;color:var(--ink);margin-bottom:14px}
.objective-panel p,.objective-panel:last-child p{font-size:16px;line-height:1.65;color:var(--ink-secondary)}
.objective-panel .objective-symbol,.objective-panel:last-child .objective-symbol{background:var(--yellow);color:var(--ink)}
.objective-symbol:before{display:none}
.objective-panel:hover,.objective-panel:last-child:hover{background:var(--surface-soft)}
/* The same outcome component and numerical scale on Home and Impact. */
body .impact-section,body[data-page=impact] .impact-section{background:var(--deep);color:#fff}
.result-grid{gap:var(--card-gap)}
.result-card,body[data-page=impact] .result-card{padding:32px 24px;min-width:0;min-height:320px;background:var(--surface);border:1px solid var(--card-border);color:var(--ink)}
.result-card .card-icon{margin-bottom:28px}
.result-value,body[data-page=impact] .result-value{font-size:clamp(44px,4vw,60px);font-weight:300;line-height:1.1;letter-spacing:-.035em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;color:var(--ink)}
.result-card h3{font-size:18px;line-height:1.5;font-weight:400;letter-spacing:0;color:var(--ink);margin-top:20px;max-width:none}
.participation-target,body[data-page=impact] .participation-target{background:#fff9cc;color:var(--ink);border:0;border-left:4px solid var(--yellow);padding:28px 32px;gap:24px;margin-top:24px}
.participation-target strong,body[data-page=impact] .participation-target strong{font-variant-numeric:lining-nums tabular-nums;font-size:40px;line-height:1.1;color:var(--ink)}
.participation-target>span,body[data-page=impact] .participation-target>span{color:var(--ink-secondary)}
/* Learning cards share the content-card treatment; completion is not a new colour theme. */
.learning-stage,.learning-stage:last-child{border:1px solid var(--card-border);border-bottom:3px solid var(--card-border);background:var(--surface);color:var(--ink);padding:26px 22px}
.learning-stage-icon{width:44px;height:44px;background:var(--yellow);border:0;color:var(--ink)}
.learning-stage:last-child{border-bottom-color:var(--yellow)}
.learning-method,.learning-method:hover{background:var(--surface);border:1px solid var(--card-border);color:var(--ink);transform:none;box-shadow:none}
.learning-method-opportunities,.learning-method-opportunities:hover{background:var(--surface-dark);border-color:var(--surface-dark);border-left:3px solid var(--yellow);color:#fff}
/* Image cards: aligned copy, complete artwork and a clear action. */
.learner-card{display:flex;flex-direction:column;background:var(--surface);border-color:var(--card-border)}
.learner-copy{padding:28px;display:flex;flex-direction:column;flex:1}
.learner-copy h2{font-size:26px;line-height:1.25}
.learner-role{min-height:46px;font-size:16px;line-height:1.5;color:var(--ink-secondary)}
.learner-copy summary{min-height:44px;padding-block:8px;color:var(--ink);font-weight:400}
.learner-copy>.text-link{align-self:flex-start;margin-top:auto;padding-top:20px}
.testimonial-card{border-color:var(--card-border)}
.testimonial-copy{padding:28px}
.testimonial-copy strong{font-size:26px;line-height:1.25}
.home-voice-links>a{border:1px solid var(--card-border);border-bottom:3px solid var(--yellow);transition:background .18s,border-color .18s}
.home-voice-links>a:hover{background:#fffbe5;border-color:#8b7c00}
.home-voice-links>a:active,.testimonial-card:active{background:#fff5a3}
.testimonial-card:hover{border-color:#686873}
.home-partner-links a:hover{background:var(--surface-soft)}
.text-link{min-height:44px;line-height:1.5}
.button{min-height:52px;transform:none;box-shadow:none}
.button:hover{transform:none;box-shadow:none}
.button-yellow:hover{background:#f5d900;color:var(--deep)}
.button-yellow:active{background:#e6cb00}
body .audience-card a:focus-visible,body .learner-card :focus-visible,body .testimonial-card:focus-visible,body .home-voice-links a:focus-visible,body .home-partner-links a:focus-visible,body .home-story-list a:focus-visible{outline:3px solid var(--focus-light);outline-offset:4px}
body .pillar-card a:focus-visible,.site-footer :focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
/* Two-tone ring remains visible on both charcoal and yellow controls. */
body .button:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px var(--focus-light)}
.audience-card:focus-within{border-color:var(--focus-light)}
.testimonial-card:focus-visible{border-color:var(--focus-light)}
.testimonial-card[id],.action-card[id],.role-card[id]{scroll-margin-top:130px}
@media(max-width:1100px){.section{padding-block:64px}.audience-card,.pillar-card,.action-card,.role-card{padding:28px}.objective-panel,.objective-panel:last-child{padding:24px}.objective-panel h3{font-size:22px}.result-card{min-height:280px}}
@media(max-width:800px){.objectives-composition{gap:24px}.section-heading{gap:24px}.section-heading h2,.opportunity-grid h2{font-size:36px}.objective-panel,.objective-panel:last-child{min-height:240px}.testimonial-copy{padding:24px}}
@media(max-width:650px){:root{--card-gap:20px;--card-padding:26px}.section{padding-block:48px}.section-heading{margin-bottom:28px}.section-heading h2,.opportunity-grid h2,.objectives-heading h2{font-size:32px}.audience-card,.pillar-card,.action-card,.role-card{min-height:0;padding:26px}.audience-card h3,.pillar-card h3,.action-card h3,.role-card h3,body[data-page=partners] .full-roles .role-card h3{font-size:25px}.audience-card .text-link,.pillar-card .text-link{margin-top:0;padding-top:22px}.result-card,body[data-page=impact] .result-card{padding:26px;min-height:0}.result-value{font-size:46px}.participation-target,body[data-page=impact] .participation-target{padding:24px;gap:18px}.participation-target>div{gap:20px}.participation-target p{font-size:18px}.learning-stage,.learning-stage:last-child{padding:24px 28px 24px 22px}.learner-copy{padding:26px}.learner-role{min-height:0}.learner-copy>.text-link{margin-top:0}.testimonial-copy strong{font-size:26px}.testimonial-card[id],.action-card[id],.role-card[id]{scroll-margin-top:100px}}
@media(max-width:540px){.result-grid{grid-template-columns:1fr}.result-card,body[data-page=impact] .result-card{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:18px}.result-card .card-icon{grid-column:2;grid-row:1;margin:0}.result-value{grid-column:1;grid-row:1;align-self:center;font-size:48px}.result-card h3{grid-column:1/-1;margin:0;max-width:32ch}.objective-panel,.objective-panel:last-child{display:flex;padding:26px;min-height:0}.objective-panel:nth-child(odd){border-right:0}.objective-panel:nth-child(3){border-bottom:1px solid var(--card-border)}.objective-panel h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.button .icon,.text-link .icon,.home-voice-links>a,.testimonial-card{transition:none;transform:none}}
.pillar-visual li span{color:var(--ink-secondary)}
@media(max-width:1100px){.result-card,body[data-page=impact] .result-card{min-height:280px}}
@media(max-width:650px){.result-card,body[data-page=impact] .result-card{min-height:0}.result-value,body[data-page=impact] .result-value{font-size:46px}}
@media(max-width:540px){.result-value,body[data-page=impact] .result-value{font-size:48px}.objectives-quadrants{grid-template-columns:1fr}}
.learning-stage:hover,.learning-stage:last-child:hover{transform:none;box-shadow:none;background:var(--surface);border-color:var(--card-border)}
.learning-stage:last-child:hover{border-bottom-color:var(--yellow)}
body[data-page=partners] .full-roles .role-card p{font-size:16px;line-height:1.65}
@media(min-width:541px) and (max-width:1100px){.objective-panel h3,.objective-panel:last-child h3{font-size:22px}}
/* Adjacent About sections use one spacing interval, not stacked padding. */
.about-feature{padding-bottom:0}.about-mission{padding-bottom:0}.objectives-showcase{padding-top:64px}
@media(max-width:650px){.objectives-showcase{padding-top:48px}}
/* Learner carousel: complete supplied artwork paired with a readable quotation. */
.story-carousel{background:#fff;border:1px solid var(--card-border);color:var(--ink)}
.story-carousel-stage{display:grid;overflow:hidden}
.story-slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;padding:36px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s ease}
.story-slide.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}
.story-slide-art{display:block;min-width:0;align-self:center;background:#09254b}
.story-slide-art img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.story-slide-copy{min-width:0;padding-right:20px}
.story-slide-copy .eyebrow{color:var(--ink-secondary);margin-bottom:18px}
.story-slide-copy h3{font-size:34px;line-height:1.2;margin-bottom:10px}
.story-slide-role{font-size:18px;line-height:1.5;color:var(--ink-secondary)}
.story-slide-copy blockquote{font-size:clamp(21px,2vw,27px);font-weight:300;line-height:1.55;letter-spacing:-.015em;margin:28px 0;border-left:3px solid var(--yellow);padding-left:24px}
.story-slide-copy .text-link{font-size:15px}
.story-carousel-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;border-top:1px solid var(--card-border);padding:18px 36px}
.story-carousel-controls[hidden]{display:none}
.story-pagination,.story-transport{display:flex;align-items:center;gap:8px}
.story-pagination button{width:44px;height:44px;padding:0;background:none;border:0;display:grid;place-items:center}
.story-pagination button span{width:9px;height:9px;border-radius:50%;background:#85858f;transition:width .2s,background .2s}
.story-pagination button[aria-pressed=true] span{width:26px;border-radius:6px;background:var(--ink)}
.story-pagination button:hover span{background:var(--ink)}
.story-transport button{width:44px;height:44px;display:grid;place-items:center;background:#fff;border:1px solid #93939d;padding:10px}
.story-transport button:hover{background:var(--yellow);color:var(--ink)}
.story-transport button[data-story-direction="-1"] .icon{transform:rotate(180deg)}
.story-transport .icon{width:22px;height:22px}
.story-count{font-size:14px;min-width:64px;text-align:center;font-variant-numeric:tabular-nums}


.story-carousel a:focus-visible,.story-carousel button:focus-visible{outline:3px solid var(--focus-light);outline-offset:4px}
@media(max-width:1000px){.story-slide{grid-template-columns:minmax(0,280px) minmax(0,1fr);padding:28px;gap:30px}.story-slide-copy{padding:0}.story-slide-copy h3{font-size:28px}.story-slide-copy blockquote{font-size:21px;padding-left:18px;margin-block:22px}.story-carousel-controls{padding:18px 28px;gap:16px}.story-pagination{gap:0}}
@media(max-width:760px){.story-slide{grid-template-columns:1fr;gap:28px;padding:26px;align-content:start}.story-slide-art{width:min(100%,280px);justify-self:center}.story-slide-copy h3{font-size:27px}.story-slide-copy blockquote{font-size:20px}.story-slide-role{font-size:16px}.story-carousel-controls{grid-template-columns:1fr;gap:12px;padding:16px 20px}.story-pagination{grid-column:1/-1;justify-content:center}.story-transport{gap:4px;justify-content:center}.story-count{min-width:54px}}
@media(max-width:360px){.story-slide{padding:20px}.story-slide-copy h3{font-size:25px}.story-slide-copy blockquote{font-size:19px}.story-carousel-controls{padding:14px 12px;gap:12px 6px}.story-count{min-width:45px}}
@media(prefers-reduced-motion:reduce){.story-slide,.story-pagination button span{transition:none}}
/* Hero diagrams use the same framed proportions as the programme photograph. */
.hero-diagram{width:100%;margin:0;background:#30303a;border-bottom:4px solid var(--yellow)}
.hero-diagram-surface{aspect-ratio:7/6;padding:30px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 55%,#42424d 0%,#282833 67%);overflow:hidden}
.diagram-label{font-size:11px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:#ffe600;margin:0}
.hero-diagram-board{position:relative;flex:1;min-height:0;margin-top:16px}
.diagram-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#ffe60080;stroke-width:1.2}
.diagram-connections ellipse{stroke:#ffffff18;stroke-dasharray:3 7}
.diagram-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:136px;height:136px;border:1px solid #ffe600;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#ffe600;color:#20202a;box-shadow:0 0 0 12px #ffe6000a,0 0 0 25px #ffe60006}
.diagram-core>.icon{width:38px;height:38px;stroke-width:1.3}
.diagram-core>span{font-size:17px;line-height:1.15;text-align:center;font-weight:400}
.diagram-node{position:absolute;width:150px;min-height:100px;padding:17px 12px;background:#34343f;border:1px solid #73737d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
.diagram-node>.icon{width:29px;height:29px;color:var(--yellow)}
.diagram-node>span{font-size:14px;line-height:1.35;font-weight:400;color:#fff}
.diagram-node-1{left:0;top:0}.diagram-node-2{right:0;top:0}.diagram-node-3{left:0;bottom:0}.diagram-node-4{right:0;bottom:0}
.hero-diagram figcaption{font-size:12px;line-height:1.5;letter-spacing:.02em;padding:14px 18px;color:#e7e7eb}
@media(min-width:801px) and (max-width:1100px){.hero-diagram-surface{padding:22px}.diagram-core{width:100px;height:100px;gap:5px}.diagram-core>.icon{width:28px;height:28px}.diagram-core>span{font-size:14px}.diagram-node{width:114px;min-height:82px;padding:12px 9px;gap:6px}.diagram-node>span{font-size:12px}.diagram-node>.icon{width:24px;height:24px}}
@media(max-width:800px){.hero-diagram{max-width:650px}.hero-diagram-surface{aspect-ratio:7/6}.hero-real-photo img{aspect-ratio:7/6;object-fit:contain}.hero-real-photo{background:#30303a}}
@media(max-width:500px){.hero-diagram-surface{padding:18px}.diagram-label{font-size:9px;letter-spacing:.13em}.hero-diagram-board{margin-top:12px}.diagram-core{width:82px;height:82px;gap:4px;box-shadow:0 0 0 8px #ffe6000a}.diagram-core>.icon{width:25px;height:25px}.diagram-core>span{font-size:12px}.diagram-node{width:100px;min-height:74px;padding:9px 6px;gap:6px}.diagram-node>.icon{width:23px;height:23px}.diagram-node>span{font-size:11px;line-height:1.3}.hero-diagram figcaption{font-size:11px;padding:12px 14px}}
@media(max-width:360px){.hero-diagram-surface{padding:15px}.diagram-node{width:84px;min-height:67px;padding:8px 5px}.diagram-node>.icon{width:20px;height:20px}.diagram-node>span{font-size:10px}.diagram-core{width:70px;height:70px}.diagram-core>span{font-size:11px}.diagram-core>.icon{width:22px;height:22px}}

/* Fixed hero copy with client-image rotation — local revision 14 October. */
.hero-photo-rotator{display:grid;width:100%;min-width:0}
.hero-photo-frame{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s;min-width:0}
.hero-photo-frame.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-photo-frame img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:var(--hero-photo-position,50% 50%);background:#25252f}
.hero-photo-faculty{--hero-photo-position:50% 35%}
.hero-photo-speakers{--hero-photo-position:50% 50%}
.hero-photo-classroom{--hero-photo-position:50% 80%}
.hero-photo-frame figcaption{min-height:64px;display:flex;align-items:center}
@media(max-width:800px){.hero-photo-rotator{max-width:650px}.hero-image-only .hero-media{justify-content:center}.hero-photo-frame figcaption{min-height:58px}}
@media(prefers-reduced-motion:reduce){.hero-photo-frame{transition:none}}

.hero-photo-dots{grid-area:2/1;display:flex;justify-content:center;gap:0;padding-top:8px;width:100%;min-width:0}
.hero-photo-dots[hidden]{display:none}
.hero-photo-dots .hero-photo-dot{display:grid;place-items:center;width:44px;max-width:10%;min-width:0;flex:0 1 44px;height:44px;padding:0;border:0;border-radius:3px;background:transparent;cursor:pointer}
.hero-photo-dot span{display:block;width:9px;height:9px;border-radius:10px;background:#96969f;transition:width .2s ease,background .2s ease}
.hero-photo-dot.is-active span{width:25px;background:#ffe600}
.hero-photo-dot:hover span{background:#fff}
.hero-photo-dots .hero-photo-dot:focus-visible{outline:2px solid #ffe600;outline-offset:0}
@media(prefers-reduced-motion:reduce){.hero-photo-dot span{transition:none}}

.editorial-header .access-statement{max-width:76ch;margin-top:28px;padding:20px 24px;border-left:3px solid #ffe600;background:#ffffff08;color:#f3f3f6;font-size:20px;line-height:1.65}
.access-statement strong{color:#ffe600;font-weight:700}
@media(max-width:800px){.editorial-header .access-statement{font-size:17px;padding:18px 20px}}
@media(max-width:500px){.editorial-header .access-statement{font-size:16px;padding:16px 18px;margin-top:24px}}

.faculty-gallery .faculty-gallery-heading{display:block}
.faculty-gallery .faculty-gallery-heading>p{max-width:85ch;margin:20px 0 0;font-size:18px;line-height:1.7;color:var(--ink-secondary,#62626e)}
@media(max-width:600px){.faculty-gallery .faculty-gallery-heading>p{margin-top:16px;font-size:16px;line-height:1.65}}

.impact-period-heading{display:flex;align-items:center;gap:18px;margin:0 0 30px;color:#fff;font-size:32px;font-weight:400;line-height:1.25;letter-spacing:-.02em}
.impact-period-heading .impact-year{display:inline-block;flex-shrink:0;background:#ffe600;color:#20202a;padding:10px 16px;font-size:17px;font-weight:700;letter-spacing:.02em;line-height:1.3}
@media(max-width:600px){.impact-period-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px;font-size:28px}.impact-period-heading .impact-year{font-size:15px;padding:8px 13px}}

/* Year 1 impact: client-approved outcomes, participation focus and ecosystem. */
.impact-year-one{background:var(--surface-soft);color:var(--ink)}
.impact-year-one .impact-period-heading{color:var(--ink);margin-bottom:30px}
.impact-outcomes-intro{max-width:960px;margin-bottom:44px}
.impact-intro-title{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.025em;margin:0 0 16px}
.impact-intro-copy{font-size:20px;line-height:1.65;max-width:800px;color:var(--ink-secondary);margin:0}
.impact-block{padding:40px;min-width:0}
.impact-block h3{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 28px}
.impact-block p{font-size:18px;line-height:1.65;margin:0}
.impact-scale{background:var(--surface-dark);color:#fff;border-top:4px solid var(--yellow)}
.impact-scale h3{color:#fff}
.impact-scale-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0}
.impact-scale-stat{position:relative;display:flex;flex-direction:column;padding:16px 28px 0;border-left:1px solid #61616b;min-width:0}
.impact-scale-stat:first-child{padding-left:0;border-left:0}
.impact-scale-stat:last-child{padding-right:0}
.impact-scale-stat dt{display:flex;flex-direction:column;gap:20px;font-size:18px;line-height:1.45;color:#fff}
.impact-scale-stat dt .icon{position:absolute;top:0;width:28px;height:28px;color:var(--yellow)}
.impact-scale-stat dd{order:-1;margin:34px 0 14px;color:var(--yellow);font-size:clamp(44px,4.4vw,64px);line-height:1;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.04em}
.impact-opportunity-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;margin-block:24px}
.impact-inclusion{background:var(--yellow);display:flex;flex-direction:column;align-items:flex-start}
.impact-focus-value{font-size:clamp(80px,8vw,112px);line-height:1;letter-spacing:-.065em;display:block;margin-bottom:16px;font-variant-numeric:lining-nums tabular-nums}
.impact-inclusion h3{max-width:320px;margin-bottom:28px}
.impact-inclusion-copy{margin-top:auto;border-top:1px solid #a99a00;padding-top:24px;width:100%}
.impact-inclusion .impact-feature-lead{font-weight:700;margin-bottom:10px;font-size:21px;line-height:1.35}
.impact-livelihoods{background:#fff;border:1px solid var(--card-border);display:flex;flex-direction:column}
.impact-livelihoods .card-icon{background:var(--surface-soft);border:1px solid var(--card-border);margin-bottom:24px}
.impact-livelihoods h3{margin-bottom:20px}
.impact-livelihoods>p{color:var(--ink-secondary)}
.impact-livelihoods .impact-career-emphasis{margin-top:auto;padding-top:30px;color:var(--ink);font-size:23px;line-height:1.4}
.impact-career-emphasis strong{font-weight:700;display:block;padding-left:20px;border-left:4px solid var(--yellow)}
.impact-united{background:var(--surface-dark);color:#fff}
.impact-united h3{color:#fff}
.impact-united-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:56px}
.impact-ecosystem-diagram{display:grid;grid-template-columns:1fr 28px 1.45fr 28px 1fr;grid-template-rows:auto 48px auto;align-items:center;justify-items:center;padding-block:16px 32px;min-width:0}
.impact-node{display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff;font-size:17px;line-height:1.3;text-align:center}
.impact-node .icon{width:30px;height:30px;color:var(--yellow)}
.impact-node-academia{grid-column:3;grid-row:1}
.impact-node-corporate{grid-column:1;grid-row:3}
.impact-node-government{grid-column:5;grid-row:3}
.impact-resilience-hub{grid-column:3;grid-row:3;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:150px;width:100%;padding:20px 8px;background:var(--yellow);color:var(--ink);text-align:center}
.impact-resilience-hub .icon{width:32px;height:32px}
.impact-resilience-hub strong{font-size:19px;line-height:1.3;font-weight:400}
.impact-connector{background:var(--yellow);height:2px;width:100%}
.impact-connector-vertical{grid-column:3;grid-row:2;width:2px;height:100%}
.impact-connector-left{grid-column:2;grid-row:3}
.impact-connector-right{grid-column:4;grid-row:3}
.impact-ecosystem-role{padding:20px 0;border-top:1px solid #61616b}
.impact-ecosystem-role:first-child{padding-top:0;border-top:0}
.impact-ecosystem-role:last-child{padding-bottom:0}
.impact-ecosystem-role h4{font-size:23px;font-weight:400;color:var(--yellow);margin:0 0 8px}
.impact-ecosystem-role p{color:#e1e1e7;font-size:17px;line-height:1.55}
.impact-united .impact-shared-ambition{margin-top:36px;padding-top:28px;border-top:1px solid #61616b;font-size:24px;line-height:1.4}
.impact-shared-ambition strong{font-weight:700}
.impact-shared-ambition span{display:block;color:var(--yellow);margin-top:6px}
@media(max-width:1000px){.impact-block{padding:32px}.impact-scale-stat{padding-inline:20px}.impact-united-layout{grid-template-columns:1fr;gap:20px}.impact-ecosystem-diagram{max-width:580px;width:100%;margin-inline:auto}.impact-ecosystem-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.impact-ecosystem-role,.impact-ecosystem-role:first-child,.impact-ecosystem-role:last-child{padding:20px 0 0;border-top:1px solid #61616b}.impact-opportunity-grid{grid-template-columns:1fr 1fr}.impact-block h3{font-size:29px}}
@media(max-width:700px){.impact-outcomes-intro{margin-bottom:30px}.impact-intro-copy{font-size:18px}.impact-block{padding:28px}.impact-scale-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}.impact-scale-stat{padding:16px 20px 0}.impact-scale-stat:nth-child(odd){padding-left:0;border-left:0}.impact-scale-stat:nth-child(even){padding-right:0}.impact-scale-stat dt{font-size:16px}.impact-scale-stat dd{font-size:48px;margin-top:26px}.impact-scale-stat dt .icon{width:24px;height:24px}.impact-opportunity-grid{grid-template-columns:1fr;gap:20px;margin-block:20px}.impact-block h3{font-size:28px}.impact-block p{font-size:17px}.impact-focus-value{font-size:88px}.impact-inclusion h3{max-width:none}.impact-livelihoods .impact-career-emphasis{font-size:21px}.impact-ecosystem-roles{grid-template-columns:1fr;gap:0}.impact-ecosystem-role,.impact-ecosystem-role:first-child,.impact-ecosystem-role:last-child{padding:20px 0}.impact-ecosystem-role:last-child{padding-bottom:0}.impact-ecosystem-diagram{grid-template-columns:1fr 12px 1.25fr 12px 1fr;padding:4px 0 20px}.impact-node{font-size:13px;gap:10px}.impact-node .icon{width:26px;height:26px}.impact-resilience-hub{min-height:124px;padding:16px 5px}.impact-resilience-hub strong{font-size:15px}.impact-united .impact-shared-ambition{font-size:21px;margin-top:28px}}
@media(max-width:360px){.impact-block{padding:22px 18px}.impact-scale-stat dd{font-size:42px}.impact-scale-stat{padding-inline:14px}.impact-node{font-size:12px}.impact-resilience-hub strong{font-size:13px}.impact-ecosystem-diagram{grid-template-columns:1fr 8px 1.25fr 8px 1fr}}

/* Advocacy retains two complementary actions after the client revision. */
body[data-page=advocacy] .action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){body[data-page=advocacy] .action-grid{grid-template-columns:1fr}}

/* Three stakeholder ecosystem: balanced triangle and matching role cards. */
body[data-page=partners] .network-node.government{left:50%;top:15%}
body[data-page=partners] .network-node.industry{left:20%;top:82%}
body[data-page=partners] .network-node.academia{left:80%;top:82%}
body[data-page=partners] .full-roles{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-partner-links{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){body[data-page=partners] .full-roles{grid-template-columns:1fr}body[data-page=partners] .full-roles .role-card{min-height:0}}
@media(max-width:650px){body[data-page=partners] .ecosystem-chart{aspect-ratio:auto;height:360px}.home-partner-links{grid-template-columns:1fr}}

/* Home and Impact share the approved Year 1 content and scale component. */
.home-year-one .impact-scale-grid{padding:36px;background:var(--surface-dark);border-top:4px solid var(--yellow)}
.home-participation-focus{display:flex;align-items:center;gap:28px;padding:28px 32px;margin-top:24px;background:var(--yellow);color:var(--ink)}
.home-participation-focus>strong{font-size:60px;font-weight:400;line-height:1;letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums}
.home-participation-focus h3{font-size:24px;line-height:1.3;margin:0 0 8px;font-weight:400}
.home-participation-focus p{font-size:17px;line-height:1.5;margin:0}
.home-participation-focus .text-link{margin-left:auto;flex-shrink:0;color:var(--ink);border-color:var(--ink);font-size:16px}
.home-participation-focus .text-link:hover{color:#000;border-color:#000}
.home-participation-focus .text-link:focus-visible{outline:3px solid var(--focus-light);outline-offset:5px}
@media(max-width:1000px){.home-participation-focus{flex-wrap:wrap}.home-participation-focus .text-link{margin-left:0}}
@media(max-width:700px){.home-year-one .impact-scale-grid{padding:28px}.home-participation-focus{padding:28px;gap:20px}.home-participation-focus h3{font-size:23px}.home-participation-focus>strong{font-size:64px}}
@media(max-width:360px){.home-year-one .impact-scale-grid{padding:22px 18px}.home-participation-focus{padding:24px}}

/* Client-supplied Microsoft artwork includes its original clear space. */
.brand{gap:0}
.brand .microsoft-logo{display:block;width:190px;height:auto;max-width:none;flex-shrink:0;object-fit:contain}
@media(max-width:650px){.brand .microsoft-logo{width:170px}}

/* Supplied organisation artwork below the homepage hero. */
.programme-organisations{background:#fff;border-bottom:1px solid var(--line);padding:12px 0}
.organisation-strip{display:flex;align-items:center;justify-content:space-between;gap:32px}
.organisation-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:480px;align-items:center;flex:1;min-width:0}
.organisation-audiences{margin:0;color:#62626e;font-size:12px;letter-spacing:.04em;line-height:1.7;text-align:right;flex-shrink:0}
.organisation-logo{margin:0;text-align:center;padding:0 16px;min-width:0}
.organisation-logo+.organisation-logo{border-left:1px solid #e6e6eb}
.organisation-logo-art{height:80px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.organisation-logo-art img{display:block;object-fit:contain;flex-shrink:0;width:88px;height:88px;max-width:100%}
.organisation-iiit img{width:72px;height:68px}
.organisation-orion img{width:136px;height:auto;max-width:100%}
.organisation-logo figcaption{margin-top:4px;font-size:11px;line-height:1.5;color:#555560}
@media(max-width:900px){.organisation-strip{flex-direction:column;gap:12px}.organisation-logos{width:100%;flex:auto}.organisation-audiences{text-align:center;flex-shrink:1}}
@media(max-width:650px){
 .organisation-strip{width:calc(100% - 24px)}
 .organisation-logo{padding:0 6px}
 .organisation-logo-art{height:64px}
 .organisation-logo-art img{width:68px;height:68px}
 .organisation-iiit img{width:58px;height:54px}
 .organisation-orion img{width:100px;height:auto}
}

.organisation-audiences strong{font-weight:700;color:var(--charcoal);letter-spacing:0;margin-right:5px}
