/* ============ TOKENS ============ */
:root{
  --ink-950:#0B1024; --ink-900:#101733; --ink-800:#19255A;
  --ink-700:#21307A; --ink-600:#44559D; --ink-500:#5E6FB7;
  --ink-400:#97AAF0; --ink-300:#C3CCF0; --ink-200:#DDE0F0;
  --ink-100:#FAF8F4; --ink-50:#F8F5F0; --ink-25:#FCFAF8;
  --cobalt:#3B61FF; --cobalt-deep:#21307A; --cobalt-soft:#E4E9FF;
  --gold:#C2A36B; --gold-soft:#F6F2EA;
  /* Group brand colors */
  --efy:#3B61FF; --efy-soft:#E4E9FF;
  --efyc:#A3834F; --efyc-soft:#F6F2EA;
  --core:#A3834F; --core-bright:#C2A36B; --core-soft:#F6F2EA;
  --valto:#2C2C2C; --valto-bright:#3B61FF; --valto-soft:#EEEEEE; --valto-yellow:#C2A36B;
  --hairline:#D4D4D4;
  --canvas:#F8F5F0;
  --serif:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --sans:"Inter", system-ui, -apple-system, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans); font-size:15px; line-height:1.55;
  color:var(--ink-800); background:#fff;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:0;background:0}

/* ============ COMMON ============ */
.wrap{max-width:1320px;margin:0 auto;padding:0 32px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);font-weight:500}
.eyebrow.gold{color:var(--gold)}
.eyebrow.dark{color:var(--ink-400)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;color:var(--ink-900)}
h1{letter-spacing:-.025em}
h2{font-size:54px;line-height:1.05}
h3{font-size:38px;line-height:1.1}
h4{font-size:22px;line-height:1.2}
p.lede{font-size:18px;color:var(--ink-500);max-width:640px;line-height:1.55}
.hairline{border:1px solid var(--hairline)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:6px;font-weight:500;font-size:14px;letter-spacing:-.005em;transition:transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;white-space:nowrap}
.btn .arr{transition:transform .2s ease}
.btn:hover .arr{transform:translateX(3px)}
.btn-cobalt{background:var(--cobalt);color:#fff}
.btn-cobalt:hover{background:var(--cobalt-deep)}
.btn-gold{background:var(--gold);color:var(--ink-900)}
.btn-gold:hover{background:#b58d34}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25)}
.btn-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.04)}
.btn-ghost-dark{background:transparent;color:var(--ink-800);border:1px solid var(--hairline)}
.btn-ghost-dark:hover{border-color:var(--ink-700);color:var(--ink-900)}
.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.tag.live{background:#E8F4EC;color:#1f6b3a}
.tag.live .dot{width:6px;height:6px;border-radius:50%;background:#2A9D55;box-shadow:0 0 0 3px rgba(42,157,85,.18)}
.tag.review{background:#F6F2EA;color:#7A5B17}
.tag.review .dot{width:6px;height:6px;border-radius:50%;background:#C2A36B}

/* ============ NAV ============ */
.nav{position:sticky;top:0;z-index:50;background:rgba(8,24,47,.78);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;color:#fff}
.brand-mark{width:28px;height:28px;display:grid;place-items:center;background:var(--ink-800);border-radius:4px;flex-shrink:0}
.brand-mark .f{font-family:var(--serif);font-size:20px;font-weight:800;color:var(--gold);line-height:1;letter-spacing:-.04em}
.brand-name{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:-.02em;color:#fff}
.nav-links{display:flex;gap:28px}
.nav-links a{color:rgba(255,255,255,.78);font-size:14px;font-weight:500;transition:color .15s}
.nav-links a:hover, .nav-links a.active{color:#fff}
.nav-right{display:flex;align-items:center;gap:18px}
.lang{display:flex;align-items:center;gap:2px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em}
.lang button{padding:5px 9px;color:rgba(255,255,255,.55);border-radius:4px;transition:.15s}
.lang button:hover{color:#fff}
.lang button.on{background:var(--gold);color:var(--ink-900)}

/* ============ A11Y: skip link + focus ============ */
.skip-link{
  position:fixed;top:8px;left:8px;z-index:9999;
  background:var(--gold);color:var(--ink-900);
  font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:12px 16px;border-radius:6px;
  transform:translateY(-200%);transition:transform .15s ease;
}
.skip-link:focus{transform:translateY(0);outline:2px solid var(--ink-900);outline-offset:2px}
*:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px;border-radius:inherit}
.lang button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ============ GEO DISCLOSURE BANNER ============ */
.geo-banner{
  position:relative;width:100%;
  background:var(--gold-soft);
  border-left:4px solid var(--gold);
  border-bottom:1px solid #E8D2A2;
  padding:14px 56px 14px 24px;
  display:flex;align-items:center;gap:18px;
  animation:slideDown .35s ease-out;
}
.geo-banner .geo-eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);font-weight:600;flex-shrink:0;
}
.geo-banner .geo-body{color:var(--ink-900);font-size:13.5px;line-height:1.5;flex:1}
.geo-banner .geo-x{
  position:absolute;right:18px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-700);font-size:18px;line-height:1;
  transition:background .15s;
}
.geo-banner .geo-x:hover{background:rgba(0,0,0,.06)}
[dir="rtl"] .geo-banner{border-left:0;border-right:4px solid var(--gold);padding:14px 24px 14px 56px}
[dir="rtl"] .geo-banner .geo-x{right:auto;left:18px}
@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}

/* ============ COOKIE BANNER ============ */
.cookie-card{
  position:fixed;right:24px;bottom:24px;z-index:9000;
  width:380px;max-width:calc(100vw - 32px);
  background:var(--ink-900);color:#fff;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:24px 24px 22px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  animation:slideUp .4s ease-out;
}
[dir="rtl"] .cookie-card{right:auto;left:24px}
@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}
.cookie-card .ck-eb{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
.cookie-card h4{color:#fff;font-size:20px;margin-top:8px;line-height:1.2}
.cookie-card p{color:#C5D6EE;font-size:13px;line-height:1.55;margin-top:10px}
.cookie-card p a{color:#7FB1F5;text-decoration:underline;text-underline-offset:2px}
.cookie-card .ck-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cookie-card .ck-btn{
  font-family:var(--sans);font-size:13px;font-weight:600;
  padding:10px 16px;border-radius:6px;transition:.15s;letter-spacing:.01em;
}
.cookie-card .ck-primary{background:var(--gold);color:var(--ink-900)}
.cookie-card .ck-primary:hover{background:#D6B05D}
.cookie-card .ck-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.22)}
.cookie-card .ck-ghost:hover{border-color:rgba(255,255,255,.45)}
.cookie-card .ck-link{background:0;color:#7FB1F5;font-size:12px;font-weight:500;padding:10px 4px;text-decoration:underline;text-underline-offset:2px}
.cookie-card .ck-link:hover{color:#A5C8F8}

/* ============ FIXES (Round 4) ============ */
/* L-01: coverage cards — allow regulator/license line to wrap */
.ccard .info{min-width:0}
.ccard .creg{white-space:normal;line-height:1.35}
/* L-04 + L-05: ZH headline kerning around 21 + tighter pulse-dot */
:lang(zh) .hero h1 .gold-num{gap:8px}
:lang(zh) .hero h1 .num,:lang(zh) .hero h1 #counter{padding:0 0.08em;font-feature-settings:"tnum"}
/* R-01: news lead image area shorter */
.ncard .vis.lead{height:200px}

/* ============ HISTORY ============ */
.history{background:var(--ink-950);color:#fff;padding:110px 0 120px;position:relative;overflow:hidden}
.history::before{content:"";position:absolute;inset:0;background:radial-gradient(circle 700px at 80% 20%, rgba(194,163,107,.10), transparent 60%);pointer-events:none}
.history .shead{position:relative;z-index:2}
.history .shead-l h2{color:#fff}
.history .shead-l p{color:var(--ink-300)}
.history .shead-l .eyebrow{color:var(--gold)}
.hist-rail-wrap{position:relative;margin-top:48px;z-index:2}
.hist-rail{display:flex;gap:24px;overflow-x:auto;padding:18px 0 28px;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(194,163,107,.4) transparent}
.hist-rail::-webkit-scrollbar{height:6px}
.hist-rail::-webkit-scrollbar-thumb{background:rgba(194,163,107,.4);border-radius:3px}
.hist-rail::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}
.hist-card{flex:0 0 320px;scroll-snap-align:start;background:rgba(255,255,255,.03);border:1px solid rgba(194,163,107,.18);border-radius:12px;padding:26px 26px 24px;position:relative;transition:.25s}
.hist-card:hover{background:rgba(255,255,255,.05);border-color:rgba(194,163,107,.4);transform:translateY(-2px)}
.hist-card .yr{font-family:var(--mono);font-size:13px;letter-spacing:.18em;color:var(--gold);font-weight:500;margin-bottom:14px}
.hist-card .ttl{font-family:var(--serif);font-size:22px;font-weight:600;color:#fff;letter-spacing:-.012em;line-height:1.2;margin-bottom:10px}
.hist-card .body{font-size:13.5px;line-height:1.55;color:var(--ink-200);margin-bottom:18px;min-height:42px}
.hist-card .chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(194,163,107,.12);border:1px solid rgba(194,163,107,.3);color:var(--gold);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.hist-card .chip::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}
.hist-rail-line{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg, transparent 0%, rgba(194,163,107,.25) 8%, rgba(194,163,107,.4) 50%, rgba(194,163,107,.25) 92%, transparent 100%);z-index:1;pointer-events:none}
.hist-fade{position:absolute;top:0;bottom:0;width:80px;pointer-events:none;z-index:3}
.hist-fade.l{left:0;background:linear-gradient(90deg, var(--ink-950), transparent)}
.hist-fade.r{right:0;background:linear-gradient(-90deg, var(--ink-950), transparent)}

/* ============ RISK FACTORS ============ */
.risk{padding:110px 0 120px;background:var(--ink-25)}
.risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.risk-card{background:#fff;border:1px solid var(--hairline);border-radius:10px;padding:24px 24px 22px;display:flex;flex-direction:column;gap:8px;position:relative;transition:.2s}
.risk-card:hover{border-color:var(--ink-200);box-shadow:0 6px 20px rgba(16,23,51,.05);transform:translateY(-1px)}
.risk-card .num{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;color:var(--gold);font-weight:500}
.risk-card .cat{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);font-weight:500}
.risk-card h4{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-.012em;line-height:1.25;color:var(--ink-900);margin-top:4px}
.risk-card .body{font-size:13px;line-height:1.55;color:var(--ink-600);margin-top:4px;flex:1}
.risk-card .lnk{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt);font-weight:500}
.risk-card .lnk:hover{color:var(--cobalt-deep);text-decoration:underline}

/* ============ LEADERSHIP EXTENSIONS ============ */
.lead-callout{background:rgba(194,163,107,.08);border:1px solid rgba(194,163,107,.3);border-left:3px solid var(--gold);border-radius:6px;padding:14px 18px;font-family:var(--serif);font-size:15px;font-weight:500;color:var(--ink-900);letter-spacing:-.005em;line-height:1.35;max-width:320px}
.lead-callout strong{color:var(--gold);font-weight:600}
.shead-r{display:flex;justify-content:flex-end}
.exec .body .prev{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-500);margin-top:8px;line-height:1.4}
.exec .body .ten{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:3px 9px;border-radius:999px;background:rgba(194,163,107,.1);border:1px solid rgba(194,163,107,.28);color:var(--gold);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.exec .body .ten::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold)}
.bd .body .indep{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:2px 8px;border-radius:999px;background:var(--ink-50);border:1px solid var(--hairline);color:var(--ink-700);font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.bd .body .indep::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--ink-500)}

/* ============ DARK THEME OVERRIDES (R7) ============ */
[data-theme="dark"] .risk{background:var(--ink-900)}
[data-theme="dark"] .risk-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .risk-card h4{color:#fff}
[data-theme="dark"] .risk-card .body{color:var(--ink-300)}
[data-theme="dark"] .risk-card .cat{color:var(--ink-400)}
[data-theme="dark"] .lead-callout{background:rgba(194,163,107,.12);border-color:rgba(194,163,107,.4);color:#fff}

/* ============ RTL flips (R7) ============ */
[dir="rtl"] .lead-callout{border-left:0;border-right:3px solid var(--gold)}
[dir="rtl"] .hist-fade.l{left:auto;right:0;background:linear-gradient(-90deg, var(--ink-950), transparent)}
[dir="rtl"] .hist-fade.r{right:auto;left:0;background:linear-gradient(90deg, var(--ink-950), transparent)}

/* ============ R7 SCROLL ANIM ============ */
.r7-anim-pending .hist-card,
.r7-anim-pending .risk-card{opacity:0;transform:translateY(8px)}
@keyframes r7Up{to{opacity:1;transform:translateY(0)}}
@keyframes r7BarGrow{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1)}}
[dir="rtl"] @keyframes r7BarGrow{from{transform:scaleX(0);transform-origin:right}to{transform:scaleX(1)}}
.r7-anim-run .hist-card{animation:r7Up .55s cubic-bezier(.2,.7,.2,1) both}
.r7-anim-run .risk-card{animation:r7Up .5s cubic-bezier(.2,.7,.2,1) both}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .pulse-dot::after{display:none}
  .geo-banner,.cookie-card{animation:none}
}

/* ============ HERO ============ */
.hero{position:relative;background:var(--ink-900);color:#fff;overflow:hidden;padding:120px 0 0}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 80%);
  pointer-events:none;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle 600px at 80% 20%, rgba(194,163,107,.18), transparent 60%),
    radial-gradient(circle 800px at 10% 80%, rgba(27,115,232,.18), transparent 60%);
}
.hero-inner{position:relative;z-index:2;padding-bottom:80px}
.hero h1{
  font-size:84px; line-height:1.02; color:#fff;
  max-width:1100px; margin-top:22px;
  letter-spacing:-.03em; font-weight:700;
}
.hero h1 .gold-num{color:var(--gold);position:relative;display:inline-flex;align-items:baseline;gap:14px;font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-weight:800}
.pulse-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--gold);position:relative;transform:translateY(-12px)}
.pulse-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--gold);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.6);opacity:0}}
.hero .lede{color:#CDDBED;font-size:20px;max-width:680px;margin-top:30px;line-height:1.5}
.hero-ctas{display:flex;gap:14px;margin-top:42px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.1);margin-top:90px}
.hstat{padding:28px 32px 30px}
.hstat:first-child{padding-left:0}
.hstat:not(:first-child){border-left:1px solid rgba(255,255,255,.14)}
.hstat .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-300);font-weight:500}
.hstat .val{font-family:var(--serif);font-size:34px;font-weight:600;color:#fff;margin-top:10px;letter-spacing:-.02em;line-height:1}
.hstat .val .u{color:var(--ink-300);font-size:18px;font-weight:400;margin-left:6px}
.hstat .delta{font-family:var(--mono);font-size:11px;color:var(--gold);margin-top:8px;letter-spacing:.1em}

/* ============ THEME (light) ============
   Light = white-on-navy inversion. The hero, investor strip,
   built-for-trust pillars and footer always stay dark navy
   for accent contrast (defined in their own rules below). */
html{transition:background-color .2s ease, color .2s ease}
[data-theme="light"]{
  --canvas:#FFFFFF;
  --hairline:#E1E7F1;
}
[data-theme="light"] body{background:#fff;color:var(--ink-900)}
[data-theme="light"] .section.canvas{background:#FFFFFF}
[data-theme="light"] .trust{background:#F8FAFD;border-top-color:var(--hairline);border-bottom-color:var(--hairline)}
[data-theme="light"] .ccard,[data-theme="light"] .exec,[data-theme="light"] .bd,[data-theme="light"] .bcard,[data-theme="light"] .ncard{background:#fff}
[data-theme="light"] .cov-pills{background:#F2F5FA;border-color:var(--hairline)}
/* Hero gradient inverts to cream-to-white in light mode but keeps copy dark navy */
[data-theme="light"] .hero{background:linear-gradient(180deg,#F6F2EA 0%,#FFFFFF 100%);color:var(--ink-900)}
[data-theme="light"] .hero h1{color:var(--ink-900)}
[data-theme="light"] .hero h1 .gold-num{color:var(--gold)}
[data-theme="light"] .hero .lede,[data-theme="light"] .hero p{color:var(--ink-700)}
[data-theme="light"] .hero .eyebrow,[data-theme="light"] .hero .eyebrow.gold{color:var(--ink-600)}
[data-theme="light"] .hero-stats{border-top-color:rgba(16,23,51,.10)}
[data-theme="light"] .hero-stat .v{color:var(--ink-900)}
[data-theme="light"] .hero-stat .l{color:var(--ink-500)}
[data-theme="light"] .hero-stat .s{color:var(--ink-400)}
/* Topbar in light mode flips to a paper bar */
[data-theme="light"] .nav{background:rgba(255,255,255,.92);border-bottom:1px solid var(--hairline);backdrop-filter:saturate(140%) blur(12px)}
[data-theme="light"] .nav .brand-name{color:var(--ink-900)}
[data-theme="light"] .nav-links a{color:var(--ink-500)}
[data-theme="light"] .nav-links a:hover,[data-theme="light"] .nav-links a.active{color:var(--ink-900)}
[data-theme="light"] .lang button{color:var(--ink-500)}
[data-theme="light"] .lang button:hover{color:var(--ink-900)}
[data-theme="light"] .lang button.on{color:var(--ink-950)}
[data-theme="light"] .theme-toggle{color:var(--ink-700)}
[data-theme="light"] .theme-toggle:hover{color:var(--ink-900)}
/* Map background dots stay subtle on white */
[data-theme="light"] .map-wrap svg g[fill="rgba(255,255,255,0.10)"] circle{fill:rgba(11,37,69,.06)}

/* ============ R9: LIGHT MODE CONTRAST AA ============ */
/* Hero stats sit on cream; ink-300 was invisible. */
[data-theme="light"] .hstat .lbl{color:var(--ink-700)}
[data-theme="light"] .hstat .val{color:var(--ink-900)}
[data-theme="light"] .hstat .val .u{color:var(--ink-600)}
[data-theme="light"] .hstat:not(:first-child){border-left-color:rgba(16,23,51,.12)}
/* Trust bar — strengthen hairlines + label. */
[data-theme="light"] .trust-label{color:var(--ink-700)}
[data-theme="light"] .tbadge{border-color:#C2CEDF}
[data-theme="light"] .tbadge .ctry{color:var(--ink-600)}
/* Brand cards: tag/kpi labels readable on white */
[data-theme="light"] .bcard .b-tag{color:var(--ink-700)}
[data-theme="light"] .kpi .l{color:var(--ink-600)}
/* Country cards on white */
[data-theme="light"] .ccard .creg{color:var(--ink-600)}
/* News meta uppercase row */
[data-theme="light"] .nmeta{color:var(--ink-600)}
/* Trust pillars (the section is dark navy → leave the dark rules alone) */
/* Ownership caveat */
[data-theme="light"] .own-top .l .caveat{color:var(--ink-600)}
/* Risk card category */
[data-theme="light"] .risk-card .cat{color:var(--ink-700)}
/* History section is dark navy in both themes — no change. */
/* Investor strip is dark navy in both themes — no change. */
/* Footer is dark navy in both themes — no change. */
/* Trust ctcards row */
[data-theme="light"] .ctcard .row .e{color:var(--ink-600)}
[data-theme="light"] .ctcard .ico{color:var(--ink-700)}
/* Eyebrow .dark variant */
[data-theme="light"] .eyebrow.dark{color:var(--ink-600)}

/* ============ THEME TOGGLE BUTTON ============ */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:transparent;border:0;color:rgba(255,255,255,.78);cursor:pointer;transition:.18s;flex-shrink:0}
.theme-toggle:hover{color:#fff;background:rgba(255,255,255,.06)}
.theme-toggle svg{width:18px;height:18px}
.theme-toggle .icon-moon{display:none}
.theme-toggle .icon-sun{display:block}
[data-theme="light"] .theme-toggle .icon-sun{display:none}
[data-theme="light"] .theme-toggle .icon-moon{display:block}
.theme-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ============ LANG TOGGLE: stacked code + flag ============ */
.lang button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1;padding:5px 8px}
.lang .l-code{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;line-height:1}
.lang .l-flag{font-size:11px;line-height:1;filter:saturate(.95)}

/* ============ BRAND MARK MICRO-ANIM ============ */
@keyframes bmFade{0%{opacity:0;transform:scale(.85)}100%{opacity:1;transform:scale(1)}}
@keyframes bmGlow{
  0%{box-shadow:0 0 0 0 rgba(194,163,107,0)}
  60%{box-shadow:0 0 0 6px rgba(194,163,107,.45),0 0 14px 4px rgba(194,163,107,.55)}
  100%{box-shadow:0 0 0 0 rgba(194,163,107,0)}
}
.brand.bm-anim .brand-mark{animation:bmFade .6s ease-out both, bmGlow .35s ease-out 400ms both}
.brand.bm-anim .brand-name{animation:bmFade .6s ease-out 80ms both}

/* ============ SCROLL-IN ANIMATIONS (coverage) ============ */
.map-wrap svg .gdot{transform-box:fill-box;transform-origin:center}
.cov-anim-pending .gdot{opacity:0;transform:scale(.4)}
.cov-anim-pending .corridors path{stroke-dasharray:600;stroke-dashoffset:600}
.cov-anim-pending #countryGrid .ccard{opacity:0;transform:translateY(10px)}

@keyframes covDot{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes covCorr{0%{stroke-dashoffset:600}100%{stroke-dashoffset:0}}
@keyframes covCard{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}

.cov-anim-run .gdot{animation:covDot .55s cubic-bezier(.22,1,.36,1) both}
.cov-anim-run .corridors path{animation:covCorr 1.5s ease-out both}
.cov-anim-run #countryGrid .ccard{animation:covCard .45s ease-out both}

/* ============ PRINT ============ */
@page{
  size:A4;
  margin:18mm 14mm 16mm 14mm;
  @top-left{ content:"Efinti Holdings — Investor Briefing"; font-family:"Source Serif 4",Georgia,serif; font-size:9.5pt; color:#444 }
  @bottom-right{ content: counter(page) " / " counter(pages); font-family:"JetBrains Mono",monospace; font-size:8.5pt; color:#666 }
}
@media print{
  html,body{background:#fff !important;color:#000 !important}
  html{ --canvas:#fff; --hairline:#bbb; }
  /* Force light tokens */
  [data-theme]{color-scheme:light}
  /* Hide chrome */
  .nav, .skip-link, #langToggle, .theme-toggle, #cookieBanner, #geoBanner, .map-tip, .exec .li, .lead-foot, .cov-pills, .cov-foot, .news-cta, .ck-actions{display:none !important}
  /* Disable hover/focus rings + animations */
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
    box-shadow:none !important;
    text-shadow:none !important;
    filter:none !important;
  }
  *:focus,*:focus-visible{outline:none !important}
  .pulse-dot,.pulse-dot::before{animation:none !important}
  /* Force light treatment for permanently-dark sections */
  .hero,.section.dark,.investor .inv-card,.footer{
    background:#fff !important;
    color:#000 !important;
    border:1px solid #ccc !important;
  }
  .hero *,.section.dark *,.inv-card *,.footer *{color:#000 !important;background:transparent !important}
  .hero::before,.inv-card::before{display:none !important}
  .hero h1,.hero h1 .gold-num,h2,h3,h4,.eyebrow,.eyebrow.gold,.foot-tag{color:#000 !important}
  /* Type sizing for print */
  body{font-size:10.5pt;line-height:1.5}
  h1{font-size:24pt} h2{font-size:18pt} h3{font-size:13pt}
  .hero{padding:24pt 0 18pt;min-height:auto}
  .section{padding:24pt 0}
  /* Page breaks before each major section */
  section, .footer{ break-before:page; page-break-before:always }
  .hero{break-before:auto;page-break-before:auto}
  /* Avoid orphans in cards */
  .ccard,.bcard,.ncard,.exec,.bd,.ir-evt{break-inside:avoid;page-break-inside:avoid}
  /* Show URLs after links */
  a[href]:after{ content:" (" attr(href) ")"; font-size:.85em; color:#666 }
  a[href^="#"]:after, a[href=""]:after, a[href^="javascript:"]:after{ content:"" }
  /* Inline SVG map: keep visible, simplify */
  .map-wrap svg .gdot{opacity:1 !important;transform:none !important;animation:none !important}
  .corridors path{stroke-dashoffset:0 !important}
}

.trust{background:var(--canvas);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:28px 0}
.trust-inner{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.trust-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-400);font-weight:500;padding-right:16px;border-right:1px solid var(--hairline);white-space:nowrap}
.trust-badges{display:flex;gap:10px;flex-wrap:wrap;flex:1}
.tbadge{background:#fff;border:1px solid var(--hairline);border-radius:6px;padding:9px 14px;display:flex;align-items:center;gap:8px}
.tbadge .reg{font-family:var(--serif);font-weight:600;color:var(--ink-800);font-size:14px}
.tbadge .ctry{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400)}
.tbadge.more{color:var(--ink-500);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}

/* ============ SECTION HEADERS ============ */
.section{padding:120px 0}
.section.canvas{background:var(--canvas)}
.section.dark{background:var(--ink-900);color:#fff}
.section.dark h2,.section.dark h3,.section.dark h4{color:#fff}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:60px}
.shead-l{max-width:780px}
.shead .eyebrow{margin-bottom:18px;display:block}
.shead h2{margin-bottom:18px}
.shead p{color:var(--ink-500);font-size:17px;max-width:640px}
.section.dark .shead p{color:var(--ink-200)}


/* ============ REGULATED BY ============ */
.regby{padding:80px 0 40px;background:var(--canvas)}
.regby .shead{margin-bottom:36px}
.regby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.regcard{position:relative;background:#fff;border:1px solid var(--hairline);border-radius:10px;padding:32px 28px 28px;transition:transform .25s ease, border-color .25s ease;overflow:hidden;display:flex;flex-direction:column;gap:0}
.regcard:hover{transform:translateY(-2px);border-color:var(--ink-200);box-shadow:0 6px 20px rgba(16,23,51,.05)}
.regcard .b-tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);display:flex;align-items:center;gap:8px;margin-bottom:18px}
.regcard .b-tag .sq{width:8px;height:8px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 0 rgba(194,163,107,.6);animation:pulseDot 2s infinite}
.regcard.pending .b-tag .sq{background:#C2A36B;animation:pulseDotAmber 2s infinite}
.reg-acro{font-family:var(--serif);font-size:48px;font-weight:600;color:var(--ink-900);letter-spacing:-.02em;line-height:1;margin-bottom:6px}
.reg-acro .dot{color:var(--gold)}
.regcard.pending .reg-acro .dot{color:#C2A36B}
.reg-sub{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);margin-bottom:18px}
.reg-desc{font-family:var(--inter);font-size:14px;line-height:1.55;color:var(--ink-700);margin:0 0 22px;flex:1}
.reg-status{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;align-self:flex-start}
.reg-status .d{width:6px;height:6px;border-radius:50%}
.reg-status.active{background:rgba(194,163,107,.10);color:#A3834F;border:1px solid rgba(194,163,107,.28)}
.reg-status.active .d{background:#C2A36B;box-shadow:0 0 0 0 rgba(194,163,107,.5);animation:pulseDotGreen 2s infinite}
.reg-status.pending{background:rgba(194,163,107,.10);color:#A3834F;border:1px solid rgba(194,163,107,.32)}
.reg-status.pending .d{background:#C2A36B}
@keyframes pulseDotAmber{0%{box-shadow:0 0 0 0 rgba(194,163,107,.55)}70%{box-shadow:0 0 0 8px rgba(194,163,107,0)}100%{box-shadow:0 0 0 0 rgba(194,163,107,0)}}
@keyframes pulseDotGreen{0%{box-shadow:0 0 0 0 rgba(194,163,107,.55)}70%{box-shadow:0 0 0 8px rgba(194,163,107,0)}100%{box-shadow:0 0 0 0 rgba(194,163,107,0)}}
[data-theme="light"] .regcard{background:#fff}
@media (max-width:1100px){.regby-grid{grid-template-columns:1fr;gap:16px}}

/* ============ GROUP ============ */
.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bcard{position:relative;background:#fff;border:1px solid var(--hairline);border-radius:10px;padding:36px 32px 32px;transition:transform .25s ease, border-color .25s ease;overflow:hidden;display:flex;flex-direction:column;--bc:var(--gold)}
.bcard.efy{--bc:var(--efy)}
.bcard.efyc{--bc:var(--efyc)}
.bcard.core{--bc:var(--core);--bc-bright:var(--core-bright)}
.bcard.core .kpi .v{color:var(--core-bright);font-weight:700}
.bcard.valto{--bc:var(--valto)}
.bcard.valto .b-tag .sq{background:var(--valto-yellow);box-shadow:inset 0 0 0 1px var(--valto)}
.bcard.valto .kpi .v{color:var(--valto);font-weight:700}
.bcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--bc);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.bcard:hover{transform:translateY(-4px);border-color:var(--ink-200)}
.bcard:hover::before{transform:scaleX(1)}
.bcard .b-tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-400);font-weight:500;margin-bottom:24px;display:flex;align-items:center;gap:10px}
.bcard .b-tag .sq{width:6px;height:6px;background:var(--bc)}
.bcard .b-name{font-family:var(--serif);font-size:32px;font-weight:700;color:var(--ink-900);letter-spacing:-.025em;line-height:1.1}
.bcard .b-name .dot{color:var(--bc)}
.bcard .kpi .v{color:var(--bc)}
.bcard .b-sub{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);margin-top:10px;font-weight:500}
.bcard .b-desc{color:var(--ink-500);margin-top:18px;font-size:15px;line-height:1.55}
.bcard .b-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px;padding-top:24px;border-top:1px solid var(--hairline)}
.kpi .v{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--ink-900);letter-spacing:-.01em;transition:color .2s ease}
.kpi .l{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400);margin-top:4px}
.bcard .b-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:28px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-700);font-weight:500;align-self:flex-start}
.bcard .b-link .arr{transition:transform .2s}
.bcard:hover .b-link .arr{transform:translateX(4px)}

/* ============ COVERAGE ============ */
.cov-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start}
.map-wrap{position:relative;background:var(--ink-900);border-radius:12px;padding:32px;overflow:hidden;aspect-ratio:1.15/1;color:#fff}
.map-wrap::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle 400px at 30% 50%, rgba(194,163,107,.10), transparent 60%),
    radial-gradient(circle 500px at 80% 70%, rgba(27,115,232,.10), transparent 60%);
}
.map-wrap svg{width:100%;height:100%;position:relative;z-index:1}
.map-badge{position:absolute;top:24px;right:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 12px 6px 10px;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;z-index:2}
.map-badge .d{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(194,163,107,.25)}
.map-legend{position:absolute;bottom:24px;left:24px;display:flex;gap:18px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);z-index:2}
.map-legend .item{display:flex;align-items:center;gap:8px}
.map-legend .d{width:6px;height:6px;border-radius:50%}
.map-legend .d.live{background:var(--gold)}
.map-legend .d.hub{background:var(--cobalt);box-shadow:0 0 0 3px rgba(27,115,232,.25)}
.map-legend .d.line{width:14px;height:1px;border-radius:0;background:rgba(194,163,107,.6)}
.map-legend .d.direct{background:var(--gold)}
.map-legend .d.passport{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gold)}
.map-legend .d.partner{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gold);position:relative}
.map-legend .d.partner::before{content:"";position:absolute;inset:1.5px;border-radius:50%;background:repeating-conic-gradient(var(--gold) 0 8deg, transparent 8deg 22deg)}
.map-legend{flex-wrap:wrap;max-width:calc(100% - 48px)}

.country-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ccard{background:#fff;border:1px solid var(--hairline);border-radius:8px;padding:14px 14px;display:flex;align-items:center;gap:12px;transition:.2s}
.ccard:hover{border-color:var(--ink-200);transform:translateY(-1px)}
.ccard .flag{font-size:22px;line-height:1}
.ccard .info{flex:1;min-width:0}
.ccard .cname{font-family:var(--serif);font-weight:600;font-size:15px;color:var(--ink-900);letter-spacing:-.01em}
.ccard .creg{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ink-400);text-transform:uppercase;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cov-foot{margin-top:24px;text-align:right}
.cov-foot a{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-700);font-weight:500;display:inline-flex;align-items:center;gap:8px}

/* ============ INVESTOR RELATIONS (minimal) ============ */
.investor-min{padding:120px 0; background:transparent}
.investor-min .wrap{max-width:760px; text-align:center}
.investor-min .invm-head h2{font-family:var(--serif); font-size:clamp(36px,4.4vw,56px); font-weight:600; letter-spacing:-.02em; line-height:1.05; margin:18px 0 28px; color:var(--ink-900)}
.investor-min .invm-head p{font-size:17px; line-height:1.65; color:var(--ink-700); margin:0 auto 14px; max-width:580px}
.investor-min .invm-head p + p{margin-top:18px}
.investor-min .invm-card{margin-top:48px; padding:44px 28px; border:1px solid var(--ink-100); border-radius:14px; background:#fff; box-shadow:0 1px 0 rgba(15,23,33,.02), 0 30px 60px -40px rgba(15,23,33,.18)}
.investor-min .invm-mail{display:inline-block; font-family:var(--serif); font-size:clamp(24px,2.6vw,34px); font-weight:500; letter-spacing:-.01em; color:var(--ink-900); text-decoration:none; border-bottom:1px solid rgba(194,163,107,.4); padding-bottom:6px; transition:border-color .2s, color .2s}
.investor-min .invm-mail:hover{color:var(--gold-700); border-bottom-color:var(--gold-700)}
.investor-min .invm-small{margin:22px auto 0; max-width:440px; font-size:13px; line-height:1.55; color:var(--ink-500)}
[data-theme="light"] .investor-min .invm-card{background:#fff; border-color:rgba(15,23,33,.08)}

/* ============ NEWSROOM (lead + press coverage) ============ */
.newsm-head{text-align:center; margin-bottom:60px}
.newsm-head h2{margin-top:18px}
.newsm-lead{max-width:1040px; margin:0 auto; background:#fff; border:1px solid var(--hairline); border-radius:14px; overflow:hidden; box-shadow:0 1px 0 rgba(15,23,33,.02), 0 30px 60px -45px rgba(15,23,33,.18)}
.newsm-vis{aspect-ratio:16/8; background:linear-gradient(135deg, #f6f4ef 0%, #ece6d6 100%); display:flex; align-items:center; justify-content:center; position:relative; border-bottom:1px solid var(--hairline)}
.newsm-vis::before{content:""; position:absolute; inset:18px; border:1px dashed rgba(15,23,33,.18); border-radius:8px; pointer-events:none}
.newsm-vislbl{font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-500)}
.newsm-vis img.newsm-img{width:100%; height:100%; object-fit:cover; display:block}
.newsm-vis:has(img.newsm-img)::before{display:none}
.prc-thumb{width:56px; height:38px; object-fit:cover; border-radius:6px; flex-shrink:0; background:var(--hairline); border:1px solid var(--hairline)}
.prc-link{gap:14px}
.newsm-body{padding:44px 56px 48px}
.newsm-meta{font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-600); margin-bottom:18px}
.newsm-title{font-family:var(--serif); font-size:clamp(28px,3vw,38px); font-weight:600; letter-spacing:-.015em; line-height:1.2; color:var(--ink-900); margin:0 0 18px; text-wrap:pretty}
.newsm-lede{font-size:16px; line-height:1.7; color:var(--ink-700); margin:0; max-width:760px; text-wrap:pretty}

.press-coverage{max-width:1040px; margin:64px auto 0; padding-top:44px; border-top:1px solid var(--hairline)}
.prc-label{font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-700); margin-bottom:22px; font-weight:500}
.prc-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--hairline)}
.prc-list li{border-bottom:1px solid var(--hairline)}
.prc-list li:nth-child(odd){border-right:1px solid var(--hairline)}
.prc-link{display:flex; align-items:center; justify-content:space-between; padding:18px 22px; font-size:15px; color:var(--ink-800); text-decoration:none; transition:background .18s, color .18s}
.prc-link:hover{background:rgba(194,163,107,.06); color:var(--gold-700)}
.prc-name{font-weight:500}
.prc-arrow{font-family:var(--mono); color:var(--ink-400); transition:color .18s, transform .18s}
.prc-link:hover .prc-arrow{color:var(--gold-700); transform:translateX(2px)}
@media (max-width:760px){
  .newsm-body{padding:30px 24px 32px}
  .prc-list{grid-template-columns:1fr}
  .prc-list li:nth-child(odd){border-right:none}
}

/* ============ TRUST PILLARS removed ============ */

/* ============ SEGMENTED CTAS ============ */
.cta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ctcard{position:relative;background:#fff;border:1px solid var(--hairline);border-radius:10px;padding:36px 28px 32px;overflow:hidden;transition:.25s}
.ctcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cobalt);transform:scaleY(0);transform-origin:top;transition:transform .3s ease}
.ctcard.gold::before{background:var(--gold)}
.ctcard:hover::before{transform:scaleY(1)}
.ctcard:hover{transform:translateY(-3px);border-color:var(--ink-200)}
.ctcard .ico{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-400);font-weight:500;margin-bottom:22px;display:flex;align-items:center;gap:8px}
.ctcard.gold .ico{color:var(--gold)}
.ctcard h4{font-size:22px;line-height:1.2}
.ctcard p{color:var(--ink-500);margin-top:12px;font-size:14px;line-height:1.55}
.ctcard .row{margin-top:28px;display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--hairline);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.ctcard .row .a{color:var(--ink-700);font-weight:500;display:inline-flex;gap:8px}
.ctcard .row .e{color:var(--ink-300)}

/* ============ FOOTER ============ */
.footer{background:var(--ink-950);color:var(--ink-200);padding:90px 0 40px}
.foot-grid{display:grid;grid-template-columns:1.6fr .8fr .8fr 1fr .8fr;gap:48px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand .brand-name{color:#fff;font-size:24px}
.foot-tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:18px;font-weight:500}
.foot-disc{font-size:13px;color:var(--ink-300);margin-top:22px;max-width:360px;line-height:1.6}
.foot-col h5{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08);display:inline-flex;position:relative}
.foot-col h5::after{content:"";position:absolute;left:0;bottom:-1px;width:24px;height:2px;background:var(--gold)}
.foot-col.efy h5::after{background:#3D86E0}
.foot-col.efyc h5::after{background:#D2B380}
.foot-col.core h5::after{background:#C2A36B}
.foot-col li .bdot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;vertical-align:middle}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.foot-col a{color:var(--ink-200);font-size:14px;transition:.15s}
.foot-col a:hover{color:#fff}
.foot-bottom{padding:32px 0 20px;display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-300);flex-wrap:wrap;gap:18px}
.foot-bottom .links{display:flex;gap:24px}
.foot-bottom a:hover{color:#fff}
.foot-disc-full{max-width:980px;margin:24px auto 0;font-family:var(--mono);font-size:11px;line-height:1.65;color:var(--ink-400);letter-spacing:.01em;text-align:left}

/* ============ RTL / AR ============ */
:root[lang="ar"]{
  --serif:"Noto Sans Arabic", "Inter", system-ui, sans-serif;
  --sans:"Noto Sans Arabic", "Inter", system-ui, sans-serif;
}
/* ============ ZH ============ */
:root[lang="zh"]{
  --serif:"Noto Sans SC", "Inter", sans-serif;
  --sans:"Noto Sans SC", "Inter", sans-serif;
}
:root[lang="zh"] .eyebrow,
:root[lang="zh"] .meta,
:root[lang="zh"] .kicker,
:root[lang="zh"] .nav a,
:root[lang="zh"] h6,
:root[lang="zh"] .tag,
:root[lang="zh"] .foot-bottom{ letter-spacing:0; }
:root[lang="ar"] .eyebrow,
:root[lang="ar"] .hstat .lbl,
:root[lang="ar"] .hstat .delta,
:root[lang="ar"] .trust-label,
:root[lang="ar"] .tbadge .ctry,
:root[lang="ar"] .tbadge.more,
:root[lang="ar"] .bcard .b-tag,
:root[lang="ar"] .bcard .b-sub,
:root[lang="ar"] .kpi .l,
:root[lang="ar"] .bcard .b-link,
:root[lang="ar"] .ccard .creg,
:root[lang="ar"] .map-badge,
:root[lang="ar"] .map-legend,
:root[lang="ar"] .cov-foot a,
:root[lang="ar"] .inv-ticker,
:root[lang="ar"] .inv-stats .l,
:root[lang="ar"] .nmeta,
:root[lang="ar"] .ncard .read,
:root[lang="ar"] .pillar .ico,
:root[lang="ar"] .pillar .lnk,
:root[lang="ar"] .foot-tag,
:root[lang="ar"] .foot-col h5,
:root[lang="ar"] .foot-bottom,
:root[lang="ar"] .tag{ letter-spacing:0; }
/* Arabic body uses sans for serif slot too — Noto Naskh, but headlines stay heavier */
:root[lang="ar"] h1, :root[lang="ar"] h2, :root[lang="ar"] h3, :root[lang="ar"] h4{
  letter-spacing:0; font-weight:700;
}
:root[lang="ar"] .hero h1{ line-height:1.2; }
:root[lang="ar"] .bcard .b-name{ letter-spacing:0; }
:root[lang="ar"] .hstat .val,
:root[lang="ar"] .kpi .v,
:root[lang="ar"] .inv-stats .v,
:root[lang="ar"] .pillar .ico .num{ letter-spacing:0; }
/* Latin acronyms and numbers stay LTR even inside RTL flow */
:root[lang="ar"] .ltr,
:root[lang="ar"] .tbadge .reg,
:root[lang="ar"] .ccard .creg,
:root[lang="ar"] .hstat .val,
:root[lang="ar"] .kpi .v,
:root[lang="ar"] .inv-stats .v,
:root[lang="ar"] .inv-ticker .t,
:root[lang="ar"] .b-name{ direction:ltr; unicode-bidi:isolate; }
/* Arrows: flip in RTL via CSS so we don't need translation strings */
[dir="rtl"] .arr,
[dir="rtl"] .read span,
[dir="rtl"] .cov-foot a span,
[dir="rtl"] .pillar .lnk span,
[dir="rtl"] .ncard .read span{ display:inline-block; transform:scaleX(-1); }
/* Logical-property fixes for elements that used physical sides */
.hstat:not(:first-child){ border-left:0; border-inline-start:1px solid rgba(255,255,255,.14); }
.trust-label{ padding-right:0; padding-inline-end:16px; border-right:0; border-inline-end:1px solid var(--hairline); }
.hstat .val .u{ margin-left:0; margin-inline-start:6px; }
.inv-stats .v .up{ margin-left:0; margin-inline-start:4px; }
.foot-col li .bdot{ margin-right:0; margin-inline-end:8px; }
.cov-foot{ text-align:end; }
/* Map badge & legend: keep them at the visual end/start of the map regardless of dir */
.map-badge{ right:24px; }
.map-legend{ left:24px; }
[dir="rtl"] .map-badge{ right:auto; left:24px; }
[dir="rtl"] .map-legend{ left:auto; right:24px; }
/* Lang toggle stays in EN-ES-PT-AR visual order regardless of dir */
.lang{ direction:ltr; }
/* Investor strip glow: keep at top-end corner */
.inv-card::before{ inset-inline-end:auto; }
[dir="rtl"] .inv-card::before{ background:radial-gradient(circle 600px at 10% 10%, rgba(194,163,107,.15), transparent 60%); }

/* ============ MAP FILTER + TOOLTIP ============ */
.cov-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.cov-pills{display:flex;gap:6px;background:var(--ink-50);border:1px solid var(--hairline);border-radius:999px;padding:4px}
.cov-pills button{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-700);padding:8px 14px;border-radius:999px;border:0;background:transparent;cursor:pointer;font-weight:500;transition:.18s}
.cov-pills button:hover{color:var(--ink-900)}
.cov-pills button.on{background:var(--gold);color:var(--ink-950);font-weight:600}
.cov-count{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-400)}
.cov-count b{color:var(--ink-900);font-weight:600}

/* dots: clickable, dim when filtered out */
.map-wrap svg .gdot{cursor:pointer;transition:opacity .25s, r .15s, filter .15s}
.map-wrap svg .gdot.dim{opacity:.18;cursor:default;pointer-events:none}
.map-wrap svg .gdot:not(.dim):hover{r:5;filter:drop-shadow(0 0 6px rgba(194,163,107,.85))}

/* tooltip */
.map-tip{position:fixed;z-index:140;pointer-events:none;background:var(--ink-900);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px 14px;min-width:230px;max-width:280px;box-shadow:0 14px 40px rgba(0,0,0,.45);opacity:0;transform:translate(-50%,-100%) translateY(-12px);transition:opacity .14s}
.map-tip.show{opacity:1}
.map-tip .row1{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:14px;font-weight:600;color:#fff}
.map-tip .row1 .fl{font-size:16px}
.map-tip .ent{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.map-tip .reg{font-family:var(--mono);font-size:10px;letter-spacing:.10em;color:var(--ink-300);margin-top:4px}
.map-tip .badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;margin-top:8px;padding:3px 7px;border-radius:999px;background:rgba(194,163,107,.18);color:#E8D2A2;border:1px solid rgba(194,163,107,.35)}
.map-tip .badge.review{background:rgba(194,163,107,.16);color:var(--gold);border-color:rgba(194,163,107,.40)}
.map-tip .badge .d{width:5px;height:5px;border-radius:50%;background:currentColor}

/* country card filter + highlight animation */
.ccard.hide{display:none}
.ccard{position:relative;border-left:3px solid transparent;transition:.25s}
.ccard.flash{border-left-color:var(--gold);background:#F6F2EA;animation:ccardFlash 1.5s ease forwards}
@keyframes ccardFlash{
  0%{background:#F6F2EA;border-left-color:var(--gold)}
  100%{background:#fff;border-left-color:transparent}
}

/* ============ LEADERSHIP ============ */
.lead-grp{margin-top:48px}
.lead-grp:first-of-type{margin-top:36px}
.lead-sub{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-500);margin-bottom:20px;display:flex;align-items:center;gap:14px}
.lead-sub::after{content:"";flex:1;height:1px;background:var(--hairline)}
.exec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.exec{background:#fff;border:1px solid var(--hairline);border-radius:10px;padding:22px 22px 20px;display:flex;gap:16px;align-items:flex-start;position:relative;transition:.2s}
.exec:hover{border-color:var(--ink-200);box-shadow:0 6px 20px rgba(16,23,51,.05);transform:translateY(-1px)}
.exec .av{flex-shrink:0;width:64px;height:64px;border-radius:50%;background:var(--ink-900);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:-.01em}
.exec .body{flex:1;min-width:0;padding-right:22px}
.exec .nm{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;line-height:1.2}
.exec .ro{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500);margin-top:6px;line-height:1.4}
.exec .bi{font-family:var(--inter);font-size:13px;color:var(--ink-700);margin-top:10px;line-height:1.5}
.exec .li{position:absolute;bottom:18px;right:18px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--ink-300);transition:.18s}
.exec .li:hover{color:var(--gold)}
.exec .li svg{width:14px;height:14px}

.bd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bd{background:#fff;border:1px solid var(--hairline);border-radius:8px;padding:16px 18px;display:flex;gap:14px;align-items:center}
.bd .av{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--ink-100);display:flex;align-items:center;justify-content:center;color:var(--ink-700);font-family:var(--serif);font-weight:600;font-size:16px}
.bd .body{flex:1;min-width:0}
.bd .nm{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;line-height:1.2}
.bd .ro{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);margin-top:5px;line-height:1.3;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bd .chip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);background:rgba(194,163,107,.12);border:1px solid rgba(194,163,107,.30);padding:2px 7px;border-radius:999px;font-weight:600;letter-spacing:.10em}

.lead-foot{margin-top:32px;text-align:right}
.lead-foot a{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-700);font-weight:500;display:inline-flex;align-items:center;gap:8px}
.lead-foot a:hover{color:var(--gold)}

.exec-min{padding:24px 22px;align-items:center}
.exec-min .body{padding-right:0}
.exec-min .nm{font-size:18px}
.exec-min .ro{margin-top:6px}
[dir="rtl"] .exec-min .body{padding-left:0}
/* RTL fixes */
[dir="rtl"] .exec .body{padding-right:0;padding-left:22px}
[dir="rtl"] .exec .li{right:auto;left:18px}
[dir="rtl"] .ccard.flash{border-left:0;border-right:3px solid var(--gold)}
[dir="rtl"] .ccard{border-left:0;border-right:3px solid transparent}
[dir="rtl"] .lead-foot{text-align:left}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .hero h1{font-size:62px}
  h2{font-size:42px}
  .brand-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .cov-grid,.inv-card,.news-grid{grid-template-columns:1fr;gap:32px}
  .exec-grid,.bd-grid{grid-template-columns:repeat(2,1fr)}
  .tb-grid{grid-template-columns:repeat(4,1fr)}
  .risk-grid{grid-template-columns:repeat(2,1fr)}
  .own-top{grid-template-columns:1fr;gap:24px}
  .own-legend{grid-template-columns:repeat(2,1fr)}
  .pillars{grid-template-columns:1fr}
  .pillar{padding:32px 0!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .nav-links{display:none}
  .hero h1{font-size:42px}
  h2{font-size:32px}
  .hero{padding-top:64px}
  .section{padding:80px 0}
  .brand-grid,.country-grid,.exec-grid,.bd-grid{grid-template-columns:1fr}
  .tb-grid{grid-template-columns:repeat(2,1fr)}
  .risk-grid{grid-template-columns:1fr}
  .hist-card{flex:0 0 280px}
  .fin-table{font-size:11px}
  .fin-table th,.fin-table td{padding:10px 12px}
  /* ir-evt mobile already handled in component @media */
  .inv-card{padding:36px 24px}
  .shead{flex-direction:column;align-items:flex-start;gap:24px}
}

/* ============ FOOTER (minimal) ============ */
.footer-min{background:var(--ink-950); color:#fff; padding:64px 0 36px; margin-top:80px}
.footer-min .wrap{max-width:1240px}
.footer-min .footm-grid{display:grid; grid-template-columns:1.2fr 1fr 1.3fr; gap:48px; align-items:start; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.08)}
.footer-min .footm-brand .brand{display:flex; align-items:center; gap:10px; color:#fff}
.footer-min .brand-mark{display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:7px; background:var(--gold); color:#fff}
.footer-min .brand-name{font-family:var(--serif); font-size:22px; font-weight:600; letter-spacing:-.01em; color:#fff}
.footer-min .footm-tag{margin-top:14px; font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55)}
.footer-min .footm-links{display:flex; flex-direction:column; gap:12px}
.footer-min .footm-links a{color:rgba(255,255,255,.78); font-size:14px; text-decoration:none; transition:color .18s}
.footer-min .footm-links a:hover{color:var(--gold)}
.footer-min .footm-contact{display:flex; flex-direction:column; gap:10px; align-items:flex-start}
.footer-min .footm-mail{font-family:var(--serif); font-size:17px; color:#fff; text-decoration:none; border-bottom:1px solid rgba(194,163,107,.4); padding-bottom:3px; transition:color .18s, border-color .18s}
.footer-min .footm-mail:hover{color:var(--gold); border-bottom-color:var(--gold)}
.footer-min .footm-bottom{padding-top:24px; font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.45)}
@media (max-width:760px){
  .footer-min .footm-grid{grid-template-columns:1fr; gap:32px}
}


/* ============ COVERAGE (simplified) ============ */
.covm-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:48px; align-items:center; margin-top:48px}
.covm-map{background:#0B1024; border-radius:14px; overflow:hidden; aspect-ratio:800/460}
.covm-map svg{display:block; width:100%; height:100%}
.covm-markers .pulse{transform-origin:center; animation:covmPulse 2.4s cubic-bezier(.4,0,.6,1) infinite}
@keyframes covmPulse{0%{transform:scale(1); opacity:.7} 100%{transform:scale(5.5); opacity:0}}
.covm-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; border-top:1px solid var(--hairline)}
.covm-row{display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; padding:22px 4px; border-bottom:1px solid var(--hairline)}
.covm-flag{font-family:var(--mono); font-size:11px; letter-spacing:.16em; color:var(--ink-500); width:32px; height:32px; border:1px solid var(--hairline); border-radius:6px; display:flex; align-items:center; justify-content:center}
.covm-country{font-family:var(--serif); font-size:20px; font-weight:600; color:var(--ink-900); letter-spacing:-.01em}
.covm-reg{font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-600); margin-top:4px}
.covm-status{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:7px 12px; border-radius:999px; font-weight:500}
.covm-status .dot{width:7px; height:7px; border-radius:50%}
.covm-status.active{background:rgba(194,163,107,.12); color:#A3834F}
.covm-status.active .dot{background:#C2A36B; box-shadow:0 0 0 0 rgba(194,163,107,.6); animation:covmDotPulse 2s ease-out infinite}
.covm-status.pending{background:rgba(194,163,107,.12); color:#A3834F}
.covm-status.pending .dot{background:#C2A36B}
@keyframes covmDotPulse{0%{box-shadow:0 0 0 0 rgba(194,163,107,.55)} 70%{box-shadow:0 0 0 8px rgba(194,163,107,0)} 100%{box-shadow:0 0 0 0 rgba(194,163,107,0)}}
@media (max-width:980px){.covm-grid{grid-template-columns:1fr; gap:32px}}


/* ============ BACKED BY (06) ============ */
.backed-section{padding:120px 0; background:var(--canvas); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline)}
.backed-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--hairline); border-left:1px solid var(--hairline); max-width:880px; margin:0 auto}
.backed-slot{position:relative; background:#fff; border-right:1px solid var(--hairline); border-bottom:1px solid var(--hairline); aspect-ratio:5/3; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:48px 32px; transition:background .25s ease}
.backed-slot .b-tag{position:absolute; top:18px; left:22px; display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-500); font-weight:500}
.backed-slot .b-tag .sq{width:8px; height:8px; border-radius:2px; background:var(--gold); display:inline-block}
.backed-logo-link{display:flex; align-items:center; justify-content:center; min-height:80px}
.backed-logo-img{width:200px; height:auto; max-height:80px; filter:brightness(0) opacity(.55); transition:filter .25s ease, transform .25s ease; object-fit:contain}
.backed-slot:hover .backed-logo-img{filter:brightness(0) opacity(.9); transform:translateY(-1px)}
.backed-sub{margin-top:14px; font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-500); font-weight:500; text-align:center}
.backed-status{margin-top:18px; display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; background:rgba(194,163,107,.10); color:var(--gold-700)}
.backed-status .d{width:6px; height:6px; border-radius:50%; background:var(--gold)}
.backed-meta{margin-top:32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:24px; border-top:1px solid var(--hairline); max-width:880px; margin-left:auto; margin-right:auto}
.backed-meta .note{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-500); font-weight:500}
.backed-meta .note b{color:var(--ink-900); font-weight:600}
[data-theme="dark"] .backed-section{background:var(--ink-900); border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .backed-grid{border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .backed-slot{background:rgba(255,255,255,.02); border-color:rgba(255,255,255,.06)}
[data-theme="dark"] .backed-logo-img{filter:brightness(0) invert(1) opacity(.55)}
[data-theme="dark"] .backed-slot:hover .backed-logo-img{filter:brightness(0) invert(1) opacity(.9)}
[data-theme="dark"] .backed-sub,[data-theme="dark"] .backed-meta .note{color:var(--ink-300)}
[data-theme="dark"] .backed-meta .note b{color:#fff}
@media (max-width: 768px){
  .backed-section{padding:80px 0}
  .backed-grid{grid-template-columns:1fr; max-width:520px}
}
