/* Effexoft site theme — dark (default) + light.
   Every shared surface (nav, hero, footer) uses these variables so the
   theme toggle instantly re-skins the whole page. */

html[data-theme="dark"] {
  --efx-accent: #FF6000;
  --efx-accent-2: #FF8A3D;
  --accent: var(--efx-accent);
  --accent-2: var(--efx-accent-2);
  --accent-soft: #FFD9BC;
  --accent-soft-2: #FFD7BF;
  --efx-accent-tint-weak: rgba(255,96,0,.075);
  --efx-accent-tint-soft: rgba(255,96,0,.12);
  --efx-accent-tint: rgba(255,96,0,.13);
  --efx-accent-tint-strong: rgba(255,96,0,.20);
  --efx-accent-border-soft: rgba(255,138,61,.34);
  --efx-accent-border: rgba(255,138,61,.5);
  --efx-accent-border-strong: rgba(255,96,0,.45);
  --efx-accent-glow-soft: rgba(255,96,0,.22);
  --efx-accent-glow: rgba(255,96,0,.30);
  --efx-accent-glow-strong: rgba(255,96,0,.36);
  --efx-accent-glow-stronger: rgba(255,96,0,.55);
  --efx-accent-pulse: rgba(255,96,0,.60);
  --efx-accent-streak: rgba(255,138,61,.20);
  --efx-accent-streak-strong: rgba(255,138,61,.22);
  --efx-accent-warm-haze: rgba(255,214,140,.20);
  --efx-accent-warm-haze-strong: rgba(255,214,140,.28);
  --efx-accent-text-shadow: rgba(255,138,61,.40);
  --efx-accent-hub-grad-1: rgba(255,138,61,.88);
  --efx-accent-hub-grad-2: rgba(255,96,0,.58);
  --efx-accent-hub-grad-3: rgba(255,205,174,.42);

  --efx-page-bg: #0B2321;
  --efx-page-text: #EAF6F4;

  --efx-topbar-bg: #0C3232;
  --efx-topbar-text: #CADAD8;

  --efx-nav-bg: #0F2E2D;
  --efx-nav-bg-scrolled: rgba(15,46,45,.92);
  --efx-nav-shadow-scrolled: 0 6px 24px rgba(0,0,0,.35);

  --efx-navlink: #CBE0DD;
  --efx-navlink-hover: #FF8A3D;

  --efx-card: #123330;
  --efx-card-2: #0F2E2D;
  --efx-border: rgba(255,255,255,.14);
  --efx-hover-bg: rgba(255,255,255,.06);
  --efx-heading: #F2F7F6;
  --efx-body: #AEC2BF;
  --efx-dim: #86A29E;
  --efx-ink: #EAF6F4;

  --efx-hero-glow-1: rgba(255,204,124,.16);
  --efx-hero-glow-2: rgba(255,178,80,.08);
  --efx-hero-glow-3: rgba(255,160,60,.03);
  --efx-hero-base: #0B2321;

  --efx-section-bg:
    linear-gradient(180deg,rgba(12,40,38,.98) 0%,rgba(10,33,31,.98) 100%);
  --efx-section-alt-bg:
    linear-gradient(180deg,rgba(16,51,48,.98) 0%,rgba(13,42,39,.98) 100%);
  --efx-section-text: #EAF6F4;
  --efx-section-muted: #AEC2BF;
  --efx-section-card-bg: rgba(255,255,255,.05);
  --efx-section-card-border: rgba(255,255,255,.14);
  --efx-section-card-ink: #EAF6F4;
  --efx-section-shadow: 0 18px 40px rgba(0,0,0,.18);
  --efx-section-button-shadow: 0 12px 30px rgba(255,96,0,.26);

  --efx-footer-bg: #0A1A19;
  --efx-footer-text: #B9C0BF;
  --efx-footer-dim: #7C8483;
  --efx-footer-label: #8C9695;
  --efx-footer-border: rgba(255,255,255,.10);

  --efx-logo-1: #EAF1F0;
  --efx-logo-2: #FF6000;
  --efx-logo-tag: #8FA6A4;

  --efx-hero-radial-1: rgba(36,113,173,.34);
  --efx-hero-radial-2: rgba(36,156,216,.26);
  --efx-hero-gradient-1: #0C3232;
  --efx-hero-gradient-2: #0F2E2D;
  --efx-hero-gradient-3: #0A3634;
  --efx-bg: #0B2321;
  --efx-bg-alt: #0F2E2D;
  --efx-bg-alt2: #123330;
  --efx-cta-band-dark: linear-gradient(135deg,#104040 0%,#0C3232 100%);
  --efx-cta-band-light: linear-gradient(135deg,#2471AD 0%,#1C5C93 100%);
  --efx-cta-band: var(--efx-cta-band-dark);
  --ctaband: var(--efx-cta-band);
  --efx-footer-social-bg: #333333;
  --efx-home-hero-bg:
    radial-gradient(circle 780px at 22% 24%,rgba(172,201,235,.16),transparent 52%),
    radial-gradient(circle 720px at 80% 28%,rgba(244,248,252,.09),transparent 48%),
    radial-gradient(circle 500px at 52% 46%,rgba(255,145,50,.14),rgba(255,120,30,.03) 42%,transparent 70%),
    linear-gradient(160deg,#142431 0%,#111E29 46%,#0F1B25 100%);
  --efx-home-hero-ink: #FFFFFF;
  --efx-home-hero-body: #D2E0EC;
  --efx-home-hero-chip-bg: rgba(255,255,255,.09);
  --efx-home-hero-chip-border: rgba(255,255,255,.20);
  --efx-home-hero-chip-text: #DFEAF5;
  --efx-home-hero-ghost-bg: rgba(255,255,255,.08);
  --efx-home-hero-ghost-border: rgba(255,255,255,.34);
  --efx-home-hero-ghost-text: #FFFFFF;
  --efx-home-hero-meta: rgba(180,198,214,.56);
  --efx-home-hero-smoke-opacity: .18;
  --efx-home-hero-smoke-filter: brightness(1.08) saturate(.03) contrast(.94);
  --efx-home-hero-spotlight-opacity: 0.6;
  --efx-home-hero-spotlight-color: rgba(255,150,50,.18);
  --efx-home-hero-spotlight-core: rgba(255,170,80,.25);
  --efx-home-hero-spotlight-cool: rgba(220,235,255,.12);
  --efx-home-hero-spotlight-edge: rgba(255,140,40,0);
  --efx-home-hero-veil: transparent;
  --efx-home-fog-fill: rgba(7,18,28,0.99);
  --efx-home-fog-center: rgba(9,22,33,0.995);
  --efx-home-fog-outer: rgba(11,25,36,0.99);
  --efx-home-fog-wisp: rgba(241,245,250,0.055);
  --efx-home-band-main: #0B2321;
  --efx-home-band-alt: #0F2E2D;
  --efx-home-band-alt2: #123330;
  --efx-home-section-text: var(--efx-shared-dark-band-card-text);
  --efx-home-section-muted: var(--efx-shared-dark-band-card-muted);
  --efx-home-why-card-bg: var(--efx-shared-dark-band-card-bg);
  --efx-home-why-card-border: var(--efx-shared-dark-band-card-border);
  --efx-home-why-icon-surface: var(--efx-home-icon-surface);
  --efx-home-trust-border: var(--efx-shared-dark-band-card-border);
  --efx-home-trust-text: var(--efx-shared-dark-band-card-text);
  --efx-home-trust-muted: var(--efx-shared-dark-band-card-muted);
  --efx-home-proof-bg: #0F2E2D;
  --efx-home-demo-shadow: 0 30px 60px rgba(16,64,64,.18);
  --efx-home-ai-band-bg: linear-gradient(160deg,#0A2120 0%,#081D1C 55%,#0A2726 100%);
  --efx-home-ai-dots: rgba(255,255,255,.05);
  --efx-home-ai-streak-cool: rgba(79,198,238,.30);
  --efx-home-ai-streak-neutral: rgba(255,255,255,.05);
  --efx-home-ai-streak-warm: rgba(255,138,61,.22);
  --efx-home-brand-cloud: #2471AD;
  --efx-home-brand-cloud-soft: #E7F1F9;
  --efx-home-hero-connector: rgba(160,200,240,.55);
  --efx-home-hero-connector-node-a: rgba(224,240,255,.28);
  --efx-home-hero-connector-node-b: rgba(196,222,248,.32);
  --efx-home-hero-travel-cool: #CFE4FF;
  --efx-home-hero-travel-cool-glow: rgba(207,228,255,.48);
  --efx-home-hero-hub-icon-bg: #102130;
  --efx-home-hero-highlight: #FF8A3D;
  --efx-home-hero-highlight-shadow: rgba(255,138,61,.42);
  --efx-home-hero-route-opacity: .76;
}

html[data-theme="light"] {
  --efx-accent: #FF6000;
  --efx-accent-2: #E65600;
  --accent: var(--efx-accent);
  --accent-2: var(--efx-accent-2);
  --accent-soft: #FFF1E7;
  --accent-soft-2: #FFF5EE;
  --efx-accent-tint-weak: rgba(255,96,0,.06);
  --efx-accent-tint-soft: rgba(255,96,0,.10);
  --efx-accent-tint: rgba(255,96,0,.12);
  --efx-accent-tint-strong: rgba(255,96,0,.16);
  --efx-accent-border-soft: rgba(230,86,0,.24);
  --efx-accent-border: rgba(230,86,0,.34);
  --efx-accent-border-strong: rgba(230,86,0,.28);
  --efx-accent-glow-soft: rgba(230,86,0,.16);
  --efx-accent-glow: rgba(230,86,0,.20);
  --efx-accent-glow-strong: rgba(230,86,0,.24);
  --efx-accent-glow-stronger: rgba(230,86,0,.30);
  --efx-accent-pulse: rgba(230,86,0,.34);
  --efx-accent-streak: rgba(230,86,0,.12);
  --efx-accent-streak-strong: rgba(230,86,0,.14);
  --efx-accent-warm-haze: rgba(255,214,140,.16);
  --efx-accent-warm-haze-strong: rgba(255,214,140,.22);
  --efx-accent-text-shadow: rgba(230,86,0,.26);
  --efx-accent-hub-grad-1: rgba(255,139,61,.82);
  --efx-accent-hub-grad-2: rgba(230,86,0,.42);
  --efx-accent-hub-grad-3: rgba(255,233,214,.58);

  --efx-page-bg: #F9FCFB;
  --efx-page-text: #1B312F;

  --efx-topbar-bg: #0C3232;
  --efx-topbar-text: #CADAD8;

  --efx-nav-bg: #FEFFFE;
  --efx-nav-bg-scrolled: rgba(255,255,255,.98);
  --efx-nav-shadow-scrolled: 0 2px 8px rgba(15,46,45,.05);

  --efx-navlink: #2B4544;
  --efx-navlink-hover: #FF6000;

  --efx-card: #FFFFFF;
  --efx-card-2: #F7FBFA;
  --efx-border: #DAE5E3;
  --efx-hover-bg: #F0F8F7;
  --efx-heading: #0F3635;
  --efx-body: #445554;
  --efx-dim: #677A78;
  --efx-ink: #1B312F;

  --efx-hero-glow-1: rgba(255,196,108,.32);
  --efx-hero-glow-2: rgba(255,170,64,.18);
  --efx-hero-glow-3: rgba(255,150,40,.08);
  --efx-hero-base: #0F2E2D;

  --efx-section-bg: #ffffff;
  --efx-section-text: #14201F;
  --efx-section-muted: #3C4B4A;
  --efx-section-card-bg: #F5F9F8;
  --efx-section-card-border: #E6EDEC;
  --efx-section-card-ink: #12403F;

  --efx-footer-bg: #F5F9F8;
  --efx-footer-text: #17302E;
  --efx-footer-dim: #506B69;
  --efx-footer-label: #2A4846;
  --efx-footer-border: rgba(0,0,0,.08);

  --efx-logo-1: #082E2D;
  --efx-logo-2: #FF6000;
  --efx-logo-tag: #2E4947;

  --efx-hero-radial-1: rgba(92,154,208,.30);
  --efx-hero-radial-2: rgba(132,192,224,.22);
  --efx-hero-gradient-1: #5F8E9D;
  --efx-hero-gradient-2: #4F7F8D;
  --efx-hero-gradient-3: #3E6977;
  --efx-bg: #ffffff;
  --efx-bg-alt: #F5F9F8;
  --efx-bg-alt2: #ffffff;
  --efx-cta-band-dark: linear-gradient(135deg,#104040 0%,#0C3232 100%);
  --efx-cta-band-light: linear-gradient(135deg,#2471AD 0%,#1C5C93 100%);
  --efx-cta-band: var(--efx-cta-band-light);
  --ctaband: var(--efx-cta-band);
  --efx-footer-social-bg: #E6EDEC;
  --efx-home-hero-bg:
    radial-gradient(circle 820px at 18% 18%,rgba(255,255,255,.32),transparent 50%),
    radial-gradient(circle 760px at 82% 24%,rgba(255,255,255,.28),transparent 46%),
    radial-gradient(circle 720px at 50% 44%,rgba(255,228,112,.20),rgba(255,202,92,.06) 38%,transparent 68%),
    linear-gradient(160deg,rgba(165,187,207,.92) 0%,rgba(141,166,191,.88) 36%,rgba(122,149,174,.84) 100%),
    linear-gradient(160deg,rgba(150,174,198,.88) 0%,rgba(131,157,183,.84) 40%,rgba(114,141,168,.80) 100%);
  --efx-home-hero-ink: #FFFFFF;
  --efx-home-hero-body: rgba(255,255,255,.88);
  --efx-home-hero-chip-bg: rgba(255,255,255,.16);
  --efx-home-hero-chip-border: rgba(255,255,255,.30);
  --efx-home-hero-chip-text: rgba(255,255,255,.94);
  --efx-home-hero-ghost-bg: rgba(28,54,88,.18);
  --efx-home-hero-ghost-border: rgba(255,255,255,.34);
  --efx-home-hero-ghost-text: #FFFFFF;
  --efx-home-hero-meta: rgba(255,255,255,.72);
  --efx-home-hero-smoke-opacity: .025;
  --efx-home-hero-smoke-filter: brightness(1.46) saturate(.03) contrast(.9);
  --efx-home-hero-spotlight-opacity: 0.8;
  --efx-home-hero-spotlight-color: rgba(255,255,255,.6);
  --efx-home-hero-spotlight-core: rgba(255,255,255,.9);
  --efx-home-hero-spotlight-cool: rgba(255,255,255,.4);
  --efx-home-hero-spotlight-edge: rgba(255,255,255,0);
  --efx-home-hero-veil:
    linear-gradient(160deg,rgba(230,237,241,.3) 0%,rgba(216,227,234,.2) 42%,rgba(200,214,223,.14) 100%);
  --efx-home-fog-fill: rgba(231,237,242,0.18);
  --efx-home-fog-center: rgba(240,245,248,0.3);
  --efx-home-fog-outer: rgba(220,229,235,0.16);
  --efx-home-fog-wisp: rgba(241,245,250,0.05);
  --efx-home-band-main:
    linear-gradient(180deg,rgba(247,252,252,.98) 0%,rgba(237,247,247,.98) 100%);
  --efx-home-band-alt:
    linear-gradient(180deg,rgba(239,249,249,.98) 0%,rgba(229,242,244,.98) 100%);
  --efx-home-band-alt2:
    linear-gradient(180deg,rgba(232,244,244,.98) 0%,rgba(223,238,240,.98) 100%);
  --efx-home-section-text: #17302E;
  --efx-home-section-muted: #506B69;
  --efx-home-why-card-bg: rgba(255,255,255,.72);
  --efx-home-why-card-border: rgba(84,114,122,.20);
  --efx-home-why-icon-surface: rgba(255,255,255,.92);
  --efx-home-trust-border: rgba(84,114,122,.18);
  --efx-home-trust-text: #183230;
  --efx-home-trust-muted: #4C6664;
  --efx-home-proof-bg:
    linear-gradient(180deg,rgba(236,246,247,.98) 0%,rgba(226,240,243,.98) 100%);
  --efx-home-demo-shadow: 0 24px 48px rgba(74,118,124,.14);
  --efx-home-ai-band-bg:
    linear-gradient(160deg,rgba(235,246,247,.98) 0%,rgba(224,239,241,.98) 55%,rgba(216,234,237,.98) 100%);
  --efx-home-ai-dots: rgba(8,46,45,.06);
  --efx-home-ai-streak-cool: rgba(36,113,173,.18);
  --efx-home-ai-streak-neutral: rgba(255,255,255,.28);
  --efx-home-ai-streak-warm: rgba(230,86,0,.14);
  --efx-home-brand-cloud: #2471AD;
  --efx-home-brand-cloud-soft: #E7F1F9;
  --efx-home-hero-connector: rgba(112,150,194,.24);
  --efx-home-hero-connector-node-a: rgba(236,244,252,.68);
  --efx-home-hero-connector-node-b: rgba(219,232,247,.82);
  --efx-home-hero-travel-cool: #C5DBF5;
  --efx-home-hero-travel-cool-glow: rgba(197,219,245,.34);
  --efx-home-hero-hub-icon-bg: #153650;
  --efx-home-hero-highlight: #E65600;
  --efx-home-hero-highlight-shadow: rgba(230,86,0,.34);
  --efx-home-hero-route-opacity: .9;
}

html[data-palette="cobalt"][data-theme="dark"] {
  --efx-accent: #FF741A;
  --efx-accent-2: #FF9A52;
  --accent: var(--efx-accent);
  --accent-2: var(--efx-accent-2);
  --accent-soft: #FFE2CB;
  --accent-soft-2: #FFF0E2;
  --efx-accent-tint-weak: rgba(245,103,10,.075);
  --efx-accent-tint-soft: rgba(245,103,10,.12);
  --efx-accent-tint: rgba(245,103,10,.13);
  --efx-accent-tint-strong: rgba(245,103,10,.20);
  --efx-accent-border-soft: rgba(255,154,82,.34);
  --efx-accent-border: rgba(255,154,82,.50);
  --efx-accent-border-strong: rgba(245,103,10,.45);
  --efx-accent-glow-soft: rgba(245,103,10,.22);
  --efx-accent-glow: rgba(245,103,10,.30);
  --efx-accent-glow-strong: rgba(245,103,10,.36);
  --efx-accent-glow-stronger: rgba(245,103,10,.55);
  --efx-accent-pulse: rgba(245,103,10,.58);
  --efx-accent-streak: rgba(255,154,82,.20);
  --efx-accent-streak-strong: rgba(255,154,82,.22);
  --efx-accent-warm-haze: rgba(255,223,176,.20);
  --efx-accent-warm-haze-strong: rgba(255,223,176,.28);
  --efx-accent-text-shadow: rgba(255,154,82,.36);
  --efx-accent-hub-grad-1: rgba(255,154,82,.88);
  --efx-accent-hub-grad-2: rgba(245,103,10,.58);
  --efx-accent-hub-grad-3: rgba(255,224,196,.42);

  --efx-page-bg: #0D1C3D;
  --efx-page-text: #E8F0FF;

  --efx-topbar-bg: linear-gradient(180deg,#21467F 0%,#1B3D73 100%);
  --efx-topbar-text: #C8D5F2;

  --efx-nav-bg: linear-gradient(180deg,#1E4278 0%,#18365F 100%);
  --efx-nav-bg-scrolled: linear-gradient(180deg,rgba(30,66,120,.96) 0%,rgba(24,54,95,.96) 100%);
  --efx-nav-shadow-scrolled: 0 10px 30px rgba(4,10,28,.42);

  --efx-navlink: #C8D5F2;
  --efx-navlink-hover: #FF9A52;

  --efx-card: #183663;
  --efx-card-2: #12274D;
  --efx-border: rgba(232,240,255,.14);
  --efx-hover-bg: rgba(232,240,255,.07);
  --efx-heading: #F5F8FF;
  --efx-body: #B3C1E3;
  --efx-dim: #8598C4;
  --efx-ink: #EEF4FF;

  --efx-hero-glow-1: rgba(99,140,255,.18);
  --efx-hero-glow-2: rgba(255,116,26,.10);
  --efx-hero-glow-3: rgba(99,140,255,.05);
  --efx-hero-base: #0D1C3D;

  --efx-section-bg:
    linear-gradient(180deg,rgba(16,34,74,.98) 0%,rgba(13,28,61,.98) 100%);
  --efx-section-alt-bg:
    linear-gradient(180deg,rgba(23,48,94,.98) 0%,rgba(17,38,75,.98) 100%);
  --efx-section-text: #EEF4FF;
  --efx-section-muted: #B3C1E3;
  --efx-section-card-bg: rgba(255,255,255,.06);
  --efx-section-card-border: rgba(232,240,255,.14);
  --efx-section-card-ink: #284E8A;
  --efx-section-shadow: 0 18px 40px rgba(4,10,28,.22);
  --efx-section-button-shadow: 0 12px 30px rgba(245,103,10,.28);

  --efx-footer-bg: #09122A;
  --efx-footer-text: #B8C5E1;
  --efx-footer-dim: #8A9AB8;
  --efx-footer-label: #9AA8C4;
  --efx-footer-border: rgba(232,240,255,.08);

  --efx-logo-1: #EEF4FF;
  --efx-logo-2: #FF741A;
  --efx-logo-tag: #9AAFD8;

  --efx-hero-radial-1: rgba(116,156,255,.32);
  --efx-hero-radial-2: rgba(74,166,240,.24);
  --efx-hero-gradient-1: #1E4278;
  --efx-hero-gradient-2: #15345F;
  --efx-hero-gradient-3: #0E2347;
  --efx-bg: #0D1C3D;
  --efx-bg-alt: #11264B;
  --efx-bg-alt2: #17305E;
  --efx-cta-band-dark: linear-gradient(135deg,#19346A 0%,#10224A 100%);
  --efx-cta-band-light: linear-gradient(135deg,#2D5FB0 0%,#1E4689 100%);
  --efx-cta-band: var(--efx-cta-band-dark);
  --ctaband: var(--efx-cta-band);
  --efx-footer-social-bg: #172848;
  --efx-home-hero-bg:
    radial-gradient(circle 760px at 18% 18%,rgba(168,196,255,.15),transparent 50%),
    radial-gradient(circle 760px at 82% 22%,rgba(246,250,255,.09),transparent 48%),
    radial-gradient(circle 720px at 50% 46%,rgba(255,232,114,.22),rgba(255,206,92,.05) 40%,transparent 72%),
    linear-gradient(160deg,#18355F 0%,#102A51 38%,#0B1C3A 100%);
  --efx-home-hero-ink: #F5F8FF;
  --efx-home-hero-body: #C6D3EA;
  --efx-home-hero-chip-bg: rgba(255,255,255,.09);
  --efx-home-hero-chip-border: rgba(232,240,255,.18);
  --efx-home-hero-chip-text: #DCE6FF;
  --efx-home-hero-ghost-bg: rgba(255,255,255,.08);
  --efx-home-hero-ghost-border: rgba(232,240,255,.28);
  --efx-home-hero-ghost-text: #F5F8FF;
  --efx-home-hero-meta: rgba(179,193,227,.58);
  --efx-home-hero-smoke-opacity: .1;
  --efx-home-hero-smoke-filter: brightness(1.03) saturate(.02) contrast(.92);
  --efx-home-hero-spotlight-opacity: 1;
  --efx-home-hero-spotlight-color: rgba(255,212,86,.27);
  --efx-home-hero-spotlight-core: rgba(255,236,156,.44);
  --efx-home-hero-spotlight-cool: rgba(226,238,255,.11);
  --efx-home-hero-spotlight-edge: rgba(255,206,84,0);
  --efx-home-hero-veil:
    radial-gradient(circle 540px at 50% 44%,rgba(241,246,255,.08) 0%,rgba(219,230,255,.04) 38%,transparent 72%);
  --efx-home-fog-fill: rgba(9,20,49,0.99);
  --efx-home-fog-center: rgba(11,24,58,0.995);
  --efx-home-fog-outer: rgba(12,28,65,0.99);
  --efx-home-fog-wisp: rgba(236,243,252,0.06);
  --efx-home-band-main: #0D1C3D;
  --efx-home-band-alt: #12284F;
  --efx-home-band-alt2: #183663;
  --efx-home-section-text: var(--efx-shared-dark-band-card-text);
  --efx-home-section-muted: var(--efx-shared-dark-band-card-muted);
  --efx-home-why-card-bg: var(--efx-shared-dark-band-card-bg);
  --efx-home-why-card-border: var(--efx-shared-dark-band-card-border);
  --efx-home-why-icon-surface: var(--efx-home-icon-surface);
  --efx-home-trust-border: var(--efx-shared-dark-band-card-border);
  --efx-home-trust-text: var(--efx-shared-dark-band-card-text);
  --efx-home-trust-muted: var(--efx-shared-dark-band-card-muted);
  --efx-home-proof-bg: #12284F;
  --efx-home-demo-shadow: 0 30px 60px rgba(8,20,56,.24);
  --efx-home-ai-band-bg: linear-gradient(160deg,#132A57 0%,#0F2147 55%,#173765 100%);
  --efx-home-ai-dots: rgba(255,255,255,.05);
  --efx-home-ai-streak-cool: rgba(106,167,255,.28);
  --efx-home-ai-streak-neutral: rgba(255,255,255,.06);
  --efx-home-ai-streak-warm: rgba(255,154,82,.22);
  --efx-home-brand-cloud: #6EA4FF;
  --efx-home-brand-cloud-soft: rgba(110,164,255,.18);
  --efx-home-hero-connector: rgba(132,182,255,.34);
  --efx-home-hero-connector-node-a: rgba(226,238,255,.18);
  --efx-home-hero-connector-node-b: rgba(192,216,255,.24);
  --efx-home-hero-travel-cool: #ECF5FF;
  --efx-home-hero-travel-cool-glow: rgba(236,245,255,.44);
  --efx-home-hero-hub-icon-bg: #102A47;
  --efx-home-hero-highlight: #FF741A;
  --efx-home-hero-highlight-shadow: rgba(245,103,10,.4);
  --efx-home-hero-route-opacity: .8;
}

html[data-palette="cobalt"][data-theme="light"] {
  --efx-accent: #F5670A;
  --efx-accent-2: #FF8B3D;
  --accent: var(--efx-accent);
  --accent-2: var(--efx-accent-2);
  --accent-soft: #FFF0E6;
  --accent-soft-2: #FFF7F0;
  --efx-accent-tint-weak: rgba(245,103,10,.06);
  --efx-accent-tint-soft: rgba(245,103,10,.10);
  --efx-accent-tint: rgba(245,103,10,.12);
  --efx-accent-tint-strong: rgba(245,103,10,.16);
  --efx-accent-border-soft: rgba(255,139,61,.24);
  --efx-accent-border: rgba(255,139,61,.34);
  --efx-accent-border-strong: rgba(245,103,10,.28);
  --efx-accent-glow-soft: rgba(245,103,10,.16);
  --efx-accent-glow: rgba(245,103,10,.20);
  --efx-accent-glow-strong: rgba(245,103,10,.24);
  --efx-accent-glow-stronger: rgba(245,103,10,.30);
  --efx-accent-pulse: rgba(245,103,10,.34);
  --efx-accent-streak: rgba(255,139,61,.12);
  --efx-accent-streak-strong: rgba(255,139,61,.14);
  --efx-accent-warm-haze: rgba(255,223,176,.16);
  --efx-accent-warm-haze-strong: rgba(255,223,176,.22);
  --efx-accent-text-shadow: rgba(245,103,10,.24);
  --efx-accent-hub-grad-1: rgba(255,139,61,.82);
  --efx-accent-hub-grad-2: rgba(245,103,10,.42);
  --efx-accent-hub-grad-3: rgba(255,238,224,.58);

  --efx-page-bg: #F8FAFF;
  --efx-page-text: #15233F;

  --efx-topbar-bg: #102246;
  --efx-topbar-text: #C8D5F2;

  --efx-nav-bg: linear-gradient(180deg,#F4F7FF 0%,#EAF1FF 100%);
  --efx-nav-bg-scrolled: linear-gradient(180deg,rgba(244,247,255,.98) 0%,rgba(233,240,255,.98) 100%);
  --efx-nav-shadow-scrolled: 0 10px 30px rgba(16,34,74,.14);

  --efx-navlink: #27416E;
  --efx-navlink-hover: #F5670A;

  --efx-card: #FFFFFF;
  --efx-card-2: #EAF1FF;
  --efx-border: #CCD8F0;
  --efx-hover-bg: #E8F0FF;
  --efx-heading: #15284D;
  --efx-body: #38517A;
  --efx-dim: #607497;
  --efx-ink: #15284D;

  --efx-hero-glow-1: rgba(99,140,255,.24);
  --efx-hero-glow-2: rgba(255,116,26,.14);
  --efx-hero-glow-3: rgba(99,140,255,.05);
  --efx-hero-base: #17305E;

  --efx-section-bg: #F8FAFF;
  --efx-section-text: #15284D;
  --efx-section-muted: #38517A;
  --efx-section-card-bg: #EDF2FF;
  --efx-section-card-border: #D3DCF0;
  --efx-section-card-ink: #27416E;

  --efx-footer-bg: #EDF2FF;
  --efx-footer-text: #15284D;
  --efx-footer-dim: #38517A;
  --efx-footer-label: #27416E;
  --efx-footer-border: rgba(0,0,0,.08);
  --efx-footer-social-bg: #D3DCF0;

  --efx-logo-1: #15284D;
  --efx-logo-2: #F5670A;
  --efx-logo-tag: #526C98;

  --efx-hero-radial-1: rgba(144,176,248,.30);
  --efx-hero-radial-2: rgba(118,188,242,.22);
  --efx-hero-gradient-1: #6C8FC7;
  --efx-hero-gradient-2: #5B7FB8;
  --efx-hero-gradient-3: #4A6DA4;
  --efx-bg: #F8FAFF;
  --efx-bg-alt: #EDF2FF;
  --efx-bg-alt2: #FFFFFF;
  --efx-cta-band-dark: linear-gradient(135deg,#19346A 0%,#10224A 100%);
  --efx-cta-band-light: linear-gradient(135deg,#2D5FB0 0%,#1E4689 100%);
  --efx-cta-band: var(--efx-cta-band-light);
  --ctaband: var(--efx-cta-band);
  --efx-home-hero-bg:
    linear-gradient(160deg,rgba(138,164,212,.94) 0%,rgba(120,148,201,.9) 36%,rgba(104,132,188,.86) 100%),
    radial-gradient(circle 820px at 16% 16%,rgba(160,190,244,.22),transparent 50%),
    radial-gradient(circle 760px at 84% 20%,rgba(255,255,255,.18),transparent 46%),
    radial-gradient(circle 720px at 50% 44%,rgba(255,228,110,.14),rgba(255,202,90,.04) 38%,transparent 68%),
    linear-gradient(160deg,rgba(126,152,205,.9) 0%,rgba(112,140,194,.86) 40%,rgba(96,125,181,.82) 100%);
  --efx-home-hero-ink: #FFFFFF;
  --efx-home-hero-body: rgba(255,255,255,.88);
  --efx-home-hero-chip-bg: rgba(255,255,255,.16);
  --efx-home-hero-chip-border: rgba(255,255,255,.28);
  --efx-home-hero-chip-text: rgba(255,255,255,.94);
  --efx-home-hero-ghost-bg: rgba(21,40,77,.18);
  --efx-home-hero-ghost-border: rgba(255,255,255,.32);
  --efx-home-hero-ghost-text: #FFFFFF;
  --efx-home-hero-meta: rgba(255,255,255,.74);
  --efx-home-hero-smoke-opacity: .018;
  --efx-home-hero-smoke-filter: brightness(1.36) saturate(.02) contrast(.92);
  --efx-home-hero-spotlight-opacity: .42;
  --efx-home-hero-spotlight-color: rgba(255,210,92,.17);
  --efx-home-hero-spotlight-core: rgba(255,234,164,.28);
  --efx-home-hero-spotlight-cool: rgba(233,239,251,.15);
  --efx-home-hero-spotlight-edge: rgba(255,206,88,0);
  --efx-home-hero-veil:
    linear-gradient(160deg,rgba(226,233,247,.32) 0%,rgba(210,220,239,.22) 42%,rgba(194,207,230,.14) 100%),
    radial-gradient(circle 520px at 50% 44%,rgba(255,255,255,.1) 0%,rgba(221,232,249,.04) 36%,transparent 70%);
  --efx-home-fog-fill: rgba(228,235,246,0.2);
  --efx-home-fog-center: rgba(236,242,250,0.32);
  --efx-home-fog-outer: rgba(214,224,240,0.18);
  --efx-home-fog-wisp: rgba(240,244,251,0.06);
  --efx-home-band-main:
    linear-gradient(180deg,rgba(244,248,255,.98) 0%,rgba(234,241,253,.98) 100%);
  --efx-home-band-alt:
    linear-gradient(180deg,rgba(236,243,255,.98) 0%,rgba(225,235,251,.98) 100%);
  --efx-home-band-alt2:
    linear-gradient(180deg,rgba(229,239,253,.98) 0%,rgba(219,232,249,.98) 100%);
  --efx-home-section-text: #1C315B;
  --efx-home-section-muted: #58709A;
  --efx-home-why-card-bg: rgba(255,255,255,.70);
  --efx-home-why-card-border: rgba(82,110,158,.22);
  --efx-home-why-icon-surface: rgba(244,248,255,.92);
  --efx-home-trust-border: rgba(82,110,158,.18);
  --efx-home-trust-text: #1C315B;
  --efx-home-trust-muted: #4A638F;
  --efx-home-proof-bg:
    linear-gradient(180deg,rgba(232,241,255,.98) 0%,rgba(221,233,250,.98) 100%);
  --efx-home-demo-shadow: 0 24px 48px rgba(41,74,123,.15);
  --efx-home-ai-band-bg:
    linear-gradient(160deg,rgba(238,244,255,.98) 0%,rgba(229,237,252,.98) 55%,rgba(220,232,248,.98) 100%);
  --efx-home-ai-dots: rgba(16,34,74,.07);
  --efx-home-ai-streak-cool: rgba(72,124,215,.18);
  --efx-home-ai-streak-neutral: rgba(255,255,255,.26);
  --efx-home-ai-streak-warm: rgba(245,103,10,.14);
  --efx-home-brand-cloud: #2D5FB0;
  --efx-home-brand-cloud-soft: rgba(45,95,176,.12);
  --efx-home-hero-connector: rgba(101,145,224,.30);
  --efx-home-hero-connector-node-a: rgba(237,243,255,.72);
  --efx-home-hero-connector-node-b: rgba(223,233,252,.84);
  --efx-home-hero-travel-cool: #D8E7FB;
  --efx-home-hero-travel-cool-glow: rgba(216,231,251,.34);
  --efx-home-hero-hub-icon-bg: #17385A;
  --efx-home-hero-highlight: #E05F08;
  --efx-home-hero-highlight-shadow: rgba(224,95,8,.34);
  --efx-home-hero-route-opacity: .9;
}

html { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }

body {
  background: var(--efx-page-bg);
  color: var(--efx-page-text);
  transition:
    background .68s cubic-bezier(.22,1,.36,1),
    background-color .68s cubic-bezier(.22,1,.36,1),
    color .68s cubic-bezier(.22,1,.36,1);
}

html.efx-theme-switching body,
html.efx-theme-switching body *,
html.efx-theme-switching body *::before,
html.efx-theme-switching body *::after {
  transition-property:
    background,
    background-color,
    color,
    border-color,
    box-shadow,
    fill,
    stroke,
    opacity,
    filter,
    backdrop-filter;
  transition-duration: .68s;
  transition-timing-function: cubic-bezier(.22,1,.36,1);
}

html[data-theme] {
  --efx-home-icon-surface:
    color-mix(in srgb, var(--efx-card-2) 82%, white 18%);
  --efx-home-icon-ink: var(--efx-ink);
  --efx-home-success-bg:
    color-mix(in srgb, var(--accent) 14%, var(--efx-card-2));
  --efx-home-success-ink: var(--accent);
  --efx-home-button-bg: var(--efx-topbar-bg);
  --efx-home-button-bg-hover:
    color-mix(in srgb, var(--efx-topbar-bg) 86%, white 14%);
  --efx-home-button-shadow:
    0 12px 26px color-mix(in srgb, var(--efx-topbar-bg) 26%, transparent);
  --efx-home-flow-line:
    color-mix(in srgb, var(--efx-border) 70%, var(--efx-heading) 30%);
  --efx-home-warm-icon-bg:
    color-mix(in srgb, var(--accent) 14%, var(--efx-card-2));
  --efx-home-warm-icon-ink: var(--accent);
  --efx-home-hero-glass-bg:
    rgba(32,54,74,.65);
  --efx-home-hero-glass-border:
    rgba(142,172,204,.35);
  --efx-home-hero-glass-shadow:
    0 14px 32px rgba(0,0,0,.15),
    inset 0 1px 0 rgba(255,255,255,.12);
  --efx-home-hero-glass-text: #FFFFFF;
  --efx-home-hero-icon-stroke: #EAF6F4;
  --efx-home-hero-hub-border:
    color-mix(in srgb, white 48%, transparent);
  --efx-home-hero-hub-shadow:
    0 26px 52px rgba(0,0,0,.42),
    0 0 24px var(--efx-accent-glow-strong);
  --efx-home-hero-hub-title-shadow: rgba(74,33,12,.45);
  --efx-home-hero-hub-subtext: rgba(255,255,255,.78);
  --efx-home-hero-hub-subtext-shadow: rgba(74,33,12,.38);
  --efx-home-hero-hub-text: #FFFFFF;
  --efx-home-hero-ghost-hover-bg: #FFFFFF;
  --efx-home-hero-ghost-hover-text: var(--efx-heading);
  --efx-home-hero-ghost-hover-border: #FFFFFF;
  --efx-home-cta-streak-cool: var(--efx-home-ai-streak-cool);
  --efx-home-cta-streak-neutral: var(--efx-home-ai-streak-neutral);
  --efx-home-cta-dot: rgba(255,255,255,.07);
  --efx-home-cta-title: #FFFFFF;
  --efx-home-cta-body: rgba(255,255,255,.86);
  --efx-home-cta-ghost-bg: rgba(255,255,255,.12);
  --efx-home-cta-ghost-border: rgba(255,255,255,.40);
  --efx-home-cta-ghost-text: #FFFFFF;
  --efx-home-cta-ghost-hover-bg: #FFFFFF;
  --efx-home-cta-ghost-hover-text: var(--efx-ink);
  --efx-home-cta-ghost-hover-border: #FFFFFF;
  --efx-home-proof-chip-bg:
    color-mix(in srgb, var(--efx-section-card-bg) 74%, transparent);
  --efx-home-proof-card-bg:
    color-mix(in srgb, white 4.5%, transparent);
  --efx-home-proof-card-hover-bg:
    color-mix(in srgb, white 7%, transparent);
  --efx-home-card-shadow:
    0 8px 24px color-mix(in srgb, var(--efx-ink) 8%, transparent);
  --efx-home-card-shadow-hover:
    0 20px 40px color-mix(in srgb, var(--efx-ink) 16%, transparent);
  --efx-home-panel-shadow:
    0 20px 46px color-mix(in srgb, var(--efx-ink) 12%, transparent);
  --efx-home-panel-shadow-strong:
    0 26px 52px color-mix(in srgb, var(--efx-ink) 28%, transparent);
  --efx-home-ops-board-bg:
    linear-gradient(
      150deg,
      color-mix(in srgb, white 4.5%, transparent),
      color-mix(in srgb, white 1.8%, transparent)
    );
  --efx-home-ops-board-shadow:
    0 24px 48px color-mix(in srgb, black 18%, transparent);
  --efx-home-ops-card-bg:
    color-mix(in srgb, white 3.5%, transparent);
  --efx-home-ops-meter-bg:
    color-mix(in srgb, white 9%, transparent);
  --efx-home-soft-card-shadow-hover:
    0 16px 34px color-mix(in srgb, var(--efx-ink) 12%, transparent);
  --efx-home-proof-shadow:
    0 24px 52px color-mix(in srgb, var(--efx-ink) 18%, transparent);
  --efx-home-proof-shadow-hover:
    0 18px 36px color-mix(in srgb, var(--efx-ink) 16%, transparent);
  --efx-home-accent-card-shadow:
    0 0 28px color-mix(in srgb, var(--accent) 18%, transparent);
  --efx-home-hero-cta-hover-bg: var(--accent-2);
  --efx-home-hero-cta-hover-shadow:
    0 16px 38px var(--efx-accent-glow-stronger);
  --efx-home-demo-cta-hover-bg: var(--accent-2);
  --efx-home-demo-cta-hover-shadow:
    0 16px 34px var(--efx-accent-border-strong);
  --efx-home-dropdown-shadow:
    0 24px 48px color-mix(in srgb, var(--efx-ink) 16%, transparent);
  --efx-shared-cta-shadow:
    0 8px 18px color-mix(in srgb, var(--accent) 26%, transparent);
  --efx-shared-cta-hover-bg: var(--accent-2);
  --efx-shared-cta-shadow-hover:
    0 12px 24px color-mix(in srgb, var(--accent) 34%, transparent);
  --efx-shared-hero-cta-shadow:
    0 12px 28px color-mix(in srgb, var(--accent) 30%, transparent);
  --efx-shared-hero-cta-hover-bg: var(--accent-2);
  --efx-shared-hero-cta-shadow-hover:
    0 16px 38px color-mix(in srgb, var(--accent) 50%, transparent);
  --efx-shared-ghost-cta-bg: rgba(255,255,255,.08);
  --efx-shared-ghost-cta-text: #FFFFFF;
  --efx-shared-ghost-cta-border: rgba(255,255,255,.34);
  --efx-shared-ghost-cta-hover-bg: #FFFFFF;
  --efx-shared-ghost-cta-hover-text: var(--efx-section-text);
  --efx-shared-ghost-cta-hover-border: #FFFFFF;
  --efx-shared-control-hover-border: var(--accent);
  --efx-shared-footer-social-hover-bg: var(--accent);
  --efx-shared-footer-social-hover-text: #FFFFFF;
  --efx-shared-mobile-menu-cta-bg: var(--accent);
  --efx-shared-mobile-menu-cta-text: #FFFFFF;
  --efx-shared-topbar-hover-text: #FFFFFF;
  --efx-shared-nav-link-hover-text: var(--accent);
  --efx-shared-nav-link-hover-border: var(--accent);
  --efx-shared-nav-current-text-shadow:
    0 0 14px color-mix(in srgb, var(--accent) 28%, white 18%);
  --efx-shared-nav-current-box-shadow:
    inset 0 -3px 0 0 var(--accent),
    0 10px 16px -14px color-mix(in srgb, var(--accent) 92%, transparent);
  --efx-shared-nav-current-icon-filter:
    drop-shadow(0 0 8px color-mix(in srgb, var(--accent-2) 28%, transparent));
  --efx-shared-nav-current-cta-shadow:
    0 0 0 2px color-mix(in srgb, white 42%, transparent),
    0 14px 30px color-mix(in srgb, var(--accent) 38%, transparent),
    0 0 26px color-mix(in srgb, var(--accent-2) 22%, transparent);
  --efx-shared-footer-link-hover-text: var(--accent-2);
  --efx-shared-section-card-hover-shadow:
    0 16px 34px color-mix(in srgb, var(--efx-ink) 12%, transparent);
  --efx-shared-section-card-hover-shadow-compact:
    0 14px 30px color-mix(in srgb, var(--efx-ink) 10%, transparent);
  --efx-shared-section-card-hover-border-strong: var(--accent-2);
  --efx-shared-section-card-hover-border-soft:
    color-mix(in srgb, var(--accent) 18%, var(--efx-section-card-border));
  --efx-shared-brand-link: var(--efx-home-brand-cloud);
  --efx-shared-brand-link-hover: var(--accent);
  --efx-shared-brand-link-soft: var(--efx-home-brand-cloud-soft);
  --efx-shared-brand-button-bg: var(--efx-home-brand-cloud);
  --efx-shared-brand-button-hover-bg:
    color-mix(in srgb, var(--efx-home-brand-cloud) 82%, black 18%);
  --efx-shared-brand-button-shadow:
    0 12px 30px color-mix(in srgb, var(--efx-home-brand-cloud) 24%, transparent);
  --efx-shared-dark-band-card-bg:
    color-mix(in srgb, white 5%, transparent);
  --efx-shared-dark-band-card-border:
    color-mix(in srgb, white 12%, transparent);
  --efx-shared-dark-band-card-text: #FFFFFF;
  --efx-shared-dark-band-card-muted:
    color-mix(in srgb, var(--efx-body) 88%, white 12%);
}

.efx-section-surface {
  background: var(--efx-section-bg);
  color: var(--efx-section-text);
}

.efx-section-surface-alt {
  background: var(--efx-section-alt-bg);
  color: var(--efx-section-text);
}

html[data-theme="light"] {
  --efx-shared-dark-band-card-text: #17302E;
  --efx-shared-dark-band-card-muted: #506B69;
  --efx-shared-ghost-cta-bg: rgba(255,255,255,.72);
  --efx-shared-ghost-cta-text: #14201F;
  --efx-shared-ghost-cta-border: rgba(20,32,31,.14);
  --efx-shared-ghost-cta-hover-bg: #FFFFFF;
  --efx-shared-ghost-cta-hover-text: #082E2D;
  --efx-shared-ghost-cta-hover-border: rgba(230,86,0,.28);
}

html[data-palette="cobalt"][data-theme="light"] {
  --efx-shared-dark-band-card-text: #1C315B;
  --efx-shared-dark-band-card-muted: #58709A;
  --efx-shared-ghost-cta-bg: rgba(255,255,255,.76);
  --efx-shared-ghost-cta-text: #15284D;
  --efx-shared-ghost-cta-border: rgba(21,40,77,.14);
  --efx-shared-ghost-cta-hover-bg: #FFFFFF;
  --efx-shared-ghost-cta-hover-text: #15284D;
  --efx-shared-ghost-cta-hover-border: rgba(224,95,8,.28);
}

.efx-section-card {
  background: var(--efx-section-card-bg);
  border: 1px solid var(--efx-section-card-border);
  box-shadow: var(--efx-section-shadow);
}

/* Compatibility layer for legacy pages that still carry inline section/footer styles.
   This lets the shared theme and palette tokens take control before every page is manually migrated. */
html[data-theme] section[style*="background:#fff"] {
  background: var(--efx-section-bg) !important;
}

html[data-theme] section[style*="background:#F5F9F8"] {
  background: var(--efx-section-alt-bg) !important;
}

html[data-theme] [style*="background:#fff"] {
  background: var(--efx-section-card-bg) !important;
  border-color: var(--efx-section-card-border) !important;
  box-shadow: var(--efx-section-shadow) !important;
}

html[data-theme] [style*="background:#F5F9F8"] {
  background: var(--efx-section-card-bg) !important;
  border-color: var(--efx-section-card-border) !important;
  box-shadow: var(--efx-section-shadow) !important;
}

html[data-theme] [style*="border:1px solid #E6EDEC"],
html[data-theme] [style*="border:1px solid #E1EAE9"],
html[data-theme] [style*="border:1.5px solid #D9E4E2"],
html[data-theme] [style*="border:1.5px solid #D8E4E2"] {
  border-color: var(--efx-section-card-border) !important;
}

html[data-theme] [style*="color:#0F2E2D"],
html[data-theme] [style*="color:#14201F"],
html[data-theme] [style*="color:#082E2D"] {
  color: var(--efx-section-text) !important;
}

html[data-theme] [style*="color:#5B6B6A"],
html[data-theme] [style*="color:#546564"],
html[data-theme] [style*="color:#3C4B4A"] {
  color: var(--efx-section-muted) !important;
}

html[data-theme] footer[style*="background:#242424"] {
  background: var(--efx-footer-bg) !important;
  color: var(--efx-footer-text) !important;
}

html[data-theme] footer [style*="color:#B9C0BF"] {
  color: var(--efx-footer-text) !important;
}

html[data-theme] footer [style*="color:#8C9695"] {
  color: var(--efx-footer-label) !important;
}

html[data-theme] footer [style*="color:#7C8483"] {
  color: var(--efx-footer-dim) !important;
}

  color: var(--efx-section-text) !important;
}

html[data-theme="dark"] [style*="color:#5B6B6A"],
html[data-theme="dark"] [style*="color:#546564"],
html[data-theme="dark"] [style*="color:#3C4B4A"] {
  color: var(--efx-section-muted) !important;
}

html[data-theme="dark"] input[style],
html[data-theme="dark"] textarea[style],
html[data-theme="dark"] select[style] {
  background: rgba(255,255,255,.04) !important;
  color: var(--efx-section-text) !important;
  border-color: var(--efx-section-card-border) !important;
}

html[data-theme="light"] input[style],
html[data-theme="light"] textarea[style],
html[data-theme="light"] select[style] {
  background: var(--efx-section-card-bg) !important;
  color: var(--efx-section-text) !important;
  border-color: var(--efx-section-card-border) !important;
}

/* Cascading theme transition — 1s total, sections stagger top-to-bottom */
html.efx-theme-switching::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.04);
  pointer-events: none;
  z-index: 9999;
  animation: efx-theme-fade-cascade 1000ms ease-in-out;
}

@keyframes efx-theme-fade-cascade {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}

/* Cascade color transitions down the page */
html.efx-theme-switching > body,
html.efx-theme-switching > x-dc {
  animation: efx-page-cascade 1000ms ease-in-out;
}

@keyframes efx-page-cascade {
  0%, 100% { opacity: 1; }
}

/* Social/topbar: starts immediately */
html.efx-theme-switching [style*="background:#0C3232"],
html.efx-theme-switching div[style*="background:var(--efx-topbar"]  {
  animation: efx-section-fade 1000ms ease-in-out 0ms forwards;
}

/* Nav bar: slight delay */
html.efx-theme-switching div[style*="position:sticky"],
html.efx-theme-switching nav {
  animation: efx-section-fade 1000ms ease-in-out 100ms forwards;
}

/* Hero section container: medium delay, animate gradient colors + opacity */
html.efx-theme-switching section[id="top"] {
  animation: efx-hero-cascade 1200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 150ms forwards;
}

/* Hero background gradient: recolor smoothly */
html.efx-theme-switching section[id="top"]::before {
  animation: efx-hero-bg-recolor 1200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 150ms forwards;
}

/* Hero text (h1, p, buttons): staggered within hero */
html.efx-theme-switching section[id="top"] h1,
html.efx-theme-switching section[id="top"] p {
  animation: efx-hero-text-fade 1100ms ease-in-out 250ms forwards;
}

html.efx-theme-switching section[id="top"] button,
html.efx-theme-switching section[id="top"] a[style*="background"] {
  animation: efx-hero-button-fade 1100ms ease-in-out 320ms forwards;
}

/* Main content: final cascade */
html.efx-theme-switching main,
html.efx-theme-switching section:not([id="top"]) {
  animation: efx-section-fade 1000ms ease-in-out 350ms forwards;
}

@keyframes efx-section-fade {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.88; }
}

/* Hero section recolors its entire background and glows */
@keyframes efx-hero-cascade {
  0%, 100% { opacity: 1; }
  45% { opacity: 0.85; }
  55% { opacity: 0.85; }
}

@keyframes efx-hero-bg-recolor {
  0%, 100% {
    filter: brightness(1) saturate(1) hue-rotate(0deg);
  }
  50% {
    filter: brightness(0.96) saturate(0.94) hue-rotate(-8deg);
  }
}

@keyframes efx-hero-text-fade {
  0%, 100% { opacity: 1; }
  48% { opacity: 0.80; }
  52% { opacity: 0.80; }
}

html[data-theme] [style*="border:1.5px solid #D9E4E2"],
html[data-theme] [style*="border:1.5px solid #D8E4E2"] {
  border-color: var(--efx-section-card-border) !important;
}

html[data-theme] [style*="color:#0F2E2D"],
html[data-theme] [style*="color:#14201F"],
html[data-theme] [style*="color:#082E2D"] {
  color: var(--efx-section-text) !important;
}

html[data-theme] [style*="color:#5B6B6A"],
html[data-theme] [style*="color:#546564"],
html[data-theme] [style*="color:#3C4B4A"] {
  color: var(--efx-section-muted) !important;
}

html[data-theme] footer[style*="background:#242424"] {
  background: var(--efx-footer-bg) !important;
  color: var(--efx-footer-text) !important;
}

html[data-theme] footer [style*="color:#B9C0BF"] {
  color: var(--efx-footer-text) !important;
}

html[data-theme] footer [style*="color:#8C9695"] {
  color: var(--efx-footer-label) !important;
}

html[data-theme] footer [style*="color:#7C8483"] {
  color: var(--efx-footer-dim) !important;
}

html[data-theme] footer [style*="border-bottom:1px solid #3A3A3A"],
html[data-theme] footer [style*="border-top:1px solid #3A3A3A"] {
  border-color: var(--efx-footer-border) !important;
}

html[data-theme] section[style*="background:linear-gradient(160deg,#0F2E2D 0%,#0C3232 55%,#0A3A38 100%)"] {
  background: var(--efx-home-ai-band-bg) !important;
}

html[data-theme] section[style*="background:linear-gradient(135deg,#104040 0%,#0C3232 100%)"],
html[data-theme] section[style*="background:linear-gradient(135deg,#2471AD 0%,#1C5C93 100%)"] {
  background: var(--ctaband) !important;
}

html[data-theme="dark"] section[style*="background:#fff"] {
  background: var(--efx-section-bg) !important;
}

html[data-theme="dark"] section[style*="background:#F5F9F8"] {
  background: var(--efx-section-alt-bg) !important;
}

html[data-theme="dark"] [style*="background:#fff"]:not(a):not(button):not([class*="btn"]) {
  background: var(--efx-section-card-bg) !important;
  border-color: var(--efx-section-card-border) !important;
  box-shadow: var(--efx-section-shadow) !important;
}

html[data-theme="dark"] [style*="background:#F5F9F8"] {
  background: var(--efx-section-card-bg) !important;
  border-color: var(--efx-section-card-border) !important;
  box-shadow: var(--efx-section-shadow) !important;
}

html[data-theme="dark"] [style*="border:1px solid #E6EDEC"],
html[data-theme="dark"] [style*="border:1px solid #E1EAE9"],
html[data-theme="dark"] [style*="border:1.5px solid #D9E4E2"],
html[data-theme="dark"] [style*="border:1.5px solid #D8E4E2"] {
  border-color: var(--efx-section-card-border) !important;
}

html[data-theme="dark"] [style*="color:#0F2E2D"],
html[data-theme="dark"] [style*="color:#14201F"],
html[data-theme="dark"] [style*="color:#082E2D"] {
html[data-theme] footer [style*="border-bottom:1px solid #3A3A3A"],
html[data-theme] footer [style*="border-top:1px solid #3A3A3A"] {
  border-color: var(--efx-footer-border) !important;
}

html[data-theme] section[style*="background:linear-gradient(160deg,#0F2E2D 0%,#0C3232 55%,#0A3A38 100%)"] {
  background: var(--efx-home-ai-band-bg) !important;
}

html[data-theme] section[style*="background:linear-gradient(135deg,#104040 0%,#0C3232 100%)"],
html[data-theme] section[style*="background:linear-gradient(135deg,#2471AD 0%,#1C5C93 100%)"] {
  background: var(--ctaband) !important;
}

html[data-theme="dark"] section[style*="background:#fff"] {
  background: var(--efx-section-bg) !important;
}

html[data-theme="dark"] section[style*="background:#F5F9F8"] {
  background: var(--efx-section-alt-bg) !important;
}

html[data-theme="dark"] [style*="background:#fff"]:not(a):not(button):not([class*="btn"]) {
  background: var(--efx-section-card-bg) !important;
  border-color: var(--efx-section-card-border) !important;
  box-shadow: var(--efx-section-shadow) !important;
}

html[data-theme="dark"] [style*="background:#F5F9F8"]:not(a):not(button):not([class*="btn"]) {
  background: var(--efx-section-card-bg) !important;
  border-color: var(--efx-section-card-border) !important;
  box-shadow: var(--efx-section-shadow) !important;
}

html[data-theme="dark"] [style*="border:1px solid #E6EDEC"],
html[data-theme="dark"] [style*="border:1px solid #E1EAE9"],
html[data-theme="dark"] [style*="border:1.5px solid #D9E4E2"],
html[data-theme="dark"] [style*="border:1.5px solid #D8E4E2"] {
  border-color: var(--efx-section-card-border) !important;
}

html[data-theme="dark"] [style*="color:#0F2E2D"],
html[data-theme="dark"] [style*="color:#14201F"],
html[data-theme="dark"] [style*="color:#082E2D"] {
  color: var(--efx-section-text) !important;
}

html[data-theme="dark"] [style*="color:#5B6B6A"],
html[data-theme="dark"] [style*="color:#546564"],
html[data-theme="dark"] [style*="color:#3C4B4A"] {
  color: var(--efx-section-muted) !important;
}

html[data-theme="dark"] input[style],
html[data-theme="dark"] textarea[style],
html[data-theme="dark"] select[style] {
  background: rgba(255,255,255,.04) !important;
  color: var(--efx-section-text) !important;
  border-color: var(--efx-section-card-border) !important;
}

html[data-theme="light"] input[style],
html[data-theme="light"] textarea[style],
html[data-theme="light"] select[style] {
  background: var(--efx-section-card-bg) !important;
  color: var(--efx-section-text) !important;
  border-color: var(--efx-section-card-border) !important;
}

/* Cascading theme transition — 1s total, sections stagger top-to-bottom */
html.efx-theme-switching::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.04);
  pointer-events: none;
  z-index: 9999;
  animation: efx-theme-fade-cascade 1000ms ease-in-out;
}

@keyframes efx-theme-fade-cascade {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}

/* Cascade color transitions down the page */
html.efx-theme-switching > body,
html.efx-theme-switching > x-dc {
  animation: efx-page-cascade 1000ms ease-in-out;
}

@keyframes efx-page-cascade {
  0%, 100% { opacity: 1; }
}

/* Social/topbar: starts immediately */
html.efx-theme-switching [style*="background:#0C3232"],
html.efx-theme-switching div[style*="background:var(--efx-topbar"]  {
  animation: efx-section-fade 1000ms ease-in-out 0ms forwards;
}

/* Nav bar: slight delay */
html.efx-theme-switching div[style*="position:sticky"],
html.efx-theme-switching nav {
  animation: efx-section-fade 1000ms ease-in-out 100ms forwards;
}

/* Hero section container: medium delay, animate gradient colors + opacity */
html.efx-theme-switching section[id="top"] {
  animation: efx-hero-cascade 1200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 150ms forwards;
}

/* Hero background gradient: recolor smoothly */
html.efx-theme-switching section[id="top"]::before {
  animation: efx-hero-bg-recolor 1200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 150ms forwards;
}

/* Hero text (h1, p, buttons): staggered within hero */
html.efx-theme-switching section[id="top"] h1,
html.efx-theme-switching section[id="top"] p {
  animation: efx-hero-text-fade 1100ms ease-in-out 250ms forwards;
}

html.efx-theme-switching section[id="top"] button,
html.efx-theme-switching section[id="top"] a[style*="background"] {
  animation: efx-hero-button-fade 1100ms ease-in-out 320ms forwards;
}

/* Main content: final cascade */
html.efx-theme-switching main,
html.efx-theme-switching section:not([id="top"]) {
  animation: efx-section-fade 1000ms ease-in-out 350ms forwards;
}

@keyframes efx-section-fade {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.88; }
}

/* Hero section recolors its entire background and glows */
@keyframes efx-hero-cascade {
  0%, 100% { opacity: 1; }
  45% { opacity: 0.85; }
  55% { opacity: 0.85; }
}

@keyframes efx-hero-bg-recolor {
  0%, 100% {
    filter: brightness(1) saturate(1) hue-rotate(0deg);
  }
  50% {
    filter: brightness(0.96) saturate(0.94) hue-rotate(-8deg);
  }
}

@keyframes efx-hero-text-fade {
  0%, 100% { opacity: 1; }
  48% { opacity: 0.80; }
  52% { opacity: 0.80; }
}

@keyframes efx-hero-button-fade {
  0%, 100% { opacity: 1; }
  48% { opacity: 0.75; }
  52% { opacity: 0.75; }
}

/* theme-toggle button */
.efx-theme-toggle {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--efx-border);
  border-radius: 10px;
  color: var(--efx-navlink);
  cursor: pointer;
  transition: background .18s, color .18s, border-color .18s, transform .1s;
}

.efx-theme-toggle:hover {
  background: var(--efx-hover-bg);
  color: var(--efx-accent);
  border-color: var(--efx-accent);
}

.efx-theme-toggle:active {
  transform: scale(.94);
}

/* =========================================================================
   Shared FAQ Accordion
   ========================================================================= */
.efx-shared-faq-item {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.efx-shared-faq-summary::-webkit-details-marker {
  display: none;
}

.efx-shared-faq-summary {
  list-style-type: none;
}

.efx-shared-faq-summary:hover {
  background: var(--efx-hover-bg);
}

.efx-shared-faq-chevron {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

details[open] > .efx-shared-faq-summary .efx-shared-faq-chevron {
  transform: rotate(180deg);
}

/* =========================================================================
   Unified Desktop Navbar Alignment & Active States
   ========================================================================= */
.efx-site-nav nav {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

.efx-nav-item,
nav > a.efx-nav-item,
.efxdrop-click .efx-nav-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  width: 104px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: var(--efx-navlink) !important;
  font-weight: 600 !important;
  font-size: 15.5px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  text-align: center !important;
  box-sizing: border-box !important;
  transition: color .2s, border-color .2s !important;
  animation: none !important;
}

.efx-nav-item:hover,
nav > a.efx-nav-item:hover,
.efxdrop-click .efx-nav-item:hover {
  color: var(--accent) !important;
  border-bottom-color: var(--accent) !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.efx-nav-item svg {
  transition: stroke .2s, color .2s;
  display: inline-block;
  vertical-align: middle;
}

.efx-nav-item:hover svg,
.efx-nav-item.efx-nav-current svg,
.efx-nav-item.efx-nav-item-current svg,
.efx-nav-item[aria-current="page"] svg,
.efxdrop-click.efx-open > .efx-nav-item svg {
  stroke: var(--accent) !important;
  color: var(--accent) !important;
}

.efx-nav-item.efx-nav-current,
.efx-nav-item.efx-nav-item-current,
.efx-nav-item[aria-current="page"],
nav > a.efx-nav-current,
nav > a.efx-nav-item-current,
.efxdrop-click.efx-open > .efx-nav-item {
  color: var(--accent) !important;
  border-bottom-color: var(--accent) !important;
  border-bottom: 2px solid var(--accent) !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: 104px !important;
  height: 38px !important;
}

a.efx-nav-cta-current,
a.efx-mobile-current-cta {
  box-shadow: var(--efx-shared-nav-current-cta-shadow) !important;
  filter: saturate(1.08) brightness(1.04);
}
