:root,
[data-theme="dark"] {
  --font-body: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-display: 'Sora', var(--font-body);

  color-scheme: dark;

  --navy: #060E1F;
  --navy-mid: #0B1A35;
  --royal: #1246C8;
  --electric: #3B8BFF;
  --cyan: #00D4FF;
  --green: #00E5A0;
  --white: #ffffff;
  --off: #F2F5FB;

  --bg: #060E1F;
  --bg-alt: #0B1A35;
  --bg-deep: #030810;
  --text: #ffffff;
  --text-muted: rgba(255,255,255,0.52);
  --text-dim: rgba(255,255,255,0.45);
  --text-mid: #8CA0BF;
  --heading: #ffffff;
  --border: rgba(59,139,255,0.15);

  --glass-bg: rgba(255,255,255,0.04);
  --glass-border: rgba(59,139,255,0.14);
  --glass-hover-border: rgba(59,139,255,0.32);
  --glass-shadow: 0 28px 70px rgba(0,0,0,0.28), 0 0 40px rgba(59,139,255,0.06);
  --surface-inset: rgba(59,139,255,0.07);
  --float-badge-bg: rgba(6,14,31,0.92);

  --nav-bg-scrolled: rgba(6,14,31,0.96);
  --nav-link: rgba(255,255,255,0.55);
  --nav-link-hover: #fff;
  --nav-link-active: #fff;

  --hero-mesh-a: rgba(18,70,200,0.2);
  --hero-mesh-b: rgba(0,212,255,0.08);
  --hero-grid: rgba(59,139,255,0.03);
  --section-glow-a: rgba(59,139,255,0.07);
  --section-glow-b: rgba(0,212,255,0.04);
  --section-grid: rgba(59,139,255,0.025);
  --section-divider: rgba(59,139,255,0.18);

  --quote-bg: rgba(59,139,255,0.08);
  --quote-text: rgba(255,255,255,0.7);
  --footer-bg: #030810;
  --btn-outline-border: rgba(255,255,255,0.18);
  --btn-outline-text: rgba(255,255,255,0.75);
  --cta-sub: rgba(255,255,255,0.45);
  --trust-text: rgba(255,255,255,0.38);

  --particle-opacity: 0.3;
  --cursor-dot-size: 7px;
  --cursor-ring-size: 44px;
  --cursor-dot: var(--electric);
  --cursor-dot-glow: rgba(59,139,255,0.55);
  --cursor-ring-border: rgba(59,139,255,0.45);
  --cursor-ring-fill: rgba(59,139,255,0.06);
  --cursor-ring-hover-border: rgba(0,212,255,0.65);
  --cursor-ring-hover-fill: rgba(59,139,255,0.14);
  --toggle-bg: rgba(59,139,255,0.1);
  --toggle-border: rgba(59,139,255,0.25);
}

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

  --navy: #F4F7FC;
  --navy-mid: #E8EEF8;
  --royal: #1246C8;
  --electric: #1246C8;
  --cyan: #0099CC;

  --bg: #F4F7FC;
  --bg-alt: #E8EEF8;
  --bg-deep: #DDE6F5;
  --text: #0B1A35;
  --text-muted: #5A7090;
  --text-dim: rgba(11,26,53,0.55);
  --text-mid: #5A7090;
  --heading: #0B1A35;
  --border: rgba(18,70,200,0.12);

  --glass-bg: rgba(255,255,255,0.92);
  --glass-border: rgba(18,70,200,0.1);
  --glass-hover-border: rgba(18,70,200,0.28);
  --glass-shadow: 0 20px 50px rgba(11,26,53,0.1), 0 0 0 1px rgba(18,70,200,0.04);
  --surface-inset: #F2F5FB;
  --float-badge-bg: rgba(255,255,255,0.96);

  --nav-bg-scrolled: rgba(244,247,252,0.95);
  --nav-link: rgba(11,26,53,0.6);
  --nav-link-hover: #0B1A35;
  --nav-link-active: #0B1A35;

  --hero-mesh-a: rgba(18,70,200,0.08);
  --hero-mesh-b: rgba(0,212,255,0.05);
  --hero-grid: rgba(18,70,200,0.06);
  --section-glow-a: rgba(18,70,200,0.06);
  --section-glow-b: rgba(0,153,204,0.04);
  --section-grid: rgba(18,70,200,0.05);
  --section-divider: rgba(18,70,200,0.12);

  --quote-bg: rgba(18,70,200,0.06);
  --quote-text: #0B1A35;
  --footer-bg: #E8EEF8;
  --btn-outline-border: rgba(11,26,53,0.18);
  --btn-outline-text: rgba(11,26,53,0.75);
  --cta-sub: #5A7090;
  --trust-text: rgba(11,26,53,0.45);

  --particle-opacity: 0.12;
  --cursor-dot-size: 7px;
  --cursor-ring-size: 44px;
  --cursor-dot: var(--royal);
  --cursor-dot-glow: rgba(18,70,200,0.35);
  --cursor-ring-border: rgba(18,70,200,0.35);
  --cursor-ring-fill: rgba(18,70,200,0.05);
  --cursor-ring-hover-border: rgba(18,70,200,0.55);
  --cursor-ring-hover-fill: rgba(18,70,200,0.1);
  --toggle-bg: rgba(18,70,200,0.08);
  --toggle-border: rgba(18,70,200,0.18);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--text);
  overflow-x:hidden;
  background:var(--bg);
  transition:background .35s ease,color .35s ease;
}

html.has-custom-cursor,
html.has-custom-cursor body,
html.has-custom-cursor a,
html.has-custom-cursor button{
  cursor:none;
}

button,input,select,textarea{
  font-family:inherit;
}
