/* ═══════════════════════════════════════════════════════════════════
   EXUSIA NEW ENERGIES · theme.css
   The group site is a combination of the three businesses: a clean neutral
   shell in Geist, and inside each business's own panel, that business's
   type and colour (Green: Outfit, daylight; Mobility: Unbounded, night road;
   Digital: Sora with mono figures, the grid at dusk). The signature moment
   is the triptych; everything else stays quiet so it can be loud.
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. Tokens ─────────────────────────────────────────────────────── */
:root {
  --bg: #F2F3F5; --bg-2: #E9EBEE;
  --surface: #FFFFFF; --surface-2: #F2F3F5; --surface-3: #E7E9ED;
  --line: rgba(10, 11, 13, .08); --line-2: rgba(10, 11, 13, .15);
  --ink: #0A0B0D; --ink-2: #4B4F57; --ink-3: #686C74;
  --brand: #0A0B0D; --brand-2: #2A2C31; --brand-ink: #FFFFFF; --brand-soft: rgba(10, 11, 13, .06);
  --accent: #F39318; --accent-ink: #1A0E00;
  --g: #7DB52A; --m: #3A9BEF; --d: #F39318; --alert: #D63A25;
  --g-ink: #4C7D12; --m-ink: #1C6CBF; --d-ink: #A85A06; --alert-ink: #B42E1B;
  --ok: #23824A; --ok-soft: rgba(35, 130, 74, .11); --warn: #A86500; --warn-soft: rgba(214, 140, 20, .14);
  --bad: #C2341D; --bad-soft: rgba(194, 52, 29, .10);
  --t-ver: #23824A; --t-dev: #A86500; --t-ill: #6D58C9;
  --slab: #0A0B0D; --slab-ink: #F2F2F0; --slab-ink-2: #A3A6AD; --slab-line: rgba(255, 255, 255, .09); --slab-surface: rgba(255, 255, 255, .04);
  --glass: rgba(255, 255, 255, .76); --glass-line: rgba(10, 11, 13, .07);
  --island: rgba(10, 11, 13, .88); --island-ink: #FFFFFF; --island-ink-2: rgba(255, 255, 255, .58); --island-on: rgba(255, 255, 255, .13);
  --conic: conic-gradient(from 200deg, #7DB52A, #3A9BEF, #F39318, #7DB52A);

  --f-display: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-body: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --f-green: "Outfit", var(--f-display); --f-mobility: "Unbounded", var(--f-display); --f-digital: "Sora", var(--f-display);
  --display-weight: 600; --display-track: -0.045em;

  --r-slab: 40px; --r-panel: 28px; --r-card: 24px; --r-field: 14px;
  --sh-1: 0 1px 2px rgba(0, 0, 0, .04);
  --sh-2: 0 14px 34px -16px rgba(10, 11, 13, .28), 0 2px 6px rgba(10, 11, 13, .04);
  --sh-float: 0 20px 44px -18px rgba(10, 11, 13, .35), 0 2px 8px rgba(10, 11, 13, .06);
  --wrap: 1280px; --wrap-n: 820px; --gut: clamp(18px, 3.4vw, 32px);
  --sec: clamp(72px, 8.4vw, 110px); --hd-h: 64px;
}
[data-theme="dark"] {
  --bg: #0B0C0E; --bg-2: #101114;
  --surface: #141518; --surface-2: #1B1C20; --surface-3: #24262B;
  --line: rgba(255, 255, 255, .075); --line-2: rgba(255, 255, 255, .15);
  --ink: #F2F2F0; --ink-2: #ABAEB5; --ink-3: #8D9199;
  --brand: #F2F2F0; --brand-2: #FFFFFF; --brand-ink: #0A0B0D; --brand-soft: rgba(255, 255, 255, .06);
  --g-ink: #9DD24B; --m-ink: #74BBF7; --d-ink: #FFB24A; --alert-ink: #FF7A63;
  --ok: #5BD69A; --ok-soft: rgba(91, 214, 154, .12); --warn: #F3B13A; --warn-soft: rgba(243, 177, 58, .12);
  --bad: #FF7A63; --bad-soft: rgba(255, 122, 99, .12);
  --t-ver: #5BD69A; --t-dev: #F3B13A; --t-ill: #B7A6FF;
  --slab: #141518; --slab-line: rgba(255, 255, 255, .08);
  --glass: rgba(20, 21, 24, .72); --glass-line: rgba(255, 255, 255, .08);
  --island: rgba(28, 29, 33, .9);
  --sh-2: 0 16px 36px -18px rgba(0, 0, 0, .7); --sh-float: 0 22px 48px -18px rgba(0, 0, 0, .8);
}

/* ── 2. Base ───────────────────────────────────────────────────────── */
body { font-size: 16px; line-height: 1.55; font-feature-settings: "ss01"; }
h1, h2, h3 { font-weight: 600; letter-spacing: var(--display-track); }
h3 { letter-spacing: -.025em; }
.lead { font-size: clamp(1.05rem, 1rem + .3vw, 1.19rem); color: var(--ink-2); line-height: 1.5; }
:focus-visible { outline: 2.5px solid var(--m); outline-offset: 3px; }
::selection { background: rgba(58, 155, 239, .25); }
:where(main a:not([class])) { color: var(--ink); text-decoration-color: color-mix(in srgb, var(--ink) 35%, transparent); }
.mt { margin-top: 24px; }
.logo-d { display: none !important; }
[data-theme="dark"] .logo-l { display: none !important; }
[data-theme="dark"] .logo-d { display: inline-block !important; }
.e-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex: 0 0 auto; background: var(--ink); }
.c-green .e-dot, .e-dot.c-green, .a-green .e-dot { background: var(--g); }
.c-mobility .e-dot, .e-dot.c-mobility, .a-mobility .e-dot { background: var(--m); }
.c-digital .e-dot, .e-dot.c-digital, .a-digital .e-dot { background: var(--d); }
.c-all .e-dot, .e-dot.c-all { background: var(--conic); }
.a-alert .e-dot { background: var(--alert); }
.e-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 600 .875rem/1.2 var(--f-body); color: var(--ink-3); }
.e-eyebrow img { height: 16px; width: auto; }
.e-eyebrow.on-dark { color: var(--slab-ink-2); }
.e-note, .e-more { margin: 18px 0 0; font-size: .92rem; color: var(--ink-3); }
.e-empty { color: var(--ink-2); padding: 22px 24px; border-radius: var(--r-card); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.e-empty-card { max-width: 720px; padding: clamp(22px, 3vw, 34px); border-radius: var(--r-card); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); color: var(--ink-2); }
.e-empty-card > :last-child { margin-bottom: 0; }
.e-h-sm { font-size: 1.4rem; margin-bottom: 16px; }

/* Buttons: ink pills, the concept's quiet white pill, a gold for the Digital raise. */
.btn { min-height: 50px; padding: 0 22px; font-weight: 600; font-size: .95rem; border-width: 0; box-shadow: inset 0 0 0 1.5px var(--btn-line); }
.btn-sm { min-height: 40px; padding: 0 16px; font-size: .875rem; }
.btn-ghost { --btn-line: var(--line-2); }
.btn-light { --btn-bg: #FFFFFF; --btn-ink: #0A0B0D; --btn-line: transparent; }
.btn-light:hover { --btn-bg: #ECEDEF; }
.btn-ghost-dark { --btn-bg: rgba(255, 255, 255, .07); --btn-ink: #FFFFFF; --btn-line: rgba(255, 255, 255, .16); }
.btn-ghost-dark:hover { --btn-bg: rgba(255, 255, 255, .13); }
.e-gold { --btn-bg: #F39318; --btn-ink: #1A0E00; }
.e-gold:hover { --btn-bg: #FFA73A; }
.lnk { color: var(--ink); }
.ib { background: var(--surface-2); }

/* Chips (quick links) */
.e-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; align-items: center; }
.e-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); font: 550 .9rem/1 var(--f-body); color: var(--ink); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.e-chip:hover { box-shadow: inset 0 0 0 1px var(--line-2), var(--sh-1); transform: translateY(-1px); }

/* Evidence tiers: a mono pill ringed in its colour */
.tier { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 9px; border-radius: 999px; font: 600 11px/1 var(--f-mono); box-shadow: inset 0 0 0 1px currentColor; white-space: nowrap; letter-spacing: -.01em; }
.tier i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.t-verified { color: var(--t-ver); } .t-development { color: var(--t-dev); } .t-illustrative { color: var(--t-ill); }

/* ── 3. Sections and block heads ───────────────────────────────────── */
.sec { padding-block: var(--sec) 0; }
.sec + .sec:not(.night):not(.slab) { padding-top: var(--sec); }
main > .sec:last-child, main > section:last-child { padding-bottom: clamp(24px, 4vw, 40px); }
.blk-head, .sec-hd { max-width: 900px; margin-bottom: clamp(26px, 3.2vw, 36px); }
.blk-eyebrow, .sec-hd .eyebrow { display: block; font: 600 .875rem/1.2 var(--f-body); color: var(--ink-3); margin: 0 0 14px; }
.blk-h, .sec-hd h2 { font-size: clamp(2rem, 1.2rem + 3.3vw, 3.75rem); line-height: 1; letter-spacing: -.05em; margin: 0; max-width: 15em; }
.blk-intro { font-size: clamp(1.02rem, .98rem + .25vw, 1.125rem); color: var(--ink-2); margin: 16px 0 0; max-width: 40em; }
.blk-soft { background: var(--surface); margin-inline: clamp(8px, 1.4vw, 20px); border-radius: var(--r-slab); padding-bottom: var(--sec) !important; box-shadow: inset 0 0 0 1px var(--line); }
.blk-soft + .sec { padding-top: var(--sec); }
.sec.night { padding-block: clamp(48px, 6vw, 80px); margin-top: var(--sec); }
.sec.night .blk-eyebrow { color: var(--slab-ink-2); }
.sec.night .blk-intro { color: var(--slab-ink-2); }

/* ── 4. Header ─────────────────────────────────────────────────────── */
.hd { padding: 18px var(--gut) 0; }
.hd-bar { max-width: var(--wrap); height: var(--hd-h); padding: 0 10px 0 22px; gap: 18px; background: var(--glass); border: 0; box-shadow: var(--sh-1), inset 0 0 0 1px var(--glass-line); -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6); }
.hd.is-scrolled .hd-bar { box-shadow: var(--sh-float), inset 0 0 0 1px var(--glass-line); }
.e-brand { display: inline-flex; align-items: center; }
.e-brand img { height: 30px; width: auto; }
.hd-nav a { font: 550 .94rem/1 var(--f-body); padding: 11px 15px; color: var(--ink-2); }
.hd-nav a:hover, .hd-nav a[aria-current] { background: var(--surface-2); color: var(--ink); }
.hd-nav a[aria-current]::after { background: var(--conic); width: 5px; height: 5px; }
.hd-act { gap: 6px; }
.hd .ib { width: 44px; height: 44px; flex-basis: 44px; background: var(--surface-2); }
.hd .ib:hover { background: var(--surface-3); }
.hd .ib-wa { background: #1FA855; color: #fff; }
.hd-cta { min-height: 44px; padding: 0 20px; margin-left: 2px; }
@media (max-width: 1180px) { .hd-act .ib[href="/search/"] { display: none; } }
@media (max-width: 960px) {
  :root { --hd-h: 56px; }
  .hd { padding: 10px 12px 0; }
  .hd-bar { border-radius: 999px; height: var(--hd-h); padding: 0 6px 0 16px; padding-top: 0; }
  .e-brand img { height: 26px; }
  .hd .ib { width: 42px; height: 42px; flex-basis: 42px; }
  .hd-act .ib[href="/search/"] { display: inline-grid; }
}
@media (max-width: 380px) { .hd-act .ib[href="/search/"] { display: none; } }

/* ── 5. Island and sheet ───────────────────────────────────────────── */
@media (max-width: 960px) {
  .island-in { height: 70px; border-radius: 28px; padding: 7px; gap: 4px; background: var(--island); box-shadow: 0 20px 40px -16px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .07); }
  .it { border-radius: 21px; font-size: 11px; gap: 4px; color: var(--island-ink-2); }
  .it[aria-current] { background: var(--island-on); color: #fff; }
  .it-primary, .it-primary[aria-current] { background: var(--conic); color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
  .it-primary .it-ic, .it-primary[aria-current] .it-ic { color: #fff; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .3)); }
  .it-primary[aria-current] { box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .55); }
  body { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
}
.sheet-panel { background: var(--bg); }
.sheet-top .e-brand img { height: 26px; }
.sheet-group ul, .sq { background: var(--surface); }
.sq .i { color: var(--ink); }
.fam { gap: 8px; }
.fam-row { display: flex; align-items: center; gap: 8px; }
.fam-row .fam-i { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-radius: 20px; background: var(--surface); border: 0; box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; min-height: 58px; }
.fam-logo { height: 22px; width: auto; }
.fam-i small { color: var(--ink-3); font-size: .78rem; text-align: right; }
.fam-go { background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }

/* ── 6. Home hero and intent router ────────────────────────────────── */
.e-hero { padding-top: clamp(40px, 6vw, 72px) !important; }
.e-hero-in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(30px, 4.5vw, 56px); align-items: end; }
.e-pin { display: inline-flex; align-items: center; gap: 10px; height: 36px; padding: 0 14px 0 9px; margin: 0; border-radius: 999px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); font: 550 .875rem/1 var(--f-body); color: var(--ink-2); }
.e-pin img { height: 20px; width: auto; }
.e-hero h1 { font-size: clamp(3rem, 1.2rem + 6.6vw, 7rem); line-height: .92; letter-spacing: -.06em; margin: 24px 0 0; max-width: 9.5em; }
.e-hero .lead { font-size: clamp(1.06rem, 1rem + .3vw, 1.19rem); margin: 0 0 22px; max-width: 28em; }
.e-intent { display: grid; gap: 8px; }
.e-intent-i { display: flex; align-items: center; gap: 14px; min-height: 62px; padding: 8px 10px 8px 20px; border-radius: 20px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); font: 600 1rem/1.25 var(--f-body); color: var(--ink); text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s; }
.e-intent-i:hover { transform: translateX(4px); box-shadow: inset 0 0 0 1px var(--line-2), 0 10px 24px -14px rgba(0, 0, 0, .3); }
.e-intent-i .e-dot { width: 12px; height: 12px; }
.e-intent-i.c-green .e-dot { background: var(--g); } .e-intent-i.c-mobility .e-dot { background: var(--m); } .e-intent-i.c-digital .e-dot { background: var(--d); } .e-intent-i.c-all .e-dot { background: var(--conic); }
.e-intent-l { min-width: 0; flex: 1 1 auto; }
.e-intent-t { font: 550 .8rem/1 var(--f-body); color: var(--ink-3); white-space: nowrap; }
.e-intent-go { width: 40px; height: 40px; border-radius: 14px; background: var(--surface-2); display: grid; place-items: center; flex: 0 0 auto; transition: background .2s, color .2s; }
.e-intent-i:hover .e-intent-go { background: var(--ink); color: var(--bg); }
.e-intent-go .i { width: 20px; height: 20px; }

.e-intent-more { margin: 14px 0 0; font-size: .95rem; }
.e-intent-more .lnk { color: var(--ink-2); font-weight: 600; }
.e-intent-more .lnk:hover { color: var(--ink); }

/* "I want to..." router page */
.e-router { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 48px) 12px; }
.e-router-g { min-width: 0; }
.e-router-h { font: 600 .9rem/1.2 var(--f-body); letter-spacing: 0; color: var(--ink-3); margin: 0 0 14px; }
.e-router-l { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.e-router-i { min-height: 68px; }
.e-router-i .e-intent-l { display: grid; gap: 3px; }
.e-router-i small { font: 450 .86rem/1.35 var(--f-body); color: var(--ink-2); }

/* ── 7. Triptych: the signature ────────────────────────────────────── */
.blk-ene-hero + .e-tri-sec { padding-top: 48px !important; }
.e-tri-sec { padding-top: var(--sec); }
.e-tri { display: flex; gap: 12px; margin: 0 12px; height: 620px; }
.e-p { position: relative; flex: 1 1 0; min-width: 0; border-radius: var(--r-slab); overflow: hidden; isolation: isolate; padding: 30px; display: flex; flex-direction: column; transition: flex .6s cubic-bezier(.2, .8, .2, 1); }
@media (hover: hover) and (min-width: 961px) {
  .e-tri:hover .e-p { flex: .85 1 0; }
  .e-tri .e-p:hover, .e-tri .e-p:focus-within { flex: 1.5 1 0; }
}
.e-p-logo { position: relative; z-index: 2; align-self: flex-start; }
.e-p-logo img { height: 30px; width: auto; }
.e-p-fact { position: absolute; top: 28px; right: 28px; z-index: 2; text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.e-p-fact b { display: block; font-size: 30px; line-height: 1; letter-spacing: -.04em; font-weight: 600; }
.e-p-fact b small { font-size: .62em; letter-spacing: -.02em; }
.e-p-fact > span { font-size: 12.5px; font-weight: 600; opacity: .75; }
.e-p-fact .tier { margin-top: 6px; }
.e-p-h { margin-top: auto; position: relative; z-index: 2; }
.e-p-k { font-size: 13px; font-weight: 600; margin: 0 0 10px; opacity: .78; }
.e-p-h h3 { font-size: clamp(2rem, 1.2rem + 1.6vw, 2.65rem); line-height: 1; margin: 0 0 14px; letter-spacing: -.045em; max-width: 12em; color: inherit; }
.e-p-t { margin: 0 0 22px; max-width: 24em; opacity: .82; font-size: 15px; }
.e-p-row { display: flex; gap: 8px; flex-wrap: wrap; }
.e-p .btn { min-height: 48px; }
.e-b1, .e-b2 { box-shadow: none; }

.e-p-green { background: linear-gradient(180deg, #BFDDFB 0%, #DCEBFA 45%, #F6EEDD 100%); color: #0D1C12; }
.e-p-green::before { content: ""; position: absolute; width: 520px; height: 520px; right: -140px; top: -180px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 200, 90, .9), transparent); z-index: -1; }
.e-p-green .e-p-h h3, .e-p-green .e-p-fact b { font-family: var(--f-green); letter-spacing: -.04em; }
.e-p-green .tier { color: #23824A; }
.e-p-green .e-b1 { --btn-bg: #0E2A1A; --btn-ink: #fff; } .e-p-green .e-b1:hover { --btn-bg: #163A25; }
.e-p-green .e-b2 { --btn-bg: rgba(255, 255, 255, .72); --btn-ink: #0D1C12; } .e-p-green .e-b2:hover { --btn-bg: #fff; }
.e-p.img-card .e-p-media { position: absolute; right: 30px; top: 120px; width: 190px; height: 280px; border-radius: 30px; background: #fff; box-shadow: 0 30px 50px -25px rgba(14, 42, 26, .45); display: grid; place-items: center; padding: 16px; z-index: 1; transition: transform .6s var(--ease); }
.e-p.img-card .e-p-media img { height: 100%; width: auto; object-fit: contain; mix-blend-mode: multiply; }
.e-p.img-card:hover .e-p-media { transform: translateY(-6px) rotate(-1.5deg); }

.e-p-mobility { background: radial-gradient(90% 60% at 60% 100%, rgba(79, 168, 242, .45), transparent 60%), linear-gradient(180deg, #070B12, #0B1626); color: #EEF4FB; }
.e-p-mobility::before { content: ""; position: absolute; left: -20%; right: -20%; bottom: -40px; height: 240px; z-index: -1; background: repeating-linear-gradient(90deg, rgba(123, 227, 255, .12) 0 1px, transparent 1px 70px); transform: perspective(400px) rotateX(62deg); transform-origin: bottom; -webkit-mask-image: linear-gradient(180deg, transparent, #000 50%); mask-image: linear-gradient(180deg, transparent, #000 50%); }
.e-p-mobility .e-p-h h3 { font-family: var(--f-mobility); font-size: clamp(1.6rem, 1rem + 1.3vw, 2.15rem); letter-spacing: -.04em; line-height: 1.04; }
.e-p-mobility .e-p-fact b { font-family: var(--f-mobility); font-size: 26px; }
.e-p-mobility .tier { color: #5BE3A0; }
.e-p-mobility .e-b1 { --btn-bg: #4FA8F2; --btn-ink: #04121F; } .e-p-mobility .e-b1:hover { --btn-bg: #6DB9F7; }
.e-p-mobility .e-b2 { --btn-bg: rgba(255, 255, 255, .08); --btn-ink: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15); }
.e-p.img-float .e-p-media { position: absolute; left: 0; right: 0; top: 96px; margin: auto; width: 82%; z-index: 1; transition: transform .7s var(--ease); }
.e-p.img-float .e-p-media img { width: 100%; height: auto; filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .5)); }
.e-p.img-float:hover .e-p-media { transform: translateX(10px); }

.e-p-digital { background: #08090B; color: #F2EFE9; }
.e-p-digital .e-p-bg { position: absolute; inset: 0; z-index: -2; }
.e-p-digital .e-p-bg img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) brightness(.5); }
.e-p-digital::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 9, 11, .3), rgba(8, 9, 11, .92) 70%), linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: auto, 48px 48px, 48px 48px; }
.e-p-digital .e-p-h h3 { font-family: var(--f-digital); letter-spacing: -.045em; }
.e-p-digital .e-p-fact b { font-family: var(--f-mono); color: #FFC861; letter-spacing: -.04em; }
.e-p-digital .tier { color: #F3B13A; }
.e-p-digital .e-b1 { --btn-bg: #F39318; --btn-ink: #1A0E00; } .e-p-digital .e-b1:hover { --btn-bg: #FFA73A; }
.e-p-digital .e-b2 { --btn-bg: rgba(255, 255, 255, .07); --btn-ink: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.e-p.img-background .e-p-media { display: none; }
[data-theme="dark"] .e-p-green { background: linear-gradient(180deg, #A9CBEA 0%, #CFE0EF 45%, #EDE3CF 100%); }
.e-tri-dots { display: none; }

/* ── 8. Statistics ─────────────────────────────────────────────────── */
.e-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.e-stats-1 { grid-template-columns: minmax(0, 1fr); max-width: 420px; } .e-stats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .e-stats-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e-stat { position: relative; overflow: hidden; border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); padding: 26px 26px 24px 30px; display: flex; flex-direction: column; min-width: 0; }
.e-stat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--ink); }
.e-stat.s-green::before { background: var(--g); } .e-stat.s-mobility::before { background: var(--m); } .e-stat.s-digital::before { background: var(--d); } .e-stat.s-group::before { background: var(--conic); }
.e-stat-v { font: 600 clamp(2.4rem, 1.6rem + 2.2vw, 3.25rem)/1 var(--f-display); letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.e-stat-v small { font-size: clamp(1rem, .9rem + .4vw, 1.25rem); color: var(--ink-3); margin-left: 5px; letter-spacing: -.02em; font-weight: 500; }
.e-stat-k { font-weight: 600; margin: 12px 0 4px; }
.e-stat-d { color: var(--ink-2); font-size: .9rem; margin: 2px 0 10px; }
.e-stat-src { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font: 500 12px/1.4 var(--f-mono); color: var(--ink-3); }
.e-legend { list-style: none; padding: 0; margin: 0 0 22px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.e-legend li { margin: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px 20px; border-radius: var(--r-card); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); font-size: .92rem; color: var(--ink-2); }
.e-note a { color: var(--ink); font-family: var(--f-mono); font-size: .85em; }

/* ── 9. Ecosystem flow ─────────────────────────────────────────────── */
.e-flow { border-radius: var(--r-slab); background: #0A0B0D; color: #F2F2F0; padding: clamp(28px, 4.6vw, 56px); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 4.6vw, 56px); align-items: center; position: relative; overflow: hidden; isolation: isolate; }
[data-theme="dark"] .e-flow { background: #141518; box-shadow: inset 0 0 0 1px var(--line); }
.e-flow::after { content: ""; position: absolute; width: 480px; height: 480px; right: -160px; bottom: -220px; border-radius: 50%; background: var(--conic); filter: blur(90px); opacity: .18; z-index: -1; }
.e-flow h2 { color: inherit; font-size: clamp(1.9rem, 1.2rem + 2.2vw, 3rem); line-height: 1.02; margin: 0; }
.e-flow-copy p:not(.e-eyebrow) { color: #A3A6AD; font-size: 1.06rem; margin: 16px 0 0; }
.e-diag { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 26px; align-items: center; }
.e-src { width: 150px; height: 150px; border-radius: 44px; background: radial-gradient(circle at 50% 40%, #2A2C31, #141518); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); display: grid; place-items: center; text-align: center; grid-row: span 6; padding: 12px; }
.e-src img { height: 40px; width: auto; margin: 0 auto 10px; }
.e-src b { display: block; font-size: .875rem; color: #D9DAD6; font-weight: 600; }
.e-src span { display: block; color: #A3A6AD; font-size: .8rem; margin-top: 2px; }
.e-out { display: flex; align-items: center; gap: 14px; padding: 15px 18px; border-radius: 22px; background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); margin: 6px 0; position: relative; color: #F2F2F0; text-decoration: none; transition: background .2s; }
a.e-out:hover { background: rgba(255, 255, 255, .08); }
.e-out::before { content: ""; position: absolute; right: 100%; top: 50%; width: 26px; height: 2px; background: var(--oc, #fff); opacity: .85; }
.e-out i { width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center; flex: 0 0 auto; color: var(--oc); background: color-mix(in srgb, var(--oc) 16%, transparent); }
.e-out i .i { width: 20px; height: 20px; }
.e-out b { display: block; font-weight: 600; }
.e-out small { display: block; font-size: .84rem; color: #A3A6AD; }
.e-out.c-green { --oc: #7DB52A; } .e-out.c-mobility { --oc: #3A9BEF; } .e-out.c-digital { --oc: #F39318; } .e-out.c-group, .e-out.c-all { --oc: #E7E7E3; }

/* ── 10. Work with us bento ────────────────────────────────────────── */
.e-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; }
.e-tile { grid-column: span 4; border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); padding: 30px; min-height: 280px; display: flex; flex-direction: column; min-width: 0; }
.e-tile.span-6 { grid-column: span 6; } .e-tile.span-8 { grid-column: span 8; } .e-tile.span-12 { grid-column: span 12; }
.e-tile h3 { font-size: 1.75rem; line-height: 1.05; margin: 0 0 10px; }
.e-tile p { color: var(--ink-2); margin: 0 0 20px; }
.e-tile .e-tile-more { margin-top: auto; }
.e-tile.t-investors { background: linear-gradient(135deg, #0A0B0D, #1B1D22); color: #F2F2F0; box-shadow: none; }
[data-theme="dark"] .e-tile.t-investors { background: linear-gradient(135deg, #1A1C21, #24262C); box-shadow: inset 0 0 0 1px var(--line); }
.e-tile.t-investors h3 { color: #fff; }
.e-tile.t-investors p { color: #A3A6AD; }
.e-tile .e-tile-btn { align-self: flex-start; margin-top: auto; }
.e-tile.t-alert .e-tile-ic { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: color-mix(in srgb, var(--alert) 12%, transparent); color: var(--alert-ink); margin-bottom: 18px; }
.e-tile.t-alert .e-tile-ic .i { width: 22px; height: 22px; }
.e-docchips { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.e-docchips li { margin: 0; height: 32px; padding: 0 12px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: #E7E7E3; font-size: .82rem; font-weight: 550; display: inline-flex; align-items: center; }
.e-newsrows { list-style: none; padding: 0; margin: 0 0 6px; }
.e-newsrows li { margin: 0; }
.e-newsrows a { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid var(--line); font-weight: 550; text-decoration: none; color: var(--ink); }
.e-newsrows a:hover span { text-decoration: underline; text-underline-offset: 3px; }
.e-newsrows time { font: 500 12.5px/1.6 var(--f-mono); color: var(--ink-3); white-space: nowrap; }
.e-roles { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 6px; }
.e-roles li { margin: 0; }
.e-roles a { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; background: var(--surface-2); font-weight: 550; font-size: .92rem; text-decoration: none; color: var(--ink); transition: background .2s; }
.e-roles a:hover { background: var(--surface-3); }
.e-roles a > span { display: inline-flex; align-items: center; gap: 9px; min-width: 0; }
.e-roles .e-dot { width: 8px; height: 8px; }
.e-roles small { color: var(--ink-3); font-size: .8rem; }

/* ── 11. Inner page header ─────────────────────────────────────────── */
.crumbs { padding-top: 26px; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; font-size: .84rem; color: var(--ink-3); }
.crumbs li { margin: 0; display: inline-flex; align-items: center; gap: 6px; }
.crumbs li + li::before { content: "/"; opacity: .5; }
.crumbs a { color: var(--ink-2); text-decoration: none; }
.crumbs a:hover { color: var(--ink); text-decoration: underline; }
.crumbs + .e-head, .crumbs + .sec { padding-top: clamp(22px, 3vw, 36px) !important; }
.e-head { padding-top: clamp(40px, 5vw, 64px) !important; }
.e-head-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: end; }
.e-head.has-facts .e-head-in, .e-head.has-img .e-head-in { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); }
.e-head h1 { font-size: clamp(2.6rem, 1.4rem + 4.6vw, 5.25rem); line-height: .95; letter-spacing: -.055em; margin: 0; max-width: 12em; }
.e-head .lead { margin: 22px 0 0; max-width: 36em; }
.e-head .e-eyebrow .e-dot { width: 8px; height: 8px; }
.e-head.a-group .e-eyebrow .e-dot { background: var(--conic); }
.e-head-facts { margin: 0; padding: 8px 22px; border-radius: var(--r-card); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.e-head-facts div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.e-head-facts div:first-child { border-top: 0; }
.e-head-facts dt { color: var(--ink-3); font-size: .88rem; }
.e-head-facts dd { margin: 0; font-weight: 600; text-align: right; }
.e-head-media img { width: 100%; border-radius: var(--r-panel); aspect-ratio: 4 / 3; object-fit: cover; }

/* ── 12. Business page header (each in its own style) ──────────────── */
.e-bz { padding-top: clamp(30px, 4vw, 48px) !important; }
.e-bz-panel { border-radius: var(--r-slab); overflow: hidden; isolation: isolate; position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); min-height: 560px; }
.e-bz-copy { padding: clamp(28px, 4.5vw, 56px); display: flex; flex-direction: column; justify-content: flex-end; position: relative; z-index: 2; }
.e-bz-logo { margin-bottom: auto; padding-bottom: 40px; }
.e-bz-logo img { height: 32px; width: auto; }
.e-bz-k { font-size: .84rem; font-weight: 600; opacity: .78; margin: 0 0 12px; }
.e-bz h1 { color: inherit; font-size: clamp(2.4rem, 1.4rem + 3.6vw, 4.4rem); line-height: .98; margin: 0 0 18px; }
.e-bz-lead { font-size: 1.08rem; opacity: .86; margin: 0 0 22px; max-width: 32em; }
.e-bz-facts { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 26px; }
.e-bz-facts div { padding: 0 22px 0 0; margin-right: 22px; border-right: 1px solid currentColor; border-color: color-mix(in srgb, currentColor 20%, transparent); }
.e-bz-facts div:last-child { border: 0; margin: 0; }
.e-bz-facts dt { font-size: .8rem; opacity: .7; }
.e-bz-facts dd { margin: 2px 0 0; font-size: 1.45rem; font-weight: 600; letter-spacing: -.03em; }
.e-bz-facts.sm dd { font-size: 1.15rem; }
.e-bz-media { position: relative; display: grid; place-items: center; padding: 30px; }
.e-bz-media img { max-height: 460px; width: auto; max-width: 100%; object-fit: contain; }
.e-bz-tag { position: absolute; left: 24px; bottom: 24px; display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; font-size: .82rem; font-weight: 600; }
.e-bz-green .e-bz-panel { background: linear-gradient(160deg, #BFDDFB 0%, #DCEBFA 45%, #F6EEDD 100%); color: #0D1C12; }
.e-bz-green .e-bz-panel::before { content: ""; position: absolute; width: 640px; height: 640px; right: -120px; top: -260px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 200, 90, .85), transparent); z-index: -1; }
.e-bz-green h1, .e-bz-green .e-bz-facts dd { font-family: var(--f-green); letter-spacing: -.04em; }
.e-bz-green .e-bz-media img { mix-blend-mode: multiply; background: #fff; border-radius: 32px; padding: 22px; max-height: 420px; box-shadow: 0 30px 50px -25px rgba(14, 42, 26, .45); }
.e-bz-green .e-bz-tag { background: rgba(255, 255, 255, .75); color: #0D1C12; }
.e-bz-green .e-b1 { --btn-bg: #0E2A1A; --btn-ink: #fff; } .e-bz-green .e-b2 { --btn-bg: rgba(255, 255, 255, .75); --btn-ink: #0D1C12; }
.e-bz-mobility .e-bz-panel { background: radial-gradient(90% 70% at 70% 100%, rgba(79, 168, 242, .45), transparent 60%), linear-gradient(180deg, #070B12, #0B1626); color: #EEF4FB; }
.e-bz-mobility .e-bz-panel::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: -40px; height: 260px; z-index: -1; background: repeating-linear-gradient(90deg, rgba(123, 227, 255, .12) 0 1px, transparent 1px 70px); transform: perspective(400px) rotateX(62deg); transform-origin: bottom; -webkit-mask-image: linear-gradient(180deg, transparent, #000 50%); mask-image: linear-gradient(180deg, transparent, #000 50%); }
.e-bz-mobility h1 { font-family: var(--f-mobility); font-size: clamp(2rem, 1.2rem + 3vw, 3.6rem); letter-spacing: -.04em; }
.e-bz-mobility .e-bz-facts dd { font-family: var(--f-mobility); font-size: 1.2rem; }
.e-bz-mobility .e-bz-media img { filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .55)); max-height: 380px; }
.e-bz-mobility .e-bz-tag { background: rgba(255, 255, 255, .08); color: #EEF4FB; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.e-bz-mobility .e-b1 { --btn-bg: #4FA8F2; --btn-ink: #04121F; } .e-bz-mobility .e-b2 { --btn-bg: rgba(255, 255, 255, .08); --btn-ink: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15); }
.e-bz-digital .e-bz-panel { background: #08090B; color: #F2EFE9; }
.e-bz-digital .e-bz-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8, 9, 11, .96) 30%, rgba(8, 9, 11, .55)), linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: auto, 48px 48px, 48px 48px; }
.e-bz-digital .e-bz-media { position: absolute; inset: 0; padding: 0; z-index: -2; }
.e-bz-digital .e-bz-media img { width: 100%; height: 100%; max-height: none; object-fit: cover; filter: saturate(.8) brightness(.55); }
.e-bz-digital .e-bz-tag { left: auto; right: 24px; background: rgba(255, 255, 255, .07); color: #F2EFE9; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.e-bz-digital h1 { font-family: var(--f-digital); }
.e-bz-digital .e-bz-facts dd { font-family: var(--f-mono); color: #FFC861; font-size: 1.25rem; }
.e-bz-digital .e-b1 { --btn-bg: #F39318; --btn-ink: #1A0E00; } .e-bz-digital .e-b2 { --btn-bg: rgba(255, 255, 255, .07); --btn-ink: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.e-bz-digital .e-bz-copy { grid-column: 1 / 2; }
.e-bz .e-stats { margin-top: 12px; }

/* ── 13. Business cards and routes ─────────────────────────────────── */
.e-bc-list { display: grid; gap: 12px; }
.e-bcard { position: relative; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; min-width: 0; }
.e-bcard-img { display: block; position: relative; min-height: 260px; overflow: hidden; }
.e-bcard-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.e-bcard:hover .e-bcard-img img { transform: scale(1.04); }
.e-bcard.bz-green .e-bcard-img { background: linear-gradient(180deg, #BFDDFB, #F6EEDD); }
.e-bcard.bz-green .e-bcard-img img { object-fit: contain; padding: 22px; mix-blend-mode: multiply; }
.e-bcard.bz-mobility .e-bcard-img { background: radial-gradient(90% 70% at 60% 100%, rgba(79, 168, 242, .45), transparent 60%), linear-gradient(180deg, #070B12, #0B1626); }
.e-bcard.bz-mobility .e-bcard-img img { object-fit: contain; padding: 20px; }
.e-bcard.bz-digital .e-bcard-img img { filter: saturate(.85) brightness(.7); }
.e-bcard-bd { padding: clamp(22px, 3vw, 34px); display: flex; flex-direction: column; min-width: 0; }
.e-bcard-logo img { height: 26px; width: auto; }
.e-bcard-k { display: flex; align-items: center; gap: 8px; font-size: .84rem; font-weight: 600; color: var(--ink-3); margin: 18px 0 6px; }
.e-bcard.bz-green .e-dot { background: var(--g); } .e-bcard.bz-mobility .e-dot { background: var(--m); } .e-bcard.bz-digital .e-dot { background: var(--d); }
.e-bcard-n { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: 0 0 10px; }
.e-bcard-n a { text-decoration: none; color: inherit; }
.e-bcard-n a::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.e-bcard-d { color: var(--ink-2); margin: 0 0 18px; max-width: 40em; }
.e-bcard .e-bz-facts { color: var(--ink); }
.e-bcard-acts { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; position: relative; z-index: 1; }
.e-bcard-acts .lnk { margin-left: 6px; }
.e-bbtn { --btn-bg: var(--ink); --btn-ink: var(--bg); }
.e-bc-grid .e-bc-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e-bc-grid .e-bcard { grid-template-columns: minmax(0, 1fr); }
.e-bc-grid .e-bcard-img { aspect-ratio: 16 / 10; min-height: 0; }
.e-bc-contact .e-bc-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e-bc-contact .e-bcard { grid-template-columns: minmax(0, 1fr); }
.e-bc-contact .e-bcard-n { font-size: 1.3rem; }
.e-bc-list.n-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e-bc-list.n-2 .e-bcard { grid-template-columns: minmax(0, 1fr); }
.e-bc-list.n-2 .e-bcard-img { aspect-ratio: 16 / 9; min-height: 0; }

.e-routes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 10px; }
.e-route { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 20px 52px 20px 20px; border-radius: 20px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: var(--ink); transition: transform .25s var(--ease), box-shadow .25s; }
.e-route:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px var(--line-2), var(--sh-2); }
.e-route-l { font-weight: 600; font-size: 1.05rem; }
.e-route-p { font: 500 .76rem/1.4 var(--f-mono); color: var(--ink-3); overflow-wrap: anywhere; }
.e-route-i { position: absolute; right: 18px; top: 20px; width: 20px; height: 20px; color: var(--ink-3); }
.bz-green .e-route { box-shadow: inset 3px 0 0 var(--g), inset 0 0 0 1px var(--line); }
.bz-mobility .e-route { box-shadow: inset 3px 0 0 var(--m), inset 0 0 0 1px var(--line); }
.bz-digital .e-route { box-shadow: inset 3px 0 0 var(--d), inset 0 0 0 1px var(--line); }

/* ── 14. Jobs, news, docs ──────────────────────────────────────────── */
.e-jobs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.e-job { position: relative; padding: 26px; border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); display: flex; flex-direction: column; min-width: 0; }
.e-job::before { content: ""; position: absolute; left: 26px; right: 26px; top: 0; height: 3px; border-radius: 0 0 3px 3px; background: var(--ink); }
.e-job.c-green::before { background: var(--g); } .e-job.c-mobility::before { background: var(--m); } .e-job.c-digital::before { background: var(--d); } .e-job.c-group::before { background: var(--conic); }
.e-job-b { display: flex; align-items: center; gap: 8px; font-size: .82rem; font-weight: 600; color: var(--ink-3); margin: 0 0 10px; }
.e-job h3 { font-size: 1.35rem; margin: 0 0 12px; }
.e-job h3 a { text-decoration: none; color: inherit; }
.e-job h3 a::after { content: ""; position: absolute; inset: 0; }
.e-job p { color: var(--ink-2); font-size: .95rem; }
.e-job .lnk { margin-top: auto; }
.e-job-c { font-size: .84rem !important; color: var(--ink-3) !important; }
.e-tags { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.e-tags li { margin: 0; height: 28px; padding: 0 11px; border-radius: 999px; background: var(--surface-2); font-size: .8rem; font-weight: 550; display: inline-flex; align-items: center; color: var(--ink-2); }
.e-jobs.l-list { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.e-jobs.l-list .e-job { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 18px; padding: 18px 22px; }
.e-jobs.l-list .e-job::before { top: 18px; bottom: 18px; left: 0; right: auto; width: 3px; height: auto; border-radius: 0 3px 3px 0; }
.e-jobs.l-list h3 { margin: 0; flex: 1 1 260px; font-size: 1.1rem; }
.e-jobs.l-list .e-job-b { margin: 0; flex: 0 0 100%; }
.e-jobs.l-list .e-tags { margin: 0; }
.e-jobs.l-list .lnk { margin: 0; }

.e-news { display: grid; gap: 0; }
.e-news-i { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); padding: 22px 0; border-top: 1px solid var(--line); }
.e-news-i:last-child { border-bottom: 1px solid var(--line); }
.e-news-m { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin: 0 0 8px; font: 500 .8rem/1.4 var(--f-mono); color: var(--ink-3); }
.e-news-m span { display: inline-flex; align-items: center; gap: 6px; }
.e-news-m .e-dot { width: 7px; height: 7px; }
.e-news-i h3 { font-size: clamp(1.2rem, 1rem + .7vw, 1.6rem); margin: 0 0 8px; max-width: 30em; }
.e-news-i h3 a { text-decoration: none; color: inherit; }
.e-news-i h3 a::after { content: ""; position: absolute; inset: 0; }
.e-news-i h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.e-news-i p { color: var(--ink-2); margin: 0; max-width: 46em; }
.e-news-i.is-feature { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 0 0 28px; border-top: 0; }
.e-news-img img { width: 100%; border-radius: var(--r-panel); aspect-ratio: 16 / 10; object-fit: cover; }
.e-news.l-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.e-news.l-cards .e-news-i { border: 0; padding: 0; background: var(--surface); border-radius: var(--r-panel); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.e-news.l-cards .e-news-bd { padding: 22px; }
.e-news.l-cards .e-news-img img { border-radius: 0; }

.e-docs { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.e-doc { margin: 0; display: flex; align-items: center; gap: 14px; padding: 16px 16px 16px 18px; border-radius: 20px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.e-doc-ic { width: 44px; height: 44px; border-radius: 14px; background: var(--surface-2); display: grid; place-items: center; flex: 0 0 auto; }
.e-doc-ic .i { width: 20px; height: 20px; }
.e-doc-bd { flex: 1; min-width: 0; }
.e-doc-bd b { display: block; font-weight: 600; }
.e-doc-bd small { display: block; color: var(--ink-3); font-size: .84rem; }

/* ── 15. Investors panel ───────────────────────────────────────────── */
.e-inv { border-radius: var(--r-slab); background: linear-gradient(135deg, #0A0B0D, #1B1D22); color: #F2F2F0; padding: clamp(28px, 4.6vw, 56px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(26px, 4vw, 48px); align-items: center; position: relative; overflow: hidden; isolation: isolate; }
[data-theme="dark"] .e-inv { background: linear-gradient(135deg, #16171B, #202227); box-shadow: inset 0 0 0 1px var(--line); }
.e-inv::before { content: ""; position: absolute; inset: 0; z-index: -1; background: 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; -webkit-mask-image: radial-gradient(70% 90% at 100% 50%, #000, transparent); mask-image: radial-gradient(70% 90% at 100% 50%, #000, transparent); }
.e-inv h2 { color: #fff; font-size: clamp(1.9rem, 1.2rem + 2.2vw, 3rem); line-height: 1.02; margin: 0 0 16px; }
.e-inv-copy > p:not(.e-eyebrow) { color: #A3A6AD; font-size: 1.04rem; margin: 0 0 22px; }
.e-inv-card { border-radius: var(--r-panel); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09); padding: clamp(22px, 3vw, 32px); }
.e-inv-k { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: #A3A6AD; font-size: .84rem; font-weight: 600; }
.e-inv-k img { height: 22px; width: auto; }
.e-inv-card h3 { color: #fff; font-family: var(--f-digital); font-size: 1.6rem; margin: 0 0 10px; }
.e-inv-card p { color: #A3A6AD; margin: 0 0 22px; }

/* ── 16. Group structure ───────────────────────────────────────────── */
.e-graph { border-radius: var(--r-slab); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); padding: clamp(22px, 4vw, 48px); display: grid; justify-items: center; position: relative; overflow: hidden; }
.e-graph::before { content: ""; position: absolute; inset: 0; background: radial-gradient(var(--line-2) 1px, transparent 1px) 0 0 / 22px 22px; -webkit-mask-image: radial-gradient(80% 70% at 50% 40%, #000, transparent); mask-image: radial-gradient(80% 70% at 50% 40%, #000, transparent); opacity: .7; }
.g-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; width: 100%; position: relative; }
.g-wire { width: 2px; height: 34px; background: var(--line-2); position: relative; }
.g-wire-ene { background: var(--conic); width: 3px; }
.gnode { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border-radius: 20px; background: var(--bg); box-shadow: inset 0 0 0 1px var(--line); min-width: 210px; max-width: 300px; flex: 1 1 210px; text-decoration: none; color: var(--ink); position: relative; }
a.gnode:hover { box-shadow: inset 0 0 0 1px var(--line-2), var(--sh-2); }
.gnode.top { max-width: 420px; background: var(--ink); color: var(--bg); box-shadow: none; }
.gnode.top .gl { color: color-mix(in srgb, var(--bg) 65%, transparent); }
.gnode.self { box-shadow: inset 0 0 0 2px var(--ink); background: var(--surface); }
.gl { font: 500 .74rem/1.3 var(--f-mono); color: var(--ink-3); }
.gn { font-weight: 600; font-size: 1.05rem; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gn img { height: 18px; width: auto; }
.gd { font-size: .84rem; color: var(--ink-2); }
.gnode.biz { box-shadow: inset 0 3px 0 var(--bc, var(--ink)), inset 0 0 0 1px var(--line); background: var(--surface); }
.gnode.biz.c-green { --bc: var(--g); } .gnode.biz.c-mobility { --bc: var(--m); } .gnode.biz.c-digital { --bc: var(--d); }
.g-lineage { margin: 22px 0 0; font: 500 .82rem/1.4 var(--f-mono); color: var(--ink-3); position: relative; }
.tbl { width: 100%; border-collapse: collapse; margin-top: 18px; font-size: .94rem; }
.tbl th, .tbl td { text-align: left; padding: 12px 14px; border-top: 1px solid var(--line); vertical-align: top; }
.tbl th { color: var(--ink-3); font-weight: 600; width: 34%; }

/* ── 17. Timeline, team, logos, portfolio ──────────────────────────── */
.e-tl { list-style: none; padding: 0; margin: 0; position: relative; }
.e-tl::before { content: ""; position: absolute; left: 86px; top: 8px; bottom: 8px; width: 2px; background: var(--line-2); }
.e-tl li { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 34px; margin: 0; padding: 0 0 30px; position: relative; }
.e-tl li::before { content: ""; position: absolute; left: 81px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 5px var(--bg); }
.e-tl li.c-green::before { background: var(--g); } .e-tl li.c-mobility::before { background: var(--m); } .e-tl li.c-digital::before { background: var(--d); }
.e-tl-y { font: 600 1rem/1.4 var(--f-mono); text-align: right; color: var(--ink-2); }
.e-tl h3 { font-size: 1.2rem; margin: 0 0 4px; }
.e-tl p { color: var(--ink-2); margin: 0; }
.e-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.e-person { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; padding: 24px; border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.e-person-ph { width: 96px; height: 96px; border-radius: 28px; overflow: hidden; background: var(--surface-2); display: grid; place-items: center; font: 600 1.6rem/1 var(--f-display); color: var(--ink-3); }
.e-person-ph img { width: 100%; height: 100%; object-fit: cover; }
.e-person h3 { margin: 0 0 2px; font-size: 1.25rem; }
.e-person-r { color: var(--ink-3); font-weight: 550; margin: 0 0 10px; font-size: .92rem; }
.e-person p { color: var(--ink-2); font-size: .94rem; }
.e-logos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); gap: 10px; }
.e-logos li { margin: 0; }
.e-logo { display: grid; place-items: center; height: 100px; padding: 18px; border-radius: 20px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: var(--ink); }
.e-logo img { max-height: 48px; width: auto; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.e-logo:hover img { filter: none; opacity: 1; }
.e-port { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.e-proj { padding: 14px 14px 22px; border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.e-proj-img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; margin-bottom: 14px; }
.e-proj > :not(.e-proj-img) { margin-left: 8px; margin-right: 8px; }
.e-proj h3 { font-size: 1.2rem; margin: 0 0 10px; }
.e-proj p { color: var(--ink-2); font-size: .94rem; }

/* ── 18. Facts, points, cards, press, downloads, scam ──────────────── */
.e-facts-in { display: grid; gap: clamp(22px, 4vw, 48px); }
.e-facts-in.has-body { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: start; }
.e-facts { margin: 0; padding: 6px 24px; border-radius: var(--r-card); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.e-facts div { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 14px; padding: 14px 0; border-top: 1px solid var(--line); }
.e-facts div:first-child { border-top: 0; }
.e-facts dt { color: var(--ink-3); font-size: .9rem; }
.e-facts dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.e-facts dd a { color: var(--ink); }
.l-grid .e-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 10px; background: none; box-shadow: none; padding: 0; }
.l-grid .e-facts div { display: block; border: 0; padding: 18px 20px; border-radius: 20px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.l-grid .e-facts dd { margin-top: 6px; font-size: 1.05rem; }
.e-points { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.e-points li { margin: 0; display: flex; gap: 14px; padding: 24px; border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.e-tick { width: 32px; height: 32px; border-radius: 11px; background: var(--surface-2); display: grid; place-items: center; flex: 0 0 auto; }
.e-tick .i { width: 17px; height: 17px; }
.e-points h3 { font-size: 1.1rem; margin: 3px 0 6px; letter-spacing: -.02em; }
.e-points p { color: var(--ink-2); margin: 0; font-size: .95rem; }
.l-ticks .e-points { grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 820px; }
.l-ticks .e-points li { background: none; box-shadow: none; padding: 14px 0; border-top: 1px solid var(--line); border-radius: 0; }
.l-ticks .e-points h3 { font-size: 1.02rem; }
.blk-soft .e-points li { background: var(--bg); }
.e-card { border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); padding: clamp(22px, 2.6vw, 30px); min-width: 0; }
.e-card-t { font: 600 .84rem/1.3 var(--f-body); color: var(--ink-3); margin: 0 0 12px; letter-spacing: 0; }
.e-press { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.e-press p { color: var(--ink-2); }
.e-press-n b { color: var(--ink); font-size: 1.1rem; }
.e-swatches { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.e-swatches li { margin: 0; display: flex; align-items: center; gap: 12px; }
.e-swatches .sw { width: 36px; height: 36px; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--line); }
.e-swatches code { margin-left: auto; font: 500 .84rem var(--f-mono); color: var(--ink-3); }
.e-dl { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 10px; }
.e-dl li { margin: 0; }
.e-dl-i { display: flex; align-items: center; gap: 14px; padding: 12px 16px 12px 12px; border-radius: 20px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: var(--ink); transition: box-shadow .2s, transform .2s; }
.e-dl-i:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px var(--line-2), var(--sh-2); }
.e-dl-prev { width: 84px; height: 60px; border-radius: 14px; background: #F2F3F5; display: grid; place-items: center; flex: 0 0 auto; padding: 8px; }
.e-dl-prev.is-dark { background: #0A0B0D; }
.e-dl-prev img { max-height: 40px; width: auto; }
.e-dl-bd { flex: 1; min-width: 0; }
.e-dl-bd b { display: block; font-weight: 600; font-size: .95rem; }
.e-dl-bd small { color: var(--ink-3); font-size: .8rem; }
.e-dl-go .i { width: 20px; height: 20px; color: var(--ink-3); }
.e-scam { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.e-scam-never { border-radius: var(--r-panel); padding: clamp(22px, 3vw, 32px); background: color-mix(in srgb, var(--alert) 9%, var(--surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--alert) 25%, transparent); }
.e-scam-never h3 { display: flex; align-items: center; gap: 10px; color: var(--alert-ink); font-size: 1.3rem; margin: 0 0 14px; }
.e-scam-never h3 .i { width: 24px; height: 24px; }
.e-scam-never ul { margin: 0; padding: 0; list-style: none; }
.e-scam-never li { padding: 12px 0 12px 28px; border-top: 1px solid color-mix(in srgb, var(--alert) 18%, transparent); position: relative; font-weight: 550; margin: 0; }
.e-scam-never li::before { content: ""; position: absolute; left: 2px; top: 19px; width: 14px; height: 2px; background: var(--alert); transform: rotate(45deg); box-shadow: 0 0 0 0 var(--alert); }
.e-scam-never li::after { content: ""; position: absolute; left: 2px; top: 19px; width: 14px; height: 2px; background: var(--alert); transform: rotate(-45deg); }
.e-scam-ch .e-facts { padding: 0; box-shadow: none; background: none; }
.e-scam-steps { margin-top: 28px; max-width: 820px; }

/* Contact routes */
.e-croutes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.e-croute { display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: var(--r-panel); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: var(--ink); min-height: 170px; transition: transform .25s var(--ease), box-shadow .25s; }
a.e-croute:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px var(--line-2), var(--sh-2); }
.e-croute-t { font-weight: 600; font-size: 1.2rem; letter-spacing: -.02em; }
.e-croute-x { color: var(--ink-2); font-size: .95rem; }
.e-croute-m { margin-top: auto; padding-top: 10px; display: flex; justify-content: space-between; gap: 10px; align-items: center; font: 500 .78rem/1.4 var(--f-mono); color: var(--ink-3); }
.e-croute-m .lnk { font-family: var(--f-body); font-size: .9rem; }
.e-direct { margin-top: 12px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.e-direct-i { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 22px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: var(--ink); min-width: 0; }
.e-direct-i > .i { width: 44px; height: 44px; padding: 11px; border-radius: 14px; background: var(--surface-2); flex: 0 0 auto; }
.e-direct-i.wa > .i { background: #1FA855; color: #fff; }
.e-direct-i small { display: block; color: var(--ink-3); font-size: .8rem; }
.e-direct-i b { display: block; font-weight: 600; overflow-wrap: anywhere; font-size: .95rem; }

/* Core content blocks, in this site's dress */
.blk-prose { font-size: 1.05rem; color: var(--ink-2); }
.blk-prose h2 { color: var(--ink); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: 1.6em 0 .5em; }
.blk-prose h2:first-child { margin-top: 0; }
.blk-prose h3 { color: var(--ink); font-size: 1.2rem; margin: 1.4em 0 .4em; }
.blk-prose strong { color: var(--ink); }
.blk-prose ul { padding-left: 1.1em; }
.blk-prose li { margin-bottom: .5em; }
.blk-prose li::marker { color: var(--ink-3); }
.e-ticklist { list-style: none; padding: 0 !important; }
.e-ticklist li { position: relative; padding-left: 30px; }
.e-ticklist li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 14px; height: 8px; border-left: 2px solid var(--ok); border-bottom: 2px solid var(--ok); transform: rotate(-45deg); }
.blk-legal { font-size: 1rem; }
.blk-cards .grid { gap: 12px; }
.blk-card { border: 0; box-shadow: inset 0 0 0 1px var(--line); border-radius: var(--r-panel); padding: 26px; }
.blk-card .card-t { font: 600 1.2rem/1.2 var(--f-display); color: var(--ink); letter-spacing: -.025em; margin: 0 0 8px; }
.blk-card p { color: var(--ink-2); font-size: .95rem; }
.blk-card .micro { margin-top: auto; }
a.blk-card { display: flex; flex-direction: column; }
.blk-card-ic { width: 44px; height: 44px; border-radius: 14px; background: var(--surface-2); display: grid; place-items: center; margin-bottom: 18px; }
.blk-card-ic .i { width: 22px; height: 22px; }
.blk-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; counter-reset: st; }
.blk-steps li { counter-increment: st; margin: 0; border: 0; box-shadow: inset 0 0 0 1px var(--line); border-radius: var(--r-panel); padding: 26px; }
.blk-steps li::before { content: counter(st); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: var(--ink); color: var(--bg); font: 600 .95rem/1 var(--f-mono); margin-bottom: 16px; }
.blk-steps .card-t { font: 600 1.1rem/1.25 var(--f-display); color: var(--ink); letter-spacing: -.02em; margin: 0 0 6px; }
.blk-steps p { color: var(--ink-2); font-size: .95rem; margin: 0; }
details.acc { border: 0; box-shadow: inset 0 0 0 1px var(--line); border-radius: 20px; }
.blk-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.blk-cta h2 { color: var(--slab-ink); margin: 0; font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.6rem); }
.blk-cta .lead { color: var(--slab-ink-2); margin: 12px 0 0; }
.sec.night .btn:not(.btn-ghost):not(.btn-wa) { --btn-bg: #fff; --btn-ink: #0A0B0D; }
.sec.night .btn-ghost { --btn-line: rgba(255, 255, 255, .2); --btn-ink: #fff; color: #fff; }
.sec.blk-cta-band.night { margin-inline: auto; max-width: calc(var(--wrap) + var(--gut) * 2 - 2 * var(--gut)); width: calc(100% - 2 * var(--gut)); }

/* ── 19. Forms ─────────────────────────────────────────────────────── */
.e-form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(22px, 4vw, 48px); }
.has-side .e-form-grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, .75fr); align-items: start; }
.e-form { background: var(--surface); border-radius: var(--r-slab); padding: clamp(20px, 3.6vw, 40px); box-shadow: inset 0 0 0 1px var(--line); }
.f-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.fld { margin-bottom: 18px; }
.lbl { font-size: .88rem; }
.f-req { color: var(--alert-ink); }
.f-opt { color: var(--ink-3); font-weight: 450; font-size: .8rem; margin-left: 4px; }
.inp { background: var(--bg); border: 0; box-shadow: inset 0 0 0 1.5px var(--line); border-radius: 16px; min-height: 52px; }
.inp:hover { box-shadow: inset 0 0 0 1.5px var(--line-2); }
.inp:focus { box-shadow: inset 0 0 0 1.5px var(--ink), 0 0 0 4px color-mix(in srgb, var(--m) 22%, transparent); }
.inp[aria-invalid="true"] { box-shadow: inset 0 0 0 1.5px var(--bad), 0 0 0 4px var(--bad-soft); }
select.inp { background-color: var(--bg); }
.err:not(:empty) { display: block; }
fieldset.fld { border: 0; padding: 0; margin: 0 0 18px; min-width: 0; }
legend.lbl { padding: 0; margin-bottom: 9px; }
.e-aud-in { display: flex; flex-wrap: wrap; gap: 8px; }
.e-aud-o { position: relative; cursor: pointer; }
.e-aud-o input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.e-aud-o span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--bg); box-shadow: inset 0 0 0 1.5px var(--line); font-weight: 600; font-size: .92rem; transition: background .2s, color .2s, box-shadow .2s; }
.e-aud-o input:checked + span { background: var(--ink); color: var(--bg); box-shadow: none; }
.e-aud-o input:focus-visible + span { outline: 2.5px solid var(--m); outline-offset: 3px; }
.e-aud-hint { margin: -4px 0 18px; padding: 12px 16px; border-radius: 16px; background: var(--surface-2); font-size: .92rem; color: var(--ink-2); }
.e-checks-in { display: flex; flex-wrap: wrap; gap: 8px; }
.e-check { display: inline-flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: .94rem; line-height: 1.45; }
.e-checks .e-check { min-height: 44px; align-items: center; padding: 0 16px 0 12px; border-radius: 999px; background: var(--bg); box-shadow: inset 0 0 0 1.5px var(--line); }
.e-checks .e-check:has(input:checked) { box-shadow: inset 0 0 0 1.5px var(--ink); }
.e-check input { margin-top: 2px; accent-color: var(--ink); flex: 0 0 auto; }
.e-tickbox { margin-bottom: 12px; }
.e-tickbox a { color: var(--ink); }
.e-file { position: relative; }
.e-file-in { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 1; }
.e-file-ui { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 16px; border-radius: 16px; background: var(--bg); box-shadow: inset 0 0 0 1.5px var(--line); border: 0; color: var(--ink-2); font-size: .94rem; overflow: hidden; }
.e-file-ui span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.e-file-ui .i { width: 22px; height: 22px; flex: 0 0 auto; }
.e-file-in:hover + .e-file-ui { box-shadow: inset 0 0 0 1.5px var(--line-2); }
.e-file-in:focus-visible + .e-file-ui { outline: 2.5px solid var(--m); outline-offset: 3px; }
.e-file.has-file .e-file-ui { box-shadow: inset 0 0 0 1.5px var(--ok); color: var(--ink); }
.e-file-in[aria-invalid="true"] + .e-file-ui { box-shadow: inset 0 0 0 1.5px var(--bad); }
.e-docsup { margin-top: 6px; }
.e-anon { margin-bottom: 20px; padding: 16px 18px; border-radius: 20px; background: var(--surface-2); }
.e-switch { display: flex; align-items: center; gap: 14px; cursor: pointer; position: relative; }
.e-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.e-switch-ui { width: 50px; height: 30px; border-radius: 999px; background: var(--line-2); position: relative; flex: 0 0 auto; transition: background .2s; }
.e-switch-ui::after { content: ""; position: absolute; left: 3px; top: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .25s var(--ease); }
.e-switch input:checked + .e-switch-ui { background: var(--ok); }
.e-switch input:checked + .e-switch-ui::after { transform: translateX(20px); }
.e-switch input:focus-visible + .e-switch-ui { outline: 2.5px solid var(--m); outline-offset: 3px; }
.e-switch b { display: block; }
.e-switch small { display: block; color: var(--ink-3); font-size: .86rem; }
.is-anon .e-ident { display: none; }
.e-form-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 8px; }
.e-submit { min-width: 200px; }
.e-submit[aria-busy="true"] { opacity: .7; pointer-events: none; }
.e-submit[aria-busy="true"] span::after { content: "..."; }
.e-result { margin-top: 18px; padding: 20px 22px; border-radius: 22px; outline: 0; }
.e-result.ok { background: var(--ok-soft); color: var(--ink); }
.e-result.err { background: var(--bad-soft); color: var(--ink); }
.e-result h3 { font-size: 1.15rem; margin: 0 0 6px; }
.e-result p { margin: 0 0 10px; color: var(--ink-2); }
.e-result .e-ref { display: inline-flex; align-items: center; gap: 10px; font: 600 1.2rem/1 var(--f-mono); padding: 10px 14px; border-radius: 12px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); margin: 4px 0 12px; }
.e-result .btn-row { gap: 8px; }
.e-form-side { display: grid; gap: 10px; position: sticky; top: calc(var(--hd-h) + 32px); }
.e-side-txt { color: var(--ink-2); font-size: .96rem; }
.e-side-txt p { margin: 0 0 10px; }
.e-side-track { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--ink-2); margin: 6px 0 0; }
.e-side-track .i { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 1px; }
.e-side-track a { color: var(--ink); }
.blk-soft .e-form, .sec.night .e-form { box-shadow: none; }
.blk-soft .e-form { background: var(--bg); }

/* Newsletter */
.e-nl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 48px); align-items: center; padding: clamp(24px, 4vw, 44px); border-radius: var(--r-slab); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); position: relative; overflow: hidden; }
.e-nl::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--g), var(--m), var(--d)); }
.e-nl .blk-head { margin: 0; }
.e-nl .blk-h { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.4rem); }
.e-nl-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto; gap: 8px; align-items: start; }
.e-nl-row .fld { margin: 0; }
.e-nl-form .hint { margin-top: 10px; }
.e-nl-status { margin: 12px 0 0; padding: 12px 16px; border-radius: 14px; font-size: .92rem; }
.e-nl-status.ok { background: var(--ok-soft); } .e-nl-status.err { background: var(--bad-soft); }

/* ── 20. Article ───────────────────────────────────────────────────── */
.e-article h1 { font-size: clamp(2.2rem, 1.4rem + 3vw, 3.6rem); line-height: 1.02; margin: 6px 0 18px; }
.e-article .lead { margin-bottom: 28px; }
.e-article-img { margin: 0 0 28px; }
.e-article-img img { width: 100%; border-radius: var(--r-panel); }
.e-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--ink-3); font-size: .9rem; }
.e-share > span { margin-right: 6px; }
.e-job-head .e-head-facts { align-self: end; }
.e-role { padding-top: clamp(40px, 5vw, 64px) !important; }

/* ── 21. Footer ────────────────────────────────────────────────────── */
.ft { padding: clamp(48px, 7vw, 96px) 0 calc(28px + env(safe-area-inset-bottom)); }
.ft-panel { border: 0; box-shadow: inset 0 0 0 1px var(--line); border-radius: var(--r-slab); padding: clamp(26px, 4vw, 48px); }
.ft-top { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); gap: clamp(28px, 4vw, 48px); }
.ft-brand img { height: 36px; width: auto; }
.ft-about p { margin: 16px 0 20px; }
.ft-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ft-h { font-size: .82rem; }
.ft li a { font-weight: 550; font-size: .94rem; padding: 3px 0; }
.ft li a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.ft-subs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 26px; margin-top: 30px; border-top: 1px solid var(--line); }
.ft-sub { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 20px; background: var(--bg); text-decoration: none; color: var(--ink-3); transition: background .2s, transform .2s; min-width: 0; }
.ft-sub:hover { background: var(--surface-2); transform: translateY(-2px); }
.ft-sub-logo { height: 24px; width: auto; }
.ft-sub-t { font-size: .8rem; margin-left: auto; text-align: right; }
.ft-sub-i { width: 18px; height: 18px; flex: 0 0 auto; color: var(--ink); }
[data-theme="dark"] .ft-sub, [data-theme="dark"] .fam-row .fam-i { background: #F2F3F5; color: #4B4F57; }
[data-theme="dark"] .ft-sub .ft-sub-i { color: #0A0B0D; }
[data-theme="dark"] .ft-sub:hover { background: #fff; }
[data-theme="dark"] .fam-i small { color: #4B4F57; }
.ft-reg { margin-top: 24px; }

/* ── 22. Site-wide announcement (scam alert) and notices from core ─── */
.cms-announce { position: fixed !important; top: auto !important; bottom: 18px !important; left: 50% !important; transform: translateX(-50%) !important; z-index: 65 !important; width: max-content; max-width: min(720px, calc(100vw - 24px)) !important; padding: 10px 10px 10px 16px !important; border-radius: 20px !important; background: #1A0805 !important; color: #FFE9E4 !important; font: 500 .9rem/1.4 var(--f-body) !important; box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .55), inset 0 0 0 1px rgba(255, 122, 99, .35) !important; }
.cms-announce::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #FF6B52; flex: 0 0 auto; box-shadow: 0 0 0 4px rgba(255, 107, 82, .25); }
.cms-announce .lnk { color: #fff; white-space: nowrap; }
.cms-announce .e-x { border: 0; background: rgba(255, 255, 255, .1); color: #fff; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; }
@media (max-width: 960px) { .cms-announce { bottom: calc(96px + env(safe-area-inset-bottom)) !important; } }
.cms-cookie { box-shadow: 0 16px 40px -16px rgba(0, 0, 0, .4), inset 0 0 0 1px var(--line) !important; }

/* 404 */
.is-404 .e-head h1 { max-width: 14em; }

/* ── 23. Reveal and count ──────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  [data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
  [data-reveal].rise { opacity: 1; transform: none; }
  .is-ready .e-hero h1 { animation: e-rise .8s var(--ease) both; }
  .is-ready .e-intent-i { animation: e-rise .7s var(--ease) both; }
  .is-ready .e-intent-i:nth-child(2) { animation-delay: .06s; } .is-ready .e-intent-i:nth-child(3) { animation-delay: .12s; } .is-ready .e-intent-i:nth-child(4) { animation-delay: .18s; }
  .is-ready .e-p { animation: e-rise .9s var(--ease) both; }
  .is-ready .e-p:nth-child(2) { animation-delay: .08s; } .is-ready .e-p:nth-child(3) { animation-delay: .16s; }
}
@keyframes e-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.no-js [data-reveal] { opacity: 1; transform: none; }

/* ── 24. Responsive ────────────────────────────────────────────────── */
@media (max-width: 1180px) {
  .e-tri { height: 600px; }
  .e-p { padding: 26px; }
  .e-p.img-card .e-p-media { width: 160px; height: 236px; top: 112px; right: 24px; }
  .e-direct { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1080px) {
  .e-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e-stats-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .e-tile { grid-column: span 6; } .e-tile.span-4 { grid-column: span 6; } .e-tile.t-alert, .e-tile:last-child:nth-child(odd) { grid-column: span 12; }
  .e-jobs, .e-news.l-cards, .e-port { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e-croutes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e-bc-grid .e-bc-list, .e-bc-contact .e-bc-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .e-hero-in { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .e-hero h1 { font-size: clamp(2.9rem, 1.4rem + 7.2vw, 4.6rem); }
  .e-tri { height: 540px; margin: 0; padding: 0 var(--gut); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--gut); scrollbar-width: none; overscroll-behavior-x: contain; }
  .e-tri::-webkit-scrollbar { display: none; }
  .e-p, .e-tri:hover .e-p, .e-tri .e-p:hover { flex: 0 0 86%; scroll-snap-align: center; border-radius: 32px; padding: 24px; }
  .e-p.img-card .e-p-media { top: 84px; right: 22px; width: 130px; height: 190px; border-radius: 24px; }
  .e-p.img-float .e-p-media { top: 90px; width: 92%; }
  .e-p-fact b { font-size: 24px; }
  .e-p-h h3 { font-size: 2rem; }
  .e-p-mobility .e-p-h h3 { font-size: 1.6rem; }
  .e-tri-dots { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }
  .e-tri-dots span { width: 8px; height: 8px; border-radius: 50%; background: var(--line-2); transition: width .3s var(--ease), background .3s; }
  .e-tri-dots span.on { width: 22px; border-radius: 4px; }
  .e-tri-dots span.on.c-green { background: var(--g); } .e-tri-dots span.on.c-mobility { background: var(--m); } .e-tri-dots span.on.c-digital { background: var(--d); }
  .e-flow { grid-template-columns: minmax(0, 1fr); border-radius: 32px; }
  .e-diag { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .e-src { grid-row: auto; width: 100%; height: auto; padding: 22px; border-radius: 26px; margin-bottom: 6px; }
  .e-out::before { display: none; }
  .e-head.has-facts .e-head-in, .e-head.has-img .e-head-in { grid-template-columns: minmax(0, 1fr); }
  .e-bz-panel { grid-template-columns: minmax(0, 1fr); min-height: 0; border-radius: 32px; }
  .e-bz-media { order: -1; padding: 24px 24px 0; }
  .e-bz-media img { max-height: 280px; }
  .e-bz-green .e-bz-media img { max-height: 260px; }
  .e-bz-digital .e-bz-media { position: absolute; order: 0; padding: 0; }
  .e-bz-logo { padding-bottom: 24px; }
  .e-bz-tag { display: none; }
  .e-bcard { grid-template-columns: minmax(0, 1fr); }
  .e-bcard-img { aspect-ratio: 16 / 9; min-height: 0; }
  .e-inv { grid-template-columns: minmax(0, 1fr); border-radius: 32px; }
  .has-side .e-form-grid { grid-template-columns: minmax(0, 1fr); }
  .e-form-side { position: static; }
  .e-nl { grid-template-columns: minmax(0, 1fr); }
  .e-scam, .e-press, .e-facts-in.has-body { grid-template-columns: minmax(0, 1fr); }
  .e-news-i.is-feature { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .e-team { grid-template-columns: minmax(0, 1fr); }
  .e-legend { grid-template-columns: minmax(0, 1fr); }
  .blk-cta { grid-template-columns: minmax(0, 1fr); }
  .ft-top { grid-template-columns: minmax(0, 1fr); }
  .ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-subs { grid-template-columns: minmax(0, 1fr); }
  .e-graph { border-radius: 30px; }
}
@media (max-width: 680px) {
  :root { --r-slab: 30px; --r-panel: 24px; }
  .e-stats, .e-stats-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .e-stat { padding: 20px 18px 18px 22px; }
  .e-stat-v { font-size: 2.35rem; }
  .e-stat-src { font-size: 11px; }
  .e-bento { grid-template-columns: minmax(0, 1fr); }
  .e-tile, .e-tile.span-4, .e-tile.span-6, .e-tile.span-8, .e-tile.t-alert, .e-tile:last-child:nth-child(odd) { grid-column: auto; min-height: 0; padding: 24px; }
  .e-tile h3 { font-size: 1.5rem; }
  .e-jobs, .e-news.l-cards, .e-port, .e-points, .e-croutes, .e-docs, .e-bc-grid .e-bc-list, .e-bc-contact .e-bc-list, .e-bc-list.n-2, .e-direct { grid-template-columns: minmax(0, 1fr); }
  .f-row { grid-template-columns: minmax(0, 1fr); }
  .e-nl-row { grid-template-columns: minmax(0, 1fr); }
  .e-form { border-radius: 26px; padding: 20px 16px; }
  .e-submit { width: 100%; }
  .e-tl::before { left: 6px; }
  .e-tl li { grid-template-columns: minmax(0, 1fr); gap: 4px; padding-left: 30px; }
  .e-tl li::before { left: 1px; }
  .e-tl-y { text-align: left; }
  .e-tl li.no-year .e-tl-y { display: none; }
  .e-person { grid-template-columns: 72px minmax(0, 1fr); padding: 20px; gap: 16px; }
  .e-person-ph { width: 72px; height: 72px; border-radius: 22px; }
  .e-facts div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .gnode { min-width: 0; flex-basis: 100%; max-width: none; }
  .e-intent-t { display: none; }
  .e-router { grid-template-columns: 1fr; }
  .e-intent-i { min-height: 58px; }
  .ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .e-head h1 { font-size: clamp(2.4rem, 1.4rem + 6vw, 3.2rem); }
  .tbl th { width: 40%; }
}
@media (max-width: 400px) {
  .e-stat-v { font-size: 2rem; }
  .e-stat-v small { font-size: .95rem; }
  .e-p, .e-tri:hover .e-p, .e-tri .e-p:hover { flex-basis: 88%; }
  .e-p.img-card .e-p-media { width: 112px; height: 168px; }
}

/* ── 25. Print ─────────────────────────────────────────────────────── */
@media print {
  .e-form-side, .e-nl, .e-tri-dots { display: none !important; }
  .e-tri { height: auto; flex-direction: column; }
}
.e-stats.e-stats-1 { grid-template-columns: minmax(0, 1fr); max-width: 460px; }
