:root{color-scheme:light;--heading:var(--ink)}
:root[data-theme="dark"]{color-scheme:dark;--heading:#f6f8fc}
body{min-width:320px}.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:#fff;color:#111;padding:12px}.skip-link:focus{top:12px}
h1,h2,h3,h4,.section-head h2,.page-hero h1,.story-card h2{color:var(--heading)}
.dark-band h1,.dark-band h2,.dark-band h3,.dark-band h4,.final h1,.final h2,.final h3,.page-hero.dark h1{color:#fff}
.brand{height:56px;display:flex;align-items:center}.brand img{width:min(176px,18vw);height:52px;object-fit:contain;object-position:left center}.logo-dark-bg{display:none}:root[data-theme="dark"] .brand .logo-light-bg{display:none}:root[data-theme="dark"] .brand .logo-dark-bg{display:block}
.header-inner{height:72px;grid-template-columns:210px 1fr auto}.main-nav{gap:23px}.main-nav>a,.nav-trigger{font-size:12px;padding:25px 0}.mega{top:61px}.compact-menu{position:absolute;right:0;top:58px;min-width:210px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}.compact-menu a{display:block;padding:10px 12px;font:600 13px Montserrat}.nav-group:hover .compact-menu,.nav-group:focus-within .compact-menu{opacity:1;visibility:visible;transform:none}
.connect-btn{min-height:40px;padding:0 17px}.site-footer{background:#07142c;color:#fff;padding:64px 0 24px}.site-footer p,.site-footer a{color:#c7d0df}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:56px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-logo{display:block;width:180px;height:58px;object-fit:contain;object-position:left;margin-bottom:12px}.footer-grid h3{color:#fff;font-size:15px;letter-spacing:.02em}.socials{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px}.footer-bottom{border-top:1px solid #294265;margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;color:#9dabc0;font-size:12px}
.cookie-banner{position:fixed;z-index:300;bottom:18px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 30px));background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.cookie-banner[hidden]{display:none}.cookie-banner>div{display:flex;gap:8px}.cookie-banner .btn{min-height:40px}.cookie-banner .text-link{background:none;border-width:0 0 1px;color:var(--ink)}
.story-tools{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;margin-bottom:34px}.story-tools input{width:min(400px,100%);padding:13px 15px;background:var(--panel);color:var(--ink);border:1px solid var(--line)}.story-filters{display:flex;flex-wrap:wrap;gap:8px}.story-filters button,.story-filters summary{padding:10px 13px;background:var(--panel);color:var(--ink);border:1px solid var(--line);cursor:pointer;font:600 12px Montserrat;list-style:none}.story-filters button.active{background:var(--red);border-color:var(--red);color:#fff}.story-filters details{position:relative}.story-filters details>button{display:block;width:100%;text-align:left}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.story-card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.story-card[hidden]{display:none}.story-card img{width:100%;height:210px;object-fit:cover;display:block}.story-card>a>div{padding:24px}.story-card small{color:var(--red);font:700 11px Montserrat;text-transform:uppercase}.story-card h2{font-size:22px;line-height:1.17;margin:13px 0}.story-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.story-card span{display:inline-block;margin-top:18px;font:700 12px Montserrat}.story-detail{padding:70px 0 100px;max-width:920px}.story-detail h1{font-size:clamp(38px,6vw,70px);margin:25px 0}.story-date{margin-bottom:30px}.story-hero-image{width:100%;max-height:580px;object-fit:cover;margin:20px 0 40px}.prose{font-size:18px;line-height:1.8;color:var(--ink)}.back-link{display:inline-block;margin-bottom:30px;font-weight:700}
.legal-page{max-width:900px;padding:70px 0 100px}.legal-page h1{font-size:clamp(40px,6vw,68px);margin-bottom:20px}.legal-page h2{font-size:25px;margin:34px 0 12px}.legal-page p,.legal-page li{color:var(--muted)}
@media(max-width:1050px){.header-inner{grid-template-columns:1fr auto}.main-nav{display:none}.hamb{display:block}.mobile-nav.open{display:grid;padding:12px 4vw 20px;background:var(--panel);border-top:1px solid var(--line)}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line)}.brand img{width:160px}.story-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.header-inner{height:64px}.brand img{width:135px;height:45px}.connect-btn{display:none}.section{padding:64px 0}.section-head{grid-template-columns:1fr;gap:18px}.slide{min-height:520px;flex-basis:88vw}.slide-inner{min-height:520px;padding:55px 28px}.story-tools{display:block}.story-tools input{margin-bottom:16px}.story-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:9px}.cookie-banner{display:block}.cookie-banner>div{margin-top:14px;flex-wrap:wrap}.round-grid,.connect-four{grid-template-columns:1fr 1fr}.initiative{grid-template-columns:1fr}.initiative-copy{padding:38px 26px}.op-grid{display:block}.op{margin-bottom:12px}.header-actions{gap:8px}.theme,.hamb{width:40px;height:40px}}
@media(max-width:430px){.round-grid,.connect-four{grid-template-columns:1fr}.slide h1,.slide h2{font-size:42px}.page-hero h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.honeypot{position:absolute!important;left:-9999px!important}

/* Approved V6 navigation and footer structure */
.mega.compact{left:auto;right:0;width:min(680px,82vw);grid-template-columns:repeat(3,1fr);transform:translateY(14px)}
.nav-group:hover .mega.compact,.nav-group:focus-within .mega.compact{transform:none}
.mega.compact h4{white-space:nowrap}
.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:50px}
.footer-brand,.footer-conversation{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-brand p{max-width:430px}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-content:start}
.footer-conversation .btn{color:#fff;margin-top:10px}

/* Theme contrast: ordinary content follows the active theme explicitly. */
:root[data-theme="light"] body,
:root[data-theme="light"] main{color:#142033}
:root[data-theme="light"] main :is(h1,h2,h3,h4):not(.slide *):not(.dark-band *):not(.final *):not(.page-hero.dark *):not(.page-hero.has-media *):not(.quote-panel *):not(.contact-side *):not(.cta-split *){color:#142033}
:root[data-theme="dark"] main :is(h1,h2,h3,h4):not(.slide *):not(.dark-band *):not(.final *):not(.page-hero.dark *):not(.page-hero.has-media *):not(.quote-panel *):not(.contact-side *):not(.cta-split *){color:#f6f8fc}
.slide :is(h1,h2,h3,h4),.dark-band :is(h1,h2,h3,h4),.final :is(h1,h2,h3,h4),.page-hero.dark :is(h1,h2,h3,h4),.page-hero.has-media :is(h1,h2,h3,h4),.quote-panel :is(h1,h2,h3,h4),.contact-side :is(h1,h2,h3,h4),.cta-split :is(h1,h2,h3,h4){color:#fff}

@media(max-width:700px){
  .footer-grid{grid-template-columns:1fr}
  .footer-links{grid-template-columns:1fr 1fr}
}


/* Menu feature sizing and definitive page-heading theme contrast. */
.mega a.mega-feature{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  width:100%;
  min-width:0;
  min-height:190px;
  padding:28px;
  overflow:hidden;
  background:#0b1836;
  color:#fff;
}
.mega a.mega-feature b{
  display:block;
  color:#d92135;
  font:700 11px/1.25 Montserrat,Arial,sans-serif;
  letter-spacing:.14em;
}
.mega a.mega-feature strong{
  display:block;
  max-width:100%;
  margin:10px 0 6px;
  color:#fff;
  font:700 clamp(22px,2vw,28px)/1.08 Montserrat,Arial,sans-serif;
  overflow-wrap:break-word;
}
.mega a.mega-feature span{
  display:block;
  color:#c9d3e4;
  font-size:15px;
  line-height:1.35;
}

html[data-theme="light"] .page-hero:not(.dark):not(.has-media) :is(h1,h2,h3,h4),
html[data-theme="light"] .story-detail-hero :is(h1,h2,h3,h4),
html[data-theme="light"] .stories-page :is(h1,h2,h3,h4),
html[data-theme="light"] main .section :is(h1,h2,h3,h4){
  color:#142033;
}
html[data-theme="dark"] .page-hero:not(.dark):not(.has-media) :is(h1,h2,h3,h4),
html[data-theme="dark"] .story-detail-hero :is(h1,h2,h3,h4),
html[data-theme="dark"] .stories-page :is(h1,h2,h3,h4),
html[data-theme="dark"] main .section :is(h1,h2,h3,h4){
  color:#f6f8fc;
}
html[data-theme="light"] :is(.dark-band,.final,.page-hero.dark,.page-hero.has-media,.quote-panel,.contact-side,.cta-split) :is(h1,h2,h3,h4),
html[data-theme="dark"] :is(.dark-band,.final,.page-hero.dark,.page-hero.has-media,.quote-panel,.contact-side,.cta-split) :is(h1,h2,h3,h4){
  color:#fff;
}


/* Consolidated theme, logo, event and form corrections */
html[data-theme="light"] .brand .logo-light-bg{display:block!important}
html[data-theme="light"] .brand .logo-dark-bg{display:none!important}
html[data-theme="dark"] .brand .logo-light-bg{display:none!important}
html[data-theme="dark"] .brand .logo-dark-bg{display:block!important}
html[data-theme="light"] :is(.fact-list,.feature-list,.timeline,.programme-grid) :is(b,strong,h2,h3,h4,span,p,time){color:#142033}
html[data-theme="dark"] :is(.fact-list,.feature-list,.timeline,.programme-grid) :is(b,strong,h2,h3,h4,span,p,time){color:#f6f8fc}
:is(.dark-band,.page-hero.dark,.page-hero.has-media) :is(.fact-list,.feature-list,.timeline) :is(b,strong,h2,h3,h4,span,p,time){color:#fff}
.event-list article time,.timeline article time{display:block;margin-bottom:10px;color:var(--red)!important;font:700 11px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.form-status{margin:0 0 24px;padding:16px 18px;border-left:4px solid;font-weight:600}
.form-status.success{background:#eaf7ef;border-color:#23864b;color:#174f31}
.form-status.error{background:#fff0f1;border-color:#d52535;color:#7f1823}
.profile img{object-fit:cover;object-position:center top}


/* Strategic theme system: one source of truth for text and surfaces. */
:root{
  --text-primary:#142033;
  --text-secondary:#5f6d82;
  --surface-page:#f7f9fc;
  --surface-card:#ffffff;
  --surface-dark:#0b1836;
  --text-on-dark:#ffffff;
  --text-on-dark-muted:#c7d0df;
}
:root[data-theme="dark"]{
  --text-primary:#f6f8fc;
  --text-secondary:#aeb9ca;
  --surface-page:#07142c;
  --surface-card:#0e2144;
}
body,main{background:var(--surface-page);color:var(--text-primary)}
main :is(h1,h2,h3,h4,strong,b){color:var(--text-primary)}
main :is(p,li,dd,.notice,.story-count,.story-card-meta,.story-detail-meta){color:var(--text-secondary)}
:is(.value-card,.detail-card,.stat-card,.profile,.mou-card,.feature-list article,.programme-card,.archive-card,.story-card,.op:not(.large):not(.red)){
  background:var(--surface-card);
  color:var(--text-primary);
}
:is(.slide,.story-hero,.page-hero.dark,.page-hero.has-media,.final,.quote-panel,.contact-side,.cta-split)>*,
:is(.slide,.story-hero,.page-hero.dark,.page-hero.has-media,.final,.quote-panel,.contact-side,.cta-split) :is(h1,h2,h3,h4,strong,b){
  color:var(--text-on-dark);
}
:is(.slide,.story-hero,.page-hero.dark,.page-hero.has-media,.final,.quote-panel,.contact-side,.cta-split) :is(p,li,span:not(.eyebrow)){
  color:var(--text-on-dark-muted);
}
/* Cards placed inside dark bands are dark surfaces in both themes, avoiding white-on-white overrides. */
.dark-band :is(.archive-card,.feature-list article,.programme-card,.mou-card){
  background:#0e2144;
  border-color:#294265;
  color:#fff;
}
.dark-band :is(.archive-card,.feature-list article,.programme-card,.mou-card) :is(h1,h2,h3,h4,strong,b){color:#fff}
.dark-band :is(.archive-card,.feature-list article,.programme-card,.mou-card) :is(p,li,span:not(.eyebrow)){color:#c7d0df}
.story-card h2,.story-detail h1,.story-body,.story-detail-hero h1{color:var(--text-primary)}
.story-card p,.story-card-meta,.story-date,.story-detail-meta{color:var(--text-secondary)}
.story-hero h1{color:#fff}
.story-hero p{color:#d7deed}
.page-hero:not(.dark):not(.has-media) :is(h1,h2,h3,h4){color:var(--text-primary)}
.page-hero:not(.dark):not(.has-media) p{color:var(--text-secondary)}
/* Primary navigation: Initiatives is visible, while its focused menu stays compact. */
.nav-initiatives .mega{left:50%;width:360px;grid-template-columns:1fr;transform:translate(-50%,14px)}
.nav-initiatives:hover .mega,.nav-initiatives:focus-within .mega{transform:translate(-50%,0)}
.nav-initiatives .mega>div{min-width:0}
.nav-initiatives .mega a{font-size:15px}
@media (min-width:1051px) and (max-width:1260px){
  .main-nav{gap:14px}
  .main-nav>a,.nav-trigger{font-size:11px}
  .brand img{width:150px}
  .header-inner{grid-template-columns:175px 1fr auto}
}


/* Reliable image fallbacks for expired or hotlink-blocked archive media. */
img.image-fallback{
  object-fit:contain!important;
  object-position:center!important;
  padding:24px;
  background:#f4f6fa;
}
.background-fallback{
  background-color:#12244d!important;
  background-size:cover!important;
  background-position:center!important;
}


/* Final component-level theme contract: dark sections own their surfaces and text. */
.dark-band{
  background:#0b1836!important;
  color:#fff!important;
}
.dark-band .section-head h2,
.dark-band .section-head h3,
.dark-band .metric-band b,
.dark-band .feature-list article h3,
.dark-band .archive-card h3,
.dark-band .programme-card h3{
  color:#fff!important;
}
.dark-band .section-head p,
.dark-band .metric-band span,
.dark-band .feature-list article p,
.dark-band .archive-card p,
.dark-band .programme-card p{
  color:#c7d0df!important;
}
.dark-band .metric-band>div,
.dark-band .feature-list>article,
.dark-band .archive-card,
.dark-band .programme-card{
  background:#0e2144!important;
  border-color:#294265!important;
}
.dark-band .metric-band>div{
  min-height:148px;
}
.dark-band .metric-band b{
  color:#e3263f!important;
}
html[data-theme="light"] main .section:not(.dark-band) :is(h1,h2,h3,h4,strong,b){
  color:#142033;
}
html[data-theme="light"] main .section:not(.dark-band) :is(p,li,dd,span:not(.eyebrow):not(.badge)){
  color:#5f6d82;
}
html[data-theme="dark"] main .section:not(.dark-band) :is(h1,h2,h3,h4,strong,b){
  color:#f6f8fc;
}
html[data-theme="dark"] main .section:not(.dark-band) :is(p,li,dd,span:not(.eyebrow):not(.badge)){
  color:#aeb9ca;
}
.c4c-event-grid .media{
  display:block;
  width:100%;
  height:230px!important;
  min-height:230px;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}


/* Homepage UK opportunity card: photographic background with fixed readable contrast. */
.op.large.op-uk{
  background-color:#0b1836!important;
  background-size:cover!important;
  background-position:center!important;
  color:#fff!important;
}
.op.large.op-uk :is(small,strong){color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.op.large.op-uk strong{max-width:760px}


/* Definitive light/dark contracts for Contact and Geographic Priorities. */
.contact-side{
  background:#0b1836!important;
  border-color:#294265!important;
  color:#fff!important;
}
.contact-side :is(h1,h2,h3,h4,strong,b){color:#fff!important}
.contact-side :is(p,span,a){color:#c7d0df!important}
.dark-band .partner-categories>article{
  background:#fff!important;
  border-color:#d9e0ea!important;
  color:#142033!important;
}
.dark-band .partner-categories>article :is(h1,h2,h3,h4,strong,b){color:#142033!important}
.dark-band .partner-categories>article :is(p,span,li){color:#5f6d82!important}
html[data-theme="dark"] .dark-band .partner-categories>article{
  background:#0e2144!important;
  border-color:#294265!important;
  color:#fff!important;
}
html[data-theme="dark"] .dark-band .partner-categories>article :is(h1,h2,h3,h4,strong,b){color:#fff!important}
html[data-theme="dark"] .dark-band .partner-categories>article :is(p,span,li){color:#c7d0df!important}

/* Story layouts vary by editorial format while retaining one visual system. */
.story-article.layout-profile .story-detail-hero{border-left:8px solid var(--accent)}
.story-article.layout-analysis .story-detail-hero{background:var(--surface-dark)}
.story-article.layout-analysis .story-detail-hero :is(h1,.story-lead,.story-detail-meta,.back-link){color:#fff!important}
.story-article.layout-community .story-image-wrap{max-width:1040px}
.story-quote{max-width:780px;margin:36px auto;padding:30px 34px;border-left:5px solid var(--accent);background:var(--surface-card)}
.story-quote p{margin:0 0 12px;font:700 clamp(1.25rem,2.4vw,1.8rem)/1.45 Montserrat,sans-serif;color:var(--text-primary)}
.story-quote cite{font-style:normal;color:var(--text-secondary);font-weight:700}
