:root{
  --navy:#06192c;
  --navy-2:#041120;
  --navy-black:#020914;
  --deep-navy:#041120;
  --usata-navy:#06192c;
  --sky-blue:#53b9f2;
  --soft-sky:#9ed8ff;
  --cream:#f6f1e7;
  --cream-2:#fbf7ef;
  --ink:#081827;
  --muted:#66727d;
  --gold:#d6a24e;
  --gold-2:#e7bd6b;
  --line:rgba(214,162,78,.38);
  --serif:'Playfair Display', Georgia, serif;
  --sans:'Inter', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--navy-2)}
body{margin:0;background:var(--navy-2);color:#fff;font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
p,h1,h2,h3{margin-top:0}
p{line-height:1.65}

.loader{position:fixed;inset:0;background:var(--navy-2);z-index:999;display:grid;place-items:center;gap:16px;transition:.45s ease;animation:loaderFallbackHide .45s ease 3s forwards}
.loader.hidden{opacity:0;visibility:hidden;animation:none}.loader-mark{width:46px;height:46px;border:1px solid var(--gold);border-top-color:transparent;border-radius:50%;animation:spin 1.2s linear infinite}.loader span{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#d9c49f}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loaderFallbackHide{to{opacity:0;visibility:hidden;pointer-events:none}}

.site-header{position:fixed;top:0;left:0;right:0;height:86px;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:0 56px;background:rgba(4,17,32,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:height .28s ease, background .28s ease}
.site-header.scrolled{height:72px;background:rgba(4,17,32,.94)}
.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:200px;object-fit:contain}.main-nav{display:flex;gap:30px;align-items:center}.main-nav a,.nav-link{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#fff;opacity:.96}.nav-actions{display:flex;align-items:center;gap:18px}.menu{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer;line-height:1}

/* Mobile drawer */
.mobile-drawer{
  position:fixed;
  top:0;right:0;
  width:min(320px,85vw);
  height:100%;
  background:#04111f;
  z-index:1000;
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.mobile-drawer.drawer-open{
  transform:translateX(0);
}
.mobile-drawer-inner{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:28px 32px 48px;
}
.mobile-drawer-close{
  align-self:flex-end;
  background:transparent;
  border:0;
  color:#fff;
  font-size:22px;
  cursor:pointer;
  line-height:1;
  padding:4px;
  margin-bottom:40px;
  opacity:.7;
}
.mobile-drawer-close:hover{opacity:1;}
.mobile-nav{
  display:flex;
  flex-direction:column;
  gap:0;
}
.mobile-nav a{
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
  font-weight:800;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  opacity:.85;
  transition:opacity .15s, color .15s;
}
.mobile-nav a:first-child{border-top:1px solid rgba(255,255,255,.08);}
.mobile-nav a:hover{opacity:1;color:var(--gold-2);}
.mobile-drawer-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:999;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}
.mobile-drawer-backdrop.backdrop-visible{
  opacity:1;
  pointer-events:auto;
}.btn{height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 24px;border:1px solid var(--line);text-transform:uppercase;font-size:11px;letter-spacing:.11em;font-weight:900;white-space:nowrap}.btn.small{height:44px;padding-inline:22px}.btn-gold{background:linear-gradient(135deg,#e5ba67,#b87d3e);border-color:transparent;color:#06182b}.btn-outline{background:rgba(4,17,31,.22);color:#fff;border-color:rgba(231,189,107,.55)}.text-link{display:inline-flex;margin-top:26px;color:var(--gold-2);text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:900}.text-link.dark{color:#9f6b32}

.section{position:relative;overflow:hidden}.content{width:min(1240px,calc(100% - 112px));margin:0 auto;position:relative;z-index:2}.dark-section{background:var(--navy-2);color:#fff}.light-section{background:var(--cream-2);color:var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:11px;color:var(--gold-2);margin:0 0 18px}.eyebrow.amber{color:#a96e34}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h3{font-weight:600}.lead{font-size:16px;color:#5f6974;max-width:470px}

.hero{position:relative;height:auto;min-height:560px;padding-top:86px;padding-bottom:80px;overflow:hidden}.hero-bg{position:absolute;inset:86px 0 0 0;background:url('hero-africa-network.png') center right/cover no-repeat;transform:scale(1.02);will-change:transform}.hero-overlay{position:absolute;inset:86px 0 0 0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,17,32,.98) 0%,rgba(4,17,32,.90) 28%,rgba(6,25,44,.68) 48%,rgba(6,25,44,.24) 68%,rgba(6,25,44,.04) 100%),linear-gradient(180deg,rgba(4,17,32,.12) 0%,rgba(4,17,32,.78) 100%)}.hero-gradient{position:absolute;inset:86px 0 0 0;z-index:2;pointer-events:none;opacity:.54;overflow:hidden;background:radial-gradient(circle at 24% 34%,rgba(83,185,242,.34),transparent 30%),radial-gradient(circle at 52% 48%,rgba(231,189,107,.24),transparent 22%),radial-gradient(circle at 70% 26%,rgba(83,185,242,.24),transparent 32%),linear-gradient(115deg,rgba(2,9,20,0) 0%,rgba(83,185,242,.22) 42%,rgba(231,189,107,.18) 52%,rgba(83,185,242,.18) 62%,rgba(2,9,20,0) 100%);background-size:220% 220%;animation:heroGradientDrift 10s linear infinite;mix-blend-mode:screen}.hero-gradient::before{content:"";position:absolute;inset:-24%;background:linear-gradient(112deg,transparent 18%,rgba(83,185,242,.22) 39%,rgba(231,189,107,.18) 50%,rgba(158,216,255,.20) 61%,transparent 82%);filter:blur(20px);transform:translateX(-18%);animation:heroGradientSweep 12s linear infinite;will-change:transform}.hero-inner{position:relative;z-index:3;width:min(1240px,calc(100% - 112px));height:100%;margin:0 auto}.hero-content{width:min(590px,46vw);padding-top:104px}.hero h1{font-size:clamp(50px,4.7vw,76px);line-height:1.04;margin:0 0 24px}.hero h1 em{font-style:normal;color:var(--gold-2)}.hero-tagline{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--gold-2);margin:0 0 14px}.hero-copy{max-width:520px;margin-bottom:0;font-size:16px;color:#d9e3ea}.hero-copy-detail{font-size:14px;color:#8a9ba8;margin-top:12px;line-height:1.75}.hero-actions{display:flex;gap:16px;margin-top:34px}.scroll-cue{position:absolute;left:56px;bottom:34px;z-index:3;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#aab8c2}

@keyframes heroGradientDrift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes heroGradientSweep{0%{transform:translateX(-18%) translateY(2%)}50%{transform:translateX(18%) translateY(-2%)}100%{transform:translateX(-18%) translateY(2%)}}

.platform-section{padding:82px 0 76px}.platform-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(240px,.62fr) minmax(520px,1.75fr);gap:44px;align-items:start}.section-title h2{font-size:clamp(36px,3.6vw,58px);line-height:1.03;margin-bottom:6px}.section-title-sub{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#8a9ba8;margin:0 0 28px}.platform-mission{font-size:15px;color:#4e5c67;line-height:1.7;margin:16px 0;padding:16px 0 0;border-top:1px solid rgba(17,35,50,.1)}.platform-mission strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#a06b34;margin-bottom:6px}

/* Globe */
.globe-wrap{
  position:relative;
  width:180px;
  height:180px;
}
.globe-sphere{
  width:180px;
  height:180px;
  border-radius:50%;
  overflow:hidden;
  position:relative;
  background:radial-gradient(circle at 36% 32%, #2080b8 0%, #0d4a74 44%, #051626 100%);
  box-shadow:
    inset -22px -12px 48px rgba(0,0,0,.55),
    inset 8px 8px 20px rgba(255,255,255,.06),
    0 12px 42px rgba(0,0,0,.28);
}
/* Latitude grid lines */
.globe-sphere::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 15%, rgba(255,255,255,.05) 15%, rgba(255,255,255,.05) 16%),
    repeating-linear-gradient(90deg, transparent, transparent 15%, rgba(255,255,255,.04) 15%, rgba(255,255,255,.04) 16%);
  pointer-events:none;
}
/* Specular highlight */
.globe-sphere::after{
  content:'';
  position:absolute;
  width:42%;
  height:38%;
  top:10%;
  left:14%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.18), transparent 70%);
  pointer-events:none;
}
/* Africa map image inside globe */
.globe-africa-svg{
  position:absolute;
  top:50%;
  left:50%;
  width:88%;
  height:auto;
  transform:translate(-50%,-46%);
  opacity:0;
  will-change:transform,opacity;
}
/* Triggered by JS when globe scrolls into view */
.globe-wrap.globe-animated .globe-africa-svg{
  animation:
    africaLand 2.6s cubic-bezier(0.22,0.61,0.36,1) forwards,
    africaDrift 12s ease-in-out 2.6s infinite;
}
@keyframes africaLand{
  0%  { transform:translate(110%,-46%); opacity:0; }
  18% { opacity:1; }
  100%{ transform:translate(-50%,-46%); opacity:1; }
}
@keyframes africaDrift{
  0%,100%{ transform:translate(-50%,-46%); }
  40%    { transform:translate(-44%,-48%) scale(1.04); }
  70%    { transform:translate(-56%,-44%) scale(0.97); }
}
/* Subtle gold pulse after Africa lands */
.globe-wrap.globe-animated .globe-sphere{
  animation:globeGlow 3.5s ease-in-out 2.6s infinite;
}
@keyframes globeGlow{
  0%,100%{ box-shadow:inset -22px -12px 48px rgba(0,0,0,.55),inset 8px 8px 20px rgba(255,255,255,.06),0 12px 42px rgba(0,0,0,.28); }
  50%    { box-shadow:inset -22px -12px 48px rgba(0,0,0,.55),inset 8px 8px 20px rgba(255,255,255,.06),0 16px 52px rgba(201,149,72,.30); }
}
/* Orbit ring around globe */
.globe-ring{
  position:absolute;
  top:50%;
  left:50%;
  width:220px;
  height:220px;
  margin:-110px 0 0 -110px;
  border-radius:50%;
  border:1px solid rgba(201,149,72,.22);
  pointer-events:none;
  animation:orbitSpin 18s linear infinite;
}
.globe-ring::before{
  content:'';
  position:absolute;
  top:-4px;
  left:50%;
  margin-left:-4px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(201,149,72,.75);
  box-shadow:0 0 8px rgba(201,149,72,.6);
}
@keyframes orbitSpin{
  from{ transform:rotate(0deg); }
  to  { transform:rotate(360deg); }
}.platform-pillars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(255,255,255,.62);border:1px solid rgba(17,35,50,.10)}.platform-pillars article{padding:26px 20px;min-height:200px;border-right:1px solid rgba(17,35,50,.12)}.platform-pillars article:last-child{border-right:0}.platform-pillars span{display:block;color:var(--gold);font-family:var(--serif);font-size:24px;margin-bottom:16px}.platform-pillars h3{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.13;margin-bottom:12px}.platform-pillars p{font-size:12px;color:#5c6872;margin:0}

.structure-section{padding:116px 0 96px;min-height:680px;background:linear-gradient(90deg,rgba(4,17,31,.96),rgba(4,17,31,.76) 52%,rgba(4,17,31,.38)),url('city-highways-dusk.png') center/cover no-repeat fixed}.advisory-bg,.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.60;filter:saturate(.95) contrast(1.04)}.section-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,31,.98),rgba(4,17,31,.78) 52%,rgba(4,17,31,.34)),linear-gradient(180deg,rgba(4,17,31,.86),rgba(4,17,31,.83))}.structure-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 32px;margin-bottom:48px}.structure-header h2{max-width:670px;font-size:clamp(44px,4.7vw,72px);line-height:1;margin-bottom:0;flex:1 1 auto}.structure-holding-tag{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:rgba(201,149,72,.7);white-space:nowrap;opacity:0;transform:translateX(40px);transition:opacity .6s ease,transform .6s ease;flex-shrink:0}.structure-holding-tag.tag-visible{opacity:1;transform:translateX(0)}

/* Structure card animations */
.structure-card-item{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .5s ease, transform .5s ease, background .25s ease, border-color .25s ease;
}
.structure-card-item.card-visible{
  opacity:1;
  transform:translateY(0);
}
.structure-card-item:hover{
  background:rgba(201,149,72,.10);
  border-color:rgba(201,149,72,.5);
}.structure-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.structure-cards article{background:rgba(5,19,34,.78);border:1px solid rgba(201,149,72,.25);padding:30px;min-height:370px;backdrop-filter:blur(8px)}.number{display:block;font-family:var(--serif);font-size:34px;color:var(--gold-2);margin-bottom:14px}.structure-cards h3{font-family:var(--serif);font-weight:500;font-size:27px;line-height:1.1;margin-bottom:14px}.location{text-transform:uppercase;letter-spacing:.13em;color:var(--gold-2);font-size:11px;font-weight:900}.structure-cards p,.structure-cards li{font-size:13px;color:#cbd6df}.structure-cards ul{padding-left:16px;line-height:1.75;margin-bottom:0}

.focus-section{padding:98px 0}.focus-grid{display:grid;grid-template-columns:.9fr .85fr .55fr;gap:48px;align-items:center}.focus-grid h2{font-size:clamp(38px,4vw,62px);line-height:1.02;margin-bottom:24px}.focus-grid p{color:#5b6771}.map-card{background:#071a2d;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.16)}.focus-card{background:#071a2d;color:#fff;border:1px solid var(--line);padding:30px}.focus-card h3{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.05}.focus-card div{padding:16px 0;border-top:1px solid rgba(255,255,255,.11)}.focus-card strong{display:block;color:var(--gold-2)}.focus-card span{font-size:12px;color:#cbd6df}

.advisory-section{padding:108px 0;min-height:590px}.advisory-grid{display:grid;grid-template-columns:.85fr 1fr;gap:70px;align-items:center}.advisory-grid h2{font-size:clamp(42px,4.3vw,68px);line-height:1.02;margin-bottom:22px}.advisory-grid p{max-width:520px;color:#d3dde4}.model-grid{display:grid;grid-template-columns:repeat(2,1fr)}.model-grid article{border:1px solid rgba(255,255,255,.14);background:rgba(5,19,34,.62);min-height:158px;padding:26px}.model-grid span{font-family:var(--serif);font-size:28px;color:var(--gold-2)}.model-grid h3{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.08;margin-bottom:0}

.intelligence-section{padding:104px 0}.intelligence-grid{display:grid;grid-template-columns:.82fr 1.1fr;gap:74px;align-items:center}.intelligence-grid h2{font-size:clamp(40px,4.3vw,66px);line-height:1.02;margin-bottom:24px}.intelligence-grid p{color:#5b6771}.dashboard-img{border-radius:8px;box-shadow:0 28px 84px rgba(0,0,0,.24)}
.intelligence-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:18px 0 24px;padding:0;list-style:none}.focus-expansion-label{text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:900;color:#a06b34;margin:8px 0 0}.focus-expansion-list{margin-top:10px;opacity:.8}
.intelligence-list li{position:relative;padding-left:18px;color:#1a2a38;font-size:14px;line-height:1.5}
.intelligence-list li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--gold)}


.metrics-strip{display:grid;grid-template-columns:repeat(5,1fr);padding:28px 56px;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08)}.metrics-strip div{padding:0 26px;border-right:1px solid rgba(10,30,45,.12)}.metrics-strip div:last-child{border-right:0}.metrics-strip strong{font-family:var(--serif);font-size:24px;font-weight:500;display:block;line-height:1.15}.metrics-strip span{font-size:12px;color:#66717a}

.insights-section{padding:92px 0}.insights-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:62px}.insights-grid h2{font-size:clamp(38px,4vw,62px);line-height:1.02;margin-bottom:22px}.insights-grid p{color:#cbd6df}.insight-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.insight-cards article{border:1px solid rgba(201,149,72,.22);background:rgba(255,255,255,.035);min-height:405px;overflow:hidden}.insight-cards img{height:195px;width:100%;object-fit:cover}.insight-cards span{display:block;margin:20px 20px 8px;color:var(--gold-2);text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:10px}.insight-cards h3{font-family:var(--serif);font-size:25px;line-height:1.1;font-weight:500;margin:0 20px 12px}.insight-cards p{margin:0 20px;font-size:13px}

.cta-section{min-height:520px;padding:110px 0}.cta-bg{opacity:.66}.cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,31,.96),rgba(4,17,31,.58) 58%,rgba(4,17,31,.22))}.cta-content{display:grid;grid-template-columns:1fr .8fr;gap:78px;align-items:end}.cta-content h2{font-size:clamp(44px,4.6vw,72px);line-height:1;margin-bottom:0}.cta-content p{color:#d6e0e7}

.site-footer{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:58px;padding:68px 56px;border-top:1px solid rgba(255,255,255,.08)}.site-footer img{width:180px;margin-bottom:20px}.site-footer p,.site-footer a{color:#b9c4cc;font-size:13px;line-height:1.7}.site-footer h4{text-transform:uppercase;color:var(--gold);letter-spacing:.14em;font-size:11px}.site-footer a{display:block;margin:9px 0}.socials{display:flex;gap:12px;margin-top:18px}.socials a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:1250px){.main-nav{gap:20px}.platform-grid{grid-template-columns:1fr}.platform-pillars{grid-template-columns:repeat(5,minmax(150px,1fr));overflow:auto}.hero-content{width:min(590px,50vw)}}
@media(max-width:1100px){.main-nav{display:none}.site-header{padding:0 24px;height:110px}.brand img{width:300px;height:80px;object-fit:contain}.nav-link{display:none}.hero{height:auto;min-height:740px}.hero-inner{width:calc(100% - 56px)}.hero-content{width:auto;max-width:650px;padding-top:118px}.hero h1{font-size:clamp(44px,11vw,64px)}.content{width:calc(100% - 56px)}.focus-grid,.advisory-grid,.intelligence-grid,.insights-grid,.cta-content,.site-footer{grid-template-columns:1fr}.structure-cards,.model-grid,.metrics-strip,.insight-cards{grid-template-columns:1fr}.metrics-strip div{border-right:0;border-bottom:1px solid rgba(10,30,45,.12);padding:18px 0}.hero-actions{flex-direction:column;align-items:flex-start}.site-footer{padding:46px 28px}}

/* --------------------------------------------------
   Responsive / screenshot stability refinement pass
   Fixes 13-inch laptop compression and full-page capture blanks.
-------------------------------------------------- */

/* Content should never disappear if the browser captures a full page without scrolling. */
.reveal,
.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
}

/* Use motion as enhancement only; do not hide sections by default. */
.motion-ready .reveal {
  transition: opacity .55s ease, transform .55s ease;
}

@media (max-width: 1440px) {
  .site-header {
    height: 76px;
    padding: 0 34px;
  }

  .site-header.scrolled {
    height: 66px;
  }

  .brand img {
    width: 138px;
    max-height: 50px;
  }

  .main-nav {
    gap: 22px;
  }

  .main-nav a,
  .nav-link {
    font-size: 10px;
    letter-spacing: .11em;
  }

  .btn.small {
    height: 40px;
    padding-inline: 18px;
  }

  .content,
  .hero-inner {
    width: min(1120px, calc(100% - 72px));
  }

  .hero {
    height: 640px;
    min-height: 620px;
    padding-top: 76px;
  }

  .hero-bg,
  .hero-overlay,
  .hero-gradient {
    inset: 76px 0 0 0;
  }

  .hero-content {
    width: min(540px, 46vw);
    padding-top: 76px;
  }

  .hero h1 {
    font-size: clamp(46px, 4.15vw, 64px);
    line-height: 1.02;
    max-width: 620px;
  }

  .hero-copy {
    max-width: 470px;
    font-size: 15px;
  }

  .platform-section,
  .focus-section,
  .intelligence-section,
  .insights-section {
    padding-top: 78px;
    padding-bottom: 78px;
  }

  .structure-section,
  .advisory-section {
    min-height: auto;
    padding-top: 88px;
    padding-bottom: 88px;
  }

  .platform-grid {
    grid-template-columns: .75fr .65fr 1.55fr;
    gap: 30px;
  }

  .platform-pillars article {
    min-height: 180px;
    padding: 22px 16px;
  }

  .platform-pillars h3 {
    font-size: 18px;
  }

  .platform-pillars p {
    font-size: 11px;
    line-height: 1.55;
  }

  .structure-section h2,
  .focus-grid h2,
  .advisory-grid h2,
  .intelligence-grid h2,
  .insights-grid h2,
  .cta-content h2 {
    max-width: 720px;
  }
}

@media (max-width: 1180px) {
  .main-nav {
    display: none;
  }

  .site-header {
    padding: 0 24px;
  }

  .hero {
    height: auto;
    min-height: 660px;
  }

  .hero-content {
    width: min(620px, 78vw);
    padding-top: 96px;
  }

  .hero h1 {
    font-size: clamp(42px, 8vw, 62px);
  }

  .platform-grid,
  .focus-grid,
  .advisory-grid,
  .intelligence-grid,
  .insights-grid,
  .cta-content {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .platform-pillars {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    overflow-x: auto;
  }

  .structure-cards {
    grid-template-columns: 1fr;
  }

  .section {
    min-height: auto !important;
  }
}

@media (max-width: 760px) {
  .content,
  .hero-inner {
    width: calc(100% - 40px);
  }

  .site-header {
    height: 68px;
  }

  .brand img {
    width: 118px;
  }

  .nav-actions .btn,
  .nav-link {
    display: none;
  }

  .hero {
    min-height: 620px;
    padding-top: 68px;
  }

  .hero-bg,
  .hero-overlay,
  .hero-gradient {
    inset: 68px 0 0 0;
  }

  .hero-content {
    width: 100%;
    padding-top: 78px;
  }

  .hero h1 {
    font-size: clamp(38px, 12vw, 54px);
  }

  .hero-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .platform-pillars,
  .structure-cards,
  .model-grid,
  .metrics-strip,
  .insight-cards {
    grid-template-columns: 1fr;
  }
}


@media (max-width: 760px) {
  .hero-gradient {
    opacity: .34;
  }

  .hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(4, 17, 32, .98) 0%,
        rgba(4, 17, 32, .92) 52%,
        rgba(4, 17, 32, .68) 100%
      ),
      linear-gradient(
        180deg,
        rgba(4, 17, 32, .18) 0%,
        rgba(4, 17, 32, .84) 100%
      );
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-gradient,
  .hero-gradient::before {
    animation: none;
  }
}


/* --------------------------------------------------
   Final hero containment + desktop/laptop typography fix
   Prevents hero text from bleeding into the next light section.
-------------------------------------------------- */
.hero{
  height: auto;
  min-height: 560px;
  overflow: hidden;
}
.hero-inner{
  display: flex;
  align-items: flex-start;
}
.hero-content{
  width: min(640px, 44vw);
  padding-top: 92px;
  padding-bottom: 80px;
}
.hero h1{
  font-size: clamp(44px, 3.85vw, 64px);
  line-height: .98;
  max-width: 680px;
  margin-bottom: 22px;
}
.hero-copy{
  max-width: 520px;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(231,239,245,.86);
}
.hero-actions{
  margin-top: 28px;
}
.platform-section{
  position: relative;
  z-index: 3;
}

@media (max-width: 1440px){
  .hero{
    height: 760px;
    min-height: 760px;
  }
  .hero-content{
    width: min(560px, 47vw);
    padding-top: 84px;
  }
  .hero h1{
    font-size: clamp(42px, 3.55vw, 56px);
    line-height: 1.0;
  }
  .hero-copy{
    max-width: 470px;
    font-size: 14px;
  }
}

@media (max-width: 1180px){
  .hero{
    min-height: 760px;
    height: auto;
  }
  .hero-inner{
    min-height: 760px;
  }
  .hero-content{
    width: min(620px, 82vw);
    padding-top: 110px;
  }
  .hero h1{
    font-size: clamp(40px, 6.6vw, 58px);
    line-height: 1.02;
  }
}

@media (max-width: 760px){
  .hero{
    min-height: 700px;
  }
  .hero-inner{
    min-height: 700px;
  }
  .hero-content{
    padding-top: 92px;
  }
  .hero h1{
    font-size: clamp(36px, 10vw, 48px);
    line-height: 1.02;
  }
  .hero-copy{
    font-size: 13px;
  }
}

/* --------------------------------------------------
   Integrated Platform section alignment fix
   Prevents pillar headings from cramping/overflowing in the cards.
-------------------------------------------------- */
.platform-section{
  padding: 94px 0 96px;
}

.platform-grid{
  grid-template-columns: minmax(300px,.72fr) minmax(420px,1fr);
  grid-template-areas:
    "title intro"
    "pillars pillars"
    "closing closing";
  column-gap: 88px;
  row-gap: 52px;
  align-items: start;
}

.platform-grid .section-title{grid-area:title;}
.platform-grid .lead{grid-area:intro; max-width: 520px; font-size: 17px; line-height: 1.75;}
.platform-pillars{grid-area:pillars; width:100%; grid-template-columns: repeat(5, minmax(0, 1fr));}
.platform-closing{grid-area:closing; font-size:15px; color:#5b6774; line-height:1.75; margin:0; font-weight:400; border-top:1px solid rgba(17,35,50,.08); padding-top:28px;}
.platform-pillars article{min-height: 210px; padding: 30px 24px; overflow-wrap: anywhere; transition: background 0.25s ease, border-color 0.25s ease;}

/* Pillar slide-in animation */
.pillar-item{
  opacity: 0;
  transform: translateX(48px);
  transition: opacity 0.45s ease, transform 0.45s ease, background 0.25s ease, border-color 0.25s ease;
}
.pillar-item.pillar-visible{
  opacity: 1;
  transform: translateX(0);
}
.pillar-item:hover{
  background: rgba(201,149,72,.10);
  border-color: rgba(201,149,72,.35);
  cursor: default;
}
.pillar-item:hover span{
  color: var(--gold-2);
}
.pillar-item:hover h3{
  color: #1a2530;
}
.platform-pillars h3{font-size: clamp(20px, 1.25vw, 24px); line-height: 1.12; max-width: 100%;}
.platform-pillars p{font-size: 13px; line-height: 1.6; max-width: 100%;}
.platform-pillars span{font-size: 27px; margin-bottom: 20px;}

@media (max-width: 1440px){
  .platform-grid{
    grid-template-columns: minmax(280px,.7fr) minmax(390px,1fr);
    column-gap: 64px;
    row-gap: 44px;
  }
  .platform-pillars article{padding: 26px 20px; min-height: 205px;}
  .platform-pillars h3{font-size: 20px;}
  .platform-pillars p{font-size: 12.5px;}
}

@media (max-width: 1180px){
  .platform-grid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "intro"
      "pillars"
      "closing";
    gap: 30px;
  }
  .platform-grid .lead{max-width: 680px;}
  .platform-pillars{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }
  .platform-pillars article{border-right: 1px solid rgba(17,35,50,.12); border-bottom: 1px solid rgba(17,35,50,.12);}
}

@media (max-width: 760px){
  .platform-section{padding: 70px 0;}
  .platform-pillars{grid-template-columns: 1fr;}
  .platform-pillars article{min-height: auto;}
}

/* --------------------------------------------------
   Protected administration and authentication workflow
   Reuses the public site's navy, cream, gold, and typography system.
-------------------------------------------------- */
.auth-page,
.admin-page{
  min-height:100vh;
  color:var(--ink);
  font-family:var(--sans);
}
.auth-page{
  display:grid;
  place-items:center;
  padding:28px;
  background:
    linear-gradient(135deg,rgba(4,17,32,.97),rgba(11,33,53,.90)),
    url('usata-logo.png') center/360px no-repeat;
}
.auth-shell{width:min(100%,460px);}
.auth-card{
  padding:42px;
  background:var(--cream-2);
  border-top:4px solid var(--gold);
  box-shadow:0 16px 55px rgba(0,0,0,.28);
}
.admin-brand img{
  width:164px;
  max-height:60px;
  margin-bottom:28px;
  object-fit:contain;
}
.auth-card h1,
.admin-content h1{
  margin:0 0 14px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:36px;
  font-weight:500;
}
.auth-card .lede,
.admin-content .lede{
  margin:0 0 25px;
  color:var(--muted);
  line-height:1.6;
}
.auth-form{display:grid;gap:17px;}
.auth-form label{
  display:grid;
  gap:8px;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
}
.auth-form input{
  width:100%;
  height:44px;
  padding:0 12px;
  border:1px solid #c9c8c3;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.auth-form input:focus{
  border-color:var(--gold);
  outline:2px solid rgba(214,162,78,.24);
  outline-offset:1px;
}
.auth-form button,
.primary-link{
  padding:14px 18px;
  border:0;
  background:linear-gradient(135deg,var(--gold-2),#b67d3e);
  color:var(--navy);
  cursor:pointer;
  font-family:var(--sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-align:center;
  text-transform:uppercase;
}
.subtle-link{
  display:inline-block;
  margin-top:22px;
  color:#8b612f;
  font-size:13px;
}
.primary-link{display:inline-block;margin-top:8px;}
.notice{
  margin:0 0 18px;
  padding:12px 14px;
  border-left:3px solid;
  font-size:13px;
  line-height:1.5;
}
.notice.error{border-color:#923d3d;background:#f4e2df;color:#642b2b;}
.notice.success{border-color:#2f6d55;background:#e2f0e8;color:#245440;}
.admin-page{background:#f3f0ea;}
.admin-header{
  display:flex;
  height:82px;
  align-items:center;
  justify-content:space-between;
  padding:0 max(24px,calc((100vw - 1120px)/2));
  border-bottom:2px solid var(--gold);
  background:var(--navy);
}
.admin-header .admin-brand img{width:140px;margin:0;}
.secondary-button{
  padding:11px 15px;
  border:1px solid rgba(231,189,107,.65);
  background:transparent;
  color:#fff;
  cursor:pointer;
  font-family:var(--sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.admin-content{width:min(1120px,calc(100% - 48px));margin:56px auto;}
.admin-content .panel{
  margin-top:38px;
  padding:25px;
  background:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.06);
}
.admin-content h2{
  margin-top:0;
  color:var(--ink);
  font-family:var(--serif);
  font-weight:500;
}
.table-scroll{overflow-x:auto;}
.admin-content table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;}
.admin-content th,
.admin-content td{padding:13px 10px;border-bottom:1px solid #e6e1d8;}
.admin-content th{
  color:#7d5b2e;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
@media(max-width:520px){
  .auth-card{padding:30px 24px;}
  .admin-content{margin-top:38px;}
  .auth-card h1,
  .admin-content h1{font-size:30px;}
}

/* Administration and transactional-email aligned design refinements */
.brand:empty::before{
  content:"USATA Group Inc.";
  color:var(--gold-2);
  font-family:var(--serif);
  font-size:24px;
  letter-spacing:-.03em;
}
.home-page .hero-bg{background:radial-gradient(circle at 78% 24%,rgba(214,162,78,.28),transparent 28%),radial-gradient(circle at 64% 72%,rgba(255,255,255,.10),transparent 24%),linear-gradient(135deg,#06192c,#041120 70%)}
/* Leadership page */
.lp-grid{display:flex;flex-direction:column;gap:0}
.lp-card{display:grid;grid-template-columns:260px 1fr;gap:52px;align-items:start;padding:56px 0;border-bottom:1px solid #e8e2d9}
.lp-card:last-child{border-bottom:none}
.lp-photo{width:220px;height:220px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 12px 40px rgba(0,0,0,.14)}
.lp-role{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:900;color:#a06b34;margin:0 0 8px}
.lp-name{font-family:var(--serif);font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.1;margin:0 0 20px;color:#1a2530}
.lp-bio-col p{color:#4e5c67;font-size:16px;line-height:1.75;margin:0 0 14px}
.lp-linkedin{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:700;color:#0a66c2;text-decoration:none;letter-spacing:.04em}
.lp-linkedin:hover{text-decoration:underline}
@media(max-width:760px){.lp-card{grid-template-columns:1fr;gap:24px}.lp-photo{width:140px;height:140px}}

.page-structure .hero-bg{background:url('city-highways-dusk.png') center/cover no-repeat}
.page-strategic-focus .hero-bg{background:url('corridor-map.png') center/cover no-repeat}
.page-leadership .hero-bg{background:url('hero-africa-network.png') center right/cover no-repeat}
.page-articles-media .hero-bg{background:url('capitol-at-dusk.png') center/cover no-repeat}
.home-page .hero-content{background:rgba(4,17,32,.58);border:1px solid rgba(214,162,78,.22);padding:44px;backdrop-filter:blur(10px)}
.home-page .brand img{width:158px}
.panel-dark{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border:1px solid rgba(214,162,78,.32);box-shadow:0 28px 84px rgba(0,0,0,.16)}
.panel-dark::after{content:"";position:absolute;inset:auto -10% -40% 48%;height:240px;background:radial-gradient(circle,rgba(214,162,78,.22),transparent 62%)}
.admin-hero{padding:42px;min-height:230px;display:flex;flex-direction:column;justify-content:center}.admin-hero h1{color:#fff;font-size:clamp(38px,5vw,62px);max-width:760px;line-height:1}.admin-hero .lede{color:#d6e0e7;max-width:720px;margin-bottom:0}.admin-header-actions{display:flex;align-items:center;gap:18px;color:#d6e0e7;font-size:13px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.panel-heading h2{margin-bottom:0}.split-heading{align-items:end}.admin-form,.filters{display:grid;gap:16px}.inline-form{grid-template-columns:minmax(240px,1fr) minmax(210px,.45fr) auto;align-items:end}.admin-form label,.filters label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:800}.admin-form input,.admin-form select,.filters select{height:44px;border:1px solid #d6cec0;background:#fff;color:var(--ink);font:inherit;padding:0 12px}.role-checkboxes{border:1px solid #d6cec0;background:#fff;margin:0;padding:12px;display:grid;gap:8px}.role-checkboxes legend{padding:0 6px;color:var(--ink);font-size:12px;font-weight:800}.role-checkboxes label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.role-checkboxes input{width:16px;height:16px;padding:0}.admin-form button,.filters button{height:44px;border:0;background:linear-gradient(135deg,var(--gold-2),#b67d3e);color:var(--navy);cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:0 18px}.filters{grid-template-columns:repeat(2,minmax(150px,1fr)) auto;align-items:end}.admin-content .panel{border:1px solid rgba(17,35,50,.08);box-shadow:0 18px 55px rgba(6,25,44,.08)}.admin-content td code{font-size:11px;color:#66727d;white-space:pre-wrap}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;background:#ede7dc;color:#62513c}.status-pill.active,.status-pill.accepted{background:#e2f0e8;color:#245440}.status-pill.disabled,.status-pill.revoked{background:#f4e2df;color:#642b2b}.status-pill.pending{background:#fff4d9;color:#7a531b}.status-pill.expired{background:#e7ebef;color:#4b5964}.table-action{display:inline-block;margin:2px}.danger-button{padding:11px 15px;border:1px solid #b85d50;background:#923d3d;color:#fff;cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.danger-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed}.admin-page .secondary-button{color:var(--navy);border-color:rgba(6,25,44,.25);background:#fff}.admin-header .secondary-button{color:#fff;border-color:rgba(231,189,107,.65);background:transparent}
@media(max-width:860px){.admin-header{height:auto;gap:18px;padding:18px 24px;align-items:flex-start;flex-direction:column}.admin-header-actions{align-items:flex-start;flex-direction:column}.inline-form,.filters{grid-template-columns:1fr}.panel-heading,.split-heading{display:block}.admin-hero{padding:30px}.home-page .hero-content{padding:30px}}


/* Core Layout Container */
/* Leadership sticky scroll */
.scroll-container{display:flex;position:relative;width:100%}
.leadership-image-column{width:50%;position:relative;overflow:visible}
.sticky-image-wrapper{position:sticky;top:86px;height:calc(100vh - 86px);display:flex;align-items:center;justify-content:center}
.sticky-image-wrapper img{width:min(540px,34vw);height:min(540px,34vw);object-fit:cover;border-radius:50%;transition:none}
.leadership-text-column{width:50%;padding:40px 0}
.leader-block{min-height:72vh;display:flex;flex-direction:column;justify-content:center;padding:0 10%;box-sizing:border-box}
.leader-block strong{display:block;font-size:2rem;font-family:var(--serif);color:var(--ink)}
.leader-block span{display:block;font-size:1.2rem;color:var(--muted);margin-bottom:16px}
.leader-block p{color:var(--muted);font-size:15px;max-width:420px}
#leadership.scroll-container{display:flex;overflow:visible !important;padding:0;border:none;min-height:145vh}
.leader-linkedin{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:12px;font-weight:700;color:#0a66c2;text-decoration:none;letter-spacing:.04em}
.leader-linkedin:hover{text-decoration:underline}
@media(max-width:900px){
  #leadership.scroll-container{display:block;min-height:auto;overflow:hidden !important}
  .leadership-image-column,.leadership-text-column{width:100%}
  .sticky-image-wrapper{position:relative;top:auto;height:auto;padding:48px 0 8px}
  .sticky-image-wrapper img{width:min(420px,72vw);height:min(420px,72vw)}
  .leader-block{min-height:auto;padding:34px 10% 54px}
  .leadership-text-column{padding:0}
}
/* CMS preview workflow */
.preview-page{background:#111827;}
.preview-toolbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:12px 24px;background:#101826;color:#fff;border-bottom:3px solid var(--gold);box-shadow:0 12px 34px rgba(0,0,0,.26)}
.preview-toolbar strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--gold-2)}
.preview-toolbar span{display:block;margin-top:3px;color:#d9e3ea;font-size:13px}.preview-viewports{display:flex;gap:8px;align-items:center}.preview-viewports a,.preview-back-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid rgba(231,189,107,.45);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:900}.preview-viewports a.active{background:var(--gold-2);color:var(--navy);border-color:transparent}.preview-back-link{background:rgba(255,255,255,.08)}
.preview-frame-wrap{padding-top:72px;min-height:100vh;display:flex;justify-content:center;background:repeating-linear-gradient(45deg,#111827,#111827 14px,#0d1420 14px,#0d1420 28px)}.preview-frame{width:100%;min-height:calc(100vh - 72px);background:var(--navy-2);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 24px 70px rgba(0,0,0,.38);overflow:hidden}.preview-viewport-desktop .preview-frame{max-width:1440px}.preview-viewport-tablet .preview-frame{max-width:768px}.preview-viewport-mobile .preview-frame{max-width:390px}.preview-frame .site-header{position:sticky}.preview-viewport-tablet .preview-frame .main-nav,.preview-viewport-mobile .preview-frame .main-nav,.preview-viewport-mobile .preview-frame .nav-link{display:none}.preview-viewport-mobile .preview-frame .site-header{padding:0 18px}.preview-viewport-mobile .preview-frame .brand img{width:132px}.preview-viewport-mobile .preview-frame .content,.preview-viewport-mobile .preview-frame .hero-inner{width:calc(100% - 36px)}.preview-viewport-mobile .preview-frame .hero-actions{flex-direction:column;align-items:flex-start}.public-article-section{padding:80px 0}.public-article-content{max-width:860px}.public-article-content h2{font-size:clamp(34px,4vw,56px)}.public-article-content p,.public-article-content li{color:#364655;font-size:17px}.public-article-hero{position:relative;height:520px;min-height:520px;overflow:hidden}
@media(max-width:760px){.preview-toolbar{position:static;align-items:flex-start;flex-direction:column}.preview-frame-wrap{padding-top:0}.preview-viewports{flex-wrap:wrap}}

/* Administration dashboard navigation and access card layout */
.admin-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:1 1 auto;
  margin:0 28px;
}
.admin-nav a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid transparent;
  color:#d6e0e7;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.admin-nav a:hover,
.admin-nav a:focus-visible,
.admin-nav a[aria-current="page"]{
  border-color:rgba(231,189,107,.55);
  color:#fff;
  background:rgba(255,255,255,.06);
}
.access-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:16px;
}
.access-card{
  display:flex;
  min-height:120px;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  padding:22px;
  border:1px solid rgba(17,35,50,.10);
  background:linear-gradient(180deg,#fff,#fbf7ef);
  color:var(--ink);
  box-shadow:0 14px 38px rgba(6,25,44,.06);
}
.access-card strong{
  display:block;
  font-family:var(--serif);
  font-size:24px;
  font-weight:500;
  letter-spacing:-.025em;
}
.access-card span{
  display:block;
  color:#5f6974;
  font-size:13px;
  line-height:1.45;
}
.access-card:hover,
.access-card:focus-visible{
  border-color:rgba(214,162,78,.62);
  transform:translateY(-1px);
}
.admin-form.table-action{
  display:inline-grid;
  grid-auto-flow:column;
  grid-auto-columns:max-content;
  align-items:center;
  gap:6px;
  vertical-align:middle;
}
.admin-form.table-action select,
.admin-form.table-action input[type="text"],
.admin-form.table-action input[type="datetime-local"]{
  height:38px;
  max-width:180px;
}
@media(max-width:980px){
  .admin-header{height:auto;gap:16px;padding:18px 24px;align-items:flex-start;flex-direction:column;}
  .admin-nav{order:3;width:100%;justify-content:flex-start;flex-wrap:wrap;margin:0;}
}

/* Alternating homepage section refinements */
.dark-section .intelligence-grid p,
.dark-section .intelligence-list li{
  color:#d6e0e7;
}
.dark-section .dashboard-img{
  border:1px solid rgba(214,162,78,.24);
}
.dark-section .intelligence-list li::before{
  background:var(--gold-2);
}

/* Hero containment for concise homepage copy */
.hero{
  min-height:520px;
  padding-bottom:72px;
}
.hero-content{
  padding-bottom:72px;
}
@media(max-width:1440px){
  .hero{min-height:720px;padding-bottom:78px;}
  .hero-inner{min-height:calc(720px - 76px);}
}
@media(max-width:1180px){
  .hero{min-height:700px;padding-bottom:76px;}
  .hero-inner{min-height:640px;}
}
@media(max-width:760px){
  .hero{min-height:680px;padding-bottom:72px;}
  .hero-inner{min-height:620px;}
}

/* Dark vision section after leadership */
.vision-section{
  min-height:560px;
  background:
    linear-gradient(90deg,rgba(4,17,31,.82),rgba(4,17,31,.48) 55%,rgba(4,17,31,.18)),
    url('bridge-corridor.png') center/cover no-repeat fixed;
}
.vision-inner{
  display:grid;
  grid-template-columns:1fr auto;
  gap:48px;
  align-items:center;
}
.vision-text h2{
  font-size:clamp(38px,4vw,62px);
  line-height:1.02;
  margin-bottom:24px;
}
.vision-text p{ color:#d6e0e7; }

/* Africa outline SVG */
.vision-africa-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.vision-africa-svg{
  width:clamp(160px,18vw,260px);
  height:auto;
  overflow:visible;
  opacity:0;
  transform:translateX(60px);
  transition:opacity .8s ease, transform .8s ease;
}
.vision-africa-wrap.africa-visible .vision-africa-svg{
  opacity:1;
  transform:translateX(0);
}
/* Slow pulse on the Africa image once visible */
.vision-africa-wrap.africa-visible .vision-africa-svg{
  animation:africaPulse 4s ease-in-out 0.8s infinite;
}
@keyframes africaPulse{
  0%,100%{ filter:drop-shadow(0 0 4px rgba(201,149,72,.3)); }
  50%    { filter:drop-shadow(0 0 16px rgba(201,149,72,.65)); }
}
@media(max-width:860px){
  .vision-inner{ grid-template-columns:1fr; }
  .vision-africa-wrap{ justify-content:flex-start; }
  .vision-africa-svg{ width:140px; }
}

/* Prevent page-level horizontal scroll from wide responsive sections */
html,
body{
  max-width:100%;
  overflow-x:clip;
}
.scroll-container,
.section,
.site-header{
  max-width:100%;
}
.leadership-image-column,
.leadership-text-column,
.platform-grid,
.focus-grid,
.intelligence-grid,
.insights-grid{
  min-width:0;
}
.sticky-image-wrapper img{
  max-width:calc(100vw - 48px);
  max-height:calc(100vw - 48px);
}

/* Articles & Media homepage section */
.media-section { padding: 92px 0; }
.media-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 52px;
  gap: 24px;
}
.media-header h2 {
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.05;
  margin: 0;
}
.media-view-all {
  flex-shrink: 0;
  color: var(--gold-2);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
  white-space: nowrap;
  padding-bottom: 4px;
}
.media-view-all:hover { text-decoration: underline; }
.media-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 48px;
  align-items: start;
}
.media-col-label {
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 10px;
  font-weight: 900;
  color: var(--gold-2);
  margin: 0 0 24px;
}
/* Press column */
.media-press-col { display: flex; flex-direction: column; gap: 0; }
.media-press-item {
  padding: 24px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.media-press-item:first-of-type { padding-top: 0; }
.media-outlet {
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 10px;
  font-weight: 900;
  color: rgba(201,149,72,.7);
}
.media-press-item h3 {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.15;
  color: #fff;
  margin: 0;
}
.media-press-item p { color: #8a9ba8; font-size: 14px; margin: 0; }
.media-soon-tag {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 10px;
  background: rgba(201,149,72,.12);
  border: 1px solid rgba(201,149,72,.25);
  color: var(--gold-2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 2px;
  align-self: flex-start;
}
/* Events column */
.media-events-col { display: flex; flex-direction: column; gap: 0; }
.media-event-item {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  align-items: start;
}
.media-event-item:first-of-type { padding-top: 0; }
.media-event-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 3px;
  padding: 10px 8px 8px;
}
.media-event-date span {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 500;
  color: #fff;
  line-height: 1.1;
}
.media-event-year {
  font-family: var(--sans, Inter, sans-serif) !important;
  font-size: 10px !important;
  color: #8a9ba8 !important;
  letter-spacing: .05em;
  margin-top: 3px;
}
.media-event-meta {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-weight: 700;
  color: #8a9ba8;
  margin: 0 0 6px;
}
.media-event-meta em { color: rgba(201,149,72,.8); font-style: normal; }
.media-event-item h3 {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 6px;
}
.media-event-item p { color: #8a9ba8; font-size: 13px; line-height: 1.65; margin: 0; }
@media (max-width: 900px) {
  .media-grid { grid-template-columns: 1fr; }
  .media-header { align-items: flex-start; flex-direction: column; }
}
.office-section{ padding:76px 0; }
.office-content{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.office-content h2{ color:var(--ink); font-size:clamp(38px,4vw,62px); line-height:1.02; margin-bottom:28px; }
.office-locations{ display:flex; gap:32px; align-items:center; margin-bottom:20px; }
.office-divider{ width:1px; height:40px; background:rgba(17,35,50,.15); flex-shrink:0; }
.office-city{ font-family:var(--serif); font-size:20px; font-weight:500; color:var(--ink); margin:0 0 2px; }
.office-country{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; color:#a06b34; margin:0; }
.office-note{ font-size:14px; color:#5b6774; line-height:1.7; margin:0; }
.office-image-col img{ width:100%; height:320px; object-fit:cover; border-radius:4px; box-shadow:0 16px 48px rgba(0,0,0,.14); }

/* Partners section */
.partners-section{ padding:80px 0; }
.partners-section h2{ font-size:clamp(38px,4vw,58px); line-height:1.02; margin-bottom:48px; }
.partner-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.partner-card{ border:1px solid rgba(201,149,72,.25); background:rgba(5,19,34,.6); padding:32px; border-radius:4px; text-align:center; }
.partner-logo-link{ display:block; margin:0 auto 20px; width:140px; height:60px; display:flex; align-items:center; justify-content:center; }
.partner-logo{ max-width:140px; max-height:52px; width:auto; height:auto; object-fit:contain; filter:brightness(0) invert(1); opacity:.85; transition:opacity .2s; }
.partner-card:hover .partner-logo{ opacity:1; }
.partner-card h3{ font-family:var(--serif); font-size:20px; font-weight:500; color:#fff; margin:0 0 8px; }
.partner-card p{ font-size:13px; color:#8a9ba8; margin:0; line-height:1.6; }

/* Sub-page imagery + layouts */
.sub-image-strip{ margin:36px 0; border-radius:4px; overflow:hidden; }
.sub-image-strip img{ width:100%; height:260px; object-fit:cover; display:block; }
.sub-image-contain{ object-fit:contain !important; background:#f0ede8; height:200px !important; padding:16px; }
.sub-offices{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:16px 0 24px; }
.sub-offices div{ padding:20px 24px; background:#f7f5f2; border-left:3px solid #c99548; }
.sub-offices strong{ display:block; font-family:var(--serif); font-size:18px; color:var(--ink); margin-bottom:4px; }
.sub-offices span{ font-size:13px; color:#5b6774; }
.sub-partner-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:16px; }
.sub-partner-grid article{ border:1px solid #e2dbd0; padding:24px; background:#faf9f7; border-radius:4px; }
.sub-partner-logo-link{ display:block; margin-bottom:14px; height:50px; display:flex; align-items:center; }
.sub-partner-logo-img{ max-width:130px; max-height:44px; width:auto; height:auto; object-fit:contain; }
.morning-star-logo{ filter:brightness(0) saturate(0); opacity:.75; }
.sub-partner-grid strong{ display:block; font-family:var(--serif); font-size:17px; margin-bottom:6px; color:var(--ink); }
.sub-partner-grid p{ font-size:13px; color:#5b6774; margin:0; line-height:1.6; }
.sub-geo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:16px 0; }
.sub-geo-col h3{ font-size:14px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:#a06b34; margin:0 0 10px; }
.sub-phase-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:16px; }
.sub-phase{ padding:28px; background:#f7f5f2; border-top:3px solid #c99548; }
.sub-phase-num{ font-family:var(--serif); font-size:32px; color:#c99548; display:block; margin-bottom:8px; }
.sub-phase h3{ font-size:16px; font-weight:700; color:var(--ink); margin:0 0 10px; }
.sub-phase p{ font-size:14px; color:#5b6774; line-height:1.7; margin:0; }
@media(max-width:860px){
  .office-content,.sub-geo-grid,.sub-partner-grid,.sub-phase-grid,.sub-offices{ grid-template-columns:1fr; }
  .partner-cards{ grid-template-columns:1fr; }
  .office-image-col{ display:none; }
}
.simple-footer{display:block;padding:46px 56px}
.simple-footer>div{width:min(1240px,calc(100% - 112px));margin:0 auto}
.simple-footer img{width:180px;margin-bottom:16px;display:block;mix-blend-mode:screen}
.simple-footer a{display:inline}
.footer-social-icons{display:flex;gap:10px;margin-top:16px}
.footer-social-icons a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#b9c4cc;text-decoration:none;transition:background .2s,border-color .2s}
.footer-social-icons a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:#fff}
@media(max-width:760px){
  .simple-footer{padding:40px 20px}
  .simple-footer>div{width:100%}
}

/* Leadership sticky crossfade refinement */
#leadership.scroll-container {
  align-items: stretch;
  min-height: 180vh;
  overflow: visible !important;
}
#leadership .leadership-image-column {
  align-self: stretch;
  min-height: inherit;
}
#leadership .sticky-image-wrapper {
  position: sticky;
  top: 86px;
  height: calc(100vh - 86px);
  isolation: isolate;
}
#leadership .sticky-image-wrapper img,
#leadership .sticky-image-wrapper .leadership-fade-img {
  position: absolute;
  inset: 0;
  width: min(540px, 34vw);
  height: min(540px, 34vw);
  margin: auto;
  object-fit: cover;
  border-radius: 50%;
  transition: opacity 260ms ease-out;
  will-change: opacity;
}
#leadership .leadership-text-column {
  min-height: 180vh;
}
#leadership .leader-block {
  min-height: 90vh;
}
/* Mobile-only leader photos (hidden on desktop) */
.leader-mobile-photo {
  display: none;
}
@media (max-width: 900px) {
  #leadership.scroll-container,
  #leadership .leadership-text-column,
  #leadership .leader-block {
    min-height: auto;
  }
  /* Hide the sticky image column entirely on mobile */
  #leadership .leadership-image-column {
    display: none;
  }
  #leadership .leadership-text-column {
    width: 100%;
    padding: 40px 0;
  }
  #leadership .leader-block {
    padding: 32px 10%;
    border-bottom: 1px solid rgba(17,35,50,.08);
  }
  /* Show inline photos on mobile */
  .leader-mobile-photo {
    display: block;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 0 18px;
  }
}

/* Static content pages */
.public-article-content h2{
  margin-top:34px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(30px,3vw,46px);
  font-weight:500;
}
.public-article-content h3{
  margin-top:24px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:26px;
  font-weight:500;
}
.public-article-content ul{
  line-height:1.8;
}
.public-article-content a{
  color:#9f6b32;
  font-weight:800;
}

/* Articles & Media page */
.am-section{
  padding:56px 0 64px;
  border-bottom:1px solid #e8e2d9;
}
.am-section:last-child{
  border-bottom:none;
}
.am-section-label{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:900;
  font-size:11px;
  color:var(--gold-2,#c99548);
  margin-bottom:36px;
}
/* Press cards */
.am-press-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.am-press-card{
  border:1px solid #e2dbd0;
  border-radius:4px;
  padding:36px 32px 32px;
  background:#faf9f7;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.am-press-outlet{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  font-weight:900;
  color:#8a6a3a;
}
.am-press-card h3{
  font-family:var(--serif);
  font-size:26px;
  font-weight:500;
  line-height:1.15;
  color:#1a2530;
  margin:0;
}
.am-press-card p{
  color:#4e5c67;
  font-size:15px;
  margin:0;
  flex:1;
}
.am-badge{
  display:inline-block;
  margin-top:8px;
  padding:4px 12px;
  border-radius:2px;
  background:#f0e9dc;
  color:#8a6a3a;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  align-self:flex-start;
}
/* Event cards */
.am-events-list{
  display:flex;
  flex-direction:column;
  gap:0;
}
.am-event-card{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:32px;
  padding:40px 0;
  border-bottom:1px solid #ede8e0;
  align-items:start;
}
.am-event-card:last-child{
  border-bottom:none;
}
.am-event-date{
  display:flex;
  flex-direction:column;
  align-items:center;
  background:#04111f;
  color:#fff;
  border-radius:4px;
  padding:18px 12px 14px;
  text-align:center;
  align-self:flex-start;
}
.am-event-month{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  font-weight:800;
  color:var(--gold-2,#c99548);
}
.am-event-day{
  font-family:var(--serif);
  font-size:42px;
  line-height:1;
  font-weight:500;
  margin:4px 0 2px;
}
.am-event-year{
  font-size:12px;
  color:#8a9ba8;
  letter-spacing:.06em;
}
.am-event-meta{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  color:#8a9ba8;
  margin-bottom:10px;
}
.am-invite-tag{
  color:#b87c3a;
}
.am-event-body h3{
  font-family:var(--serif);
  font-size:26px;
  font-weight:500;
  line-height:1.15;
  color:#1a2530;
  margin:0 0 12px;
}
.am-event-body p{
  color:#4e5c67;
  font-size:15px;
  line-height:1.7;
  margin:0 0 8px;
}
.am-event-focus{
  font-size:13px !important;
  color:#8a9ba8 !important;
  font-style:italic;
}
.am-event-link{
  display:inline-block;
  margin-top:12px;
  font-size:13px;
  font-weight:700;
  color:#9f6b32;
  text-decoration:none;
  letter-spacing:.04em;
}
.am-event-link:hover{
  text-decoration:underline;
}
@media(max-width:680px){
  .am-press-grid{grid-template-columns:1fr;}
  .am-event-card{grid-template-columns:1fr;gap:16px;}
  .am-event-date{flex-direction:row;gap:10px;align-items:center;padding:12px 16px;}
  .am-event-day{font-size:28px;margin:0;}
}
.leader-block p{
  max-width:540px;
  color:#5b6771;
}