@font-face{font-family:"Fiorina Text";src:url("/assets/fonts/fiorina-text-light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Fiorina Text";src:url("/assets/fonts/fiorina-text-light-italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap}

/* EDGE CAPITAL — edge-cap.net v13
   Brand verified against EDGE Capital Branding Finally.pdf (2026)
   Navy #0D1627 · Primary #315FA8 · Dark #1C3468 · Light #5B84D7 · Grey #ECEDEF
   Display: IBM Plex Sans (SIL OFL). Body: Inter. NO GOLD. */
:root{
  --navy:#0D1627; --pri:#315FA8; --dk:#1C3468; --lb:#5B84D7;
  --grey:#ECEDEF; --mid:#D8DCE5; --white:#fff;
  --sil:#B4BCC8; --sil80:#C3C9D3; --sil60:#D2D7DE; --sil40:#E1E4E9;
  --text:#0D1627; --sub:#4A5568; --muted:#8A96A8;
  --bd:rgba(13,22,39,.12); --r:6px; --r-lg:10px; --max:1200px;
  --fd:'IBM Plex Sans','Inter',sans-serif;   /* display — locked 13 Sep 2026, SIL OFL */
  --fb:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:var(--fb);color:var(--text);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--fd);font-weight:700;letter-spacing:-.3px;line-height:1.2}
h1{font-size:clamp(28px,4.4vw,44px)}
h2{font-size:clamp(22px,3.2vw,34px)}
h3{font-size:clamp(15px,1.6vw,18px);font-weight:600;letter-spacing:-.1px}
p{font-size:15px;line-height:1.7;color:var(--sub)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sec{padding:72px 0}
.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--lb)}
.eyebrow-m{color:var(--muted)}
.rule{height:3px;width:48px;background:var(--pri);margin:14px 0 16px}

/* MOTIF — brand book diagonal line pattern */
.motif{position:relative;overflow:hidden}
.motif>*{position:relative;z-index:1}
.motif::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
 background-image:repeating-linear-gradient(118deg,transparent 0 77px,rgba(49,95,168,.07) 77px 78px)}

/* GROUNDS */
.g-navy{background:var(--navy);color:#fff}
.g-navy p{color:rgba(255,255,255,.6)}
.g-navy h1,.g-navy h2,.g-navy h3{color:#fff}
.g-dk{background:var(--dk);color:#fff}
.g-dk p{color:rgba(255,255,255,.6)}
.g-grey{background:var(--grey)}

/* NAV */
.nav{background:var(--navy);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--dk)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:var(--max);margin:0 auto;padding:0 24px}
.nav-logo img{height:30px;width:auto}
.nav-links{display:flex;gap:4px;align-items:center}
.nav-link{color:rgba(255,255,255,.55);font-size:13px;padding:8px 14px;border-radius:var(--r);transition:color .15s}
.nav-link:hover,.nav-link[aria-current=page]{color:#fff}
.nav-cta{background:var(--pri);color:#fff;font-size:12px;font-weight:600;padding:9px 18px;border-radius:var(--r);border:none;cursor:pointer;transition:background .15s;white-space:nowrap}
.nav-cta:hover{background:var(--dk)}
.burger{display:none;background:none;border:none;padding:8px;cursor:pointer}
.burger span{display:block;width:20px;height:1.5px;background:rgba(255,255,255,.7);margin:4px 0;transition:.2s}
@media(max-width:860px){
 .nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--navy);padding:10px;border-bottom:1px solid var(--dk)}
 .nav-links.open{display:flex}
 .burger{display:block}
}

/* BUTTONS */
.btn{display:inline-block;font-size:13px;font-weight:500;padding:12px 24px;border-radius:var(--r);border:none;cursor:pointer;transition:all .15s;font-family:var(--fb)}
.btn-p{background:var(--pri);color:#fff}
.btn-p:hover{background:var(--dk)}
.btn-o{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.22)}
.btn-o:hover{border-color:rgba(255,255,255,.5)}
.btn-od{background:transparent;color:var(--pri);border:1px solid var(--pri)}
.btn-od:hover{background:var(--pri);color:#fff}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

/* HERO */
.hero{padding:76px 0}
.hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:32px}}
.hero p{font-size:16px;max-width:540px}

/* PARENTAGE STRIP */
.strip{background:var(--dk);padding:15px 0;font-size:11.5px}
.strip-in{display:flex;gap:22px;flex-wrap:wrap;align-items:center;color:rgba(255,255,255,.35)}
.strip-in b{color:rgba(255,255,255,.72);font-weight:500}
.strip-in a{color:var(--lb);margin-left:auto}

/* GRIDS + CARDS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grid-2,.grid-3{grid-template-columns:1fr}}
.card{background:var(--grey);border-radius:var(--r-lg);padding:22px}
.card h3{margin-bottom:8px;color:var(--navy)}
.card p{font-size:13px;line-height:1.6}
.card-ico{width:52px;height:52px;border-radius:10px;background:rgba(49,95,168,.12);margin-bottom:18px;
 display:flex;align-items:center;justify-content:center}
.card-ico svg{width:26px;height:26px;stroke:var(--pri);fill:none;stroke-width:1.6}
.card-w{background:#fff;border:1px solid var(--bd)}
.tag{display:inline-block;font-size:9.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--pri);margin-bottom:6px}
.crit{border:1px solid rgba(49,95,168,.4)}
.crit .num{font-size:11px;font-weight:700;color:var(--pri);display:block;margin-bottom:6px}

/* SECTION HEAD */
.sh{margin-bottom:36px}
.sh h2{margin:14px 0 12px}
.sh p{max-width:760px}
.link-a{display:inline-block;margin-top:28px;font-size:13px;font-weight:500;color:var(--pri)}

/* STAGES */
.stage{display:flex;border-radius:8px;overflow:hidden;border:1px solid rgba(13,22,39,.07);background:#fff;margin-bottom:12px}
.stage-n{background:var(--pri);color:#fff;min-width:56px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:15px;font-weight:700}
.stage-b{padding:18px 20px}
.stage-b h3{margin-bottom:6px;color:var(--navy)}
.stage-b p{font-size:12.5px;line-height:1.6}
.fw-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:32px;align-items:start}
@media(max-width:980px){.fw-grid{grid-template-columns:1fr}}

/* PILLS */
.pills{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}
.pill{font-size:11px;padding:5px 12px;border-radius:20px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.85)}

/* IMAGE PLACEHOLDER */
.imgph{background:#121C30;border-radius:8px;display:flex;align-items:center;justify-content:center;
 min-height:200px;position:relative;overflow:hidden}
.imgph::before,.imgph::after{content:'';position:absolute;inset:0;
 background:linear-gradient(to bottom right,transparent calc(50% - .5px),rgba(255,255,255,.05) 50%,transparent calc(50% + .5px))}
.imgph::after{background:linear-gradient(to top right,transparent calc(50% - .5px),rgba(255,255,255,.05) 50%,transparent calc(50% + .5px))}
.imgph span{position:relative;z-index:1;font-size:10.5px;color:rgba(91,132,215,.7);text-align:center;padding:0 20px;line-height:1.6}

/* TERM SHEET */
.funds{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media(max-width:900px){.funds{grid-template-columns:1fr}}
.fund{border:1px solid var(--mid);border-radius:var(--r-lg);overflow:hidden;background:var(--grey)}
.fund-h{background:var(--pri);padding:18px 20px;color:#fff}
.fund-h .id{font-family:var(--fd);font-size:14px;font-weight:700;letter-spacing:.3px}
.fund-h p{font-size:11.5px;color:rgba(255,255,255,.75);margin-top:6px;line-height:1.5}
.ts{width:100%;border-collapse:collapse}
.ts tr:nth-child(odd){background:rgba(255,255,255,.7)}
.ts td{padding:13px 20px;font-size:12px;vertical-align:top;border:none}
.ts td:first-child{width:36px;font-size:9.5px;font-weight:700;color:rgba(49,95,168,.5);padding-right:0;font-variant-numeric:tabular-nums}
.ts td:nth-child(2){font-weight:500;color:rgba(13,22,39,.85);width:40%}
.ts td:last-child{color:var(--sub)}
.ts .req{color:var(--pri);font-weight:500}
.fund-cta{display:block;background:var(--navy);color:#fff;text-align:center;padding:14px;font-size:12px;font-weight:500;transition:background .15s}
.fund-cta:hover{background:var(--dk)}
.req-bar{background:#fff;border:1px solid rgba(49,95,168,.3);border-radius:8px;padding:18px 24px;
 display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.req-bar div{flex:1;min-width:260px}
.req-bar strong{font-size:13px;color:var(--navy);display:block;margin-bottom:4px}
.req-bar p{font-size:12px}

/* FORM */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:11px;font-weight:600;color:var(--dk);letter-spacing:.2px}
.field input,.field select,.field textarea{height:40px;border:1px solid var(--bd);border-radius:var(--r);
 padding:0 12px;font-size:13px;font-family:var(--fb);color:var(--text);background:var(--grey);outline:none;
 transition:border-color .15s;-webkit-appearance:none}
.field textarea{height:100px;padding:12px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pri);background:#fff;box-shadow:0 0 0 3px rgba(49,95,168,.1)}
.contact-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:52px}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:36px}}
.ct-card{background:var(--grey);border-radius:8px;padding:16px 18px;margin-bottom:12px}
.ct-card b{display:block;font-size:10.5px;color:var(--navy);margin-bottom:5px}
.ct-card span{font-size:12.5px;color:var(--pri)}
.note{font-size:11px;color:var(--muted);line-height:1.7;margin-top:14px}
.disc{font-size:11px;color:rgba(255,255,255,.32);line-height:1.7}

/* CTA BAND */
.cta-c{text-align:center;max-width:620px;margin:0 auto}
.cta-c p{margin:12px auto 0}

/* FOOTER */
.ft{background:var(--navy);padding:36px 0 28px}
.ft-top{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-bottom:22px}
.ft-top img{height:24px}
.ft-nav{display:flex;gap:18px;font-size:11.5px;color:rgba(255,255,255,.45)}
.ft-nav a:hover{color:#fff}
.ft-rule{height:1px;background:rgba(216,220,229,.18);margin-bottom:18px}
.ft p{font-size:11px;color:var(--muted);line-height:1.9}
.ft p a{color:var(--muted)}
.ft p a:hover{color:rgba(255,255,255,.7)}


/* ── SILVER — supporting colour, added 13 Sep 2026 ──────────────────
   9.45:1 on navy (AAA) · 1.91:1 on white (decorative only, never text) */
.g-navy .eyebrow,.g-dk .eyebrow{color:var(--sil)}
.g-navy hr,.g-dk hr{border:0;height:1px;background:var(--sil);opacity:.25}
.hairline{height:1px;background:var(--sil);opacity:.25}
.g-navy .disc,.g-dk .disc{color:var(--sil);opacity:.55}
.ts td{border-bottom:1px solid rgba(180,188,200,.22)}


/* ── HOME HERO — Direction C (13 Sep 2026) ─────────────────────────
   Architecture holds the fold. People band beneath at 3:1, labels only.
   Full criteria body stays on /investment-concept — single-instance rule. */
.hero-arch{margin:0;border-radius:10px;overflow:hidden;aspect-ratio:620/500;min-height:500px}
.hero-arch img{width:100%;height:100%;object-fit:cover;display:block}
.hero-band{margin-top:56px;padding-top:32px;border-top:1px solid rgba(180,188,200,.22)}
.hb-label{font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;
 color:var(--sil);margin-bottom:14px}
.hb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hb-cell{margin:0;border-radius:8px;overflow:hidden;aspect-ratio:421/200;min-height:200px;background:#101B30}
.hb-cell img{width:100%;height:100%;object-fit:cover;display:block}
.hb-cell span{font-size:10px;line-height:1.7}
@media(max-width:820px){
 .hb-grid{grid-template-columns:1fr;gap:12px}
 .hb-cell{aspect-ratio:421/170;min-height:0}
 .hero-arch{min-height:0;aspect-ratio:620/420}
}


/* ── SECTION VISUALS — all native vector, owned outright ──────────── */
.fund-vis{margin:0;border-radius:10px;overflow:hidden;aspect-ratio:1040/720;min-height:460px}
.fund-vis img{width:100%;height:100%;object-fit:contain;display:block}
.ct-vis{margin:20px 0 0;border-radius:10px;overflow:hidden;aspect-ratio:400/420;min-height:300px}
.ct-vis img{width:100%;height:100%;object-fit:cover;display:block}
/* MENA strip bleeds full width; content sits in the middle 1280 */
.mena-strip{margin:0 calc(50% - 50vw) 32px;width:100vw;max-width:100vw;
  overflow:hidden;line-height:0}
.mena-strip img{width:100%;height:220px;object-fit:cover;object-position:center;display:block}
@media(max-width:900px){
  .mena-strip img{height:170px}
  .fund-vis{min-height:0;aspect-ratio:1040/760}
  .ct-vis{min-height:0;aspect-ratio:400/300}
}



/* ── v6 ADDITIONS — 16 Sep 2026 ───────────────────────────────────── */
figure{margin:0}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:var(--navy);padding:10px 16px;border-radius:6px;font-size:13px;font-weight:600}
.skip:focus{left:16px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lb);outline-offset:2px}
.nav-in{position:relative}
.nav-right{display:flex;align-items:center;gap:8px}
.burger{min-width:44px;min-height:44px}
@media(max-width:860px){.nav-link{padding:12px 14px}}
/* contrast lifts — WCAG AA on navy/dark-blue grounds */
.strip-in{color:rgba(255,255,255,.72)}
.strip-in b{color:#fff}
.disc{color:rgba(255,255,255,.78)}
.g-navy .disc,.g-dk .disc{opacity:1;color:#D2D7DE}
/* inline diagrams */
.inlined{width:100%;height:auto;display:block}
.fund-vis .inlined{height:100%}
.mena-strip .inlined{height:auto}
@media(max-width:900px){.mena-strip{display:none}}
.hero-arch picture,.hb-cell picture,.ct-vis picture,.photo-band picture{display:block;width:100%;height:100%}
.hero h1+p{margin-top:16px}
.hb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-arch,.hb-cell,.ct-vis,.fund-vis{min-height:0!important}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.hb-grid{grid-template-columns:minmax(0,1fr)}}
/* contrast + target fixes (QA 16 Sep 2026) */
:root{--muted:#5A6678}
.eyebrow{color:var(--pri)}
.g-navy .eyebrow,.g-dk .eyebrow{color:var(--sil)}
.eyebrow-m{color:var(--muted)}
.ts td:first-child{color:var(--pri)}
.fund-h p{color:rgba(255,255,255,.92)}
.strip-in a{color:#D2D7DE;text-decoration:underline;text-underline-offset:3px}
.ft-nav a{color:rgba(255,255,255,.72);display:inline-block;padding:4px 0}
.ft p,.ft p a{color:#AEB7C4}
.ft-nav{align-items:center}
.strip-in a{display:inline-block;padding:4px 0}
.link-a{padding:3px 0}
.ct-card span a{display:inline-block;padding:5px 0}
/* photography — graded to the EDGE Capital blues, zero gold */
.ph{display:block;width:100%;height:100%;object-fit:cover}
.hero-arch{background:#101B30}
.hb-cell{position:relative}
.hb-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 16px 12px;
 background:linear-gradient(to top,rgba(13,22,39,.92),rgba(13,22,39,0));
 display:flex;gap:10px;align-items:baseline}
.hb-cap i{font-style:normal;font:600 10px var(--fb);letter-spacing:1.2px;color:#B4BCC8}
.hb-cap b{font:600 14px var(--fd);color:#fff;letter-spacing:-.1px}
.photo-band{margin:0;line-height:0;background:var(--navy)}
.photo-band img{width:100%;height:clamp(220px,32vw,460px);object-fit:cover;display:block}
.ct-vis{background:#101B30}
.form-ok{display:none;background:rgba(49,95,168,.06);border:1px solid rgba(49,95,168,.25);border-radius:8px;padding:20px}
.form-ok strong{color:var(--pri);font-size:14px}
.form-ok p{font-size:13px;margin-top:6px}

/* ══ v7 — people + sector photography, modern infographics (17 Sep 2026) ══ */
:root{--grad:linear-gradient(90deg,#315FA8,#5B84D7);--glass:rgba(255,255,255,.04);--glass-b:rgba(180,188,200,.16)}
.btn{border-radius:8px}
.btn-p{box-shadow:0 6px 18px -8px rgba(49,95,168,.7)}
/* reveal */
html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}.ig-join .flow{animation:none!important}}
/* hero band captions — glass */
.hb-cell{border:1px solid var(--glass-b)}
.hb-cap{background:linear-gradient(to top,rgba(13,22,39,.94),rgba(13,22,39,0))}
.hb-cap i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgba(91,132,215,.22);border:1px solid rgba(91,132,215,.55);color:#fff;font-size:9.5px;letter-spacing:0}
/* sector photo cards */
.grid-ph{gap:20px}
.card-ph{background:#fff;border:1px solid rgba(13,22,39,.08);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.card-ph:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(13,22,39,.45)}
.cp-img{position:relative;aspect-ratio:16/10;background:#101B30;overflow:hidden}
.cp-img picture{display:block;width:100%;height:100%}
.cp-img img{transition:transform .6s ease}
.card-ph:hover .cp-img img{transform:scale(1.04)}
.cp-n{position:absolute;top:12px;left:12px;font:600 10.5px var(--fb);letter-spacing:1px;color:#fff;background:rgba(13,22,39,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);padding:5px 9px;border-radius:20px}
.cp-body{position:relative;padding:34px 22px 22px}
.cp-body .card-ico{position:absolute;top:-26px;left:20px;margin:0;box-shadow:0 10px 22px -10px rgba(13,22,39,.5)}
.cp-body h3{color:var(--navy);margin-bottom:8px}
.cp-body p{font-size:13px;line-height:1.6}
.card-ico{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#1C3468,#315FA8);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.card-ico svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* IC mandate cards */
.card-m{background:#fff;border:1px solid rgba(13,22,39,.08);border-radius:14px;padding:24px;position:relative;overflow:hidden}
.card-m::before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:var(--grad);transform:scaleX(.18);transform-origin:left;transition:transform .5s ease}
.card-m:hover::before{transform:scaleX(1)}
.cm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cm-top .card-ico{margin:0}
.cm-n{font:300 30px var(--fd);color:#5B84D7;letter-spacing:-1px}
#mandate .grid-2{gap:20px}
/* split sections */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.split-img{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3.2;background:#101B30;box-shadow:0 30px 60px -34px rgba(13,22,39,.55)}
.split-img picture{display:block;width:100%;height:100%}
.split-body h2{margin:0 0 14px}
@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr);gap:32px}}
/* modern infographic — AGIF */
.ig-agif{position:relative;margin:0;border-radius:18px;padding:34px 34px 26px;overflow:hidden;
 background-color:#0D1627;background-image:linear-gradient(160deg,#13213B 0%,#0D1627 60%);border:1px solid var(--glass-b);box-shadow:0 30px 70px -40px rgba(0,0,0,.8)}
.ig-glow{position:absolute;width:420px;height:420px;right:-140px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(91,132,215,.28),rgba(91,132,215,0) 65%);pointer-events:none}
.ig-agif figcaption{position:relative;display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
.ig-kicker,.ig-micro{font:600 10px var(--fb);letter-spacing:2.4px;text-transform:uppercase;color:#B4BCC8}
.ig-title{font:600 clamp(20px,2.3vw,26px) var(--fd);color:#fff;letter-spacing:-.4px}
.ig-veh{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.veh{background:rgba(255,255,255,.045);border:1px solid rgba(180,188,200,.18);border-radius:12px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:4px;
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.veh-id{font:300 clamp(24px,2.6vw,30px) var(--fd);color:#fff;letter-spacing:-1px;line-height:1.1}
.veh-geo{display:flex;align-items:center;gap:7px;font:500 13px var(--fb);color:#9DB6EA}
.veh-geo i{width:7px;height:7px;border-radius:50%;background:#5B84D7;box-shadow:0 0 0 4px rgba(91,132,215,.2)}
.veh-meta{font-size:11px;color:#C3C9D3;line-height:1.5}
.ig-join{display:block;width:100%;height:46px;overflow:visible}
.ig-join path{fill:none;vector-effect:non-scaling-stroke}
.ig-join .base{stroke:rgba(91,132,215,.35);stroke-width:1.2}
.ig-join .flow{stroke:#5B84D7;stroke-width:1.6;stroke-dasharray:4 10;animation:igflow 1.6s linear infinite}
@keyframes igflow{to{stroke-dashoffset:-28}}
.ig-method{position:relative;background:linear-gradient(135deg,rgba(49,95,168,.22),rgba(28,52,104,.15));border:1px solid rgba(91,132,215,.35);border-radius:14px;padding:18px 18px 16px}
.ig-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 14px;position:relative;counter-reset:s}
.ig-steps::before{content:'';position:absolute;left:12%;right:12%;top:15px;height:2px;background:var(--grad);opacity:.7}
.ig-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.ig-steps b{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 11px var(--fb);color:#fff;background:#0D1627;border:1.5px solid #5B84D7;box-shadow:0 0 0 5px rgba(91,132,215,.14)}
.ig-steps li:first-child b{background:#315FA8;border-color:#315FA8}
.ig-steps span{font:500 13px var(--fd);color:#fff}
.ig-method p{font-size:11.5px!important;color:#C3C9D3!important;line-height:1.6;text-align:center}
.ig-foot{position:relative;margin-top:16px;font-size:10.5px!important;color:#AEB7C4!important;line-height:1.6;border-top:1px solid rgba(180,188,200,.14);padding-top:12px}
@media(max-width:620px){.ig-agif{padding:24px 18px 20px}.ig-veh{grid-template-columns:1fr}.ig-join{display:none}.ig-method{margin-top:14px}.ig-steps span{font-size:11.5px}}
/* geography flow */
.ig-geo{list-style:none;position:relative;display:grid;grid-template-columns:1.35fr 1.15fr 1fr 1fr 1fr;align-items:end;gap:0;
 background:#fff;border:1px solid rgba(13,22,39,.08);border-radius:16px;padding:34px 28px 26px;margin:0 0 28px;box-shadow:0 20px 50px -38px rgba(13,22,39,.5)}
.ig-geo::before{content:'';position:absolute;left:44px;right:44px;top:52px;height:3px;border-radius:3px;background:linear-gradient(90deg,#315FA8 0%,#5B84D7 45%,rgba(91,132,215,.25) 100%)}
.ig-geo li{position:relative;display:flex;flex-direction:column;gap:4px;padding-top:44px}
.gd{position:absolute;top:8px;left:6px;border-radius:50%;background:#fff;border:2px solid #5B84D7}
.g1 .gd{width:34px;height:34px;top:1px;left:0;background:#315FA8;border:0;box-shadow:0 0 0 8px rgba(49,95,168,.16),0 0 0 16px rgba(49,95,168,.07)}
.g1 .gd::after{content:'';position:absolute;inset:11px;border-radius:50%;background:#fff}
.g2 .gd{width:24px;height:24px;top:6px;background:#5B84D7;border:0;box-shadow:0 0 0 6px rgba(91,132,215,.16)}
.g3 .gd{width:16px;height:16px;top:10px}
.ig-geo b{font:600 clamp(15px,1.7vw,20px) var(--fd);color:var(--navy);letter-spacing:-.3px}
.g2 b{font-size:clamp(14px,1.5vw,18px)}.g3 b{font-size:clamp(13px,1.3vw,16px);color:#1C3468}
.ig-geo em{font-style:normal;font:600 9.5px var(--fb);letter-spacing:1.4px;text-transform:uppercase;color:var(--pri)}
.g3 em{color:var(--muted)}
@media(max-width:760px){
 .ig-geo{grid-template-columns:1fr;padding:22px 20px 18px 22px;gap:14px}
 .ig-geo::before{left:38px;right:auto;top:30px;bottom:30px;width:3px;height:auto;background:linear-gradient(180deg,#315FA8,#5B84D7 45%,rgba(91,132,215,.25))}
 .ig-geo li{padding:6px 0 6px 54px;min-height:40px;justify-content:center}
 .gd{top:50%!important;left:8px!important;transform:translate(0,-50%)}
 .g1 .gd{left:0!important}.g2 .gd{left:5px!important}.g3 .gd{left:9px!important}
}
.card-geo{padding:0;overflow:hidden;border-radius:14px}
.cg-img{aspect-ratio:16/9;background:#101B30;overflow:hidden}
.cg-img picture{display:block;width:100%;height:100%}
.cg-body{padding:18px 22px 22px}
/* criteria AND-flow */
.ig-crit{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1fr);align-items:stretch}
.crit-card{background:#fff;border:1px solid rgba(49,95,168,.22);border-radius:14px;padding:26px 22px 22px;position:relative;overflow:hidden}
.crit-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.ring{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;
 background:conic-gradient(#315FA8 0 72%,rgba(91,132,215,.25) 72% 100%);position:relative}
.ring::before{content:'';position:absolute;inset:4px;border-radius:50%;background:#fff}
.ring b{position:relative;font:600 16px var(--fd);color:var(--pri)}
.crit-card h3{color:var(--navy);margin-bottom:8px}
.crit-card p{font-size:13px;line-height:1.6}
.crit-op{align-self:center;justify-self:center;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font:500 18px var(--fb);box-shadow:0 0 0 6px rgba(49,95,168,.12)}
.crit-all{margin-top:22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--navy);color:#fff;border-radius:12px;padding:14px 20px}
.crit-all b{font:600 15px var(--fd);color:#fff}
.crit-all-s{font-size:12px;color:#C3C9D3}
.ticks{display:flex;gap:4px}
.ticks i{width:18px;height:18px;border-radius:50%;background:#315FA8;position:relative}
.ticks i::after{content:'';position:absolute;left:6px;top:3.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
@media(max-width:900px){.ig-crit{grid-template-columns:minmax(0,1fr)}.crit-op{margin:-6px auto;z-index:1}}
/* framework rail */
.ig-fw{background-color:#0D1627;background-image:linear-gradient(160deg,#13213B,#0D1627 70%);border:1px solid var(--glass-b);border-radius:18px;padding:34px 30px 26px;margin-bottom:24px;position:relative;overflow:hidden}
.fw-rail{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin:0 0 26px}
.fw-rail::before{content:'';position:absolute;left:12.5%;right:12.5%;top:23px;height:2px;background:linear-gradient(90deg,#315FA8,#5B84D7)}
.fw-rail li{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}
.fn{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 14px var(--fd);color:#fff;background:#0D1627;border:2px solid #5B84D7;box-shadow:0 0 0 7px rgba(91,132,215,.14)}
.fw-rail li:first-child .fn{background:#315FA8;border-color:#315FA8}
.fw-rail b{font:600 clamp(14px,1.6vw,18px) var(--fd);color:#fff}
.fw-band{display:flex;align-items:center;gap:14px;border-radius:10px;padding:11px 16px;margin-top:10px}
.fw-gov{background:rgba(49,95,168,.28);border:1px solid rgba(91,132,215,.45)}
.fw-exit{background:transparent;border:1px dashed rgba(180,188,200,.45)}
.fb-l{font:600 10px var(--fb);letter-spacing:1.8px;text-transform:uppercase;color:#fff;background:#315FA8;border-radius:20px;padding:4px 10px;white-space:nowrap}
.fw-exit .fb-l{background:transparent;border:1px solid #B4BCC8;color:#D2D7DE}
.fb-t{font-size:13px;color:#E1E4E9}
.fw-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fw-card{background:#fff;border:1px solid rgba(13,22,39,.08);border-radius:14px;overflow:hidden}
.fc-img{position:relative;aspect-ratio:4/3;background:#101B30;overflow:hidden}
.fc-img picture{display:block;width:100%;height:100%}
.fc-n{position:absolute;left:12px;bottom:12px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#315FA8;color:#fff;font:600 12px var(--fd);box-shadow:0 0 0 5px rgba(255,255,255,.18)}
.fc-body{padding:18px 18px 20px}
.fc-body h3{color:var(--navy);margin-bottom:6px}
.fc-body p{font-size:12.5px;line-height:1.6}
@media(max-width:1100px){.fw-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.fw-cards{grid-template-columns:minmax(0,1fr)}.ig-fw{padding:24px 16px 18px}.fn{width:38px;height:38px;font-size:12px}.fw-rail::before{top:18px}.fw-rail b{font-size:12.5px}.fw-band{flex-direction:column;align-items:flex-start;gap:6px}}
/* funds */
.fund{border-radius:14px}
.fund-img{position:relative;aspect-ratio:21/9;background:#101B30;overflow:hidden}
.fund-img picture{display:block;width:100%;height:100%}
.fund-chip{position:absolute;right:14px;bottom:12px;font:600 10.5px var(--fb);letter-spacing:.8px;color:#fff;background:rgba(13,22,39,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);padding:5px 10px;border-radius:20px}
.cta-photo{position:relative;overflow:hidden;padding:96px 0}
.cta-bg{position:absolute;inset:0;z-index:0}
.cta-bg picture{display:block;width:100%;height:100%}
.cta-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,22,39,.82),rgba(13,22,39,.9))}
.cta-photo .wrap{position:relative;z-index:1}
.cta-photo .cta-c p{color:#E1E4E9}
/* IC jump nav */
.jump-nav a{border:1px solid rgba(180,188,200,.22);border-radius:20px;padding:6px 14px!important}
.jump-nav{gap:8px!important;flex-wrap:wrap}
.jump-nav a:hover{border-color:#5B84D7;color:#fff}

/* ══ v8 — full-bleed cinematic hero · people imagery halved (17 Sep 2026) ══ */
.hero-fb{position:relative;overflow:hidden;padding:128px 0 56px;min-height:min(94vh,900px);display:flex;align-items:flex-end}
.hfb-bg{position:absolute;inset:0;z-index:0;background:#0D1627}
.hfb-bg picture,.hfb-bg img{width:100%;height:100%;object-fit:cover;display:block}
.hfb-bg img{transform-origin:62% 50%;animation:hfbkb 32s ease-in-out infinite alternate}
@keyframes hfbkb{from{transform:scale(1.02)}to{transform:scale(1.13)}}
.hfb-bg::after{content:'';position:absolute;inset:0;
 background:linear-gradient(90deg,rgba(13,22,39,.97) 0%,rgba(13,22,39,.88) 34%,rgba(13,22,39,.48) 68%,rgba(13,22,39,.28) 100%),
            linear-gradient(0deg,#0D1627 0%,rgba(13,22,39,.2) 42%,rgba(13,22,39,0) 60%)}
.hfb-grid{position:absolute;inset:0;z-index:0;pointer-events:none;
 background-image:linear-gradient(rgba(91,132,215,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(91,132,215,.09) 1px,transparent 1px);background-size:72px 72px;
 -webkit-mask-image:radial-gradient(ellipse at 72% 38%,#000 0%,transparent 62%);mask-image:radial-gradient(ellipse at 72% 38%,#000 0%,transparent 62%)}
.hero-fb .wrap{position:relative;z-index:1;width:100%}
.hfb-copy{max-width:660px}
.hfb-copy h1{font-size:clamp(34px,5.2vw,62px);line-height:1.06;letter-spacing:-1.2px}
.hfb-copy p{font-size:17px;max-width:560px;color:rgba(255,255,255,.78)!important}
.hero-fb .hero-band{margin-top:72px;border-top:1px solid rgba(180,188,200,.2)}
.hero-fb .hb-cell{box-shadow:0 20px 40px -24px rgba(0,0,0,.7)}
@media (prefers-reduced-motion:reduce){.hfb-bg img{animation:none}}
@media(max-width:760px){
 .hero-fb{padding:84px 0 40px;min-height:0}
 .hfb-bg::after{background:linear-gradient(180deg,rgba(13,22,39,.72) 0%,rgba(13,22,39,.9) 55%,#0D1627 100%)}
 .hfb-copy h1{font-size:clamp(30px,8.4vw,40px)}
 .hero-fb .hero-band{margin-top:44px}
}

/* ══ v9 — imagery rebalanced to 5 people / 20 non-people slots (17 Sep 2026) ══ */

/* ══ v10 — hero band removed · KSA tower hero · footer revamp (17 Sep 2026) ══ */
.hero-fb{align-items:center;min-height:min(86vh,820px);padding:132px 0 112px}
.hfb-bg img{object-position:66% 45%}
@media(max-width:760px){.hero-fb{padding:96px 0 72px;min-height:min(78vh,640px)}.hfb-bg img{object-position:72% 40%}}

.ft2{position:relative;background:var(--navy);padding:0 0 28px;color:#fff;overflow:hidden}
.ft2::before{content:'';position:absolute;inset:0;pointer-events:none;
 background-image:linear-gradient(rgba(91,132,215,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(91,132,215,.06) 1px,transparent 1px);background-size:72px 72px;
 -webkit-mask-image:radial-gradient(ellipse at 85% 0%,#000 0%,transparent 60%);mask-image:radial-gradient(ellipse at 85% 0%,#000 0%,transparent 60%)}
.ft2-line{height:3px;background:linear-gradient(90deg,var(--pri) 0%,var(--lb) 45%,rgba(91,132,215,0) 100%)}
.ft2 .wrap{position:relative}
.ft2-grid{display:grid;grid-template-columns:1.55fr 1fr 1.1fr 0.9fr 1.25fr;gap:40px;padding:60px 0 40px}
.ft2-logo img{height:30px;width:auto;display:block}

.ft2 p{margin:0}
.ft2 .ft2-tag{font-family:'IBM Plex Sans',sans-serif;font-size:17px;line-height:1.35;font-weight:500;color:#fff;margin:22px 0 12px;max-width:300px;letter-spacing:-.2px}
.ft2 .ft2-about{font-size:13px;line-height:1.7;color:rgba(255,255,255,.72);max-width:300px}
.ft2-about b{color:#fff;font-weight:600}
.ft2-about a{color:#9DB7EA;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(157,183,234,.45)}
.ft2-about a:hover{color:#fff}
.ft2-cta{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:12.5px;font-weight:600;color:#fff;background:var(--pri);padding:11px 18px;border-radius:var(--r);transition:background .15s}
.ft2-cta:hover{background:var(--dk)}
.ft2-h{font-family:'Inter',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#B4BCC8;margin:6px 0 16px}
.ft2-col{display:flex;flex-direction:column;align-items:flex-start}
.ft2-col>a{font-size:13px;color:rgba(255,255,255,.78);padding:6px 0;line-height:1.3;transition:color .15s}
.ft2-col>a:hover{color:#fff}
.ft2-geo{list-style:none;margin:0;padding:0}
.ft2-geo li{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.78);padding:5px 0}
.ft2-geo i{font-style:normal;font-size:10px;font-weight:600;color:#9DB7EA;border:1px solid rgba(91,132,215,.45);border-radius:3px;padding:1px 5px;min-width:24px;text-align:center}
.ft2-dl{margin:0}
.ft2-dl dt{font-size:10.5px;color:#B4BCC8;margin-top:12px}
.ft2-dl dt:first-child{margin-top:0}
.ft2-dl dd{margin:3px 0 0;font-size:13px;color:#fff}
.ft2-dl dd a{color:#fff;display:inline-block;padding:3px 0;border-bottom:1px solid rgba(157,183,234,.5)}
.ft2-dl dd a:hover{border-color:#fff}
.ft2-disc{padding:22px 0;border-top:1px solid rgba(180,188,200,.16)}
.ft2 .ft2-disc p{font-size:11.5px;line-height:1.75;color:rgba(255,255,255,.62);max-width:880px}
.ft2-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-top:18px;border-top:1px solid rgba(180,188,200,.16)}
.ft2 .ft2-bottom p{font-size:11.5px;color:rgba(255,255,255,.62);line-height:1.8;margin:0}
.ft2-legal{display:flex;gap:22px}
.ft2-legal a{font-size:11.5px;color:rgba(255,255,255,.78);padding:4px 0}
.ft2-legal a:hover{color:#fff}
@media(max-width:1100px){.ft2-grid{grid-template-columns:1fr 1fr 1fr;gap:34px 28px}.ft2-brand{grid-column:1/-1}.ft2-tag,.ft2-about{max-width:520px}}
@media(max-width:620px){.ft2-grid{grid-template-columns:1fr 1fr;padding:44px 0 30px}.ft2-bottom{flex-direction:column;align-items:flex-start}}
@media(max-width:380px){.ft2-grid{grid-template-columns:1fr}}

/* ══ v11 — Fiorina · KSA tower right · map · clean framework · compact footer · login (17 Sep 2026) ══ */
:root{--fs:"Fiorina Text",Georgia,"Times New Roman",serif}
.hfb-bg img{object-position:30% 45%;transform-origin:82% 50%}
@media(max-width:760px){.hfb-bg img{object-position:74% 40%}}
/* Fiorina — editorial voice */
.hfb-copy p,.hero p,.sh p,.g-dk p,.lg-lead,.strip-in span{font-family:var(--fs);font-weight:300;letter-spacing:.05px}
.hfb-copy p{font-size:21px;line-height:1.55}
.hero p{font-size:19px;line-height:1.55}
.sh p{font-size:18.5px;line-height:1.6}
.g-dk p{font-size:19px}
.fw2-step p,.crit-card p,.card-m p{font-family:var(--fs);font-weight:300;font-size:15.5px;line-height:1.62}
.sh h2 em,.fw2-bands span{font-family:var(--fs);font-style:italic;font-weight:300}
/* nav login */
.nav-login{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.8);font-size:13px;padding:10px 12px;border-radius:var(--r);min-height:44px;transition:color .15s}
.nav-login:hover{color:#fff}
@media(max-width:520px){.nav-login span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nav-login{padding:10px}}
/* geography map */
.geo-map{position:relative;display:grid;grid-template-columns:minmax(0,1fr);background:#0D1627;border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(13,22,39,.6)}
.gm-canvas{position:relative;grid-area:1/1;overflow:hidden}
.gm-stage{position:relative}
.gm-svg{display:block;width:100%;height:auto}
.gm-svg path{fill:none;stroke-linecap:round;stroke-width:5.2}
.gd-land{stroke:rgba(180,188,200,.16)}
.gd-egy{stroke:#3F66AE}
.gd-gcc{stroke:#3F66AE}
.gd-uae{stroke:#9DB7EA}
.gd-ksa{stroke:#5B84D7}
.gp-ring{fill:rgba(91,132,215,.18);stroke:rgba(157,183,234,.7);stroke-width:1.4}
.gp-core{fill:#fff}
.gp-ksa .gp-ring{fill:rgba(91,132,215,.3);stroke:#fff}
@media (prefers-reduced-motion:no-preference){.gp-ksa .gp-ring{animation:gmpulse 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}}
@keyframes gmpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.55}}
.gm-tag{position:absolute;transform:translate(14px,-50%);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font:600 12px/1 var(--fb);color:#fff;background:rgba(13,22,39,.82);border:1px solid rgba(157,183,234,.35);padding:5px 9px 5px 5px;border-radius:4px;pointer-events:none}
.gm-tag i{font-style:normal;font-size:10px;background:#315FA8;color:#fff;border-radius:3px;padding:2px 5px}
.gt-ksa{transform:translate(-50%,22px)}
.gt-gcc{transform:translate(-50%,calc(-100% - 18px))}
.gt-egy{transform:translate(-50%,22px)}
.gt-mena{transform:translate(-50%,calc(-100% - 18px))}
.gm-panel{grid-area:1/1;align-self:stretch;justify-self:start;width:min(380px,36%);padding:34px 30px;background:linear-gradient(90deg,rgba(13,22,39,.97) 0%,rgba(13,22,39,.9) 78%,rgba(13,22,39,0) 100%);z-index:2}
.gm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.gm-list li{display:flex;gap:12px;align-items:flex-start}
.gm-list li>i{flex:none;font-style:normal;font:600 11px/1 var(--fb);color:#fff;background:#1C3468;border:1px solid rgba(157,183,234,.4);border-radius:4px;padding:5px 6px;margin-top:2px}
.gm-list li:first-child>i{background:#315FA8;border-color:#5B84D7}
.gm-list b{display:inline;font:700 15px/1.3 var(--fd);color:#fff}
.gm-list em{font-style:normal;font:600 10px/1 var(--fb);letter-spacing:1.2px;text-transform:uppercase;color:#9DB7EA;margin-left:8px}
.gm-list p{font-family:var(--fs);font-weight:300;font-style:italic;font-size:14.5px;line-height:1.45;color:rgba(255,255,255,.82);margin-top:3px}
@media(max-width:900px){
 .geo-map{grid-template-columns:1fr}
 .gm-panel{grid-area:auto;width:auto;background:#0D1627;padding:22px 20px 26px}
 .gm-tag{font-size:10.5px;padding:3px 6px 3px 3px}
 .gm-tag i{font-size:9px}
 .gm-stage{width:180%;margin-left:-80%}
 .gt-uae{transform:translate(calc(-100% - 14px),-50%)}
}
@media(max-width:520px){.gm-tag{font-size:9.5px}.gt-mena{display:none}}
/* EDGE Framework — clean */
.fw2{background:#fff;border:1px solid #E1E4E9;border-radius:14px;overflow:hidden}
.fw2-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.fw2-step{position:relative;padding:34px 28px 34px;text-align:left}
.fw2-step+.fw2-step{border-left:1px solid #ECEDEF}
.fw2-top{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.fw2-ico{width:48px;height:48px;border-radius:12px;background:#0D1627;color:#9DB7EA;display:grid;place-items:center}
.fw2-ico svg{width:24px;height:24px}
.fw2-n{font:600 12px/1 var(--fb);color:#315FA8;letter-spacing:1.4px}
.fw2-step h3{font-size:20px;color:#0D1627;margin-bottom:10px}
.fw2-step p{color:#4A5568}
.fw2-bands{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ECEDEF;background:#F6F7F9}
.fw2-bands p{display:flex;align-items:center;gap:14px;margin:0;padding:18px 28px;font-size:16px;color:#1C3468}
.fw2-bands p+p{border-left:1px solid #ECEDEF}
.fw2-bands b{flex:none;font:600 10.5px/1 var(--fb);letter-spacing:1.4px;text-transform:uppercase;color:#fff;background:#315FA8;border-radius:3px;padding:6px 9px}
.fw2-bands p+p b{background:#0D1627}
@media(max-width:1000px){.fw2-steps{grid-template-columns:1fr 1fr}.fw2-step:nth-child(3){border-left:none}.fw2-step:nth-child(n+3){border-top:1px solid #ECEDEF}}
@media(max-width:620px){.fw2-steps{grid-template-columns:1fr}.fw2-step+.fw2-step{border-left:none;border-top:1px solid #ECEDEF}.fw2-bands{grid-template-columns:1fr}.fw2-bands p+p{border-left:none;border-top:1px solid #ECEDEF}.fw2-step{padding:26px 22px}}
/* footer — compact */
.ft3{background:var(--navy);color:#fff;padding:0;border-top:3px solid #315FA8}
.ft3 p{margin:0}
.ft3-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:34px 0 20px}
.ft3-brand{display:flex;align-items:center;gap:18px}
.ft3-logo img{height:26px;width:auto;display:block}
.ft3-brand p{font-size:12px;color:rgba(255,255,255,.72);border-left:1px solid rgba(180,188,200,.22);padding-left:18px;line-height:1.4}
.ft3-brand p b{color:#fff;font-weight:600}
.ft3-brand p a{color:#9DB7EA;text-decoration:underline;text-underline-offset:3px}
.ft3-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 20px}
.ft3-nav a{font-size:12.5px;color:rgba(255,255,255,.8);padding:6px 0}
.ft3-nav a:hover,.ft3-legal a:hover{color:#fff}
.ft3-contact{display:flex;gap:14px;align-items:center;font-size:12.5px;color:rgba(255,255,255,.72)}
.ft3-contact a{color:#fff;padding:6px 0;border-bottom:1px solid rgba(157,183,234,.5)}
.ft3-mid{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid rgba(180,188,200,.14)}
.ft3-geo{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.ft3-geo li{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.78)}
.ft3-geo i{font-style:normal;font:600 9.5px/1 var(--fb);color:#9DB7EA;border:1px solid rgba(91,132,215,.45);border-radius:3px;padding:2px 4px}
.ft3-legal{display:flex;gap:18px}
.ft3-legal a{font-size:12px;color:rgba(255,255,255,.8);padding:6px 0}
.ft3-bottom{display:flex;justify-content:space-between;gap:8px 28px;flex-wrap:wrap;padding:14px 0 24px;border-top:1px solid rgba(180,188,200,.14)}
.ft3-bottom p{font-size:11px;line-height:1.6;color:rgba(255,255,255,.62)}
.ft3-bottom p+p{max-width:640px;text-align:right}
@media(max-width:980px){.ft3-top{grid-template-columns:1fr;gap:10px}.ft3-nav{justify-content:flex-start}.ft3-bottom p+p{text-align:left}}
@media(max-width:560px){.ft3-brand{flex-direction:column;align-items:flex-start;gap:10px}.ft3-brand p{border-left:none;padding-left:0}}
/* login */
.lg{position:relative;overflow:hidden;padding:88px 0 96px;min-height:calc(100vh - 64px);display:flex;align-items:center}
.lg-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(91,132,215,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(91,132,215,.08) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse at 75% 40%,#000 0%,transparent 65%);mask-image:radial-gradient(ellipse at 75% 40%,#000 0%,transparent 65%)}
.lg-wrap{position:relative;display:grid;grid-template-columns:1fr minmax(0,420px);gap:64px;align-items:center;width:100%}
.lg-copy h1{font-size:clamp(34px,5vw,56px);color:#fff}
.lg-lead{font-size:22px;line-height:1.5;color:rgba(255,255,255,.86);margin-top:14px;max-width:460px}
.lg-note{font-size:13px;color:rgba(255,255,255,.66);margin-top:18px;max-width:440px}
.lg-card{background:#fff;border-radius:14px;padding:32px 30px 24px;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.lg-h{font-size:22px;color:#0D1627;margin-bottom:18px}
.lg-f{margin-bottom:14px}
.lg-f label{display:block;font-size:12px;font-weight:600;color:#1C3468;margin-bottom:6px}
.lg-f input{width:100%;height:46px;border:1px solid #C3C9D3;border-radius:6px;padding:0 12px;font:14px var(--fb);color:#0D1627;background:#fff}
.lg-f input:focus{outline:2px solid #315FA8;outline-offset:1px;border-color:#315FA8}
.lg-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 18px;font-size:12.5px}
.lg-chk{display:inline-flex;align-items:center;gap:8px;color:#4A5568;min-height:44px}
.lg-chk input{width:24px;height:24px;accent-color:#315FA8}
.lg .lg-card .lg-h{color:#0D1627}
.lg .lg-card p.lg-foot{color:#4A5568}
.lg .lg-card p.lg-msg{color:#1C3468}
.lg .lg-card a{color:#315FA8}
.lg .lg-card label{color:#1C3468}
.lg-row a{color:#315FA8;padding:12px 0}
.lg-btn{width:100%;min-height:46px;font-size:14px;font-weight:600}
.lg-msg{margin-top:14px;font-size:13px;line-height:1.55;color:#1C3468;background:#ECEDEF;border-left:3px solid #315FA8;border-radius:4px;padding:10px 12px}
.lg-msg a{color:#1C3468;text-decoration:underline}
.lg-foot{margin-top:16px;padding-top:14px;border-top:1px solid #ECEDEF;font-size:13px;color:#4A5568;text-align:center}
.lg-foot a{color:#315FA8;font-weight:600;display:inline-block;padding:6px 0}
@media(max-width:860px){.lg{padding:56px 0 64px;min-height:0}.lg-wrap{grid-template-columns:1fr;gap:32px}}

/* ══ v12 — AGIF: connector animation removed · E-D-G-E letters, sequential highlight, Fiorina (17 Sep 2026) ══ */
.ig-method{margin-top:16px}
.ig-micro strong{font-weight:700;color:#fff;letter-spacing:2.4px}
.ig-edge{margin:18px 0 16px;gap:10px}
.ig-edge::before{top:28px;left:12.5%;right:12.5%;height:1px;opacity:.45}
.ig-edge li{gap:10px}
.ig-edge b{width:56px;height:56px;border-radius:14px;font:300 italic 34px/1 var(--fs);color:#9DB7EA;background:#0D1627;border:1px solid rgba(91,132,215,.45);box-shadow:none;padding-bottom:2px;transition:none}
.ig-edge li:first-child b{background:#0D1627;border-color:rgba(91,132,215,.45)}
.ig-edge span{font:300 17px/1.1 var(--fs);color:rgba(255,255,255,.82);letter-spacing:.1px}
.ig-edge em{font-style:normal;font-weight:300;color:rgba(255,255,255,.82)}
@media (prefers-reduced-motion:no-preference){
 .ig-edge b{animation:edgeL 6s ease-in-out infinite}
 .ig-edge em{animation:edgeW 6s ease-in-out infinite}
 .ig-edge li:nth-child(2) b,.ig-edge li:nth-child(2) em{animation-delay:1.5s}
 .ig-edge li:nth-child(3) b,.ig-edge li:nth-child(3) em{animation-delay:3s}
 .ig-edge li:nth-child(4) b,.ig-edge li:nth-child(4) em{animation-delay:4.5s}
}
@keyframes edgeL{
 0%{color:#9DB7EA;background:#0D1627;border-color:rgba(91,132,215,.45);box-shadow:none;transform:none}
 6%,20%{color:#fff;background:#315FA8;border-color:#9DB7EA;box-shadow:0 0 0 6px rgba(91,132,215,.18),0 12px 28px -8px rgba(91,132,215,.75);transform:translateY(-3px)}
 30%,100%{color:#9DB7EA;background:#0D1627;border-color:rgba(91,132,215,.45);box-shadow:none;transform:none}}
@keyframes edgeW{0%{color:rgba(255,255,255,.82)}6%,20%{color:#9DB7EA;font-weight:300;text-shadow:0 0 14px rgba(91,132,215,.6)}30%,100%{color:rgba(255,255,255,.82);text-shadow:none}}
@media (prefers-reduced-motion:reduce){.ig-edge b{color:#fff;background:#315FA8;border-color:#5B84D7}.ig-edge em{color:#9DB7EA}}
@media(max-width:620px){.ig-edge b{width:44px;height:44px;font-size:27px;border-radius:11px}.ig-edge::before{top:22px}.ig-edge span{font-size:14px}}

/* v12 — sector timeline infographic · geography heading as eyebrow */
.sh-eh{font-size:11px;font-weight:600;letter-spacing:.8px;line-height:1.4;margin:0}
.sx{list-style:none;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 18px;background:#0D1627;background-image:linear-gradient(160deg,#13213B 0%,#0D1627 60%);border-radius:14px;padding:44px 36px 42px;box-shadow:0 30px 60px -40px rgba(13,22,39,.6)}
.sx-col{position:relative;display:flex;flex-direction:column;min-height:100%;padding-bottom:4px}
.sx-col::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1.5px;background:var(--c);border-radius:2px}
.sx-n{display:block;padding:0 0 8px 12px;font:300 26px/1 var(--fs);color:var(--c)}
.sx-tab{position:relative;display:flex;align-items:center;min-height:34px;margin:0 0 0 0;padding:6px 16px 6px 12px;border:1.5px solid var(--c);border-left:none;border-radius:0 17px 17px 0;font:600 10.5px/1.25 var(--fb);letter-spacing:1.2px;text-transform:uppercase;color:#fff}
.sx-ico{display:grid;place-items:center;margin:26px 0 16px 12px;color:var(--c)}
.sx-ico svg{width:34px;height:34px}
.sx-col p{padding-left:14px;text-align:center;font-family:var(--fs);font-weight:300;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.8)}
@media(max-width:1100px){.sx{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px}}
@media(max-width:640px){.sx{grid-template-columns:repeat(2,minmax(0,1fr));padding:30px 20px;gap:30px 16px}.sx-tab{font-size:9.5px;letter-spacing:.8px;padding:6px 10px 6px 10px}.sx-n{font-size:22px}}
@media(max-width:400px){.sx{grid-template-columns:1fr}}

/* v12 — EDGE Framework (bio model): letter cards · gates row · cycle */
.ef .sh p{color:rgba(255,255,255,.78)}
.ef-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.ef-card{background:#13213B;border:1px solid rgba(157,183,234,.2);padding:34px 30px 30px;display:flex;flex-direction:column}
.ef-l{font:300 72px/1 var(--fs);color:#5B6F95;margin-bottom:18px}
.ef-card h3{font:300 32px/1.1 var(--fs);color:#fff;letter-spacing:0;margin:0 0 14px}
.ef-card p{font-family:var(--fs);font-weight:300;font-size:17px;line-height:1.6;color:rgba(255,255,255,.82);flex:1}
.ef-sub{display:block;margin-top:20px;padding-top:16px;border-top:1px solid rgba(157,183,234,.22);font:500 11px/1.6 var(--fb);letter-spacing:1.6px;text-transform:uppercase;color:#9DB7EA}
@media (prefers-reduced-motion:no-preference){
 .ef-l{animation:efL 8s ease-in-out infinite}
 .ef-card:nth-child(2) .ef-l{animation-delay:2s}.ef-card:nth-child(3) .ef-l{animation-delay:4s}.ef-card:nth-child(4) .ef-l{animation-delay:6s}
}
@keyframes efL{0%,30%,100%{color:#5B6F95;text-shadow:none}6%,22%{color:#9DB7EA;text-shadow:0 0 28px rgba(91,132,215,.55)}}
.ef-row{list-style:none;margin:34px 0 0;padding:0;display:flex;align-items:stretch;gap:8px}
.ef-row li{display:flex;align-items:center;justify-content:center;text-align:center;font:600 11px/1.35 var(--fb);letter-spacing:1.4px;text-transform:uppercase;color:#fff}
.ef-st{flex:1 1 0;border:1px solid rgba(180,188,200,.4);padding:13px 8px}
.ef-gt{flex:1.7 1 0;background:#1C3468;border:1px solid rgba(91,132,215,.55);padding:13px 8px}
.ef-ar{flex:none;color:#9DB7EA!important;font-size:15px!important;letter-spacing:0!important}
.ef-gates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.ef-gate{border-top:2px solid #315FA8;padding-top:14px}
.ef-gate b{display:block;font:600 11px/1.4 var(--fb);letter-spacing:1.6px;text-transform:uppercase;color:#9DB7EA;margin-bottom:6px}
.ef-gate p{font-family:var(--fs);font-weight:300;font-size:16px;line-height:1.55;color:rgba(255,255,255,.8)}
.ef-cycle{margin-top:56px;background:#101B30;border:1px solid rgba(157,183,234,.16);border-radius:14px;padding:34px 34px 20px}
.ef-cyh{max-width:760px;padding-bottom:18px;border-bottom:1px solid rgba(157,183,234,.16);margin-bottom:10px}
.ef-cyh h3{font:300 34px/1.15 var(--fs);color:#fff;margin:0 0 12px}
.ef-cyh p{font-family:var(--fs);font-weight:300;font-size:17px;line-height:1.6;color:rgba(255,255,255,.8)}
.cy-svg{display:block;width:100%;max-width:900px;height:auto;margin:0 auto}
.cy-arc{fill:none;stroke:#5B84D7;stroke-width:3}
.cy-dash{stroke-dasharray:9 8;stroke-width:2.4}
.cy-box rect{fill:#0D1627;stroke:rgba(157,183,234,.35);stroke-width:1.2}
.cy-bt{font:700 22px var(--fb);fill:#fff;letter-spacing:.6px}
.cy-bs{font:400 13px var(--fb);fill:#9DB7EA}
.cy-pill rect{fill:#0D1627;stroke:#9DB7EA;stroke-width:1.3}
.cy-pill text{font:700 11px var(--fb);letter-spacing:1.6px;fill:#fff}
.cy-renew rect{stroke-dasharray:4 4;stroke:rgba(180,188,200,.7)}
.cy-renew text{fill:#C3C9D3}
.cy-core circle{fill:#13213B;stroke:rgba(157,183,234,.45);stroke-width:1.2}
.cy-ct{font:700 15px var(--fb);letter-spacing:2px;fill:#fff}
.cy-rule{stroke:#5B84D7;stroke-width:1.2}
.cy-ce{font:400 14px var(--fb);fill:#C3C9D3}
.cy-en{font-weight:700;fill:#fff}
.cy-dot{fill:#5B84D7;font-size:10px}
.cy-cf{font:italic 300 13px var(--fs);fill:#9DB7EA}
.ef-disc{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:40px;padding-top:28px;border-top:1px solid rgba(157,183,234,.16)}
.ef-disc h3{font:300 24px/1.2 var(--fs);color:#fff;margin:0 0 10px}
.ef-disc p{font-family:var(--fs);font-weight:300;font-size:16px;line-height:1.6;color:rgba(255,255,255,.78)}
.ef-attr{margin-top:26px;font-size:13px!important;color:rgba(255,255,255,.66)!important}
.ef-attr a{color:#9DB7EA;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:6px 0}
@media(max-width:1100px){.ef-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.ef-gates{grid-template-columns:1fr}.ef-disc{grid-template-columns:1fr;gap:22px}.ef-cycle{padding:24px 16px 12px}.ef-row{flex-direction:column;align-items:stretch}.ef-st,.ef-gt{flex:none;padding:13px 12px}.ef-ar{transform:rotate(90deg)}}
@media(max-width:560px){.ef-cards{grid-template-columns:1fr}.ef-l{font-size:58px}.ef-card{padding:26px 22px}}

/* ══ v13 — Fiorina main font · footer ft4 · page 2 colour revamp · investor portal (17 Sep 2026) ══ */
:root{--fd:var(--fs)}
body{font-family:var(--fs);font-weight:300;font-synthesis:none}
h1,h2,h3{font-family:var(--fs);font-weight:300;letter-spacing:-.2px;line-height:1.14}
h1{font-size:clamp(34px,5vw,54px)}
h2{font-size:clamp(27px,3.5vw,42px)}
h3{font-size:clamp(19px,1.9vw,23px);letter-spacing:0}
:where(.nav,.ft,button,input,select,textarea,label,table,.btn,.eyebrow,small,figcaption,.jump-nav,.note,.disc,.lg-row,.lg-foot,.lg-msg,.pt-bar){font-family:var(--fb);font-weight:400}
b,strong{font-weight:inherit}
.eyebrow,h2.eyebrow,.sh-eh{font-family:var(--fb)}
/* text below 12.5px stays in Inter for legibility */
.strip-in,.strip-in span,.strip-in a,.strip-in b,.pill,.veh-meta,.ig-method p,.ig-foot,.crit-all-s,.fund-h p,.fund-cta,.ct-card b,.req-bar p,.meta-s,.hero p.ig-foot,.g-dk p.ig-foot,.sh p.ig-foot,.ig-agif p.ig-foot{font-family:var(--fb)}
:where(.strip-in,.strip-in span,.strip-in a,.pill,.veh-meta,.ig-method p,.ig-foot,.crit-all-s,.fund-h p,.req-bar p,.meta-s){font-weight:400}
.ct-card b{font-weight:600;letter-spacing:.6px;text-transform:uppercase}
.h3s{font-size:clamp(19px,1.9vw,23px);letter-spacing:0}

/* footer ft4 */
.ft4{background:var(--navy);color:#fff;padding:0}
.ft4 p{margin:0}
.ft4-top{display:flex;align-items:center;gap:36px;padding:34px 0 24px}
.ft4-logo{display:block;padding:4px 0}
.ft4-logo img{height:24px;width:auto;display:block}
.ft4-nav{display:flex;flex-wrap:wrap;gap:2px 30px;margin-left:auto}
.ft4-nav a,.ft4-legal a{font:400 13px/1 var(--fb);color:rgba(255,255,255,.78);padding:9px 0;transition:color .15s}
.ft4-mail{font:400 13px/1 var(--fb);color:#fff;padding:9px 0 7px;border-bottom:1px solid rgba(91,132,215,.7)}
.ft4-nav a:hover,.ft4-legal a:hover{color:#fff}
.ft4-mail:hover{border-bottom-color:#fff}
.ft4-bot{display:flex;justify-content:space-between;align-items:center;gap:6px 28px;flex-wrap:wrap;padding:14px 0 26px;border-top:1px solid rgba(180,188,200,.14)}
.ft4-bot p{font:400 12px/1.6 var(--fb);color:rgba(255,255,255,.62)}
.ft4-legal{display:flex;gap:24px}
.ft4-legal a{font-size:12px}
@media(max-width:860px){.ft4-top{flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding:28px 0 18px}.ft4-nav{order:3;width:100%;margin-left:0;gap:0 22px}}

/* page 2 — colour revamp: light mandate/geography/criteria, brand tokens only */
#mandate .sx{background:#fff;background-image:none;border:1px solid #E1E4E9;box-shadow:0 24px 48px -36px rgba(13,22,39,.28)}
#mandate .sx-col::before{background:#D2D7DE}
#mandate .sx-n{color:#315FA8;font-size:30px}
#mandate .sx-tab{color:#0D1627;border-color:#315FA8}
#mandate .sx-ico{color:#315FA8}
#mandate .sx-col p{color:var(--sub);font-size:15px}
#criteria .crit-all{background:#ECEDEF;color:#0D1627}
#criteria .crit-all b{color:#0D1627;font-size:19px}
#criteria .crit-all-s{color:var(--sub)}
#criteria .crit-op{background:#315FA8}
#framework .ef-card{background:rgba(28,52,104,.32);border-color:rgba(180,188,200,.18)}
#framework .ef-l{color:#5B84D7}
@media (prefers-reduced-motion:no-preference){#framework .ef-l{animation-name:efL13}}
@keyframes efL13{0%,30%,100%{color:#5B84D7;text-shadow:none}6%,22%{color:#fff;text-shadow:0 0 28px rgba(91,132,215,.55)}}
#framework .ef-sub{color:#B4BCC8;border-top-color:rgba(180,188,200,.2)}
#framework .ef-gate b{color:#B4BCC8}
#framework .ef-gate{border-top-color:#5B84D7}
#framework .ef-ar{color:#5B84D7!important}
#framework .ef-gt{background:#1C3468;border-color:#315FA8}
#framework .ef-cycle{background:rgba(28,52,104,.2);border-color:rgba(180,188,200,.16)}
#framework .ef-cyh{border-bottom-color:rgba(180,188,200,.16)}
#framework .cy-bs,#framework .cy-cf{fill:#B4BCC8}
#framework .cy-pill rect{stroke:#5B84D7}
#framework .cy-box rect{stroke:rgba(180,188,200,.35)}
#framework .cy-core circle{fill:#1C3468;stroke:rgba(180,188,200,.35)}
#framework .ef-disc{border-top-color:rgba(180,188,200,.16)}
#framework .ef-attr a{color:#B4BCC8}
.cta-l{background:var(--grey);padding:60px 0}
.cta-l .eyebrow{color:#315FA8}
.cta-l h2{color:#0D1627;margin:10px 0 12px}
.cta-l p{font-size:19px;line-height:1.6;color:var(--sub);max-width:700px}

/* login — server-side form */
.lg-row-r{justify-content:flex-end}
.lg-btn:disabled{opacity:.7;cursor:progress}

/* investor portal shell */
body.pt{margin:0;height:100vh;display:flex;flex-direction:column;background:#0D1627;overflow:hidden}
.pt-bar{flex:none;display:flex;align-items:center;gap:16px;height:56px;padding:0 20px;background:#0D1627;border-bottom:1px solid rgba(180,188,200,.16);color:#fff}
.pt-logo img{height:22px;width:auto;display:block}
.pt-div{width:1px;height:24px;background:rgba(180,188,200,.25)}
.pt-t{display:flex;flex-direction:column;line-height:1.25}
.pt-t b{font:600 10px/1.3 var(--fb);letter-spacing:1.6px;text-transform:uppercase;color:#B4BCC8}
.pt-t span{font:300 16px/1.3 var(--fs);color:#fff}
.pt-r{margin-left:auto;display:flex;align-items:center;gap:16px}
.pt-u{font:400 12px var(--fb);color:rgba(255,255,255,.7)}
.pt-out{font:500 12.5px var(--fb);color:#fff;border:1px solid rgba(180,188,200,.35);border-radius:6px;padding:8px 14px}
.pt-out:hover{border-color:#fff}
.pt-main{flex:1;min-height:0}
.pt-frame{display:block;width:100%;height:100%;border:0;background:#fff}
@media(max-width:620px){.pt-u,.pt-div{display:none}.pt-bar{padding:0 12px;gap:12px}}

/* ══ v16 — hero −10%, KAFD, dark map, contact, header & footer revamp (17 Sep 2026) ══ */
html{scroll-padding-top:96px}
.nav{background:rgba(13,22,39,.95);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(157,183,234,.14)}
.nav-in{height:80px}
.nav-logo{display:flex;align-items:center}
.nav-logo img{height:44px;width:auto}
.nav-links{gap:2px}
.nav-link{position:relative;font-size:14px;letter-spacing:.2px;color:rgba(255,255,255,.72);padding:12px 16px}
.nav-link::after{content:'';position:absolute;left:16px;right:16px;bottom:4px;height:2px;border-radius:2px;background:#5B84D7;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-link:hover::after,.nav-link[aria-current=page]::after{transform:scaleX(1)}
.nav-right{gap:10px}
.nav-login{height:42px;min-height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.22);border-radius:6px;font-size:13.5px}
.nav-login:hover{border-color:rgba(255,255,255,.55)}
.nav-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;font-size:13.5px;border-radius:6px}
@media(max-width:860px){.nav-in{height:68px}.nav-logo img{height:36px}.nav-links{top:68px;padding:10px 14px 16px}.nav-link::after{left:14px;right:auto;width:28px;bottom:6px}.nav-login{border:none;padding:0 10px}}
@media(max-width:520px){.nav-cta{padding:0 14px;font-size:12.5px}}
.lg{min-height:calc(100vh - 80px)}
.hfb-copy{max-width:600px}
.hfb-copy h1{font-size:clamp(31px,4.68vw,56px);letter-spacing:-1px}
.hfb-copy p{font-size:19px;max-width:520px}
.hfb-bg img{object-position:100% 45%;transform-origin:78% 50%}
.hfb-bg::after{background:linear-gradient(90deg,rgba(13,22,39,.96) 0%,rgba(13,22,39,.8) 36%,rgba(13,22,39,.2) 62%,rgba(13,22,39,.06) 100%),linear-gradient(0deg,#0D1627 0%,rgba(13,22,39,.12) 34%,rgba(13,22,39,0) 52%)}
@media(max-width:760px){.hfb-copy h1{font-size:clamp(28px,7.6vw,36px)}.hfb-copy p{font-size:17px}.hfb-bg img{object-position:88% 40%}.hfb-bg::after{background:linear-gradient(180deg,rgba(13,22,39,.62) 0%,rgba(13,22,39,.86) 55%,#0D1627 100%)}}
/* dark map */
/* contact: no dead space, image fills the column */
.sec-ct{padding-bottom:64px}
.contact-grid{align-items:stretch}
.contact-grid>div:last-child{display:flex;flex-direction:column}
.ct-vis16{flex:1 1 0;margin:8px 0 0;aspect-ratio:auto;min-height:200px}
.sec-ct textarea{min-height:190px}
.ct-vis16 img{object-position:52% 38%}
@media(max-width:900px){.ct-vis16{flex:none;aspect-ratio:4/3.3}}
/* footer */
.ft5{background:#0B1322;color:#fff;border-top:1px solid rgba(157,183,234,.14)}
.ft5 p{margin:0}
.ft5-top{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px;padding:56px 0 40px}
.ft5-logo{display:inline-block}
.ft5-logo img{height:48px;width:auto;display:block}
.ft5-tag{font:300 19px/1.5 var(--fs);color:rgba(255,255,255,.78);margin-top:18px!important;max-width:320px}
.ft5-mail{display:inline-block;margin-top:16px;font:500 14px/1 var(--fb);color:#fff;padding:8px 0 6px;border-bottom:1px solid #5B84D7}
.ft5-mail:hover{border-bottom-color:#fff}
.ft5-col{display:flex;flex-direction:column;gap:2px}
.ft5-h{font:600 11px/1 var(--fb);letter-spacing:1.6px;text-transform:uppercase;color:#9DB7EA;margin-bottom:10px!important}
.ft5-col a{font:400 14px/1 var(--fb);color:rgba(255,255,255,.78);padding:9px 0;transition:color .15s}
.ft5-col a:hover{color:#fff}
.ft5-notice{border:1px solid rgba(157,183,234,.18);border-left:3px solid #5B84D7;border-radius:8px;background:rgba(28,52,104,.18);padding:20px 24px}
.ft5-notice .ft5-h{margin-bottom:12px!important}
.ft5-notice p+p{margin-top:10px!important}
.ft5-notice p:not(.ft5-h){font:400 12.5px/1.7 var(--fb);color:rgba(255,255,255,.72)}
.ft5-notice b{color:#fff;font-weight:600}
.ft5-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 24px;padding:22px 0 30px}
.ft5-bot p{font:400 12px/1.6 var(--fb);color:rgba(255,255,255,.55)}
@media(max-width:900px){.ft5-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;padding:44px 0 32px}.ft5-brand{grid-column:1/-1}}
@media(max-width:520px){.ft5-top{grid-template-columns:repeat(2,minmax(0,1fr))}.ft5-notice{padding:16px 16px}}

/* ══ v16 — cycle rebuilt: concentric rings, clockwise circulation (17 Sep 2026) ══ */
.cy16 .cy-track{fill:none;stroke:rgba(91,132,215,.55);stroke-width:2}
.cy16 .cy-track-d{stroke-dasharray:7 7;stroke:rgba(180,188,200,.45)}
.cy16 .cy-flow{fill:none;stroke:#9DB7EA;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:12 35.833;opacity:.95}
.cy16 .cy-chev{fill:none;stroke:#9DB7EA;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cy16 .cy-inner{fill:none;stroke:rgba(157,183,234,.28);stroke-width:1.2;stroke-dasharray:2 7;transform-box:view-box;transform-origin:480px 300px}
.cy16 .cy-core circle{fill:#1C3468;stroke:rgba(157,183,234,.45);stroke-width:1.2}
.cy16 .cy-box rect{fill:#0D1627;stroke:rgba(157,183,234,.38);stroke-width:1.3;transition:stroke .3s}
.cy16 .cy-pill rect{fill:#0D1627;stroke:#5B84D7;stroke-width:1.3}
.cy16 .cy-renew rect{stroke:rgba(180,188,200,.7);stroke-dasharray:4 4}
@media (prefers-reduced-motion:no-preference){
 .cy16 .cy-flow{animation:cyflow 2.4s linear infinite}
 .cy16 .cy-inner{animation:cyspin 60s linear infinite reverse}
 .cy16 .cy-pill rect,.cy16 .cy-box rect{animation:cyhit 16s linear infinite}
 .cy16 .cy-g0 rect{animation-delay:0s}.cy16 .cy-s1 rect{animation-delay:2s}
 .cy16 .cy-g1 rect{animation-delay:4s}.cy16 .cy-s2 rect{animation-delay:6s}
 .cy16 .cy-g2 rect{animation-delay:8s}.cy16 .cy-s3 rect{animation-delay:10s}
 .cy16 .cy-g3 rect{animation-delay:12s}.cy16 .cy-s0 rect{animation-delay:14s}
}
@media (prefers-reduced-motion:reduce){.cy16 .cy-comet{display:none}}
@keyframes cyflow{to{stroke-dashoffset:-47.833}}
@keyframes cyspin{to{transform:rotate(360deg)}}
@keyframes cyhit{0%{stroke:#DCE7FF;stroke-width:2.2;filter:drop-shadow(0 0 6px rgba(157,183,234,.9))}9%{stroke:#DCE7FF;stroke-width:2.2;filter:drop-shadow(0 0 6px rgba(157,183,234,.9))}16%,100%{stroke:rgba(157,183,234,.45);stroke-width:1.3;filter:none}}
#framework .cy16 .cy-core circle{fill:#1C3468}
.cy-svg.cy16{max-width:720px;margin:6px auto 0}
@media(max-width:620px){
 .cy16 .cy-bs,.cy16 .cy-cf,.cy16 .cy-ce,.cy16 .cy-rule{display:none}
 .cy16 .cy-bt{font-size:30px}
 .cy16 .cy-ct{font-size:21px;letter-spacing:1.5px;transform:translateY(80px)}
 .cy16 .cy-pill text{font-size:13px;letter-spacing:1px}
 .cy16 .cy-box text.cy-bt{transform:translateY(10px)}
}

/* ===== v17 (18 Sep 2026) ===================================================== */
/* -- Investment Concept: full-bleed hero, same fade treatment as page 1 ------ */
.hero-fb.hero-ic{min-height:min(74vh,700px);padding:126px 0 84px;align-items:center}
.hero-ic .hfb-copy{max-width:700px}
.hero-ic .hfb-copy p{max-width:600px}
.hero-ic .hfb-bg img{object-position:100% 52%;transform-origin:70% 50%}
.hero-ic .jump-nav{margin-top:34px;border-top:1px solid rgba(255,255,255,.14);padding-top:16px}
@media(max-width:760px){.hero-ic{padding:92px 0 56px;min-height:min(66vh,560px)}.hero-ic .hfb-bg img{object-position:82% 46%}}

/* -- Contact: sectioned enquiry form ---------------------------------------- */
.ct-intro{font-size:13.5px;line-height:1.7;color:var(--muted);margin:0 0 22px;max-width:640px}
.fs{border:0;margin:0 0 26px;padding:0}
.fs legend{padding:0;margin-bottom:14px;font:600 10px/1 var(--fb);letter-spacing:1.6px;text-transform:uppercase;color:var(--pri)}
.fs+.fs{border-top:1px solid var(--bd);padding-top:24px}
.field .lbl{font-family:var(--fb);font-size:11px;font-weight:600;color:var(--dk);letter-spacing:.2px;display:block;margin-bottom:8px}
.req{color:var(--pri)}
.opt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);font-size:10.5px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:inline-block;border:1px solid var(--bd);background:#fff;border-radius:999px;padding:8px 14px;font:500 12px/1 var(--fb);color:var(--dk);transition:.18s ease;pointer-events:none}
.chip input:checked+span{background:var(--pri);border-color:var(--pri);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--lb);outline-offset:2px}
.chip:hover span{border-color:var(--pri)}
.cbx{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.6;color:var(--dk);font-weight:400;letter-spacing:0}
.cbx input{flex:none;width:17px;height:17px;margin-top:1px;accent-color:var(--pri)}
.cbx a{color:var(--pri);text-decoration:underline}
.sec-ct textarea{min-height:130px}
@media(max-width:620px){.chip span{padding:7px 12px;font-size:11.5px}}
.ft5-nn .ft5-top{padding-bottom:30px}
.ft5-nn .ft5-bot{border-top:1px solid rgba(157,183,234,.12);padding-top:20px}
/* contact rail: sticky, image matched to its own aspect so nothing is cropped */
@media(min-width:901px){
 .contact-grid{align-items:start}
 .contact-grid>div:last-child{position:sticky;top:96px;align-self:start}
 .ct-vis16{flex:none;aspect-ratio:800/1120;margin-top:14px;min-height:0}
 .ct-vis16 img{object-position:50% 40%}
}
@media(max-width:900px){.ct-vis16{flex:none;aspect-ratio:4/3.1}.ct-vis16 img{object-position:50% 16%}}
/* v17 — geographic mandate: cropped frame, two-column layout, motion */
#geography .geo-map{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);align-items:stretch;gap:0;background:#0D1627;border:1px solid rgba(157,183,234,.16);border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(13,22,39,.7)}
#geography .gm-panel{grid-area:auto;width:auto;justify-self:auto;background:linear-gradient(180deg,#101C33 0%,#0D1627 100%);border-right:1px solid rgba(157,183,234,.14);padding:28px 26px 26px}
.gm-ph{margin:0 0 18px;font:600 10px/1 var(--fb);letter-spacing:1.6px;text-transform:uppercase;color:#9DB7EA}
.gm-list{gap:14px}
.gm-list li{position:relative;padding-left:2px;transition:opacity .5s ease}
#geography .gm-list b{font-size:16.5px}
.gm-canvas{grid-area:auto;background:#0B1424;display:flex;align-items:center;justify-content:center;padding:10px 12px}
.gm-stage{width:100%}
.gm-svg path{stroke-width:4.6}
.gd-land{stroke:rgba(180,188,200,.13)}
.gm-arc{fill:none;stroke:rgba(91,132,215,.30);stroke-width:1.5}
.gm-arcflow{fill:none;stroke:#9DB7EA;stroke-width:1.8;stroke-linecap:round;opacity:.9}
.gm-spark{fill:#fff;filter:drop-shadow(0 0 4px rgba(157,183,234,.9))}
.gp-wave{fill:none;stroke:rgba(157,183,234,.55);stroke-width:1.2;opacity:0}
.gp-ring{fill:rgba(91,132,215,.20);stroke:rgba(157,183,234,.7);stroke-width:1.3}
.gp-ksa .gp-ring{fill:rgba(91,132,215,.34);stroke:#fff}
.gm-halo{opacity:.85}
.gm-tag{transform:translate(16px,-50%);background:rgba(11,20,36,.88);border-color:rgba(157,183,234,.32);backdrop-filter:blur(2px)}
.gm-tag.gt-l{transform:translate(calc(-100% - 16px),-50%)}
@media (prefers-reduced-motion:no-preference){
.af-uae{stroke-dasharray:14 148;stroke-dashoffset:162;animation:gmflow 4.6s linear infinite}
.af-gcc{stroke-dasharray:14 86;stroke-dashoffset:100;animation:gmflow 4.6s linear infinite}
.af-egy{stroke-dasharray:14 299;stroke-dashoffset:313;animation:gmflow 4.6s linear infinite}
.af-mena{stroke-dasharray:14 575;stroke-dashoffset:589;animation:gmflow 4.6s linear infinite}
.af-gcc{animation-duration:3.8s}.af-egy{animation-duration:5.4s}.af-mena{animation-duration:6.4s}
@keyframes gmflow{to{stroke-dashoffset:0}}
.gm-pin .gp-wave{transform-box:fill-box;transform-origin:center;animation:gmwave 3.4s ease-out infinite}
.gm-pin .gp-ring{transform-box:fill-box;transform-origin:center;animation:gmlive 16s ease-in-out infinite}
@keyframes gmwave{0%{transform:scale(.7);opacity:.7}70%{transform:scale(2.4);opacity:0}100%{transform:scale(2.4);opacity:0}}
@keyframes gmlive{0%,14%{transform:scale(1.5)}22%,100%{transform:scale(1)}}
.gp-ksa .gp-wave{animation-delay:0.00s}.gp-ksa .gp-ring{animation-delay:0.0s}
.gp-uae .gp-wave{animation-delay:0.68s}.gp-uae .gp-ring{animation-delay:3.2s}
.gp-gcc .gp-wave{animation-delay:1.36s}.gp-gcc .gp-ring{animation-delay:6.4s}
.gp-egy .gp-wave{animation-delay:2.04s}.gp-egy .gp-ring{animation-delay:9.6s}
.gp-mena .gp-wave{animation-delay:2.72s}.gp-mena .gp-ring{animation-delay:12.8s}
.gm-list li{animation:gmdim 16s ease-in-out infinite}
@keyframes gmdim{0%,14%{opacity:1}22%,100%{opacity:.62}}
.gl-ksa{animation-delay:0.0s}
.gl-uae{animation-delay:3.2s}
.gl-gcc{animation-delay:6.4s}
.gl-egy{animation-delay:9.6s}
.gl-mena{animation-delay:12.8s}
.gm-halo{animation:gmhalo 6s ease-in-out infinite alternate}
@keyframes gmhalo{from{opacity:.55}to{opacity:1}}
}
@media (prefers-reduced-motion:reduce){.gm-arcflow,.gm-spark,.gp-wave{display:none}}
@media(max-width:1000px){#geography .geo-map{grid-template-columns:1fr}#geography .gm-panel{border-right:0;border-bottom:1px solid rgba(157,183,234,.14);order:2;padding:22px 20px 24px}.gm-canvas{order:1;padding:8px}#geography .gm-stage{width:100%;margin-left:0}}
@media(max-width:820px){#geography .gm-tag{display:none}}

/* ══ v19 — three-line lead headline (19 Sep 2026) ══ */
.hfb-copy h1 span{display:block}

/* ══ v21 — home hero legibility: a measured lift in line spacing & contrast (19 Sep 2026) ══ */
.hero-fb:not(.hero-ic) .hfb-copy h1{line-height:1.15;letter-spacing:-.5px}
.hero-fb:not(.hero-ic) .hfb-copy h1 span{margin-bottom:5px}
.hero-fb:not(.hero-ic) .hfb-copy h1 span:last-child{margin-bottom:0}
.hero-fb:not(.hero-ic) .hfb-copy h1+p{margin-top:22px}
.hero-fb:not(.hero-ic) .hfb-copy p{line-height:1.72;letter-spacing:.1px;color:rgba(255,255,255,.88)!important}
.hero-fb:not(.hero-ic) .btns{margin-top:34px}
@media(max-width:760px){
 .hero-fb:not(.hero-ic) .hfb-copy h1{line-height:1.18}
 .hero-fb:not(.hero-ic) .hfb-copy h1 span{margin-bottom:3px}
 .hero-fb:not(.hero-ic) .hfb-copy h1+p{margin-top:16px}
 .hero-fb:not(.hero-ic) .hfb-copy p{line-height:1.66}
}

/* v22 — enquiry endpoint error state */
.form-err{margin:0 0 14px;padding:11px 14px;border-left:3px solid #B23B3B;border-radius:4px;background:#FBE7E7;color:#7A2222;font:500 13.5px/1.55 var(--fb)}

/* ══ v28 — hero photography on the login and contact pages (19 Sep 2026) ══ */

/* contact: the established full-bleed pattern, band height tuned to the copy */
.hero-fb.hero-ct{min-height:min(56vh,480px);padding:124px 0 56px;align-items:center}
.hero-ct .hfb-copy{max-width:860px}
.hero-ct .hfb-copy h1{font-size:clamp(32px,4.4vw,52px)}
.hero-ct .hfb-copy p{max-width:800px;margin-top:16px}
.hero-ct .hfb-bg img{object-position:72% 42%}
/* contact hero carries people: a scoped scrim keeps the copy on navy at every
   crop width, since object-fit:cover pulls the figures leftward as the box narrows */
.hero-ct .hfb-bg::after{content:'';position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(100deg,rgba(13,22,39,.97) 0%,rgba(13,22,39,.93) 34%,rgba(13,22,39,.72) 52%,rgba(13,22,39,.34) 70%,rgba(13,22,39,.12) 86%,rgba(13,22,39,.06) 100%)}
@media(max-width:1100px){.hero-ct .hfb-bg::after{
 background:linear-gradient(100deg,rgba(13,22,39,.98) 0%,rgba(13,22,39,.96) 46%,rgba(13,22,39,.92) 66%,rgba(13,22,39,.82) 84%,rgba(13,22,39,.66) 100%)}}
@media(max-width:760px){.hero-ct .hfb-bg::after{
 background:linear-gradient(180deg,rgba(13,22,39,.90) 0%,rgba(13,22,39,.95) 46%,rgba(13,22,39,.97) 100%)}}
.hero-ct .hfb-grid{-webkit-mask-image:radial-gradient(ellipse at 76% 42%,#000 0%,transparent 60%);mask-image:radial-gradient(ellipse at 76% 42%,#000 0%,transparent 60%)}
@media(max-width:760px){
 .hero-fb.hero-ct{padding:88px 0 40px;min-height:min(46vh,340px)}
 .hero-ct .hfb-bg img{object-position:80% 44%}
}

/* login: photograph behind the whole band; the sign-in card stays opaque */
.lg-ph{background:#0D1627}
.lg-bg{position:absolute;inset:0;z-index:0;background:#0D1627;overflow:hidden}
.lg-bg picture,.lg-bg img{width:100%;height:100%;object-fit:cover;display:block}
.lg-bg img{object-position:58% 50%;transform-origin:64% 46%;animation:lgkb 46s ease-in-out infinite alternate}
@keyframes lgkb{from{transform:scale(1.02)}to{transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.lg-bg img{animation:none}}
.lg-scrim{position:absolute;inset:0;z-index:0;pointer-events:none;
 background:linear-gradient(90deg,rgba(13,22,39,.86) 0%,rgba(13,22,39,.66) 24%,rgba(13,22,39,.18) 55%,rgba(13,22,39,.04) 100%),
            linear-gradient(0deg,rgba(13,22,39,.55) 0%,rgba(13,22,39,.08) 44%,rgba(13,22,39,0) 100%)}
.lg-ph .lg-grid-bg{z-index:0}
.lg-ph .lg-wrap{z-index:1}
.lg-ph .lg-card{box-shadow:0 46px 90px -34px rgba(0,0,0,.82);border:1px solid rgba(255,255,255,.1)}
@media(max-width:860px){
 .lg-bg img{object-position:66% 42%}
 .lg-scrim{background:linear-gradient(180deg,rgba(13,22,39,.58) 0%,rgba(13,22,39,.84) 46%,rgba(13,22,39,.95) 100%)}
}

/* ===== v36 — numbered mobile + tablet drop list ===================== */
@media(max-width:900px){
  /* the bar keeps only the mark and the trigger */
  .nav-right .nav-login,.nav-right .nav-cta{display:none}
  .burger{display:block}

  .nav-links{
    display:flex;position:fixed;top:var(--navh,68px);left:0;right:0;
    flex-direction:column;align-items:stretch;
    background:linear-gradient(180deg,#0E1B30 0%,var(--navy) 62%);
    padding:6px 0 max(18px,env(safe-area-inset-bottom));
    border-bottom:1px solid rgba(157,183,234,.16);
    box-shadow:0 26px 60px -24px rgba(0,0,0,.72);
    max-height:calc(100dvh - var(--navh,68px));overflow-y:auto;
    counter-reset:nl;
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .22s ease,transform .26s cubic-bezier(.22,.9,.3,1),visibility .26s;
    z-index:60;
  }
  .nav-links.open{opacity:1;visibility:visible;transform:none}

  .nav-link{
    position:relative;display:flex;align-items:baseline;gap:16px;
    padding:17px 24px 17px 22px;margin:0;border-radius:0;
    font-size:17px;letter-spacing:.1px;color:rgba(255,255,255,.80);
    border-bottom:1px solid rgba(157,183,234,.10);
    opacity:0;transform:translateY(8px);
  }
  .nav-links.open .nav-link{opacity:1;transform:none;
    transition:opacity .3s ease,transform .34s cubic-bezier(.22,.9,.3,1),color .15s}
  .nav-links.open .nav-link:nth-child(1){transition-delay:.04s}
  .nav-links.open .nav-link:nth-child(2){transition-delay:.08s}
  .nav-links.open .nav-link:nth-child(3){transition-delay:.12s}
  .nav-links.open .nav-link:nth-child(4){transition-delay:.16s}
  .nav-links.open .nav-link:nth-child(5){transition-delay:.20s}

  /* the number */
  .nav-link::before{
    counter-increment:nl;content:counter(nl,decimal-leading-zero);
    flex:0 0 auto;min-width:26px;
    font-size:11px;font-weight:600;letter-spacing:1.4px;
    font-variant-numeric:tabular-nums;
    color:#5B84D7;opacity:1;transition:opacity .15s,color .15s;
  }
  /* the desktop underline has no place in the sheet */
  .nav-link::after{content:none}

  .nav-link:hover{color:#fff;background:rgba(91,132,215,.07)}
  .nav-link:hover::before{opacity:1}

  /* current page */
  .nav-link[aria-current=page]{color:#fff;background:rgba(91,132,215,.10);
    box-shadow:inset 3px 0 0 0 #5B84D7}
  .nav-link[aria-current=page]::before{color:#8FB0EE;opacity:1}

  /* actions at the foot of the sheet */
  .nl-act{display:flex;gap:10px;padding:18px 22px 4px}
  .nl-act a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
    height:46px;border-radius:6px;font-size:13.5px;font-weight:600;letter-spacing:.2px}
  .nl-login{color:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.24)}
  .nl-login:hover{border-color:rgba(255,255,255,.55);color:#fff}
  .nl-cta{background:var(--pri);color:#fff;border:1px solid var(--pri)}
  .nl-cta:hover{background:var(--dk);border-color:var(--dk)}

  /* trigger becomes a close mark while open */
  .burger span{transition:transform .26s cubic-bezier(.22,.9,.3,1),opacity .18s}
  .burger[aria-expanded=true] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
  .burger[aria-expanded=true] span:nth-child(2){opacity:0}
  .burger[aria-expanded=true] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

  /* scrim */
  .nav-scrim{position:fixed;inset:var(--navh,68px) 0 0;background:rgba(6,12,24,.55);
    opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s;z-index:55}
  .nav-scrim.on{opacity:1;visibility:visible}
  body.nav-open{overflow:hidden}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
  .nav-links,.nav-link,.burger span,.nav-scrim{transition:none!important}
  .nav-links.open .nav-link{transition-delay:0s!important}
}
@media(min-width:901px){.nl-act{display:none}}
@media(max-width:860px){.nav-link{font-size:16px;padding:16px 20px 16px 18px}.nl-act{padding:16px 18px 4px}}
@media(min-width:700px) and (max-width:900px){
  .nav-link{padding-left:24px;padding-right:24px}
  .nl-act{padding:20px 24px 6px;justify-content:flex-start}
  .nl-act a{flex:0 0 auto;min-width:188px}
}

/* ===== v37 — drop-list motion ======================================= */
@media(max-width:900px){
  .nav-links{
    transform:translateY(-14px) scale(.985);transform-origin:50% 0;
    transition:opacity .24s ease,transform .42s cubic-bezier(.16,1,.3,1),visibility .42s;
  }
  .nav-links.open{transform:none}

  /* each row rises, its rule draws in, its number slides from the left */
  .nav-link{
    transform:translateY(14px);
    border-bottom-color:transparent;
    transition:opacity .34s ease,transform .5s cubic-bezier(.16,1,.3,1),
               border-color .5s ease,color .18s,background .22s;
  }
  .nav-links.open .nav-link{
    transform:none;border-bottom-color:rgba(157,183,234,.10);
  }
  .nav-link::before{
    transform:translateX(-7px);
    transition:opacity .42s ease,transform .5s cubic-bezier(.16,1,.3,1),color .18s;
  }
  .nav-links.open .nav-link::before{transform:none}

  .nav-links.open .nav-link:nth-child(1),
  .nav-links.open .nav-link:nth-child(1)::before{transition-delay:.08s}
  .nav-links.open .nav-link:nth-child(2),
  .nav-links.open .nav-link:nth-child(2)::before{transition-delay:.155s}
  .nav-links.open .nav-link:nth-child(3),
  .nav-links.open .nav-link:nth-child(3)::before{transition-delay:.23s}
  .nav-links.open .nav-link:nth-child(4),
  .nav-links.open .nav-link:nth-child(4)::before{transition-delay:.305s}
  .nav-links.open .nav-link:nth-child(5),
  .nav-links.open .nav-link:nth-child(5)::before{transition-delay:.38s}

  /* the row lifts toward the number on touch/hover */
  .nav-link:hover,.nav-link:active{transform:translateX(3px)}
  .nav-link:hover::before{transform:translateX(1px) scale(1.06);opacity:1}

  /* the current-page bar grows from the top */
  .nav-link[aria-current=page]{box-shadow:none;overflow:hidden}
  .nav-link[aria-current=page]::marker{content:none}
  .nav-link[aria-current=page]{position:relative}
  .nav-link[aria-current=page]:after{content:'';position:absolute;left:0;top:0;bottom:0;
    right:auto;height:auto;width:3px;border-radius:0;
    background:linear-gradient(180deg,#8FB0EE,#5B84D7);
    transform:scaleY(0);transform-origin:top;
    transition:transform .55s cubic-bezier(.16,1,.3,1) .3s}
  .nav-links.open .nav-link[aria-current=page]:after{transform:scaleY(1)}

  /* actions rise last */
  .nl-act{opacity:0;transform:translateY(12px);
    transition:opacity .38s ease .42s,transform .55s cubic-bezier(.16,1,.3,1) .42s}
  .nav-links.open .nl-act{opacity:1;transform:none}
  .nl-act a{transition:background .18s,border-color .18s,color .18s,transform .18s}
  .nl-act a:active{transform:scale(.975)}

  /* the sheet settles with a soft depth cue */
  .nav-scrim{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
    transition:opacity .3s ease,visibility .3s,backdrop-filter .3s}

  /* the trigger springs */
  .burger span{transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .2s,background .2s}
  .burger[aria-expanded=true] span{background:#fff}
  .burger:active{transform:scale(.94)}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
  .nav-links,.nav-links.open,.nav-link,.nav-link::before,.nl-act,.burger span,.nav-scrim{
    transition:none!important;transform:none!important}
  .nav-links.open .nav-link[aria-current=page]:after{transform:scaleY(1)!important}
  .nav-scrim{backdrop-filter:none;-webkit-backdrop-filter:none}
}


/* ===== v38 — accessibility on the drop list ========================= */
@media(max-width:900px){
  /* resting number now carries full weight: 4.70:1 on the sheet (was 2.62:1) */
  .nav-link::before{color:#5B84D7;opacity:1}
  .nav-link:hover::before{color:#8FB0EE}
  .nav-link[aria-current=page]::before{color:#8FB0EE}
  /* visible keyboard focus inside the sheet */
  .nav-link:focus-visible,.nl-act a:focus-visible{
    outline:2px solid #8FB0EE;outline-offset:-2px;border-radius:2px}
}

/* ============================================================================
   ILLUMINATED SILVER  ·  v47
   Silver reads as light travelling across the brand blue, never as a
   replacement for it. One sheen primitive, applied to the accent rule,
   section hairlines, card edges, hero edge and the framework diagrams.
   Every moving part is behind prefers-reduced-motion.
   ========================================================================= */
:root{
 --sil-hot:#F2F5FA;
 --sil-lit:linear-gradient(100deg,var(--dk) 0%,var(--pri) 26%,var(--sil80) 44%,var(--sil-hot) 50%,var(--sil80) 56%,var(--pri) 74%,var(--dk) 100%);
 --sil-line:linear-gradient(90deg,rgba(180,188,200,0) 0%,rgba(195,201,211,.42) 18%,var(--sil-hot) 50%,rgba(195,201,211,.42) 82%,rgba(180,188,200,0) 100%);
 --sil-glow:rgba(214,223,236,.55);
 --sil-dur:7s;
}
@keyframes agSheen{0%{background-position:200% 50%}100%{background-position:-200% 50%}}
@keyframes agEdge{0%,100%{opacity:.34}50%{opacity:1}}

/* 1 — the accent rule: blue with silver light passing through it */
.rule{background:var(--sil-lit);background-size:260% 100%;background-position:200% 50%;border-radius:2px}
.g-navy .rule,.g-dk .rule{box-shadow:0 0 14px -2px var(--sil-glow)}

/* 2 — section hairlines pick up the same light */
.hero-fb .hero-band,.sec-line,.hr-sil{position:relative}
.hero-fb .hero-band::before,.sec-line::before,.hr-sil::before{
 content:'';position:absolute;left:0;right:0;top:-1px;height:1px;
 background:var(--sil-line);background-size:220% 100%;background-position:200% 50%;pointer-events:none}

/* 3 — card top edges: a lit silver filament */
.card-ph,.card-m,.hb-cell{position:relative}
.card-ph::after,.card-m::after,.hb-cell::after{
 content:'';position:absolute;left:0;right:0;top:0;height:1px;z-index:2;pointer-events:none;
 background:var(--sil-line);background-size:220% 100%;background-position:200% 50%;opacity:.55}
.card-ph:hover::after,.card-m:hover::after{opacity:1}

/* 4 — hero closing edge */
.hero-fb::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;z-index:2;pointer-events:none;
 background:var(--sil-line);background-size:220% 100%;background-position:200% 50%;opacity:.7}

/* 5 — framework diagrams: silver on the live strokes */
.gm-arc,.cy16 .cy-flow,.ig-join .flow{stroke:var(--sil80)}
.gm-halo{filter:drop-shadow(0 0 6px var(--sil-glow))}

@media(prefers-reduced-motion:no-preference){
 .rule{animation:agSheen var(--sil-dur) linear infinite}
 .hero-fb .hero-band::before,.sec-line::before,.hr-sil::before{animation:agSheen calc(var(--sil-dur)*1.6) linear infinite}
 .card-ph::after,.card-m::after,.hb-cell::after{animation:agSheen calc(var(--sil-dur)*2) linear infinite}
 .hero-fb::after{animation:agSheen calc(var(--sil-dur)*1.9) linear infinite}
 .gm-halo{animation:agEdge calc(var(--sil-dur)*.9) ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){
 .rule{background:var(--pri);background-image:none}
 .hero-fb .hero-band::before,.sec-line::before,.hr-sil::before,
 .card-ph::after,.card-m::after,.hb-cell::after,.hero-fb::after{animation:none}
}

/* 6 — universal reach: the footer sits on every page, and the legal/utility
   routes carry no rule or card, so the light is given a hook there too */
.ft5-h{position:relative;padding-bottom:9px}
.ft5-h::after{content:'';position:absolute;left:0;bottom:0;width:34px;height:1px;
 background:var(--sil-line);background-size:260% 100%;background-position:200% 50%;opacity:.85}
.sec>.wrap>h1:first-child::before,.h3s::before{content:'';display:block;width:34px;height:2px;
 margin:0 0 10px;border-radius:2px;
 background:var(--sil-lit);background-size:260% 100%;background-position:200% 50%}
@media(prefers-reduced-motion:no-preference){
 .ft5-h::after{animation:agSheen calc(var(--sil-dur)*2.2) linear infinite}
 .sec>.wrap>h1:first-child::before,.h3s::before{animation:agSheen calc(var(--sil-dur)*1.3) linear infinite}
}
@media(prefers-reduced-motion:reduce){
 .ft5-h::after{animation:none}
 .sec>.wrap>h1:first-child::before,.h3s::before{animation:none;background:var(--pri);background-image:none}
}

/* ============================================================================
   TICKER CHIPS  ·  v48
   The eyebrow becomes a solid ticker — the EDGE Holding form (leading dash +
   letterspaced label inside a filled block) rendered in EDGE Capital colours:
   signature-blue ground, white text. No gold anywhere.
   Where a chip is immediately followed by the legacy accent bar, the bar is
   suppressed: the dash inside the chip now carries that role.
   ========================================================================= */
.eyebrow{
 display:inline-flex;align-items:center;gap:11px;
 background:#1E3568;color:#fff!important;
 padding:8px 15px 8px 13px;border-radius:3px;
 font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.3px;
 line-height:1;position:relative;overflow:hidden;
 box-shadow:0 1px 0 rgba(255,255,255,.06) inset}
.eyebrow::before{content:'';flex:0 0 auto;width:19px;height:1.5px;border-radius:1px;
 background:rgba(255,255,255,.92)}
/* the silver light passes through the ticker as it does everywhere else */
.eyebrow::after{content:'';position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(100deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.20) 50%,rgba(255,255,255,0) 62%);
 background-size:260% 100%;background-position:200% 50%}
.g-navy .eyebrow,.g-dk .eyebrow{background:#24407C;color:#fff!important}
.g-navy .eyebrow::before,.g-dk .eyebrow::before{background:#fff}
.cta-l .eyebrow{background:#1E3568;color:#fff!important}
/* the chip replaces the bar where both were stacked */
.eyebrow+.rule{display:none}
@media(prefers-reduced-motion:no-preference){
 .eyebrow::after{animation:agSheen calc(var(--sil-dur)*1.5) linear infinite}
}
@media(prefers-reduced-motion:reduce){.eyebrow::after{animation:none;background:none}}

/* v48 · silver intensity raised, periods shortened (Chairman ruling 1b) */
:root{--sil-dur:4.6s}
.rule{box-shadow:0 0 16px -3px var(--sil-glow)}
.card-ph::after,.card-m::after,.hb-cell::after{opacity:.78}
.hero-fb::after{opacity:.9}
.ft5-h::after{opacity:1}

/* v48b · the tickers move: the lead dash ticks, the light runs the chip.
   scaleX is used rather than width so the label never shifts. */
@keyframes agTick{0%,100%{transform:scaleX(.5);opacity:.7}50%{transform:scaleX(1);opacity:1}}
@keyframes agTickGlow{0%,100%{box-shadow:0 0 0 0 rgba(91,132,215,0)}
 50%{box-shadow:0 0 14px -2px rgba(91,132,215,.55)}}
.eyebrow::before{transform-origin:left center;will-change:transform}
.eyebrow::after{background:linear-gradient(100deg,rgba(255,255,255,0) 34%,rgba(255,255,255,.34) 50%,rgba(255,255,255,0) 66%);
 background-size:240% 100%}
@media(prefers-reduced-motion:no-preference){
 .eyebrow::before{animation:agTick 3.2s ease-in-out infinite}
 .eyebrow::after{animation:agSheen calc(var(--sil-dur)*.95) linear infinite}
 .eyebrow{animation:agTickGlow calc(var(--sil-dur)*1.4) ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){
 .eyebrow::before{animation:none;transform:none}
 .eyebrow{animation:none;box-shadow:none}
}

/* ============================================================================
   HERO RHYTHM  ·  v49
   REGRESSION FIX: in v48 the ticker chip replaced the .rule bar, which had been
   carrying margin:14px 0 16px. Hiding the bar left the chip sitting hard against
   the headline — chip-to-title measured 0px on every hero.
   The gap is restored on the headline (adjacent sibling, so it reaches both hero
   shapes: .hero-fb/.hfb-copy and the funds .hero-grid), and the title-to-body
   step is standardised — it was 22px on home and 16px everywhere else.
   ========================================================================= */
/* the hidden .rule is still a DOM sibling, so an adjacent-sibling selector on
   the headline never matches — the gap therefore lives on the chip itself, and
   the following heading's own top margin is zeroed so they do not stack */
.eyebrow{margin-bottom:19px}
.sh .eyebrow,.cta-l .eyebrow{margin-bottom:12px}
.eyebrow+h1,.eyebrow+h2,.eyebrow+.rule+h1,.eyebrow+.rule+h2{margin-top:0}
.hero h1+p,.hfb-copy h1+p,.hero-fb:not(.hero-ic) .hfb-copy h1+p{margin-top:22px}
.hero .btns,.hfb-copy .btns{margin-top:34px}
@media(max-width:760px){
 .eyebrow+h1{margin-top:15px}
 .hero h1+p,.hfb-copy h1+p,.hero-fb:not(.hero-ic) .hfb-copy h1+p{margin-top:17px}
 .hero .btns,.hfb-copy .btns{margin-top:26px}
}

/* v49b · optical balance. Measured top/bottom space around the hero copy block:
   home 197/173, concept 209/246, contact 197/110. The asymmetric paddings were
   pulling each block off centre in a different direction. */
.hero-fb.hero-ct{padding:94px 0 86px}
.hero-fb.hero-ic{padding:140px 0 68px}
@media(max-width:760px){
 .hero-fb.hero-ct{padding:82px 0 52px}
 .hero-fb.hero-ic{padding:88px 0 58px}
}

/* funds hero is a two-column grid, so its copy sat 60px bottom-heavy against
   the taller framework panel beside it — the columns are aligned to centre */
.hero.motif .hero-grid{align-items:center}

/* ============================================================================
   HERO FILLS THE OPENING  ·  v50
   The hero now occupies exactly the viewport below the fixed nav, so the whole
   block is visible on load with no scroll and no sliver of the next section.
   svh is used so mobile browser chrome cannot push the hero past the fold;
   vh is the fallback for engines without it. min-height (not height) keeps the
   block expanding if content ever exceeds the viewport rather than clipping.
   ========================================================================= */
:root{--nav-h:81px}
@media(max-width:860px){:root{--nav-h:69px}}

.hero-fb{min-height:calc(100vh - var(--nav-h));height:auto}
@supports(height:100svh){.hero-fb{min-height:calc(100svh - var(--nav-h))}}
.hero-fb.hero-ic,.hero-fb.hero-ct{min-height:calc(100vh - var(--nav-h))}
@supports(height:100svh){
 .hero-fb.hero-ic,.hero-fb.hero-ct{min-height:calc(100svh - var(--nav-h))}
}
/* padding tracks viewport height so short screens never push content past the fold */
.hero-fb{padding:clamp(48px,7.5vh,132px) 0 clamp(40px,6.5vh,112px)}
.hero-fb.hero-ic{padding:clamp(52px,8vh,140px) 0 clamp(40px,6vh,68px)}
.hero-fb.hero-ct{padding:clamp(44px,7vh,94px) 0 clamp(40px,6.5vh,86px)}

/* funds is a two-column grid: it fills the opening while the columns sit side
   by side, and reverts to natural height once they stack — the framework panel
   cannot be compressed into a phone viewport without hiding content */
@media(min-width:861px){
 .hero.motif{min-height:calc(100vh - var(--nav-h));display:flex;align-items:center}
 @supports(height:100svh){.hero.motif{min-height:calc(100svh - var(--nav-h))}}
 .hero.motif>.wrap{width:100%}
}
/* funds: padding now lives in CSS (the inline 64px could not respond) and the
   framework panel tightens at laptop heights so the pair clears the fold */
.hero.motif{padding:clamp(40px,5.5vh,64px) 0}
@media(min-width:861px) and (max-height:820px){
 .hero.motif .gm-panel,.hero.motif .card-m{padding-top:16px;padding-bottom:16px}
 .hero.motif .hero-grid{gap:26px}
 .hero.motif h1{font-size:clamp(28px,3.4vw,42px)}
}

/* v50b · login is the fifth hero. It carried a hardcoded calc(100vh - 80px)
   against an 81px nav, so it overflowed by exactly 1px at every desktop size
   and by 11px more on mobile where the nav is 69px. It now uses the same token
   as the other heroes, and the stacked mobile layout is tightened to clear. */
.lg{min-height:calc(100vh - var(--nav-h));padding:clamp(44px,7vh,88px) 0 clamp(44px,7vh,96px)}
@supports(height:100svh){.lg{min-height:calc(100svh - var(--nav-h))}}
@media(max-width:860px){
 .lg{padding:clamp(28px,4vh,48px) 0 clamp(28px,4vh,52px)}
 .lg-wrap{gap:26px}
 .lg-lead{font-size:18px;margin-top:10px}
 .lg-note{margin-top:12px}
 .lg-card{padding:22px 20px 18px}
 .lg-h{font-size:19px;margin-bottom:13px}
}

/* ═════════════════════════════════════════════════════════════════════════
   v58 — SHORT-VIEWPORT FOLD GUARD (26 Sep 2026)

   v50 promised every hero fills the opening without scrolling. That promise
   held down to ~640px of viewport height and then broke: the copy stack is a
   fixed ~454px and the padding clamps bottom out at 48/40, so below roughly
   620px the hero is taller than 100vh - nav and the buttons fall past the fold.

   This surfaces in the real world at high OS display scaling (a 1920x1080
   panel at 150-175% leaves ~510-600 CSS px of viewport height) and on short
   laptop windows with a bookmarks bar — not at the 900-1080px heights the
   earlier QA used.

   The fix keys on viewport HEIGHT, which is the quantity actually in short
   supply, and steps type and rhythm down with it. Width rules are untouched.
   ═════════════════════════════════════════════════════════════════════════ */

@media (max-height:780px) and (min-width:861px){
 .hero-fb{padding:clamp(34px,5vh,60px) 0 clamp(30px,4.5vh,52px)}
 .hero-fb.hero-ic{padding:clamp(38px,5.5vh,64px) 0 clamp(30px,4.5vh,52px)}
 .hero-fb.hero-ct{padding:clamp(34px,5vh,60px) 0 clamp(30px,4.5vh,52px)}
 .hfb-copy h1{font-size:clamp(30px,4.2vw,46px)}
 .hfb-copy p{font-size:16px;margin-top:13px}
 .hero-fb .eyebrow{margin-bottom:15px}
 .hero-fb .btns,.hero-fb .hfb-copy .btns{margin-top:24px}
}

@media (max-height:640px) and (min-width:861px){
 .hero-fb,.hero-fb.hero-ic,.hero-fb.hero-ct{padding:26px 0 24px}
 .hfb-copy h1{font-size:clamp(26px,3.5vw,38px)}
 .hfb-copy p{font-size:15px;line-height:1.5;margin-top:10px}
 .hero-fb .eyebrow{margin-bottom:11px;padding:6px 13px 6px 11px;font-size:10px}
 .hero-fb .btns,.hero-fb .hfb-copy .btns{margin-top:18px}
 .hero-fb .btn{padding:10px 18px}
}

@media (max-height:520px) and (min-width:861px){
 .hero-fb,.hero-fb.hero-ic,.hero-fb.hero-ct{padding:18px 0 16px}
 .hfb-copy h1{font-size:clamp(23px,3vw,31px);line-height:1.08}
 .hfb-copy p{font-size:14px;line-height:1.45;margin-top:8px}
 .hero-fb .eyebrow{margin-bottom:9px}
 .hero-fb .btns,.hero-fb .hfb-copy .btns{margin-top:14px}
}

/* ── login page: same guard, but interactive targets are never shrunk ──
   .lg carried a hardcoded `calc(100vh - 64px)` against an 81px nav, so the
   section was 17px taller than the fold on every desktop size. Corrected to
   the --nav-h token. Below it, only non-interactive elements step down:
   input heights, the checkbox and the submit button keep their 44-46px
   accessibility minimums, so a very short window scrolls rather than
   degrading the form. */
.lg{min-height:calc(100vh - var(--nav-h))}
@supports(height:100svh){.lg{min-height:calc(100svh - var(--nav-h))}}

@media (max-height:780px) and (min-width:861px){
 .lg{padding:46px 0 50px}
 .lg-copy h1{font-size:clamp(30px,4vw,42px)}
 .lg-lead{font-size:18px;margin-top:11px}
 .lg-note{margin-top:13px;font-size:12.5px}
 .lg-card{padding:24px 26px 20px}
 .lg-h{font-size:19px;margin-bottom:14px}
 .lg-wrap{gap:48px}
}

@media (max-height:640px) and (min-width:861px){
 .lg{padding:30px 0 32px}
 .lg-copy h1{font-size:clamp(26px,3.4vw,34px)}
 .lg-lead{font-size:16px;margin-top:9px}
 .lg-note{margin-top:10px;font-size:12px}
 .lg-card{padding:20px 22px 16px}
 .lg-h{font-size:18px;margin-bottom:11px}
 .lg-f{margin-bottom:11px}
 .lg-f label{margin-bottom:4px}
 .lg-row{margin:2px 0 13px}
 .lg-wrap{gap:40px}
}

/* ═════════════════════════════════════════════════════════════════════════
   v59 — (a) "AI Infrastructure" illumination  (b) funds hero on phone
   ═════════════════════════════════════════════════════════════════════════ */

/* ── (a) The third line of the home headline pulses to an illuminated blue and
   fades back to white. Only the home hero carries <span>s inside its h1, so the
   selector cannot reach any other headline.

   Colour is contrast-bound, not chosen by eye: #7DABFF measures 5.85:1 against
   the graded hero background behind the copy, so the lit phase clears WCAG AA
   for large text with margin. The cycle rests on white (13:1) for most of its
   length — the blue is an accent, not the resting state. Colour and text-shadow
   only: no transform, no layout property, so nothing reflows and the headline
   never shifts. */
.hero-fb .hfb-copy h1 span:last-of-type{
 animation:agAiLit 7.2s ease-in-out infinite;
 will-change:color,text-shadow}
@keyframes agAiLit{
 0%,54%  {color:#fff;text-shadow:none}
 66%     {color:#7DABFF;text-shadow:0 0 20px rgba(125,171,255,.50),0 0 44px rgba(91,132,215,.26)}
 74%     {color:#7DABFF;text-shadow:0 0 26px rgba(125,171,255,.58),0 0 56px rgba(91,132,215,.32)}
 100%    {color:#fff;text-shadow:none}}
@media (prefers-reduced-motion:reduce){
 .hero-fb .hfb-copy h1 span:last-of-type{animation:none;color:#fff}}

/* ── (b) Funds hero on phone — ruling 4a.
   The AGIF panel cannot be compressed into a phone viewport without hiding
   content, and stacked under the copy it pushed the opening 454px past the
   fold. The copy column now fills the opening on its own and the panel reads
   as the first section below it, separated by a hairline. No markup change:
   the section is still one <section>, so heading order and the document
   outline are untouched. */
@media(max-width:860px){
 .hero.motif{padding:34px 0 0}
 .hero.motif .hero-grid{gap:0}
 .hero.motif .hero-grid>div:first-child{
  min-height:calc(100vh - var(--nav-h) - 34px);
  display:flex;flex-direction:column;justify-content:center}
 @supports(height:100svh){
  .hero.motif .hero-grid>div:first-child{
   min-height:calc(100svh - var(--nav-h) - 34px)}}
 .hero.motif .ig-agif{
  margin-top:0;
  padding-top:38px;
  border-top:1px solid rgba(180,188,200,.20);
  border-top-left-radius:0;border-top-right-radius:0}
 .hero.motif+.sec{padding-top:0}
}

/* ═════════════════════════════════════════════════════════════════════════
   v60 — grid overlay removed from the photographic heroes (26 Sep 2026)

   The 72px blue grid was a texture device from the pre-photography build,
   where the heroes were abstract fields and the lines gave them structure.
   Over a graded photograph it does the opposite: on the flat sky of the
   Riyadh frame the squares read as banding or compression damage rather
   than as design, which is exactly how the Chairman saw it.

   The device is retired on every photographic hero. The login plate keeps
   its own grid — that frame is still an abstract field, which is the case
   the grid was drawn for.
   ═════════════════════════════════════════════════════════════════════════ */
.hfb-grid{display:none}

/* ═════════════════════════════════════════════════════════════════════════
   v61 — Investment Concept jump-nav divider removed (26 Sep 2026)

   `.hero-ic .jump-nav` carried a full-width `border-top`. The jump-nav sits
   inside `.wrap`, not inside `.hfb-copy`, so that hairline ran the entire
   container width and crossed the data-centre photograph on the right — a
   stray line bisecting the image, with nothing above it on that side to
   divide. Same failure mode as the 72px grid retired in v60: a device drawn
   for an abstract field, left in place once the field became photography.

   Removed rather than constrained. Shortening it to the 700px copy column
   would still leave a 700px rule over 490px of chips, which reads as
   arbitrary. The pill outlines already separate the group; the divider was
   doing no work the chips were not already doing.
   ═════════════════════════════════════════════════════════════════════════ */
.hero-ic .jump-nav{border-top:0;padding-top:0;margin-top:30px}

/* ═════════════════════════════════════════════════════════════════════════
   v62 — FONTS SELF-HOSTED (26 Sep 2026)

   Inter and IBM Plex Sans were loaded from fonts.googleapis.com, which
   transmits every visitor's IP address to Google on every page load, with no
   consent step. That is third-party processing we introduced ourselves — the
   GoDaddy tracker is the host's doing, this one was ours.

   Now served from this origin. Latin subset only, and only the weights the
   stylesheet actually uses: Inter 300/400/500/600/700, Plex 500 (which is
   used by exactly one element, .ft2-tag). 144 KB total, replacing two
   third-party connections and a render-blocking round trip.

   font-display:swap keeps text visible during load, matching the behaviour
   the Google Fonts URL requested.
   ═════════════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/inter-300.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/plex-500.woff2') format('woff2')}

/* ═════════════════════════════════════════════════════════════════════════
   v63 — HEADER & FOOTER REVAMP, LOGO ENLARGED (28 Sep 2026)

   The wordmark is 480x196 native and was being drawn at 44px — 22% of its
   real size, so it read as a caption rather than as the firm's mark. Header
   goes to 56px and footer to 62px; both are still far inside the asset's own
   resolution, so nothing is upscaled.

   --nav-h moves with the bar (81->93 desktop, 69->77 mobile). That token is
   what the v58 fold guard measures against, so the heroes follow the taller
   header automatically and keep filling the opening exactly.
   ═════════════════════════════════════════════════════════════════════════ */

:root{--nav-h:93px}
@media(max-width:860px){:root{--nav-h:77px}}

/* ── header ───────────────────────────────────────────────────────────── */
.nav-in{height:92px}
.nav-logo img{height:56px;width:auto}
.nav{border-bottom:1px solid rgba(157,183,234,.18)}

/* the bar gains a hairline of signature blue at its foot — a quiet rule that
   reads as a masthead edge rather than a border */
.nav::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
 background:linear-gradient(90deg,rgba(91,132,215,0) 0%,rgba(91,132,215,.55) 22%,rgba(91,132,215,.55) 78%,rgba(91,132,215,0) 100%);
 pointer-events:none}
.nav{position:sticky}

/* links: the active underline becomes a deliberate marker, not a hover echo */
.nav-links{gap:4px}
.nav-link{padding:12px 15px;font-size:14px;color:rgba(255,255,255,.70);white-space:nowrap}
.nav-link:hover{color:#fff}
.nav-link[aria-current]{color:#fff}
.nav-link::after{content:'';position:absolute;left:15px;right:15px;bottom:4px;height:2px;
 background:#5B84D7;border-radius:2px;transform:scaleX(0);transform-origin:left center;
 transition:transform .22s cubic-bezier(.4,0,.2,1)}
.nav-link:hover::after{transform:scaleX(.45)}
.nav-link[aria-current]::after{transform:scaleX(1)}

/* actions. NOTE: .nav-login/.nav-cta inside .nav-right are the DESKTOP pair;
   .nl-login/.nl-cta inside .nav-links are the mobile drawer pair, hidden above
   1024px by an existing rule. Styling .nl-* here (as a first pass did) unhides
   the drawer pair on desktop and the actions render twice. Target .nav-* only. */
.nav-right{display:flex;align-items:center;gap:10px}
.nav-login{height:44px;min-height:44px;padding:0 16px;font-size:13.5px;
 color:rgba(255,255,255,.80);border:1px solid rgba(157,183,234,.26);border-radius:4px;
 transition:border-color .18s,color .18s,background .18s}
.nav-login:hover{color:#fff;border-color:rgba(157,183,234,.55);background:rgba(91,132,215,.10)}
.nav-cta{height:44px;padding:0 22px;font-size:13.5px;font-weight:600;
 background:#1E3568;color:#fff;border-radius:4px;
 border:1px solid rgba(91,132,215,.55);transition:background .18s,border-color .18s}
.nav-cta:hover{background:#24407C;border-color:rgba(91,132,215,.85)}

@media(max-width:860px){
 .nav-in{height:76px}
 .nav-logo img{height:44px}
 .nav-links{top:76px}
 .nav-link::after{display:none}
 .nav-login{border:none;padding:0 10px}
}

/* ── footer ───────────────────────────────────────────────────────────── */
.ft5-logo img{height:62px}
.ft5-top{padding:66px 0 44px;gap:48px}
.ft5-tag{font-size:20px;margin-top:22px!important;max-width:340px}
.ft5-mail{margin-top:20px;font-size:14.5px;padding:9px 0 7px}

/* column headings sit on a slightly stronger baseline; the silver sheen rule
   from v47 is untouched and still runs underneath them */
.ft5-h{font-size:11.5px;letter-spacing:1.8px;color:#A8C0EE}
.ft5-col{gap:1px}
.ft5-col a{font-size:14.5px;padding:10px 0;color:rgba(255,255,255,.74)}

/* the bottom bar becomes a contained strip rather than loose text */
.ft5-nn .ft5-bot{border-top:1px solid rgba(157,183,234,.16);padding:24px 0 34px;align-items:baseline}
.ft5-bot p{font-size:12.5px;color:rgba(255,255,255,.58)}
.ft5-bot p:first-child{color:rgba(255,255,255,.72)}

@media(max-width:900px){
 .ft5-logo img{height:54px}
 .ft5-top{padding:50px 0 34px;gap:34px 26px}
 .ft5-tag{font-size:18px}
}

/* ── v64 — registered address in the footer (28 Sep 2026) ──
   EDGE Capital is a brand, not a registered entity; the operator is
   EDGE Holding USA, LLC, which is already named as publisher on the privacy
   notice. Putting the entity and its registered address in the footer makes
   the site state its own operator on every page, which is what an
   institutional counterparty looks for and what the disclosure pages assume.

   Address per the verified entity record — not reconstructed.
   <address> is the semantic element; its default italic is reset. */
.ft5-addr{font:400 12.5px/1.8 var(--fb);font-style:normal;
 color:rgba(255,255,255,.56);margin-top:24px;max-width:300px}
.ft5-addr b{display:inline-block;margin-bottom:3px;
 color:rgba(255,255,255,.82);font-weight:600;letter-spacing:.1px}
@media(max-width:900px){.ft5-addr{margin-top:18px;font-size:12px}}

/* ── v65 — footer restructured (28 Sep 2026) ──
   The Legal column becomes a Registered Office column; the legal links move to
   the very last line beside the copyright, which is where a reader looks for
   them and where they sit on most institutional sites.

   The address now heads its own column, so it no longer needs the muted
   treatment it had as an afterthought under the mail link — it takes the same
   heading and body scale as the other columns. */
.ft5-col-addr .ft5-addr{margin-top:0;max-width:none;font-size:13px;line-height:1.85;
 color:rgba(255,255,255,.66)}
.ft5-col-addr .ft5-addr b{margin-bottom:5px;color:#fff;font-weight:600}

/* last line: copyright, descriptor, then the legal links */
.ft5-nn .ft5-bot{flex-wrap:wrap;gap:10px 28px}
.ft5-legal{display:flex;flex-wrap:wrap;gap:0 20px;margin-left:auto}
.ft5-legal a{font:400 12.5px/1.6 var(--fb);color:rgba(255,255,255,.62);
 padding:2px 0;transition:color .15s}
.ft5-legal a:hover{color:#fff}
.ft5-bot .ft5-desc{color:rgba(255,255,255,.52)}

@media(max-width:700px){
 .ft5-nn .ft5-bot{flex-direction:column;align-items:flex-start;gap:12px}
 .ft5-legal{margin-left:0;gap:0 18px}
}
/* the address column needs a little more width than a link column so the
   street line and the state line each hold without wrapping */
@media(min-width:901px){.ft5-top{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr)}}
/* on phone the columns go two-up; the address needs the full width or its
   street and state lines break mid-phrase */
@media(max-width:620px){.ft5-col-addr{grid-column:1/-1}}

/* ============================================================
   R99C - group header consistency (EDGE Capital)
   bar 92/72 | logo 46/38 | glass | Capital navy, no gold
   ============================================================ */
@media (min-width:901px){
  .nav{background:rgba(13,22,39,.26);
    -webkit-backdrop-filter:blur(22px) saturate(155%);
    backdrop-filter:blur(22px) saturate(155%);
    transition:background .35s ease, box-shadow .35s ease}
  .nav .nav-in{height:92px;transition:height .35s ease}
  .nav .nav-logo img{height:46px;width:auto;transition:height .35s ease}
  .nav.shrunk{background:rgba(13,22,39,.74);box-shadow:0 10px 30px -22px rgba(0,0,0,.9)}
  .nav.shrunk .nav-in{height:72px}
  .nav.shrunk .nav-logo img{height:38px}
}
@supports not ((backdrop-filter: blur(4px)) or (-webkit-backdrop-filter: blur(4px))){
  @media (min-width:901px){
    .nav{background:rgba(13,22,39,.82)}
    .nav.shrunk{background:rgba(13,22,39,.94)}
  }
}

/* ============================================================
   R99.1C - logo +15% (46->53px | shrunk 38->44px)
   ============================================================ */
@media (min-width:901px){
  .nav .nav-logo img{height:53px;width:auto}
  .nav.shrunk .nav-logo img{height:44px}
}

/* ============================================================
   R100C - align to Holding
   bar 92/72 | logo 53/44 | dark at rest, glass at scroll
   breakpoint moved 1024->900 | Capital navy, no gold
   ============================================================ */
@media (min-width:901px){
  .nav .nav-in{height:92px;transition:height .35s ease}
  .nav .nav-logo img{height:53px;width:auto;transition:height .35s ease}
  .nav.shrunk .nav-in{height:72px}
  .nav.shrunk .nav-logo img{height:44px}
}
.nav{background:rgba(13,22,39,.94);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  transition:background .35s ease, box-shadow .35s ease}
.nav.shrunk{background:rgba(13,22,39,.26);
  -webkit-backdrop-filter:blur(22px) saturate(155%);
  backdrop-filter:blur(22px) saturate(155%);
  box-shadow:0 10px 30px -22px rgba(0,0,0,.55)}
@supports not ((backdrop-filter: blur(4px)) or (-webkit-backdrop-filter: blur(4px))){
  .nav.shrunk{background:rgba(13,22,39,.86)}
}

/* ============================================================
   R101 - dark in BOTH states (glass removed)
   rest .94 | scrolled .98 + lift shadow | no backdrop-filter
   ============================================================ */
.nav{background:rgba(13,22,39,.94);
  -webkit-backdrop-filter:none;backdrop-filter:none}
.nav.shrunk{background:rgba(13,22,39,.98);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:0 10px 30px -22px rgba(0,0,0,.9)}
