/* ==========================================================================
   PLATFORM DATA — SITE STYLES v1.1
   Consumes the pd token system (platform-data-tokens v1.0).
   Shared across all pages: header, heroes, cards, diagrams, forms, footer.
   ========================================================================== */
:root{
  --c-brand-navy:#1F4E78;--c-deep-slate:#0E1B2A;--c-electric-blue:#2E75B6;--c-teal:#17B0A6;
  --c-signal-cyan:#4FD1E0;--c-ink-900:#0B1420;--c-white:#FFFFFF;--c-gray-050:#F9FAFB;
  --c-gray-100:#F4F6F8;--c-gray-200:#E4E9EF;--c-gray-300:#CBD4DE;--c-gray-400:#9AA7B6;
  --c-gray-500:#6B7A8C;--c-gray-600:#4E5A69;--c-gray-700:#37414D;
  --c-slate-800:#142334;--c-slate-700:#1B3048;--c-validation-red:#D64545;
  --c-sky-blue-logo:#9BDBFE;--c-electric-logo:#34A4EC;--c-cyan-logo:#22C8F7;
  --c-teal-logo:#19C7BE;--c-signal-green:#4CC57F;
  --grad-brand:linear-gradient(90deg,var(--c-sky-blue-logo) 0%,var(--c-electric-logo) 28%,var(--c-cyan-logo) 50%,var(--c-teal-logo) 68%,var(--c-signal-green) 100%);
  --grad-hero:linear-gradient(135deg,var(--c-deep-slate) 0%,#10283f 55%,#0d3a44 100%);
  --grad-accent:linear-gradient(90deg,var(--c-teal) 0%,var(--c-electric-blue) 100%);
  --grad-data-line:linear-gradient(90deg,var(--c-signal-cyan) 0%,var(--c-teal) 100%);
  --font-sans:"Inter","Aptos",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --fs-caption:.75rem;--fs-small:.875rem;--fs-body:1rem;--fs-lead:1.125rem;--fs-h6:1.25rem;
  --fs-h5:1.5rem;--fs-h4:1.875rem;--fs-h3:2.25rem;--fs-h2:3rem;--fs-h1:3.75rem;
  --fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;
  --lh-tight:1.1;--lh-heading:1.2;--lh-body:1.6;--ls-tight:-.02em;--ls-wide:.08em;--measure:68ch;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;
  --space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;
  --section-pad-y:clamp(3.5rem,8vw,8rem);--container-max:1200px;--container-pad:clamp(1.25rem,5vw,3rem);
  --radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-pill:999px;
  --elev-1:0 1px 2px rgba(11,20,32,.06),0 2px 8px rgba(11,20,32,.05);
  --elev-2:0 4px 12px rgba(11,20,32,.08),0 8px 24px rgba(11,20,32,.06);
  --elev-3:0 12px 32px rgba(11,20,32,.12),0 24px 48px rgba(11,20,32,.10);
  --dur-fast:120ms;--dur-base:220ms;--dur-slow:400ms;
  --ease-standard:cubic-bezier(.2,0,0,1);--ease-emphasis:cubic-bezier(.2,.8,.2,1);
  --header-h:72px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);
  color:var(--c-ink-900);background:var(--c-white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--c-electric-blue);text-decoration:none}
a:hover{color:var(--c-brand-navy);text-decoration:underline}
:focus-visible{outline:2px solid var(--c-signal-cyan);outline-offset:2px;border-radius:var(--radius-sm)}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--c-brand-navy);color:#fff;
  padding:.75rem 1.25rem;z-index:200;border-radius:0 0 var(--radius-md) 0;font-weight:var(--fw-semibold)}
.skip-link:focus{left:0}
.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.eyebrow{display:inline-block;font-size:var(--fs-caption);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-teal);margin-bottom:var(--space-3)}
section{padding:var(--section-pad-y) 0}
section h2{font-size:clamp(1.75rem,4vw,var(--fs-h3));color:var(--c-brand-navy);
  font-weight:var(--fw-semibold);line-height:var(--lh-heading);letter-spacing:var(--ls-tight);margin-bottom:var(--space-4)}
section h3.sub-h{font-size:var(--fs-h5);color:var(--c-brand-navy);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-tight);margin:var(--space-7) 0 var(--space-3)}
.intro{color:var(--c-gray-500);font-size:var(--fs-lead);max-width:var(--measure);margin-bottom:var(--space-7)}
.body-copy{max-width:var(--measure);color:var(--c-gray-600);margin-bottom:var(--space-4)}
.dark{background:var(--c-deep-slate);color:#fff}
.dark h2,.dark h3.sub-h{color:#fff}
.dark .intro{color:#9DB0C4}
.dark .body-copy{color:#9DB0C4}
.dark .eyebrow{color:var(--c-signal-cyan)}
.subtle{background:var(--c-gray-100)}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  font-family:inherit;font-size:var(--fs-small);font-weight:var(--fw-semibold);
  padding:.8rem 1.6rem;border-radius:var(--radius-md);border:1.5px solid transparent;
  cursor:pointer;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),
  border-color var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);
  letter-spacing:.01em;min-height:44px;text-decoration:none}
.btn:hover{text-decoration:none}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--c-brand-navy);color:#fff}
.btn-primary:hover{background:#17405f;color:#fff}
.btn-secondary{background:transparent;border-color:var(--c-electric-blue);color:var(--c-electric-blue)}
.btn-secondary:hover{background:rgba(46,117,182,.08);color:var(--c-electric-blue)}
.dark .btn-primary,.on-dark.btn-primary{background:var(--c-electric-blue)}
.dark .btn-primary:hover,.on-dark.btn-primary:hover{background:var(--c-signal-cyan);color:var(--c-ink-900)}
.dark .btn-secondary,.on-dark.btn-secondary{border-color:var(--c-signal-cyan);color:var(--c-signal-cyan)}
.dark .btn-secondary:hover,.on-dark.btn-secondary:hover{background:rgba(79,209,224,.12);color:var(--c-signal-cyan)}

/* ============ HEADER ============ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-h);
  display:flex;align-items:center;background:rgba(14,27,42,.55);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;
  transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}
.site-header.scrolled{background:rgba(14,27,42,.92);border-bottom-color:var(--c-slate-700)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:38px;width:auto}
.main-nav{display:flex;align-items:center;gap:var(--space-4)}
.main-nav a{color:#C7D4E2;font-size:.8125rem;font-weight:var(--fw-medium);white-space:nowrap;
  padding:.4rem .1rem;border-bottom:2px solid transparent;transition:color var(--dur-base)}
.main-nav a:hover{color:#fff;text-decoration:none}
.main-nav a[aria-current="page"]{color:var(--c-signal-cyan);border-bottom-color:var(--c-signal-cyan)}
.header-cta{flex-shrink:0}
.header-cta .btn{padding:.6rem 1.1rem}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:10px;min-width:44px;min-height:44px}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;border-radius:2px;
  transition:transform var(--dur-base) var(--ease-standard),opacity var(--dur-base)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1150px){
  .nav-toggle{display:block}
  .main-nav{position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;align-items:stretch;
    gap:0;background:#0b1622;border-bottom:1px solid var(--c-slate-700);padding:var(--space-3) var(--container-pad) var(--space-5);
    transform:translateY(-8px);opacity:0;visibility:hidden;max-height:calc(100vh - var(--header-h));overflow-y:auto;
    transition:transform var(--dur-base) var(--ease-standard),opacity var(--dur-base),visibility 0s linear var(--dur-base)}
  .main-nav.open{transform:translateY(0);opacity:1;visibility:visible;transition-delay:0s}
  .main-nav a{padding:.9rem .25rem;border-bottom:1px solid var(--c-slate-700);font-size:var(--fs-body)}
  .header-cta{display:none}
}

/* ============ HOME HERO ============ */
.hero{position:relative;background:var(--grad-hero);color:#fff;overflow:hidden;
  padding:calc(var(--header-h) + clamp(4rem,10vw,7.5rem)) 0 clamp(4rem,9vw,7rem)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.hero .wrap{position:relative;z-index:2}
.hero .eyebrow{color:var(--c-signal-cyan);margin-bottom:var(--space-4)}
.hero h1{color:#fff;font-size:clamp(2.1rem,5.6vw,var(--fs-h1));font-weight:var(--fw-bold);
  line-height:var(--lh-tight);letter-spacing:var(--ls-tight);max-width:19ch;margin-bottom:var(--space-5)}
.hero h1 .grad{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .sub{color:#B9CADB;font-size:clamp(1rem,2vw,var(--fs-lead));max-width:58ch;margin-bottom:var(--space-6)}
.hero .cta-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-8)}
.hero-hairline{height:2px;background:var(--grad-brand);opacity:.9}
.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(27,48,72,.9);
  border:1px solid var(--c-slate-700);border-radius:var(--radius-lg);overflow:hidden}
.hero-facts .fact{background:rgba(20,35,52,.82);padding:var(--space-4) var(--space-5)}
.hero-facts .k{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-wide);
  text-transform:uppercase;color:var(--c-signal-cyan);margin-bottom:var(--space-1)}
.hero-facts .v{font-size:var(--fs-small);color:#C7D4E2;line-height:1.5}
@media (max-width:1023px){.hero-facts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.hero-facts{grid-template-columns:1fr}}

/* ============ PAGE HERO (interior pages) ============ */
.page-hero{position:relative;background:var(--grad-hero);color:#fff;overflow:hidden;
  padding:calc(var(--header-h) + clamp(3rem,7vw,5.5rem)) 0 clamp(2.75rem,6vw,4.5rem)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero .eyebrow{color:var(--c-signal-cyan)}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,4.6vw,var(--fs-h2));font-weight:var(--fw-bold);
  line-height:var(--lh-tight);letter-spacing:var(--ls-tight);max-width:26ch;margin-bottom:var(--space-4)}
.page-hero .lead{color:#B9CADB;font-size:var(--fs-lead);max-width:60ch}
.page-hero .cta-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-6)}
.page-hero::after{content:"";position:absolute;inset:0;
  background:radial-gradient(70% 90% at 85% 10%,rgba(79,209,224,.10),transparent 60%);pointer-events:none}

/* ============ CARD GRIDS ============ */
.grid{display:grid;gap:var(--space-5)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:1023px){.grid.cols-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}
.card{border:1px solid var(--c-gray-200);border-radius:var(--radius-lg);padding:var(--space-6);
  background:var(--c-white);box-shadow:var(--elev-1);
  transition:box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}
.card:hover{box-shadow:var(--elev-2);transform:translateY(-2px)}
.card .kicker{width:36px;height:3px;background:var(--grad-accent);border-radius:2px;margin-bottom:var(--space-4)}
.card h3{font-size:var(--fs-h6);color:var(--c-brand-navy);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-tight);margin-bottom:var(--space-2)}
.card p{font-size:var(--fs-small);color:var(--c-gray-500);line-height:1.6}
.card .icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;
  justify-content:center;background:rgba(23,176,166,.1);margin-bottom:var(--space-4);color:var(--c-teal)}
.card .icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.card a.card-link{font-size:var(--fs-small);font-weight:var(--fw-semibold);display:inline-block;margin-top:var(--space-3)}
.dark .card{background:var(--c-slate-800);border-color:var(--c-slate-700);box-shadow:0 8px 28px rgba(0,0,0,.35)}
.dark .card h3{color:#fff}
.dark .card p{color:#9DB0C4}
.dark .card .icon{background:rgba(79,209,224,.12);color:var(--c-signal-cyan)}

/* ============ FLOW DIAGRAM ============ */
.flow{display:flex;align-items:stretch;gap:var(--space-2);flex-wrap:nowrap;margin:var(--space-7) 0 var(--space-4)}
.flow .node{flex:1;min-width:0;background:var(--c-slate-800);border:1px solid var(--c-slate-700);
  border-radius:var(--radius-md);padding:var(--space-4) var(--space-3);text-align:center;position:relative}
.flow .node .t{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:#fff;line-height:1.35}
.flow .node .d{font-family:var(--font-mono);font-size:11px;color:#8FA6BC;margin-top:var(--space-1);line-height:1.4}
.flow .node::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--grad-data-line);border-radius:2px 2px 0 0;opacity:.85}
.flow .arrow{display:flex;align-items:center;color:var(--c-signal-cyan);flex-shrink:0}
.flow .arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.flow-note{font-size:var(--fs-caption);color:#8FA6BC;font-family:var(--font-mono)}
@media (max-width:1023px){
  .flow{flex-direction:column;max-width:420px}
  .flow .arrow{justify-content:center;transform:rotate(90deg);padding:2px 0}
}
.light-flow .node{background:var(--c-white);border-color:var(--c-gray-200);box-shadow:var(--elev-1)}
.light-flow .node .t{color:var(--c-brand-navy)}
.light-flow .node .d{color:var(--c-gray-500)}
.light-flow .arrow{color:var(--c-teal)}

/* ============ SPLIT / FEATURE LIST ============ */
.split{display:grid;grid-template-columns:5fr 6fr;gap:var(--space-8);align-items:center}
@media (max-width:1023px){.split{grid-template-columns:1fr;gap:var(--space-7)}}
.feature-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-4)}
.feature-list li{display:flex;gap:var(--space-3);align-items:flex-start}
.feature-list .tick{flex-shrink:0;width:22px;height:22px;margin-top:2px;border-radius:50%;
  background:rgba(23,176,166,.12);display:flex;align-items:center;justify-content:center}
.feature-list .tick svg{width:12px;height:12px;stroke:var(--c-teal);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.feature-list b{color:var(--c-brand-navy);font-weight:var(--fw-semibold)}
.feature-list span.txt{font-size:var(--fs-small);color:var(--c-gray-600);line-height:1.6}
.dark .feature-list b{color:#fff}
.dark .feature-list span.txt{color:#9DB0C4}
.dark .feature-list .tick{background:rgba(79,209,224,.14)}
.dark .feature-list .tick svg{stroke:var(--c-signal-cyan)}

/* ============ NEXUS PANEL (stylized abstraction) ============ */
.nexus-visual{background:var(--c-slate-800);border:1px solid var(--c-slate-700);border-radius:var(--radius-xl);
  padding:var(--space-5);position:relative;overflow:hidden}
.nexus-visual::after{content:"";position:absolute;inset:0;
  background:radial-gradient(80% 60% at 80% 0%,rgba(79,209,224,.08),transparent 70%);pointer-events:none}
.nexus-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}
.nexus-head .lbl{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-wide);
  text-transform:uppercase;color:var(--c-signal-cyan)}
.nexus-head .dots{display:flex;gap:6px}
.nexus-head .dots i{width:8px;height:8px;border-radius:50%;background:var(--c-slate-700)}
.nexus-rows{display:flex;flex-direction:column;gap:var(--space-3)}
.nexus-row{display:flex;align-items:center;gap:var(--space-3);background:rgba(14,27,42,.6);
  border:1px solid var(--c-slate-700);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}
.nexus-row .pip{width:9px;height:9px;border-radius:50%;background:var(--c-teal);flex-shrink:0;
  box-shadow:0 0 0 3px rgba(23,176,166,.18)}
.nexus-row .nm{font-size:var(--fs-small);color:#C7D4E2;font-weight:var(--fw-medium);flex:1;min-width:0}
.nexus-row .bar{flex:2;height:6px;border-radius:3px;background:var(--c-slate-700);overflow:hidden;min-width:60px}
.nexus-row .bar i{display:block;height:100%;border-radius:3px;background:var(--grad-data-line)}
.nexus-row .tag{font-family:var(--font-mono);font-size:11px;color:#8FA6BC;flex-shrink:0}
.nexus-caption{margin-top:var(--space-4);font-size:var(--fs-caption);color:#8FA6BC;font-style:italic}

/* ============ ESG POINTS ============ */
.esg-points{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);margin-top:var(--space-7)}
@media (max-width:1023px){.esg-points{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.esg-points{grid-template-columns:1fr}}
.esg-point{border-left:3px solid var(--c-teal);padding-left:var(--space-4)}
.esg-point h3{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--c-brand-navy);margin-bottom:var(--space-1)}
.esg-point p{font-size:var(--fs-small);color:var(--c-gray-500);line-height:1.6}
.dark .esg-point h3{color:#fff}
.dark .esg-point p{color:#9DB0C4}
.dark .esg-point{border-left-color:var(--c-signal-cyan)}

/* ============ TABLES ============ */
.table-scroll{overflow-x:auto;margin:var(--space-5) 0}
.pd-table{width:100%;border-collapse:collapse;font-size:var(--fs-small);min-width:560px;
  border:1px solid var(--c-gray-200);border-radius:var(--radius-lg)}
.pd-table th{background:var(--c-brand-navy);color:#fff;text-align:left;font-weight:var(--fw-semibold);
  padding:var(--space-3) var(--space-4);font-size:var(--fs-caption);letter-spacing:var(--ls-wide);text-transform:uppercase}
.pd-table td{padding:var(--space-4);border-top:1px solid var(--c-gray-200);color:var(--c-gray-600);
  vertical-align:top;line-height:1.55}
.pd-table td:first-child{font-weight:var(--fw-semibold);color:var(--c-brand-navy);white-space:nowrap}
.pd-table tr:nth-child(even) td{background:var(--c-gray-050)}
@media (max-width:639px){.pd-table td:first-child{white-space:normal}}

/* ============ BLOCKQUOTE (approved copy) ============ */
blockquote.approved{border-left:3px solid var(--c-teal);background:var(--c-gray-050);
  padding:var(--space-5) var(--space-6);border-radius:0 var(--radius-lg) var(--radius-lg) 0;
  max-width:var(--measure);margin:var(--space-6) 0;color:var(--c-gray-700);font-size:var(--fs-lead);line-height:1.65}

/* ============ REGION CHIPS (Markets — conceptual only) ============ */
.region-panel{background:var(--grad-hero);border:1px solid var(--c-slate-700);border-radius:var(--radius-xl);
  padding:clamp(2rem,5vw,3.5rem);position:relative;overflow:hidden;margin:var(--space-6) 0 var(--space-3)}
.region-panel::before{content:"";position:absolute;inset:0;
  background:radial-gradient(45% 60% at 20% 30%,rgba(79,209,224,.10),transparent 60%),
             radial-gradient(45% 60% at 80% 70%,rgba(23,176,166,.10),transparent 60%);pointer-events:none}
.region-hub{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}
.region-core{background:rgba(20,35,52,.9);border:1px solid var(--c-signal-cyan);border-radius:var(--radius-pill);
  padding:.7rem 1.6rem;color:var(--c-signal-cyan);font-family:var(--font-mono);font-size:var(--fs-small);
  letter-spacing:var(--ls-wide);text-transform:uppercase;box-shadow:0 0 24px rgba(79,209,224,.25)}
.region-chips{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}
.region-chip{background:rgba(20,35,52,.85);border:1px solid var(--c-slate-700);border-radius:var(--radius-pill);
  padding:.6rem 1.3rem;color:#C7D4E2;font-size:var(--fs-small);font-weight:var(--fw-medium);
  transition:border-color var(--dur-base),color var(--dur-base)}
.region-chip:hover{border-color:var(--c-signal-cyan);color:#fff}
.region-caption{position:relative;z-index:2;text-align:center;color:#8FA6BC;font-size:var(--fs-caption);
  font-family:var(--font-mono);margin-top:var(--space-5)}

/* ============ INSIGHTS ============ */
.article-card{display:flex;flex-direction:column;gap:var(--space-3)}
.article-card .tag{align-self:flex-start;font-size:var(--fs-caption);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-teal);
  background:rgba(23,176,166,.1);padding:.25rem .7rem;border-radius:var(--radius-pill)}
.article-card .status{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--c-gray-400);margin-top:auto}

/* ============ CTA BAND ============ */
.cta-band{background:var(--grad-hero);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;inset:0;
  background:radial-gradient(60% 80% at 50% 0%,rgba(79,209,224,.1),transparent 65%);pointer-events:none}
.cta-band .wrap{position:relative;z-index:2}
.cta-band h2{color:#fff;max-width:26ch;margin:0 auto var(--space-4)}
.cta-band p{color:#9DB0C4;max-width:56ch;margin:0 auto var(--space-6)}
.cta-band .cta-row{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}

/* ============ TABS + FORMS ============ */
.tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}
.tab-btn{font-family:inherit;font-size:var(--fs-small);font-weight:var(--fw-semibold);
  padding:.7rem 1.3rem;border-radius:var(--radius-pill);border:1.5px solid var(--c-slate-700);
  background:transparent;color:#9DB0C4;cursor:pointer;min-height:44px;
  transition:all var(--dur-base) var(--ease-standard)}
.tab-btn:hover{color:#fff;border-color:var(--c-signal-cyan)}
.tab-btn[aria-selected="true"]{background:var(--c-electric-blue);border-color:var(--c-electric-blue);color:#fff}
.form-panel{background:var(--c-slate-800);border:1px solid var(--c-slate-700);
  border-radius:var(--radius-xl);padding:clamp(1.5rem,4vw,2.5rem)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-5)}
@media (max-width:767px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column}
.field.full{grid-column:1 / -1}
.field label{font-size:var(--fs-small);font-weight:var(--fw-medium);color:#C7D4E2;margin-bottom:var(--space-2)}
.field label .req{color:var(--c-signal-cyan)}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:var(--fs-body);
  padding:.7rem .9rem;border-radius:var(--radius-md);border:1.5px solid var(--c-slate-700);
  background:#0f2233;color:#fff;min-height:44px;transition:border-color var(--dur-base)}
.field textarea{min-height:110px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239DB0C4' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}
.field input::placeholder,.field textarea::placeholder{color:#6E8399}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--c-signal-cyan);
  box-shadow:0 0 0 3px rgba(79,209,224,.2)}
.field.err input,.field.err select,.field.err textarea{border-color:var(--c-validation-red)}
.field .msg{font-size:var(--fs-caption);color:#e88a8a;margin-top:var(--space-2);display:none}
.field.err .msg{display:block}
.consent{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--fs-caption);color:#9DB0C4;line-height:1.55}
.consent input{width:18px;height:18px;min-height:0;margin-top:2px;accent-color:var(--c-electric-blue);flex-shrink:0}
.consent a{color:var(--c-signal-cyan)}
.form-status{margin-top:var(--space-4);font-size:var(--fs-small);display:none;
  padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}
.form-status.ok{display:block;background:rgba(23,176,166,.12);color:#7fded6;border:1px solid rgba(23,176,166,.4)}
.form-status.fail{display:block;background:rgba(214,69,69,.12);color:#e88a8a;border:1px solid rgba(214,69,69,.4)}
.form-note{font-size:var(--fs-caption);color:#8FA6BC;margin-top:var(--space-3)}

/* ============ FOOTER ============ */
.site-footer{background:#0b1622;color:#9DB0C4;padding:var(--space-8) 0 var(--space-6);
  border-top:1px solid var(--c-slate-700);font-size:var(--fs-small)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-7);margin-bottom:var(--space-7)}
@media (max-width:1023px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:639px){.footer-grid{grid-template-columns:1fr}}
.site-footer img{height:34px;width:auto;margin-bottom:var(--space-4)}
.site-footer h3{font-size:var(--fs-caption);letter-spacing:var(--ls-wide);text-transform:uppercase;
  color:#fff;font-weight:var(--fw-semibold);margin-bottom:var(--space-4)}
.site-footer ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}
.site-footer a{color:#9DB0C4}
.site-footer a:hover{color:var(--c-signal-cyan);text-decoration:none}
.footer-bottom{border-top:1px solid var(--c-slate-700);padding-top:var(--space-5);
  display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;
  font-size:var(--fs-caption);color:#6E8399}
.footer-bottom .links{display:flex;gap:var(--space-4);flex-wrap:wrap}

/* ============ COOKIE BANNER ============ */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:150;background:#0b1622;
  border-top:1px solid var(--c-slate-700);padding:var(--space-4) 0;box-shadow:0 -8px 32px rgba(0,0,0,.4);
  transform:translateY(110%);transition:transform var(--dur-slow) var(--ease-emphasis)}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner .wrap{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}
.cookie-banner p{color:#9DB0C4;font-size:var(--fs-small);flex:1;min-width:260px;line-height:1.55}
.cookie-banner .actions{display:flex;gap:var(--space-3);flex-wrap:wrap}

/* ============ FINAL CTA (home) ============ */
.final-cta{text-align:center}
.final-cta h2{font-size:clamp(1.75rem,4vw,var(--fs-h2));max-width:24ch;margin:0 auto var(--space-4)}
.final-cta p{max-width:56ch;margin:0 auto var(--space-6)}

/* ============ LEGAL PROSE (privacy) ============ */
.legal-copy{max-width:var(--measure)}
.legal-copy h2{font-size:var(--fs-h5);margin:var(--space-7) 0 var(--space-3)}
.legal-copy p,.legal-copy li{color:var(--c-gray-600);font-size:var(--fs-small);line-height:1.7;margin-bottom:var(--space-3)}
.legal-copy ul{padding-left:1.2rem}

/* ============ REVEAL ANIMATION ============ */
.reveal{opacity:0;transform:translateY(18px);
  transition:opacity var(--dur-slow) var(--ease-standard),transform var(--dur-slow) var(--ease-standard)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
  .hero canvas{display:none}
}

/* ============ LANGUAGE SWITCHER ============ */
.lang-switch{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:auto;
  border:1px solid var(--c-slate-700);border-radius:var(--radius-pill);padding:3px}
.lang-switch a{color:#8FA6BC;font-size:var(--fs-caption);font-weight:var(--fw-semibold);
  padding:.3rem .55rem;border-radius:var(--radius-pill);line-height:1;text-decoration:none;
  transition:color var(--dur-base),background var(--dur-base)}
.lang-switch a:hover{color:#fff;text-decoration:none}
.lang-switch a[aria-current="true"]{background:var(--c-electric-blue);color:#fff}
@media (max-width:1150px){.lang-switch{margin-left:0}}

/* ============ INTERACTIVE GLOBE (Markets) ============ */
.globe-wrap{width:min(660px,92vw);aspect-ratio:1/1;margin:0 auto var(--space-5);position:relative;z-index:2}
.globe-wrap canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.globe-wrap canvas.dragging{cursor:grabbing}
button.region-chip{font-family:inherit;font-size:var(--fs-small);font-weight:var(--fw-medium);
  cursor:pointer;min-height:44px}
button.region-chip[aria-pressed="true"]{border-color:var(--c-signal-cyan);color:#fff;
  background:rgba(79,209,224,.14);box-shadow:0 0 16px rgba(79,209,224,.25)}

/* ============ CONSOLIDATED NAV (dropdown groups) ============ */
.main-nav{gap:var(--space-5)}
.main-nav a{font-size:.875rem}
.nav-item{position:relative}
.nav-link{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.875rem;
  font-weight:var(--fw-medium);color:#C7D4E2;display:flex;align-items:center;gap:5px;
  padding:.4rem .1rem;border-bottom:2px solid transparent;transition:color var(--dur-base)}
.nav-link:hover{color:#fff}
.nav-link svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform var(--dur-base)}
.nav-item.cur>.nav-link{color:var(--c-signal-cyan);border-bottom-color:var(--c-signal-cyan)}
.nav-menu a[aria-current="page"]{color:var(--c-signal-cyan)}
.nav-mobile-only{display:none}
@media (min-width:1151px){
  .nav-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,6px);
    min-width:240px;background:#0b1622;border:1px solid var(--c-slate-700);
    border-radius:var(--radius-lg);padding:var(--space-2);display:flex;flex-direction:column;
    opacity:0;visibility:hidden;box-shadow:0 12px 32px rgba(0,0,0,.5);z-index:120;
    transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard),visibility 0s linear var(--dur-base)}
  .nav-item:hover>.nav-menu,.nav-item:focus-within>.nav-menu,
  .nav-link[aria-expanded="true"]+.nav-menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
  .nav-item:hover>.nav-link svg,.nav-link[aria-expanded="true"] svg{transform:rotate(180deg)}
  .nav-menu a{padding:.55rem .85rem;border-radius:var(--radius-md);font-size:var(--fs-small);
    white-space:nowrap;border-bottom:none;color:#C7D4E2}
  .nav-menu a:hover{background:rgba(79,209,224,.08);color:#fff;text-decoration:none}
}
@media (max-width:1150px){
  .nav-item{width:100%}
  .nav-link{width:100%;justify-content:space-between;padding:.9rem .25rem;
    font-size:var(--fs-body);border-bottom:1px solid var(--c-slate-700)}
  .nav-link[aria-expanded="true"] svg{transform:rotate(180deg)}
  .nav-menu{display:flex;flex-direction:column;padding-left:var(--space-4);
    max-height:0;overflow:hidden;transition:max-height var(--dur-base) var(--ease-standard)}
  .nav-link[aria-expanded="true"]+.nav-menu{max-height:460px}
  .nav-menu a{font-size:var(--fs-small);color:#9DB0C4}
  .nav-mobile-only{display:block}
}

/* ============ MOTION POP (hero + reveals) ============ */
.hero canvas{opacity:.72}
.reveal{opacity:0;transform:translateY(26px) scale(.98);
  transition:opacity .55s var(--ease-emphasis),transform .55s var(--ease-emphasis)}
.hero-hairline{height:2px;background:linear-gradient(90deg,#9BDBFE 0%,#34A4EC 22%,#22C8F7 42%,#19C7BE 62%,#4CC57F 80%,#9BDBFE 100%);
  background-size:200% 100%;animation:pd-sweep 7s linear infinite}
@keyframes pd-sweep{0%{background-position:0% 0}100%{background-position:200% 0}}
.hero h1 .grad{background-size:200% 100%;animation:pd-gradshift 8s ease-in-out infinite alternate}
@keyframes pd-gradshift{from{background-position:0% 50%}to{background-position:100% 50%}}
.card .kicker{transition:width .7s var(--ease-emphasis) .15s}
.reveal:not(.in) .kicker{width:0}
.btn-primary:hover{box-shadow:0 4px 24px rgba(46,117,182,.45)}
.dark .btn-primary:hover,.on-dark.btn-primary:hover{box-shadow:0 4px 28px rgba(79,209,224,.4)}

/* ============ DARK TEXT ON LIGHT BACKGROUNDS ============ */
.intro{color:var(--c-ink-900)}
.body-copy{color:var(--c-ink-900)}
.card p{color:var(--c-ink-900)}
.esg-point p{color:var(--c-ink-900)}
.feature-list span.txt{color:var(--c-ink-900)}
.pd-table td{color:var(--c-ink-900)}
.legal-copy p,.legal-copy li{color:var(--c-ink-900)}
blockquote.approved{color:var(--c-ink-900)}
