*{box-sizing:border-box}
:root{
  --navy:#031120;
  --navy-soft:rgba(6,30,55,.72);
  --blue:#39c8ff;
  --blue-bright:#74e5ff;
  --text:#f6fbff;
  --muted:#a8bed0;
  --line:rgba(116,229,255,.22);
}
body{
  margin:0;
  min-height:100vh;
  background:var(--navy);
  color:var(--text);
  font-family:Inter, Arial, sans-serif;
  overflow-x:hidden;
}
.site-bg{
  position:fixed;
  inset:-4%;
  z-index:-4;
  background-image:
    linear-gradient(90deg, rgba(2,10,22,.50), rgba(2,10,22,.18), rgba(2,10,22,.64)),
    url('../assets/images/genex_global_map_bright_option_2.png');
  background-size:cover;
  background-position:center;
  filter:saturate(1.38) brightness(1.14) contrast(1.05);
  animation:mapDrift 8s linear infinite alternate;
}
.animated-network-layer{
  position:fixed;
  inset:-12%;
  z-index:-3;
  opacity:.58;
  background:
    repeating-linear-gradient(90deg, rgba(65,205,255,.10) 0 1px, transparent 1px 170px),
    repeating-linear-gradient(0deg, rgba(65,205,255,.07) 0 1px, transparent 1px 170px),
    radial-gradient(circle at 30% 40%, rgba(95,220,255,.22), transparent 18%),
    radial-gradient(circle at 68% 48%, rgba(20,145,255,.20), transparent 22%);
  mix-blend-mode:screen;
  animation:networkMove 4s linear infinite;
}
.animated-glow-layer{
  position:fixed;
  inset:-18%;
  z-index:-2;
  opacity:.62;
  background:
    radial-gradient(circle at 20% 25%, rgba(76,205,255,.32), transparent 24%),
    radial-gradient(circle at 72% 70%, rgba(0,120,255,.28), transparent 28%);
  filter:blur(14px);
  animation:glowPulse 4s ease-in-out infinite alternate;
}
.nav{
  width:min(1180px, calc(100% - 40px));
  margin:24px auto 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(4,19,36,.70);
  backdrop-filter:blur(18px);
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:white;
  text-decoration:none;
  font-weight:800;
  font-size:21px;
  white-space:nowrap;
}

.brand-logo{
  width:38px;
  height:38px;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
  filter:drop-shadow(0 0 10px rgba(96,220,255,.18));
}
.brand-text{
  font-weight:900;
  letter-spacing:.01em;
}
.nav-links a{
  position:relative;
  color:#f2fbff;
  text-decoration:none;
  white-space:nowrap;
  font-weight:800;
  letter-spacing:.01em;
  padding:10px 4px;
  transition:color .22s ease, transform .22s ease, text-shadow .22s ease;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  bottom:3px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(116,229,255,0), rgba(116,229,255,.95), rgba(45,157,255,0));
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .22s ease, transform .22s ease;
}
.nav-links a:hover,
.nav-links a:focus-visible{
  color:var(--blue-bright);
  transform:translateY(-1px);
  text-shadow:0 0 16px rgba(116,229,255,.38);
}
.nav-links a:hover::after,
.nav-links a:focus-visible::after{
  opacity:1;
  transform:scaleX(1);
}
.nav-links a.nav-cta{
  padding:11px 17px;
  font-weight:900;
  transition:background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.nav-links a.nav-cta::after{
  display:none;
}
.nav-links a.nav-cta:hover,
.nav-links a.nav-cta:focus-visible{
  color:#001525;
  background:linear-gradient(135deg, #84edff, #2d9dff);
  border-color:rgba(132,237,255,.8);
  box-shadow:0 0 26px rgba(64,190,255,.34);
}

.nav-links{
  display:flex;
  align-items:center;
  gap:24px;
  font-size:14px;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:48px;
  align-items:center;
}
.hero-copy{
  min-width:0;
}
.hero-badge-panel{
  display:flex;
  justify-content:center;
  align-items:center;
}
.hero-badge-large{
  width:100%;
  max-width:320px;
}

.hero{
  width:min(1180px, calc(100% - 40px));
  margin:105px auto 90px;
  padding:40px 0;
}
.eyebrow{
  display:inline-flex;
  padding:11px 16px;
  border:1px solid rgba(116,229,255,.34);
  border-radius:999px;
  background:rgba(5,34,64,.72);
  color:#e9fbff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
  margin-bottom:24px;
  box-shadow:0 0 28px rgba(68,190,255,.14);
}
h1{
  max-width:850px;
  font-size:clamp(48px, 8vw, 96px);
  line-height:.95;
  letter-spacing:-.06em;
  margin:0 0 24px;
}
h1 span{color:var(--blue-bright)}
.hero p{
  max-width:650px;
  font-size:22px;
  line-height:1.55;
  color:var(--muted);
}
.hero-actions{
  display:flex;
  gap:14px;
  margin-top:34px;
  flex-wrap:wrap;
}
.btn{
  display:inline-flex;
  padding:14px 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
}
.primary{
  color:#001525;
  background:linear-gradient(135deg, #84edff, #2d9dff);
}
.secondary{
  color:white;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
}

.cambridge-badge{
  width:min(260px, 62vw);
  height:auto;
  display:block;
  padding:14px 18px;
  border:1px solid rgba(116,229,255,.20);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 60px rgba(0,0,0,.22), 0 0 28px rgba(116,229,255,.12);
}

.carousel-panel{
  width:min(1180px, calc(100% - 40px));
  margin:22px auto;
  padding:28px;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(3,18,35,.72);
  backdrop-filter:blur(16px);
  overflow:hidden;
}
.section-heading{
  text-align:left;
  max-width:820px;
  margin:0 0 24px;
}
.section-heading p{
  margin:0 0 10px;
  color:var(--blue-bright);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:16px;
  font-weight:900;
}
.section-heading h2{
  margin:0 0 24px;
  font-size:32px;
  line-height:1.18;
  letter-spacing:-.025em;
}
.ticker{
  overflow:hidden;
  mask-image:linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
}
.ticker-track{
  display:flex;
  gap:14px;
  width:max-content;
  animation:ticker 25.2s linear infinite;
}
.ticker-track span{
  flex:0 0 auto;
  padding:13px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(72,200,255,.10);
  color:#eafaff;
  box-shadow:0 0 28px rgba(36,178,255,.08);
}
@keyframes mapDrift{
  0%{transform:scale(1.02) translate3d(0,0,0)}
  100%{transform:scale(1.09) translate3d(-2.2%,-1.2%,0)}
}
@keyframes networkMove{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(-80px,-52px,0)}
}
@keyframes glowPulse{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(50px,-32px,0) scale(1.05)}
}
@keyframes ticker{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media (max-width:900px){

  .connect-section{
    grid-template-columns:1fr;
    padding:24px;
  }
  .form-grid{
    grid-template-columns:1fr;
  }
  .footer-grid{
    grid-template-columns:1fr;
  }


  .hero-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .hero-badge-panel{
    justify-content:flex-start;
  }
  .hero-badge-large{
    max-width:240px;
  }


    .nav{align-items:flex-start; gap:18px; flex-direction:column}
  .nav-links{flex-wrap:wrap; gap:12px}
  
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:48px;
  align-items:center;
}
.hero-copy{
  min-width:0;
}
.hero-badge-panel{
  display:flex;
  justify-content:center;
  align-items:center;
}
.hero-badge-large{
  width:100%;
  max-width:320px;
}

.hero{margin-top:70px}
  
.cambridge-badge{
  width:min(260px, 62vw);
  height:auto;
  display:block;
  padding:14px 18px;
  border:1px solid rgba(116,229,255,.20);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 60px rgba(0,0,0,.22), 0 0 28px rgba(116,229,255,.12);
}

.carousel-panel{padding:22px}
}
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{animation:none!important; scroll-behavior:auto!important}
}


.connect-section{
  width:min(1180px, calc(100% - 40px));
  margin:70px auto 30px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:start;
  padding:34px;
  border:1px solid var(--line);
  border-radius:32px;
  background:rgba(3,18,35,.76);
  backdrop-filter:blur(18px);
}
.section-kicker{
  margin:0 0 10px;
  color:var(--blue-bright);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:16px;
  font-weight:900;
}
.connect-copy h2{
  margin:0 0 18px;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.035em;
}
.connect-copy p:not(.section-kicker){
  color:var(--muted);
  font-size:18px;
  line-height:1.55;
}
.connect-form{
  display:grid;
  gap:18px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.connect-form label{
  display:grid;
  gap:8px;
}
.connect-form span{
  color:#d9f6ff;
  font-weight:800;
  font-size:13px;
}
.connect-form input,
.connect-form select,
.connect-form textarea{
  width:100%;
  border:1px solid rgba(116,229,255,.20);
  border-radius:16px;
  background:rgba(255,255,255,.07);
  color:#ffffff;
  padding:14px 14px;
  outline:none;
  font:inherit;
}
.connect-form input:focus,
.connect-form select:focus,
.connect-form textarea:focus{
  border-color:rgba(116,229,255,.65);
  box-shadow:0 0 0 4px rgba(80,200,255,.10);
}
.connect-form option{
  color:#001525;
}
.message-field{
  grid-column:1/-1;
}
.form-submit{
  border:0;
  cursor:pointer;
  width:max-content;
}
.site-footer{
  width:min(1180px, calc(100% - 40px));
  margin:70px auto 30px;
  padding:34px;
  border:1px solid var(--line);
  border-radius:32px;
  background:rgba(2,14,28,.86);
  backdrop-filter:blur(18px);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr .8fr;
  gap:30px;
}
.footer-brand{
  margin-bottom:16px;
}
.site-footer p{
  color:var(--muted);
  line-height:1.55;
  margin:14px 0 0;
}
.footer-links,
.footer-social{
  display:grid;
  align-content:start;
  gap:10px;
}
.site-footer h3{
  margin:0 0 8px;
  color:var(--blue-bright);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.site-footer a{
  color:#e9f8ff;
  text-decoration:none;
  font-weight:700;
  transition:color .22s ease, transform .22s ease;
}
.site-footer a:hover{
  color:var(--blue-bright);
  transform:translateX(2px);
}
.social-buttons{
  display:flex;
  gap:10px;
}
.social-buttons a{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(116,229,255,.10);
  text-transform:uppercase;
}
.social-buttons a:hover{
  transform:translateY(-2px);
  box-shadow:0 0 24px rgba(80,200,255,.22);
}
.footer-bottom{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid rgba(116,229,255,.14);
  color:#91aabd;
  font-size:14px;
}


.social-buttons a svg{
  width:19px;
  height:19px;
  fill:currentColor;
  display:block;
}
.social-buttons a{
  color:#e9f8ff;
  background:
    linear-gradient(145deg, rgba(116,229,255,.16), rgba(45,157,255,.08));
  box-shadow:inset 0 0 18px rgba(116,229,255,.06);
}
.social-buttons a:hover{
  color:#001525;
  background:linear-gradient(135deg, #84edff, #2d9dff);
}


.subpage-hero{
  width:min(1180px, calc(100% - 40px));
  margin:92px auto 34px;
  padding:52px 0 24px;
}
.subpage-hero h1{
  max-width:900px;
}
.subpage-hero p{
  max-width:790px;
  color:var(--muted);
  font-size:21px;
  line-height:1.55;
}
.split-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:44px;
  align-items:center;
}
.content-panel{
  width:min(1180px, calc(100% - 40px));
  margin:24px auto;
  padding:34px;
  border:1px solid var(--line);
  border-radius:32px;
  background:rgba(3,18,35,.76);
  backdrop-filter:blur(18px);
}
.content-panel h2{
  margin:0 0 18px;
  font-size:40px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.content-panel h3{
  margin:0 0 12px;
  color:#f7fcff;
  font-size:22px;
}
.content-panel p,
.content-panel li{
  color:var(--muted);
  line-height:1.62;
  font-size:16px;
}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.feature-grid article,
.timeline-grid article,
.download-card,
.stat-card{
  padding:24px;
  border:1px solid rgba(116,229,255,.18);
  border-radius:24px;
  background:rgba(255,255,255,.055);
}
.feature-grid ul,
.timeline-grid ul{
  padding-left:20px;
}
.pill-grid{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
.pill-grid span{
  padding:13px 17px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(72,200,255,.10);
  color:#eafaff;
  font-weight:800;
}
.timeline-grid{
  display:grid;
  gap:18px;
  margin-top:24px;
}
.timeline-grid span,
.download-card span{
  display:inline-flex;
  margin-bottom:12px;
  color:var(--blue-bright);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:900;
}
.inline-link{
  color:var(--blue-bright);
  font-weight:900;
  text-decoration:none;
}
.downloads-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
}
.download-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.download-card{
  display:flex;
  flex-direction:column;
  min-height:210px;
}
.download-card h3{
  flex:1;
}
.stat-card h3{
  color:var(--blue-bright);
}
@media (max-width:900px){
  .split-hero{grid-template-columns:1fr}
  .feature-grid,.download-grid{grid-template-columns:1fr}
  .downloads-toolbar{align-items:flex-start; flex-direction:column}
  .content-panel{padding:24px}
}


/* V15 Teacher Training refinements */
.pdq-intro-panel{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:center;}
.pdq-brochure-preview{border:1px solid rgba(116,229,255,.18);border-radius:24px;overflow:hidden;background:rgba(255,255,255,.92);box-shadow:0 24px 70px rgba(0,0,0,.28);}
.pdq-brochure-preview img{width:100%;display:block;}
.centered-pill-panel{display:flex;justify-content:center;}
.pdq-benefits-grid{justify-content:center;text-align:center;max-width:980px;}
.pdq-benefits-grid span{display:inline-flex;align-items:center;justify-content:center;}
.pdq-programme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px;}
.pdq-programme-card{min-height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(116,229,255,.18);border-radius:28px;background:rgba(255,255,255,.06);}
.programme-art{height:270px;display:flex;align-items:flex-start;justify-content:center;overflow:hidden;background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(230,246,252,.92));}
.programme-art img{width:100%;max-width:245px;object-fit:contain;margin-top:16px;box-shadow:0 12px 28px rgba(0,0,0,.22);}
.programme-content{padding:24px 24px 10px;flex:1;}
.programme-code{display:inline-flex;margin-bottom:12px;color:var(--blue-bright);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;}
.programme-content h3{font-size:24px;line-height:1.18;}
.programme-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;padding:18px 24px 24px;margin-top:auto;}
.programme-download{text-align:center;justify-content:center;}
@media (max-width:900px){.pdq-intro-panel{grid-template-columns:1fr}.pdq-programme-grid{grid-template-columns:1fr}.programme-art{height:240px}}


.ibp-hero{
  align-items:center;
}
.ibp-hero-visual img{
  width:100%;
  border-radius:28px;
  border:1px solid rgba(116,229,255,.18);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.ibp-programme-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:28px;
}
.ibp-programme-card{
  overflow:hidden;
  border:1px solid rgba(116,229,255,.16);
  border-radius:28px;
  background:rgba(255,255,255,.05);
  display:flex;
  flex-direction:column;
}
.ibp-programme-card img{
  width:100%;
  height:220px;
  object-fit:cover;
}
.ibp-card-content{
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.ibp-card-content span{
  color:var(--blue-bright);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:900;
}
.ibp-card-content h3{
  margin:12px 0;
  font-size:28px;
}
.ibp-card-content p{
  flex:1;
}
.ibp-card-content .btn{
  margin-top:18px;
  align-self:flex-start;
}
.infographic-panel{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:26px;
  align-items:center;
}
.infographic-preview img{
  width:100%;
  border-radius:24px;
  border:1px solid rgba(116,229,255,.16);
}
@media (max-width:900px){
  .ibp-programme-grid,
  .infographic-panel{
    grid-template-columns:1fr;
  }
}


.section-spacer{
  height:38px;
}
.ibp-clean-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 420px;
  gap:44px;
  align-items:center;
}
.ibp-clean-copy h1{
  max-width:780px;
}
.ibp-clean-copy p{
  max-width:760px;
}
.ibp-clean-visual{
  padding:16px;
  border:1px solid rgba(116,229,255,.22);
  border-radius:30px;
  background:rgba(3,18,35,.68);
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.ibp-clean-visual img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:22px;
}
.ibp-programme-card img{
  width:100%;
  height:360px;
  object-fit:cover;
  object-position:top center;
  background:#ffffff;
}
.ibp-programme-card{
  min-height:720px;
}
.ibp-card-content{
  min-height:330px;
}
.ibp-card-content .btn{
  margin-top:auto;
}
.infographic-panel{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:30px;
  align-items:center;
}
.infographic-preview{
  padding:14px;
  border:1px solid rgba(116,229,255,.18);
  border-radius:26px;
  background:rgba(255,255,255,.055);
}
.infographic-preview img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:contain;
  display:block;
  border-radius:18px;
  background:#eef5f7;
}
@media (max-width:900px){
  .ibp-clean-hero,
  .infographic-panel{
    grid-template-columns:1fr;
  }
  .ibp-programme-card{
    min-height:auto;
  }
  .ibp-programme-card img{
    height:300px;
  }
}


/* V18 download and iBp polish */
.ibp-clean-visual img{
  object-fit:cover;
  object-position:center;
  background:#071a31;
}
.ibp-card-content .btn{
  align-self:center;
  justify-content:center;
  text-align:center;
  min-width:210px;
}
.download-card-enhanced{
  overflow:hidden;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.download-preview-wrap{
  height:190px;
  padding:14px;
  background:rgba(255,255,255,.055);
  border-bottom:1px solid rgba(116,229,255,.14);
  display:flex;
  align-items:center;
  justify-content:center;
}
.download-preview-wrap img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.24);
  background:#fff;
}
.download-card-body{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.download-card-body h3{
  text-align:center;
}
.download-card-body span{
  text-align:center;
}
.download-now-btn{
  margin-top:auto;
  align-self:center;
  justify-content:center;
  text-align:center;
  min-width:180px;
  transition:background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.download-now-btn:hover,
.download-now-btn:focus-visible{
  color:#001525;
  background:linear-gradient(135deg, #84edff, #2d9dff);
  border-color:rgba(132,237,255,.85);
  transform:translateY(-2px);
  box-shadow:0 0 24px rgba(64,190,255,.32);
}
.download-grid{
  align-items:stretch;
}
@media (max-width:900px){
  .download-preview-wrap{
    height:170px;
  }
}


/* V19 iBp levels and progression refinement */
.ibp-levels-panel > p{
  max-width:900px;
}
.level-steps{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:14px;
  align-items:stretch;
  margin:30px 0 10px;
}
.level-step{
  position:relative;
  padding:24px;
  border:1px solid rgba(116,229,255,.22);
  border-radius:26px;
  background:
    linear-gradient(145deg, rgba(116,229,255,.10), rgba(255,255,255,.045));
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.level-step span{
  display:inline-flex;
  margin-bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  color:#001525;
  background:linear-gradient(135deg, #84edff, #2d9dff);
  font-weight:900;
  font-size:13px;
}
.level-step h3{
  font-size:21px;
  line-height:1.16;
}
.level-step p{
  font-size:15px;
}
.level-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue-bright);
  font-size:34px;
  font-weight:900;
  text-shadow:0 0 18px rgba(116,229,255,.35);
}
.advance-panel .feature-grid{
  grid-template-columns:.78fr 1.22fr;
}
.wide-route{
  white-space:nowrap;
  font-size:15px;
}
@media (max-width:1100px){
  .wide-route{
    white-space:normal;
  }
}
@media (max-width:900px){
  .level-steps{
    grid-template-columns:1fr;
  }
  .level-arrow{
    transform:rotate(90deg);
    min-height:28px;
  }
  .advance-panel .feature-grid{
    grid-template-columns:1fr;
  }
}


/* V20 iBp and Online Resources refinement */
.ibp-levels-panel{
  text-align:center;
}
.ibp-levels-panel > p{
  margin-left:auto;
  margin-right:auto;
}
.level-steps{
  justify-content:center;
}
.level-step{
  text-align:left;
}
.ibp-levels-panel h2{
  text-align:center;
}
.foundation-single-line{
  white-space:nowrap;
  max-width:none !important;
}
.foundation-bullets{
  display:grid;
  gap:8px;
  max-width:1040px;
  margin:20px auto 0;
  text-align:left;
}
.foundation-bullets strong{
  color:#f7fcff;
  font-weight:900;
}
.advance-panel li{
  font-weight:700;
}
.advance-panel li::marker{
  color:var(--blue-bright);
}
.online-resources-hero{
  max-width:1180px;
}
.resources-intro-panel{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.resource-stat{
  padding:26px;
  border:1px solid rgba(116,229,255,.18);
  border-radius:26px;
  background:rgba(255,255,255,.055);
  text-align:center;
}
.resource-stat strong{
  display:block;
  color:var(--blue-bright);
  font-size:44px;
  line-height:1;
  margin-bottom:10px;
}
.resource-stat span{
  color:#d8eff8;
  font-weight:800;
}
.resource-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:26px;
}
.resource-heading p{
  max-width:760px;
}
.resource-note{
  max-width:320px;
  padding:16px 18px;
  border:1px solid rgba(116,229,255,.20);
  border-radius:18px;
  color:#d8eff8;
  background:rgba(116,229,255,.09);
  font-weight:800;
  font-size:14px;
}
.resource-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.resource-course{
  min-height:132px;
  padding:22px;
  border:1px solid rgba(116,229,255,.17);
  border-radius:24px;
  background:
    linear-gradient(145deg, rgba(116,229,255,.10), rgba(255,255,255,.045));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.resource-course h3{
  margin:0 0 18px;
  font-size:20px;
  line-height:1.18;
}
.resource-course span{
  align-self:flex-start;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(116,229,255,.14);
  border:1px solid rgba(116,229,255,.22);
  color:var(--blue-bright);
  font-weight:900;
  font-size:13px;
}
.lower-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.resource-delivery-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center;
}
.delivery-points{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.delivery-points span{
  padding:18px;
  border-radius:18px;
  background:rgba(116,229,255,.10);
  border:1px solid rgba(116,229,255,.18);
  font-weight:900;
  color:#eafbff;
}
@media (max-width:1100px){
  .foundation-single-line{
    white-space:normal;
  }
  .lower-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:900px){
  .resources-intro-panel,
  .resource-grid,
  .lower-grid,
  .resource-delivery-panel,
  .delivery-points{
    grid-template-columns:1fr;
  }
  .resource-heading{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* V21 Online Resources + News */
.single-line-copy{
  white-space:nowrap;
  max-width:none !important;
}
.single-line-kicker{
  white-space:nowrap;
}
.resource-delivery-panel h2{
  white-space:nowrap;
}
.news-hero p{
  max-width:780px;
}
.news-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:28px;
}
.news-heading p{
  max-width:760px;
}
.feed-status{
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(116,229,255,.24);
  background:rgba(116,229,255,.10);
  color:var(--blue-bright);
  font-weight:900;
  white-space:nowrap;
}
.news-feed-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:18px;
}
.news-card{
  min-height:300px;
  padding:26px;
  border:1px solid rgba(116,229,255,.18);
  border-radius:28px;
  background:
    radial-gradient(circle at 20% 20%, rgba(116,229,255,.14), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
  display:flex;
  flex-direction:column;
}
.news-card h3{
  font-size:26px;
  line-height:1.15;
}
.news-card p{
  flex:1;
}
.featured-news{
  min-height:360px;
  background:
    radial-gradient(circle at 20% 10%, rgba(116,229,255,.22), transparent 32%),
    linear-gradient(145deg, rgba(116,229,255,.11), rgba(255,255,255,.04));
}
.platform-pill{
  align-self:flex-start;
  margin-bottom:18px;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(116,229,255,.14);
  border:1px solid rgba(116,229,255,.24);
  color:var(--blue-bright);
  font-weight:900;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.news-implementation-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center;
}
@media (max-width:1100px){
  .single-line-copy,
  .single-line-kicker,
  .resource-delivery-panel h2{
    white-space:normal;
  }
  .news-feed-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:900px){
  .news-heading,
  .news-implementation-panel{
    align-items:flex-start;
    flex-direction:column;
    display:flex;
  }
}


/* V22 GenEx-controlled news feed */
.controlled-feed-panel code{
  color:var(--blue-bright);
  font-weight:800;
}
.controlled-carousel{
  display:grid;
  gap:18px;
}
.controlled-carousel-window{
  overflow:hidden;
  border:1px solid rgba(116,229,255,.18);
  border-radius:30px;
  background:rgba(255,255,255,.045);
}
.controlled-carousel-track{
  display:flex;
  transition:transform .55s ease;
}
.controlled-news-slide{
  min-width:100%;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:430px;
}
.controlled-news-image{
  background:#06182d;
  overflow:hidden;
}
.controlled-news-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.controlled-news-content{
  padding:34px;
  display:flex;
  flex-direction:column;
}
.controlled-news-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
  color:var(--blue-bright);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:12px;
}
.controlled-news-content h3{
  margin:0 0 16px;
  font-size:34px;
  line-height:1.08;
}
.controlled-news-content p{
  color:var(--muted);
  line-height:1.6;
  flex:1;
}
.controlled-carousel-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
}
.controlled-carousel-controls button{
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(116,229,255,.26);
  background:rgba(116,229,255,.10);
  color:#eafbff;
  font-size:28px;
  cursor:pointer;
  transition:transform .22s ease, background .22s ease, color .22s ease;
}
.controlled-carousel-controls button:hover{
  transform:translateY(-2px);
  color:#001525;
  background:linear-gradient(135deg, #84edff, #2d9dff);
}
.controlled-dots{
  display:flex;
  gap:8px;
}
.controlled-dots button{
  width:11px;
  height:11px;
  padding:0;
  border-radius:999px;
  background:rgba(255,255,255,.20);
}
.controlled-dots button.active{
  width:30px;
  background:var(--blue-bright);
}
.controlled-news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.controlled-news-card{
  overflow:hidden;
  border:1px solid rgba(116,229,255,.18);
  border-radius:28px;
  background:rgba(255,255,255,.045);
  display:flex;
  flex-direction:column;
}
.controlled-news-card .controlled-news-image{
  height:180px;
}
.controlled-news-card .controlled-news-content{
  padding:24px;
  flex:1;
}
.controlled-news-card .controlled-news-content h3{
  font-size:23px;
}
.controlled-news-card .controlled-news-meta{
  align-items:flex-start;
  flex-direction:column;
  gap:4px;
}
@media (max-width:1000px){
  .controlled-news-slide{
    grid-template-columns:1fr;
  }
  .controlled-news-image{
    min-height:260px;
  }
  .controlled-news-grid{
    grid-template-columns:1fr;
  }
}


/* V23 PDQ brochure + social feed ready */
.pdq-brochure-panel{
  display:grid;
  grid-template-columns:1.1fr 320px;
  gap:30px;
  align-items:center;
}
.pdq-brochure-preview{
  padding:14px;
  border:1px solid rgba(116,229,255,.18);
  border-radius:26px;
  background:rgba(255,255,255,.06);
}
.pdq-brochure-preview img{
  width:100%;
  display:block;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 45px rgba(0,0,0,.25);
}
.social-live-panel{
  overflow:hidden;
}
.social-embed-target{
  min-height:420px;
  border:1px solid rgba(116,229,255,.18);
  border-radius:30px;
  background:
    radial-gradient(circle at 20% 20%, rgba(116,229,255,.12), transparent 30%),
    rgba(255,255,255,.045);
  padding:24px;
}
.social-loop-fallback{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  height:100%;
}
.social-loop-fallback article{
  min-height:330px;
  padding:26px;
  border:1px solid rgba(116,229,255,.18);
  border-radius:26px;
  background:linear-gradient(145deg, rgba(116,229,255,.10), rgba(255,255,255,.045));
  display:flex;
  flex-direction:column;
}
.social-loop-fallback span{
  color:var(--blue-bright);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:900;
  margin-bottom:18px;
}
.social-loop-fallback h3{
  font-size:28px;
}
.social-loop-fallback p{
  flex:1;
}
@media (max-width:900px){
  .pdq-brochure-panel,
  .social-loop-fallback{
    grid-template-columns:1fr;
  }
}


/* V24 Curator social feed embed */
.curator-feed-wrapper{
  width:100%;
  min-height:420px;
  border-radius:24px;
  overflow:hidden;
}
#curator-feed-default-feed-layout{
  width:100%;
}
.social-embed-target{
  min-height:460px;
}


/* V25 Mobile optimisation layer */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
img,video,iframe{max-width:100%}
.mobile-menu-toggle{display:none;width:44px;height:44px;border:1px solid rgba(116,229,255,.26);border-radius:14px;background:rgba(116,229,255,.08);padding:10px;cursor:pointer}
.mobile-menu-toggle span{display:block;height:2px;width:100%;margin:5px 0;border-radius:99px;background:#eafbff;transition:transform .22s ease,opacity .22s ease}
.nav-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .mobile-menu-toggle span:nth-child(2){opacity:0}
.nav-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.pdq-brochure-panel{display:grid;grid-template-columns:1.1fr 320px;gap:30px;align-items:center}
.pdq-brochure-preview{padding:14px;border:1px solid rgba(116,229,255,.18);border-radius:26px;background:rgba(255,255,255,.06)}
.pdq-brochure-preview img{width:100%;display:block;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.25)}

@media (max-width:1180px){
  .nav{width:calc(100% - 28px)}
  .nav-links{gap:14px;font-size:13px}
  h1{font-size:clamp(44px,7.2vw,76px)}
  .content-panel,.carousel-panel,.connect-section,.site-footer,.subpage-hero,.hero{width:calc(100% - 32px)}
  .level-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .level-arrow{display:none}
  .foundation-single-line,.single-line-copy,.resource-delivery-panel h2{white-space:normal!important}
}

@media (max-width:980px){
  .nav{position:sticky;top:12px;z-index:50;align-items:center;flex-direction:row;padding:12px;border-radius:20px}
  .brand-logo{width:34px;height:34px}.brand-text{font-size:19px}
  .mobile-menu-toggle{display:block;margin-left:auto}
  .nav-links{position:absolute;left:0;right:0;top:calc(100% + 10px);display:grid;grid-template-columns:1fr;gap:4px;padding:14px;border:1px solid rgba(116,229,255,.24);border-radius:20px;background:rgba(3,16,31,.96);box-shadow:0 24px 70px rgba(0,0,0,.35);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease}
  .nav-open .nav-links{opacity:1;pointer-events:auto;transform:translateY(0)}
  .nav-links a{padding:13px 14px;border-radius:14px;font-size:15px}
  .nav-links a:hover,.nav-links a:focus-visible{background:rgba(116,229,255,.10);transform:none}
  .nav-links a::after{display:none}
  .nav-links a.nav-cta{margin-top:6px;text-align:center;justify-content:center}
  .hero,.subpage-hero{margin-top:46px;padding-top:24px}
  .hero-grid,.split-hero,.ibp-clean-hero,.connect-section,.resource-delivery-panel,.news-implementation-panel,.pdq-brochure-panel,.infographic-panel{grid-template-columns:1fr!important}
  h1{font-size:clamp(40px,11vw,64px);line-height:1;letter-spacing:-.045em}
  .subpage-hero p,.hero p{font-size:18px}.eyebrow{max-width:100%;font-size:12px;line-height:1.35;white-space:normal}
  .hero-actions{gap:10px}.btn{min-height:46px;align-items:center;justify-content:center;text-align:center}
  .feature-grid,.download-grid,.ibp-programme-grid,.resources-intro-panel,.resource-grid,.lower-grid,.footer-grid,.form-grid,.controlled-news-grid,.news-feed-grid,.social-loop-fallback{grid-template-columns:1fr!important}
  .content-panel,.carousel-panel{padding:24px;border-radius:24px}
  .section-heading h2,.content-panel h2,.connect-copy h2{font-size:clamp(28px,8vw,40px)}
  .section-heading p,.section-kicker{font-size:13px}
  .ticker-track{animation-duration:34s}.ticker-track span{padding:11px 14px;font-size:14px}
  .level-steps{grid-template-columns:1fr!important;gap:14px}.level-step{text-align:left}
  .foundation-bullets{padding-left:18px}.advance-panel .feature-grid{grid-template-columns:1fr!important}.wide-route{white-space:normal!important}
  .ibp-programme-card{min-height:auto!important}.ibp-programme-card img{height:300px}.ibp-card-content{min-height:auto}
  .download-preview-wrap{height:170px}
  .resource-heading,.news-heading,.downloads-toolbar{display:flex;flex-direction:column;align-items:flex-start}
  .resource-stat strong{font-size:36px}.resource-course{min-height:auto}
  .controlled-news-slide{grid-template-columns:1fr!important}.controlled-news-image{min-height:240px}.controlled-news-content{padding:24px}.controlled-news-content h3{font-size:26px}
  .social-embed-target{padding:14px;min-height:360px}
  .animated-network-layer{opacity:.38}.animated-glow-layer{opacity:.45}
}

@media (max-width:640px){
  .nav,.content-panel,.carousel-panel,.connect-section,.site-footer,.subpage-hero,.hero{width:calc(100% - 22px)}
  .nav{margin-top:10px}.brand{gap:8px}.hero,.subpage-hero{margin-top:34px;margin-bottom:34px}
  h1{font-size:clamp(34px,12vw,50px)}.hero p,.subpage-hero p{font-size:16px;line-height:1.55}
  .hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn,.form-submit,.download-now-btn,.ibp-card-content .btn{width:100%}
  .cambridge-badge,.hero-badge-large{max-width:220px}
  .content-panel,.carousel-panel,.connect-section,.site-footer{padding:20px}
  .feature-grid article,.timeline-grid article,.download-card,.stat-card,.level-step,.resource-course{padding:20px;border-radius:20px}
  .content-panel h3,.feature-grid article h3{font-size:20px}
  .pill-grid{justify-content:center}.pill-grid span{width:100%;text-align:center}
  .connect-form input,.connect-form select,.connect-form textarea{padding:13px;border-radius:14px}
  .ibp-programme-card img{height:260px}.download-card-body h3{font-size:20px}.footer-bottom{line-height:1.5}
}

@media (max-width:420px){
  .brand-text{font-size:18px}.brand-logo{width:32px;height:32px}.mobile-menu-toggle{width:42px;height:42px}
  h1{font-size:clamp(31px,13vw,44px)}.eyebrow{padding:9px 12px}.ticker-track span{font-size:13px}
  .controlled-news-image{min-height:200px}.resource-stat{padding:20px}
}
@media (hover:none){.nav-links a:hover,.btn:hover,.download-now-btn:hover,.social-buttons a:hover{transform:none}}


/* V26 download title alignment */
.centered-download-content{
  text-align:center;
  align-items:center;
}
.centered-download-content span{
  display:block;
  width:100%;
  text-align:center;
}
.centered-download-content h3{
  width:100%;
  text-align:center;
}
.centered-download-content .download-now-btn{
  margin-left:auto;
  margin-right:auto;
}

/* V28 production refinements: fixed scroll controls */
.scroll-tools{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:90;
  display:flex;
  flex-direction:column;
  gap:10px;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .2s ease,transform .2s ease;
}
.scroll-tools.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.scroll-tool{
  width:44px;
  height:44px;
  border:1px solid rgba(116,229,255,.35);
  border-radius:999px;
  background:rgba(3,16,31,.84);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 16px 45px rgba(0,0,0,.32);
  backdrop-filter:blur(16px);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.scroll-tool:hover,.scroll-tool:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(116,229,255,.75);
  background:rgba(10,34,58,.92);
  outline:none;
}
@media (max-width:640px){
  .scroll-tools{right:12px;bottom:12px;gap:8px}
  .scroll-tool{width:40px;height:40px;font-size:18px}
}

/* V30 Online Resources controlled refinement */
.v30-resources{
  scroll-behavior:smooth;
}
.v30-resource-hero p{
  max-width:940px;
}
.v30-stats-panel{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.v30-stat-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.v30-stat-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 30% 0%, rgba(116,229,255,.18), transparent 42%);
  opacity:.85;
  z-index:-1;
}
.v30-stat-card strong{
  letter-spacing:-.035em;
}
.v30-pathway-panel{
  position:relative;
  overflow:hidden;
}
.v30-pathway-panel::after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:-120px;
  top:-140px;
  background:radial-gradient(circle, rgba(116,229,255,.16), transparent 68%);
  pointer-events:none;
}
.v30-pathway-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:14px;
  align-items:stretch;
}
.v30-pathway-step{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:22px;
  min-height:150px;
  border:1px solid rgba(116,229,255,.18);
  border-radius:24px;
  background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
  color:#f7fcff;
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.v30-pathway-step:hover,
.v30-pathway-step:focus-visible{
  transform:translateY(-4px);
  border-color:rgba(116,229,255,.45);
  background:linear-gradient(145deg, rgba(116,229,255,.13), rgba(255,255,255,.045));
  box-shadow:0 22px 55px rgba(0,0,0,.24);
  outline:none;
}
.v30-pathway-step span{
  width:max-content;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(116,229,255,.13);
  border:1px solid rgba(116,229,255,.22);
  color:var(--blue-bright);
  font-size:12px;
  font-weight:900;
}
.v30-pathway-step strong{
  font-size:21px;
  line-height:1.15;
}
.v30-pathway-step em{
  margin-top:auto;
  color:#d8eff8;
  font-style:normal;
  font-weight:800;
  font-size:13px;
}
.v30-pathway-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue-bright);
  font-size:24px;
  font-weight:900;
  opacity:.8;
}
.v30-filter-panel{
  background:linear-gradient(145deg, rgba(116,229,255,.08), rgba(255,255,255,.04));
}
.v30-soft-cta{
  white-space:nowrap;
}
.v30-resource-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:10px;
}
.v30-resource-tabs a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 15px;
  border:1px solid rgba(116,229,255,.20);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#eafbff;
  text-decoration:none;
  font-weight:900;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.v30-resource-tabs a:hover,
.v30-resource-tabs a:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(116,229,255,.48);
  background:rgba(116,229,255,.12);
  outline:none;
}
.v30-resource-tabs span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(116,229,255,.16);
  color:var(--blue-bright);
  font-size:12px;
}
.v30-catalogue-section{
  position:relative;
  overflow:hidden;
}
.v30-catalogue-section::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  opacity:.85;
  background:var(--blue-bright);
}
.v30-resource-grid .resource-course{
  position:relative;
  overflow:hidden;
  transform:translateY(0);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.v30-resource-grid .resource-course::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-70px;
  bottom:-70px;
  border-radius:999px;
  background:rgba(116,229,255,.10);
  transition:transform .2s ease,opacity .2s ease;
}
.v30-resource-grid .resource-course:hover{
  transform:translateY(-5px);
  border-color:rgba(116,229,255,.42);
  background:linear-gradient(145deg, rgba(116,229,255,.14), rgba(255,255,255,.055));
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}
.v30-resource-grid .resource-course:hover::after{
  transform:scale(1.2);
}
.primary-stage.v30-catalogue-section::before,
.v30-pathway-step.primary-stage span{
  background:#72cfff;
}
.lower-stage.v30-catalogue-section::before,
.v30-pathway-step.lower-stage span{
  background:#45e0c4;
}
.igcse-stage.v30-catalogue-section::before,
.v30-pathway-step.igcse-stage span{
  background:#74e5ff;
}
.as-stage.v30-catalogue-section::before,
.v30-pathway-step.as-stage span{
  background:#f4c95d;
}
.v30-pathway-step.primary-stage span,
.v30-pathway-step.lower-stage span,
.v30-pathway-step.igcse-stage span,
.v30-pathway-step.as-stage span{
  color:#03101f;
  border-color:rgba(255,255,255,.35);
}
.v30-delivery-panel{
  background:linear-gradient(145deg, rgba(116,229,255,.11), rgba(255,255,255,.045));
}
.v30-delivery-actions{
  margin-top:22px;
}
.v30-delivery-points span{
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.v30-delivery-points span:hover{
  transform:translateY(-3px);
  border-color:rgba(116,229,255,.42);
  background:rgba(116,229,255,.14);
}
.v30-reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .5s ease,transform .5s ease;
}
.v30-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (max-width:1100px){
  .v30-stats-panel{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .v30-pathway-flow{
    grid-template-columns:1fr;
  }
  .v30-pathway-arrow{
    transform:rotate(90deg);
    min-height:18px;
  }
}
@media (max-width:640px){
  .v30-stats-panel{
    grid-template-columns:1fr;
  }
  .v30-resource-tabs a{
    width:100%;
    justify-content:space-between;
  }
  .v30-pathway-step{
    min-height:auto;
    padding:20px;
  }
  .v30-soft-cta{
    width:100%;
  }
}
@media (prefers-reduced-motion:reduce){
  .v30-reveal,
  .v30-resource-grid .resource-course,
  .v30-pathway-step,
  .v30-resource-tabs a{
    transition:none;
  }
  .v30-reveal{
    opacity:1;
    transform:none;
  }
}

/* V31 final production polish: institutional trust, sticky CTA, OG-ready layout refinements */
.v31-trust-strip{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:28px;
  align-items:start;
  background:linear-gradient(145deg, rgba(116,229,255,.105), rgba(255,255,255,.045));
}
.v31-trust-strip::before{
  content:"";
  position:absolute;
  inset:auto -90px -120px auto;
  width:360px;
  height:360px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(116,229,255,.18), transparent 68%);
  pointer-events:none;
}
.v31-trust-copy{position:relative;z-index:1;}
.v31-trust-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.v31-trust-grid article,
.v31-model-grid article,
.v31-institution-card{
  border:1px solid rgba(116,229,255,.18);
  border-radius:24px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 0 28px rgba(116,229,255,.035);
}
.v31-trust-grid article{padding:20px;}
.v31-trust-grid span,
.v31-model-grid span{
  display:inline-flex;
  margin-bottom:12px;
  color:var(--blue-bright);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:900;
}
.v31-trust-grid strong{
  display:block;
  color:#f7fcff;
  font-size:18px;
  line-height:1.22;
  margin-bottom:8px;
}
.v31-trust-grid p{margin:0;font-size:14px;line-height:1.55;}
.v31-trust-actions{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  position:relative;
  z-index:1;
}
.v31-model-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:22px;
}
.v31-model-grid article{padding:26px;}
.v31-model-grid h3{font-size:25px;line-height:1.16;}
.v31-model-grid ul{padding-left:20px;margin-bottom:0;}
.v31-feature-grid article,
.v31-implementation-grid article{
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.v31-feature-grid article:hover,
.v31-implementation-grid article:hover,
.v31-trust-grid article:hover,
.v31-model-grid article:hover{
  transform:translateY(-4px);
  border-color:rgba(116,229,255,.42);
  background:linear-gradient(145deg, rgba(116,229,255,.12), rgba(255,255,255,.055));
  box-shadow:0 20px 50px rgba(0,0,0,.20);
}
.v31-floating-cta{
  position:fixed;
  right:86px;
  bottom:18px;
  z-index:40;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 17px;
  border-radius:999px;
  border:1px solid rgba(132,237,255,.56);
  background:linear-gradient(135deg, rgba(132,237,255,.96), rgba(45,157,255,.96));
  color:#001525;
  text-decoration:none;
  font-weight:950;
  box-shadow:0 18px 46px rgba(0,0,0,.32),0 0 26px rgba(64,190,255,.28);
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease;
}
.v31-floating-cta.is-visible{opacity:1;pointer-events:auto;transform:translateY(0);}
.v31-floating-cta:hover,.v31-floating-cta:focus-visible{box-shadow:0 22px 56px rgba(0,0,0,.38),0 0 34px rgba(64,190,255,.44);outline:none;}
.v31-floating-cta span{font-size:18px;line-height:1;}
.v31-reveal{opacity:0;transform:translateY(18px);transition:opacity .54s ease,transform .54s ease;}
.v31-reveal.is-visible{opacity:1;transform:translateY(0);}
@media (max-width:1100px){
  .nav-links{gap:16px;font-size:13px;}
  .v31-trust-strip{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .v31-model-grid,.v31-trust-grid{grid-template-columns:1fr;}
  .v31-floating-cta{right:74px;bottom:12px;padding:12px 14px;font-size:14px;}
}
@media (max-width:640px){
  .v31-trust-actions .btn{width:100%;justify-content:center;text-align:center;}
  .v31-floating-cta{left:12px;right:74px;justify-content:center;}
  .v31-floating-cta span{display:none;}
}
@media (max-width:380px){
  .v31-floating-cta{font-size:13px;padding:11px 12px;}
}
@media (prefers-reduced-motion:reduce){
  .v31-reveal,.v31-feature-grid article,.v31-implementation-grid article,.v31-trust-grid article,.v31-model-grid article,.v31-floating-cta{transition:none;}
  .v31-reveal{opacity:1;transform:none;}
}
