/* ═════ TOKENS & CUSTOM PROPERTIES ═════ */
:root {
  --color-bg: #0a0518;
  --color-bg-deep: #050210;
  --color-surface: #120927;
  --color-surface-hi: #1a0f38;
  --color-border: #2e1a55;
  --color-border-glow: #4a2b8a;
  --color-text: #F5F0E8;
  --color-text-muted: #b4a8d4;
  --color-text-subtle: #7a6ea0;
  --color-gold: #F5C659;
  --color-gold-hi: #FDE047;
  --color-gold-lo: #8E6F1F;
  --color-magenta: #E840D8;
  --color-magenta-hi: #FF5CF0;
  --color-cyan: #00D4FF;
  --color-cyan-hi: #5CE5FF;
  --color-pink: #FF2B8F;
  --color-violet: #9B5CFF;
  --color-orange: #FF7A1A;
  --color-green-wa: #25D366;

  --font-display: 'Cormorant Garamond', serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

/* ═════ LIGHT MODE ═════ */
[data-theme="light"] {
  --color-bg: #F3EADF;
  --color-bg-deep: #ECE1D2;
  --color-surface: #F9F2E6;
  --color-surface-hi: #FFFFFF;
  --color-border: #D9C9B0;
  --color-border-glow: #BFA866;
  --color-text: #1A1325;
  --color-text-muted: #524B68;
  --color-text-subtle: #8A8296;
  --color-gold: #8E6F1F;
  --color-gold-hi: #6B5416;
  --color-magenta: #9C1D93;
  --color-cyan: #00687A;
  --color-pink: #C0175E;
  --color-violet: #5B2BCC;
}

/* ═════ RESET ═════ */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  position: relative;
  font-feature-settings: "zero" 0;
}
a { color: inherit; text-decoration: none; }

/* ═════ FOND GALACTIQUE ═════ */
#galaxy-bg { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.nebula-layer {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  opacity: 1;
  background:
    radial-gradient(ellipse 900px 500px at 20% 25%, rgba(232, 64, 216, 0.22) 0%, transparent 60%),
    radial-gradient(ellipse 700px 500px at 85% 40%, rgba(0, 212, 255, 0.18) 0%, transparent 60%),
    radial-gradient(ellipse 800px 600px at 50% 100%, rgba(155, 92, 255, 0.20) 0%, transparent 60%),
    radial-gradient(ellipse 600px 400px at 70% 15%, rgba(245, 198, 89, 0.15) 0%, transparent 65%),
    radial-gradient(ellipse 500px 700px at 10% 80%, rgba(255, 43, 143, 0.15) 0%, transparent 70%);
  animation: nebula-breathe 15s ease-in-out infinite;
}
@keyframes nebula-breathe {
  0%, 100% { opacity: 0.9; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}
[data-theme="light"] #galaxy-bg, [data-theme="light"] .nebula-layer { opacity: 0.3; }

/* ═════ Z-INDEX LAYERS ═════ */
main, header, footer, .signature-wrap, .process-section, .alliance-section { position: relative; z-index: 2; }

/* ═════ EYEBROW ═════ */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  margin-bottom: 24px;
  padding: 6px 16px;
  border: 1px solid var(--color-border-glow);
  border-radius: 100px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  background: color-mix(in srgb, var(--color-surface) 60%, transparent);
}
.eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--color-magenta);
  box-shadow: 0 0 8px var(--color-magenta);
  animation: dot-pulse 2s ease-in-out infinite;
}
@keyframes dot-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

/* ═════ SECTION HEAD ═════ */
.section-head { text-align: center; margin-bottom: 56px; }
h2.section-title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
}
h2.section-title em {
  font-style: italic;
  background: linear-gradient(100deg, var(--color-gold), var(--color-magenta));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.section-lead {
  max-width: 660px; margin: 0 auto;
  color: var(--color-text-muted);
  font-size: 17px;
}

/* ═════ BUTTONS ═════ */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px;
  border-radius: 4px;
  font-weight: 600; font-size: 14px;
  border: 1px solid transparent;
  transition: transform 180ms ease, box-shadow 200ms ease;
  cursor: pointer;
}
.btn-primary {
  background: var(--color-gold);
  color: var(--color-bg-deep);
  border-color: var(--color-gold);
  box-shadow: 0 0 24px rgba(245, 198, 89, 0.35);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 0 36px rgba(245, 198, 89, 0.55); }
.btn-ghost { background: transparent; color: var(--color-text); border-color: var(--color-border-glow); }
.btn-ghost:hover { border-color: var(--color-gold); color: var(--color-gold); }

/* ═════ UNIVERSAL LOGO-WRAP PATTERN ═════ */
.logo-wrap {
  border-radius: 50%;
  overflow: hidden;
}
.logo-wrap img {
  width: 118%; height: 118%;
  object-fit: cover;
  margin: -9%;
  display: block;
}

/* ═════ REDUCED MOTION ═════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  #galaxy-bg, .shooting-star { display: none; }
}
