:root {
  --navy: #292966;
  --navy-dark: #181844;
  --navy-deep: #0e1430;
  --blue: #0a80ad;
  --teal: #4dc2d4;
  --magenta: #db2170;
  --purple: #942980;
  --mauve: #b56e96;
  --amber: #e8ad4f;
  --black: #0b0d10;
  --grey: #808285;
  --line: #dfe2e6;
  --soft: #f5f4f2;
  --white: #ffffff;
  --body: "innobiz Gill", "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", Arial, sans-serif;
  --display: "Bebas Neue", "Arial Narrow", "DIN Condensed", Impact, sans-serif;
  --container: min(1240px, calc(100vw - 48px));
  --radius: 22px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--black);
  background: var(--white);
  font-family: var(--body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
::selection { background: var(--magenta); color: white; }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; transform: translateY(-160%); background: white; color: var(--navy); padding: 10px 14px; border-radius: 6px; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.container { width: var(--container); margin-inline: auto; }
.section { padding: 118px 0; position: relative; }
.section-soft { background: var(--soft); }

.scroll-progress { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 200; pointer-events: none; }
.scroll-progress span { display:block; height:100%; width:0; background: linear-gradient(90deg,var(--magenta),var(--teal),var(--amber)); }

.site-header { position: fixed; inset: 0 0 auto 0; z-index: 100; color: white; transition: background .35s var(--ease), box-shadow .35s var(--ease), transform .35s var(--ease); }
.site-header.scrolled { background: rgba(41,41,102,.96); box-shadow: 0 12px 34px rgba(10,12,30,.14); backdrop-filter: blur(16px); }
.nav-shell { width: var(--container); height: 92px; margin-inline:auto; display:grid; grid-template-columns: 280px 1fr auto; align-items:center; gap:28px; }
.brand { width: 252px; overflow: hidden; display:block; }
.brand img { width:100%; height:auto; }
.desktop-nav { display:flex; justify-content:center; gap:30px; align-items:center; font-size:14px; font-weight:600; letter-spacing:.01em; }
.desktop-nav a { position:relative; opacity:.86; transition:opacity .2s; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { opacity:1; }
.desktop-nav a::after { content:""; position:absolute; left:0; bottom:-9px; width:100%; height:2px; background:var(--teal); transform:scaleX(0); transform-origin:right; transition:transform .25s var(--ease); }
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.nav-cta { display:inline-flex; align-items:center; gap:16px; padding:13px 17px 13px 20px; border:1px solid rgba(255,255,255,.28); border-radius:999px; font-size:14px; font-weight:700; transition:background .2s,color .2s,border .2s; }
.nav-cta:hover { background:white; color:var(--navy); border-color:white; }
.menu-toggle,.mobile-menu { display:none; }

.hero { min-height: 100svh; color:white; position:relative; display:flex; align-items:flex-end; overflow:hidden; background:var(--navy-dark); }
.hero-media { position:absolute; inset:0; overflow:hidden; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 42%; transform:scale(1.035); will-change:transform; }
.hero-video-media{background:#0e1430}
.hero-video-poster{position:absolute;inset:0;z-index:0;transition:opacity .65s var(--ease)}
.hero-video-media.is-playing .hero-video-poster{opacity:0}
.hero-video-frame{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.hero-video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.015);border:0;opacity:1;background:#0e1430}
.hero-video-control{position:absolute;z-index:4;right:max(24px,calc((100vw - 1240px)/2));bottom:94px;display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:10px 14px;background:rgba(14,20,48,.46);backdrop-filter:blur(12px);color:#fff;font-size:11px;font-weight:800;cursor:pointer;transition:.2s var(--ease)}
.hero-video-control:hover{background:rgba(255,255,255,.14)}
.hero-video-control span:first-child{width:22px;height:22px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;font-size:9px}
.hero-video-link{display:inline-flex;align-items:center;gap:8px;padding:0 4px;color:rgba(255,255,255,.82);font-size:13px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.35)}
.hero-video-link:hover{color:#fff;border-color:#fff}
.hero-local-preview{position:absolute;z-index:4;left:max(24px,calc((100vw - 1240px)/2));bottom:88px;max-width:430px;padding:13px 16px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(14,20,48,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;box-shadow:0 16px 44px rgba(0,0,0,.18)}
.hero-local-preview strong{display:block;font-size:12px;line-height:1.3;margin-bottom:3px}
.hero-local-preview span{display:block;font-size:10px;line-height:1.45;color:rgba(255,255,255,.67)}
.hero-local-preview b{color:var(--teal);font-weight:900}

.hero-overlay { position:absolute; inset:0; z-index:2; pointer-events:none; background:
  linear-gradient(90deg, rgba(10,16,40,.94) 0%, rgba(10,16,40,.82) 28%, rgba(10,16,40,.56) 52%, rgba(10,16,40,.26) 74%, rgba(10,16,40,.14) 100%),
  linear-gradient(180deg, rgba(10,16,40,.48) 0%, rgba(10,16,40,.14) 32%, rgba(10,16,40,.44) 100%),
  radial-gradient(circle at 78% 18%, rgba(126,21,124,.18) 0%, rgba(126,21,124,0) 32%),
  linear-gradient(0deg, rgba(10,16,40,.42), rgba(10,16,40,.42)); }
.hero-content { position:relative; z-index:3; display:flex; align-items:flex-end; justify-content:space-between; gap:60px; padding-top:175px; padding-bottom:142px; }
.hero-copy { max-width:810px; }
.eyebrow,.kicker { margin:0 0 22px; font-size:12px; line-height:1; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:13px; color:rgba(255,255,255,.84); }
.eyebrow span { width:35px; height:2px; background:var(--teal); }
.hero h1,.section-head h2,.about h2,.impact h2,.incubation h2,.partners h2,.leadership h2,.final-cta h2 { font-family:var(--display); text-transform:uppercase; letter-spacing:.01em; font-weight:800; margin:0; }
.hero h1 { font-size:clamp(68px,8.2vw,132px); line-height:.84; max-width:900px; text-wrap:balance; }
.hero h1 em,.section-head h2 em,.about h2 em,.impact h2 em,.incubation h2 em,.partners h2 em,.leadership h2 em,.final-cta h2 em { font-style:normal; color:var(--teal); }
.hero h1 em { color:var(--amber); }
.hero-lead { max-width:610px; margin:29px 0 0; font-size:20px; line-height:1.52; color:rgba(255,255,255,.84); }
.hero-actions,.final-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:34px; }
.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:0 22px; border-radius:999px; font-size:15px; font-weight:800; transition:transform .25s var(--ease), background .25s, color .25s, border-color .25s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--magenta); color:white; }
.button-primary:hover { background:#ee2c7d; }
.button-ghost { color:white; border:1px solid rgba(255,255,255,.42); background:rgba(255,255,255,.03); backdrop-filter:blur(10px); }
.button-ghost:hover { background:white; color:var(--navy); border-color:white; }
.hero-proof { max-width:270px; display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; margin-bottom:10px; padding:20px 20px 20px 17px; border-top:1px solid rgba(255,255,255,.28); border-bottom:1px solid rgba(255,255,255,.28); }
.proof-number { font-family:var(--display); font-size:76px; line-height:.8; color:var(--teal); }
.hero-proof strong { display:block; font-size:15px; margin-bottom:5px; }
.hero-proof span { display:block; font-size:12px; line-height:1.4; color:rgba(255,255,255,.68); }
.hero-bottom { position:absolute; inset:auto 0 0 0; z-index:3; border-top:1px solid rgba(255,255,255,.18); }
.hero-bottom-inner { height:74px; display:flex; align-items:center; gap:6px; color:rgba(255,255,255,.64); font-size:13px; }
.hero-bottom-inner > span:not(:last-of-type)::after { content:""; display:inline-block; width:4px; height:4px; margin:0 9px 2px; border-radius:50%; background:var(--magenta); }
.scroll-cue { margin-left:auto; display:flex; gap:17px; align-items:center; color:white; font-weight:700; }
.scroll-cue i { width:33px; height:33px; border:1px solid rgba(255,255,255,.36); border-radius:50%; display:grid; place-items:center; font-style:normal; }

.kicker { color:var(--magenta); margin-bottom:18px; }
.kicker-light { color:var(--amber); }
.section-head { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:80px; align-items:end; margin-bottom:54px; }
.section-head h2,.about h2,.incubation h2,.partners h2,.leadership h2 { font-size:clamp(48px,5.5vw,80px); line-height:.92; }
.section-head p,.about-copy p,.incubation-head>p,.partners-head>p,.leadership-copy>p { margin:0; font-size:17px; line-height:1.64; color:#5d6168; }
.section-head > p { max-width:480px; justify-self:end; }

.journey { background:#fff; }
.journey-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.journey-card { min-height:258px; padding:27px; display:flex; flex-direction:column; justify-content:space-between; position:relative; background:white; border-right:1px solid var(--line); transition:background .25s, color .25s, transform .25s; }
.journey-card:last-child { border-right:0; }
.journey-card:hover { background:var(--navy); color:white; z-index:2; transform:translateY(-5px); }
.journey-index { font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--magenta); transition:color .25s; }
.journey-card:hover .journey-index { color:var(--teal); }
.journey-card h3 { margin:0 0 10px; font-size:24px; }
.journey-card p { margin:0; max-width:240px; color:#666a70; line-height:1.5; font-size:14px; transition:color .25s; }
.journey-card:hover p { color:rgba(255,255,255,.68); }
.card-arrow { position:absolute; top:23px; right:23px; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; transition:transform .25s, border-color .25s; }
.journey-card:hover .card-arrow { border-color:rgba(255,255,255,.32); transform:rotate(45deg); }

.about-grid { display:grid; grid-template-columns:1.05fr .75fr; gap:110px; align-items:start; }
.about-copy { padding-top:44px; }
.about-copy p + p { margin-top:18px; }
.text-link { display:inline-flex; gap:18px; align-items:center; margin-top:28px; font-size:14px; font-weight:800; color:var(--navy); border-bottom:1px solid rgba(41,41,102,.24); padding-bottom:6px; }
.text-link span { transition:transform .2s; }
.text-link:hover span { transform:translateX(4px); }
.campus-ribbon { display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:24px; margin-top:78px; padding-top:30px; border-top:1px solid #d8d7d3; }
.campus-stat { display:flex; align-items:baseline; gap:10px; }
.campus-stat strong { font-family:var(--display); font-size:50px; color:var(--navy); }
.campus-stat span { font-size:13px; font-weight:700; color:#575b61; }
.ribbon-line { height:1px; background:#d8d7d3; }

.impact { background:var(--navy); color:white; overflow:hidden; }
.impact-pattern { position:absolute; right:-40px; top:0; width:50%; height:100%; background-image:url('assets/pattern-strip.png'); background-repeat:repeat-y; background-size:100% auto; opacity:.06; filter:saturate(1.2); }
.impact-shell { position:relative; z-index:1; }
.impact-intro { display:grid; grid-template-columns:1fr .75fr; column-gap:80px; align-items:end; margin-bottom:55px; }
.impact-intro .kicker { grid-column:1/-1; }
.impact h2 { font-size:clamp(50px,6vw,88px); line-height:.9; max-width:740px; }
.impact-intro>p:last-child { color:rgba(255,255,255,.66); line-height:1.65; margin:0; font-size:16px; max-width:470px; justify-self:end; }
.impact-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.22); border-left:1px solid rgba(255,255,255,.22); }
.impact-card { min-height:210px; padding:32px; border-right:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); display:flex; flex-direction:column; justify-content:space-between; }
.impact-card strong { font-family:var(--display); font-size:68px; line-height:1; color:white; letter-spacing:.01em; }
.impact-card:nth-child(2) strong,.impact-card:nth-child(5) strong { color:var(--teal); }
.impact-card:nth-child(3) strong,.impact-card:nth-child(6) strong { color:var(--amber); }
.impact-card span { color:rgba(255,255,255,.66); font-size:13px; max-width:210px; line-height:1.4; }
.impact-note { font-size:11px; color:rgba(255,255,255,.45); margin:16px 0 0; }

.hubs { overflow:hidden; }
.hubs-rail { width:min(1480px, calc(100vw - 24px)); margin-left:max(12px, calc((100vw - 1240px)/2)); display:grid; grid-template-columns:1.15fr .88fr .88fr; gap:18px; }
.hub-card { min-height:620px; position:relative; border-radius:24px; overflow:hidden; color:white; background:var(--navy); isolation:isolate; }
.hub-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.hub-card:hover img { transform:scale(1.04); }
.hub-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(14,20,48,.94) 0%,rgba(14,20,48,.22) 62%,rgba(14,20,48,.06) 100%); }
.hub-meta { position:absolute; inset:auto 30px 30px 30px; z-index:2; }
.hub-meta>span { text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:800; color:var(--teal); }
.hub-card:nth-child(2) .hub-meta>span { color:var(--amber); }
.hub-card:nth-child(3) .hub-meta>span { color:#ff7faf; }
.hub-meta h3 { font-family:var(--display); text-transform:uppercase; margin:9px 0 8px; font-size:46px; line-height:.9; }
.hub-meta p { margin:0; max-width:410px; color:rgba(255,255,255,.72); line-height:1.5; font-size:14px; }
.hub-meta a { display:inline-flex; gap:14px; align-items:center; margin-top:22px; font-size:13px; font-weight:800; }
.hub-meta a span { transition:transform .2s; }
.hub-meta a:hover span { transform:translate(3px,-3px); }

.incubation { background:#fff; }
.incubation-head { display:grid; grid-template-columns:1.2fr .65fr; gap:85px; align-items:end; margin-bottom:72px; }
.incubation-head>p { max-width:460px; justify-self:end; }
.incubation-track { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.incubation-track::before { content:""; position:absolute; left:7%; right:7%; top:109px; height:2px; background:linear-gradient(90deg,var(--magenta),var(--mauve),var(--blue),var(--amber),var(--purple)); }
.stage { min-height:400px; padding:0 24px 24px 0; position:relative; }
.stage-number { height:85px; font-family:var(--display); font-size:112px; line-height:.72; color:currentColor; -webkit-text-stroke:0; opacity:1; background:transparent!important; }
.stage-1 { color:var(--magenta); }
.stage-2 { color:var(--mauve); }
.stage-3 { color:var(--blue); }
.stage-4 { color:var(--amber); }
.stage-5 { color:var(--purple); }
.stage-dot { width:14px; height:14px; border-radius:50%; background:currentColor; margin:18px 0 40px; position:relative; z-index:2; box-shadow:0 0 0 9px white; }
.stage-label { margin:0 0 9px; color:currentColor; text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:.09em; }
.stage h3 { color:var(--black); font-size:20px; margin:0 0 10px; line-height:1.15; }
.stage>p:not(.stage-label) { color:#6b6e74; font-size:13px; line-height:1.5; margin:0; max-width:195px; }
.stage-time { display:inline-block; margin-top:14px; color:var(--black); font-size:12px; font-weight:800; }
.incubation-services { margin-top:28px; display:flex; flex-wrap:wrap; gap:8px; }
.incubation-services span { border:1px solid #d9dce0; background:#fafafa; border-radius:999px; padding:10px 14px; font-size:12px; font-weight:700; color:#555960; }

.programme-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.programme-card { min-height:390px; padding:38px; border-radius:22px; display:flex; flex-direction:column; color:white; position:relative; overflow:hidden; }
.programme-card::after { content:""; position:absolute; width:210px; height:210px; border:2px solid rgba(255,255,255,.18); border-radius:50%; right:-80px; top:-80px; }
.p-magenta { background:var(--magenta); }.p-navy{background:var(--navy)}.p-amber{background:var(--amber);color:#1d1d24}.p-blue{background:var(--blue)}
.programme-card>span { text-transform:uppercase; font-size:11px; letter-spacing:.13em; font-weight:800; opacity:.72; }
.programme-card h3 { font-family:var(--display); text-transform:uppercase; font-size:52px; line-height:.92; margin:26px 0 14px; }
.programme-card p { max-width:500px; font-size:15px; line-height:1.6; opacity:.78; margin:0; }
.programme-card a { margin-top:auto; padding-top:35px; font-size:13px; font-weight:800; display:flex; gap:14px; align-items:center; }
.programme-card a span { transition:transform .2s; }.programme-card a:hover span{transform:translateX(4px)}

.stories-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:18px; align-items:start; }
.story a { display:block; }
.story-image { aspect-ratio:1/1.08; border-radius:18px; overflow:hidden; background:#eee; }
.story-feature .story-image { aspect-ratio:1/1.08; }
.story-image img { width:100%; height:100%; object-fit:cover; transition:transform .55s var(--ease); }
.story:hover .story-image img { transform:scale(1.035); }
.story-meta { display:flex; justify-content:space-between; gap:16px; margin:17px 0 11px; text-transform:uppercase; font-size:10px; letter-spacing:.09em; font-weight:800; color:#767a81; }
.story-meta span { color:var(--magenta); }
.story h3 { margin:0; font-size:22px; line-height:1.22; max-width:500px; }
.story-feature h3 { font-size:30px; }

.leadership { background:var(--navy-deep); color:white; overflow:hidden; }
.leadership-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; align-items:center; }
.leadership h2 { font-size:clamp(48px,5.2vw,74px); }
.leadership-copy>p { color:rgba(255,255,255,.6); margin-top:25px; max-width:520px; }
.leadership .text-link { color:white; border-color:rgba(255,255,255,.25); }
.leadership-collage { display:grid; grid-template-columns:1.22fr .78fr .78fr; grid-template-rows:1fr 1fr; gap:12px; min-height:590px; }
.leader { margin:0; border-radius:18px; overflow:hidden; position:relative; background:var(--blue); min-height:280px; }
.leader-chair { grid-row:1/3; background:var(--navy); }
.leader:nth-child(2){background:var(--purple)}.leader:nth-child(3){background:var(--magenta)}.leader:nth-child(4){grid-column:2/4;background:var(--blue)}
.leader img { width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:saturate(.95); }
.leader figcaption { position:absolute; inset:auto 14px 14px 14px; padding:12px 13px; border-radius:12px; background:rgba(14,20,48,.78); backdrop-filter:blur(12px); }
.leader figcaption strong,.leader figcaption span { display:block; }
.leader figcaption strong { font-size:12px; }
.leader figcaption span { font-size:10px; color:rgba(255,255,255,.62); margin-top:2px; }

.partners-head { max-width:830px; text-align:center; margin-inline:auto; }
.partners h2 { font-size:clamp(48px,5.4vw,78px); }
.partners-head>p { max-width:650px; margin:22px auto 0; }
.logo-marquee { margin-top:60px; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.logo-track { display:flex; width:max-content; gap:12px; animation:marquee 35s linear infinite; }
.logo-marquee:hover .logo-track { animation-play-state:paused; }
.logo-tile { width:210px; height:118px; border:1px solid #dfdfdc; border-radius:14px; background:white; display:grid; place-items:center; padding:25px; }
.logo-tile img { max-width:100%; max-height:60px; object-fit:contain; filter:grayscale(1); opacity:.75; transition:filter .2s,opacity .2s; }
.logo-tile:hover img { filter:grayscale(0); opacity:1; }
@keyframes marquee { to { transform:translateX(calc(-50% - 42px)); } }

.final-cta { min-height:750px; position:relative; color:white; display:flex; align-items:flex-end; overflow:hidden; }
.final-media { position:absolute; inset:0; }
.final-media img { width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.final-media div { position:absolute; inset:0; background:linear-gradient(90deg,rgba(14,20,48,.95) 0%,rgba(14,20,48,.74) 45%,rgba(14,20,48,.25) 75%), linear-gradient(0deg,rgba(14,20,48,.76),transparent 55%); }
.final-inner { position:relative; z-index:2; padding-bottom:92px; max-width:var(--container); }
.final-cta h2 { font-size:clamp(62px,7vw,102px); line-height:.88; max-width:920px; }
.final-cta p:not(.kicker) { max-width:610px; line-height:1.6; color:rgba(255,255,255,.76); font-size:17px; margin:25px 0 0; }
.final-cta h2 em { color:var(--amber); }

.site-footer { background:var(--navy); color:white; position:relative; overflow:hidden; }
.footer-top { display:grid; grid-template-columns:350px 1fr; gap:90px; padding:72px 0 58px; }
.footer-brand img { width:300px; }
.footer-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.footer-nav div { display:flex; flex-direction:column; gap:9px; }
.footer-nav span { color:var(--teal); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:900; margin-bottom:7px; }
.footer-nav a { color:rgba(255,255,255,.72); font-size:13px; }
.footer-nav a:hover { color:white; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.17); min-height:78px; display:flex; align-items:center; gap:30px; font-size:11px; color:rgba(255,255,255,.48); }
.footer-bottom p { margin:0; }.footer-bottom p:nth-child(2){margin-left:auto}.footer-bottom a{color:white}
.footer-pattern { height:84px; background:url('assets/pattern-strip.png') center/cover no-repeat; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s var(--ease),transform .75s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }
.reveal-delay { transition-delay:.14s; }

:focus-visible { outline:3px solid var(--amber); outline-offset:4px; }

@media (max-width: 1100px) {
  :root { --container:min(100% - 36px, 1000px); }
  .nav-shell { grid-template-columns:235px 1fr auto; height:82px; }
  .brand { width:225px; }
  .desktop-nav { gap:18px; }
  .desktop-nav a:nth-child(4),.desktop-nav a:nth-child(5){display:none}
  .hero-content { padding-bottom:128px; }
  .hero-proof { display:none; }
  .journey-grid { grid-template-columns:repeat(2,1fr); }
  .journey-card:nth-child(2) { border-right:0; }
  .journey-card:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .about-grid,.leadership-grid { gap:60px; }
  .impact-intro { grid-template-columns:1fr; gap:24px; }
  .impact-intro>p:last-child { justify-self:start; }
  .hubs-rail { grid-template-columns:1.1fr 1fr; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }
  .hub-card { min-width:480px; scroll-snap-align:start; }
  .incubation-track { grid-template-columns:repeat(3,1fr); row-gap:42px; }
  .incubation-track::before { display:none; }
  .stage { min-height:300px; border-top:1px solid #e3e4e7; padding-top:20px; }
  .stage-dot { display:none; }
  .stage-number { height:80px; }
  .stories-grid { grid-template-columns:1.25fr .75fr; }
  .story:last-child { grid-column:2; }
  .leadership-grid { grid-template-columns:1fr; }
}

@media (max-width: 820px) {
  :root { --container:calc(100vw - 32px); }
  .section { padding:82px 0; }
  .site-header { background:rgba(41,41,102,.96); }
  .nav-shell { height:72px; grid-template-columns:1fr auto; }
  .brand { width:205px; }
  .desktop-nav,.desktop-cta { display:none; }
  .menu-toggle { display:flex; width:42px; height:42px; padding:10px; flex-direction:column; justify-content:center; gap:5px; background:transparent; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:white; }
  .menu-toggle span:not(.sr-only) { display:block; width:100%; height:1px; background:white; transition:transform .25s,opacity .25s; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .mobile-menu { display:block; position:absolute; inset:72px 0 auto 0; background:var(--navy); border-top:1px solid rgba(255,255,255,.16); max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
  .mobile-menu.open { max-height:540px; }
  .mobile-menu nav { width:var(--container); margin:auto; display:flex; flex-direction:column; padding:14px 0 24px; }
  .mobile-menu a { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.12); font-size:16px; }
  .mobile-menu-cta { color:var(--amber); font-weight:800; }
  .hero { min-height:880px; }
  .hero-media img { object-position:58% 45%; }
  .hero-overlay { z-index:2; background:linear-gradient(0deg,rgba(10,16,40,.96) 0%,rgba(10,16,40,.82) 48%,rgba(10,16,40,.38) 100%); }
  .hero-content { padding-top:138px; padding-bottom:135px; }
  .hero h1 { font-size:clamp(62px,18vw,94px); }
  .hero-lead { font-size:17px; }
  .hero-bottom-inner>span { display:none; }
  .scroll-cue { margin-left:0; }
  .section-head,.about-grid,.incubation-head { grid-template-columns:1fr; gap:26px; }
  .section-head { margin-bottom:38px; }
  .section-head>p,.incubation-head>p { justify-self:start; }
  .journey-grid { grid-template-columns:1fr; }
  .journey-card { min-height:210px; border-right:0; border-bottom:1px solid var(--line); }
  .journey-card:last-child { border-bottom:0; }
  .about-copy { padding-top:0; }
  .campus-ribbon { grid-template-columns:1fr; gap:14px; }
  .ribbon-line { display:none; }
  .impact-grid { grid-template-columns:repeat(2,1fr); }
  .impact-card { min-height:185px; padding:24px; }
  .impact-card strong { font-size:52px; }
  .hubs-rail { width:100%; margin-left:16px; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:86%; padding-right:16px; }
  .hub-card { min-width:0; min-height:560px; }
  .incubation-track { grid-template-columns:1fr; }
  .stage { min-height:auto; padding-bottom:34px; }
  .stage-number { font-size:88px; }
  .programme-grid,.stories-grid { grid-template-columns:1fr; }
  .programme-card { min-height:330px; padding:28px; }
  .story:last-child { grid-column:auto; }
  .story-image,.story-feature .story-image { aspect-ratio:4/3; }
  .leadership-collage { grid-template-columns:1fr 1fr; grid-template-rows:auto; min-height:0; }
  .leader-chair { grid-row:auto; grid-column:1/3; min-height:420px; }
  .leader:nth-child(4){grid-column:1/3;min-height:290px}
  .footer-top { grid-template-columns:1fr; gap:42px; }
  .footer-nav { grid-template-columns:repeat(2,1fr); }
  .footer-bottom { flex-wrap:wrap; padding:22px 0; gap:12px; }
  .footer-bottom p:nth-child(2){margin-left:0;width:100%}
  .final-cta { min-height:690px; }
}

@media (max-width: 520px) {
  :root { --container:calc(100vw - 24px); }
  .hero { min-height:820px; }
  .hero-actions,.final-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .impact-grid { grid-template-columns:1fr; }
  .impact-card { min-height:150px; }
  .section-head h2,.about h2,.incubation h2,.partners h2,.leadership h2 { font-size:46px; }
  .programme-card h3 { font-size:44px; }
  .leadership-collage { grid-template-columns:1fr; }
  .leader-chair,.leader:nth-child(4) { grid-column:auto; }
  .leader { min-height:360px; }
  .footer-nav { grid-template-columns:1fr; }
  .footer-brand img { width:250px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; }
}

/* Board of Directors — official supplied artwork */
.leadership-board{display:grid;gap:42px}
.leadership-board-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:70px;align-items:end}
.leadership-board-head h2{max-width:820px}
.leadership-board-copy>p{margin:0 0 26px;color:rgba(255,255,255,.64);font-size:17px;line-height:1.65;max-width:560px}
.board-overview{display:block;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0b4d75;box-shadow:0 34px 90px rgba(3,8,32,.26);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.board-overview:hover{transform:translateY(-5px);box-shadow:0 42px 100px rgba(3,8,32,.34)}
.board-overview img{width:100%;height:auto;display:block}
@media(max-width:900px){.leadership-board-head{grid-template-columns:1fr;gap:28px}.board-overview{border-radius:18px;overflow-x:auto}.board-overview img{min-width:980px;max-width:none}}
@media(max-width:640px){.board-overview{display:none}}

/* UX-refined homepage: route-first, preview-led */
.journey-grid-five{grid-template-columns:repeat(5,1fr)}
.home-story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.home-story-media{border-radius:28px;overflow:hidden;min-height:520px}.home-story-media img{width:100%;height:100%;object-fit:cover;display:block}.home-story-copy h2{font-size:clamp(52px,6vw,86px);line-height:.92;margin:0 0 24px}.home-story-copy p{font-size:16px;line-height:1.75;color:#656a78}.home-story-proof{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:12px 18px;align-items:end;margin:30px 0}.home-story-proof strong{font-family:var(--display);font-size:52px;line-height:.8;color:var(--magenta)}.home-story-proof span{font-size:11px;font-weight:800;color:#686d7b;text-transform:uppercase;letter-spacing:.06em}
.centre-leadership{position:relative;overflow:hidden;background:var(--navy);color:#fff}.centre-leadership:after{content:"";position:absolute;right:-180px;bottom:-260px;width:560px;height:560px;border:110px solid rgba(77,194,212,.08);border-radius:50%;pointer-events:none}.centre-leadership-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:72px;align-items:center}.centre-leadership-copy{min-width:0}.centre-leadership-quote{position:relative;margin:0;padding:44px 0 0}.centre-leadership-quote:before{content:"“";position:absolute;top:-18px;left:-4px;font-family:var(--display);font-size:92px;line-height:1;color:var(--teal)}.centre-leadership-quote>p{max-width:720px;margin:0;font-size:clamp(28px,3vw,44px);font-weight:600;line-height:1.24;letter-spacing:-.018em;color:#fff}.centre-leadership-quote footer{display:flex;align-items:baseline;gap:18px;margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}.centre-leadership-quote cite,.centre-leadership-quote footer span{font-family:inherit;font-style:normal;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.centre-leadership-quote cite{font-size:13px;color:#fff}.centre-leadership-quote footer span{font-size:11px;color:rgba(255,255,255,.68)}.centre-leadership-image{margin:0;overflow:hidden;border-radius:24px;background:#171743;box-shadow:0 28px 75px rgba(6,8,35,.32)}.centre-leadership-image img{display:block;width:100%;height:auto}
.home-support-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e1e3e9;border-radius:26px;overflow:hidden;background:#e1e3e9;gap:1px}.home-support-card{background:#fff;padding:34px 30px;min-height:330px;display:flex;flex-direction:column;transition:.25s var(--ease)}.home-support-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(25,31,66,.08);z-index:1}.home-support-card>span{font-family:var(--display);font-size:42px;color:var(--magenta);line-height:1}.home-support-card:nth-child(2)>span{color:var(--blue)}.home-support-card:nth-child(3)>span{color:var(--amber)}.home-support-card:nth-child(4)>span{color:var(--teal)}.home-support-card h3{font-size:28px;line-height:1;margin:42px 0 14px;color:var(--navy)}.home-support-card p{font-size:13px;line-height:1.65;color:#6c7180}.home-support-card b{margin-top:auto;color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.impact-grid-three{grid-template-columns:repeat(3,1fr)!important}.light-link{color:#fff!important;margin-top:24px;display:inline-flex}.light-link span{color:var(--teal)}
.home-incubation-preview{padding-top:95px;padding-bottom:95px}.compact-stage-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:18px;margin-top:48px}.compact-stage-row>i{height:2px;background:#dfe2e8}.compact-stage{display:grid;gap:6px;text-align:center;min-width:120px}.compact-stage strong{font-family:var(--display);font-size:72px;line-height:.8}.compact-stage span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.compact-stage small{font-size:10px;color:#777c89}.compact-stage.c1 strong,.compact-stage.c1 span{color:#DB2170}.compact-stage.c2 strong,.compact-stage.c2 span{color:#B56E96}.compact-stage.c3 strong,.compact-stage.c3 span{color:#0A80AD}.compact-stage.c4 strong,.compact-stage.c4 span{color:#E8AD4F}.compact-stage.c5 strong,.compact-stage.c5 span{color:#942980}.center-link{text-align:center;margin-top:38px}.stories-grid-two{grid-template-columns:1.15fr .85fr!important}
@media(max-width:1180px){.journey-grid-five{grid-template-columns:repeat(3,1fr)}.home-support-grid{grid-template-columns:repeat(2,1fr)}.compact-stage-row{grid-template-columns:repeat(5,1fr)}.compact-stage-row>i{display:none}}
@media(max-width:980px){.centre-leadership-shell{grid-template-columns:1fr;gap:42px}.centre-leadership-copy{max-width:800px}.centre-leadership-image{max-width:760px}}
@media(max-width:820px){.home-story-grid{grid-template-columns:1fr;gap:36px}.home-story-media{min-height:360px}.journey-grid-five{grid-template-columns:1fr 1fr}.compact-stage-row{grid-template-columns:1fr 1fr;gap:12px}.compact-stage{text-align:left;padding:18px;border:1px solid #e2e4ea;border-radius:16px}.compact-stage strong{font-size:52px}.stories-grid-two{grid-template-columns:1fr!important}}
@media(max-width:560px){.journey-grid-five,.home-support-grid{grid-template-columns:1fr}.home-story-proof{grid-template-columns:auto 1fr}.compact-stage-row{grid-template-columns:1fr}.impact-grid-three{grid-template-columns:1fr!important}.centre-leadership-image{border-radius:20px}.centre-leadership-quote{padding-top:34px}.centre-leadership-quote:before{top:-12px;font-size:72px}.centre-leadership-quote>p{font-size:clamp(24px,7.2vw,30px);line-height:1.32}.centre-leadership-quote footer{display:block;margin-top:28px}.centre-leadership-quote footer span{display:block;margin-top:8px}}
.journey-grid-six{grid-template-columns:repeat(6,1fr)}
@media(max-width:1260px){.journey-grid-six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.journey-grid-six{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.journey-grid-six{grid-template-columns:1fr}}

@media (max-width:900px){.hero-video-control{right:18px;bottom:86px}.hero-video-link{width:100%;margin-top:4px}.hero-video-frame video{transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.hero-video-frame{display:none}.hero-video-control{display:none}}

@media (max-width:900px){.hero-local-preview{left:18px;right:18px;bottom:82px;max-width:none}}
