:root {
  /* Colores base */
  --bg: #070F1A;
  --s1: #0C1525;
  --s2: #0F1D30;

  /* Coral principal */
  --coral: #F87060;
  --coral-2: #FF9080;
  --coral-3: #D84E3C;
  --coral-dim: rgba(248, 112, 96, 0.10);
  --coral-bdr: rgba(248, 112, 96, 0.22);
  --coral-soft: rgba(248, 112, 96, 0.18);

  /* Azul secundario */
  --blue: #38BDF8;
  --blue-dim: rgba(56, 189, 248, 0.11);
  --blue-border: rgba(56, 189, 248, 0.22);

  /* Texto */
  --t1: #EDF2F7;
  --t2: #8BA4BE;
  --t3: #2E4A6A;

  /* Bordes y superficies */
  --border: rgba(255, 255, 255, 0.05);
  --border-2: rgba(255, 255, 255, 0.09);
  --white-06: rgba(255, 255, 255, 0.06);
  --white-07: rgba(255, 255, 255, 0.07);
  --white-08: rgba(255, 255, 255, 0.08);
  --white-10: rgba(255, 255, 255, 0.10);
  --white-12: rgba(255, 255, 255, 0.12);

  /* Tipografías */
  --ff-heading: "Plus Jakarta Sans", sans-serif;
  --ff-body: "Inter", sans-serif;

  /* Radios */
  --r-xs: 8px;
  --r-sm: 10px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-2xl: 28px;
  --r-pill: 999px;

  /* Espaciados */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 52px;
  --space-10: 72px;
  --space-11: 96px;

  /* Layout */
  --container: 1200px;
  --container-narrow: 960px;
  --nav-height: 64px;

  /* Transiciones */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 0.18s;
  --dur-med: 0.35s;
  --dur-slow: 0.6s;

  /* Sombras */
  --shadow-card:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 4px 24px rgba(0, 0, 0, 0.35);

  --shadow-card-hover:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 16px 60px rgba(0, 0, 0, 0.5);

  --shadow-coral:
    0 4px 8px rgba(248, 112, 96, 0.45),
    0 10px 26px rgba(248, 112, 96, 0.30),
    0 22px 50px rgba(248, 112, 96, 0.15);

  --shadow-coral-strong:
    0 6px 14px rgba(248, 112, 96, 0.55),
    0 16px 38px rgba(248, 112, 96, 0.38);

  --shadow-glow-logo: drop-shadow(0 0 8px rgba(248, 112, 96, 0.4));

  /* Gradientes */
  --grad-coral-btn: linear-gradient(180deg, #FF9080 0%, #F87060 38%, #D84E3C 100%);
  --grad-coral-btn-hover: linear-gradient(180deg, #FFAB9F 0%, #FF8572 38%, #E06050 100%);
  --grad-highlight: linear-gradient(125deg, #F87060 0%, #FFB09E 45%, #F87060 100%);
  --grad-panel: linear-gradient(145deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.01) 50%, transparent 100%), rgba(22,50,85,0.72);
  --grad-panel-soft: linear-gradient(145deg, rgba(255,255,255,0.04) 0%, transparent 55%, rgba(18,42,72,0.65));
  --grad-section: linear-gradient(180deg, var(--bg) 0%, rgba(13,31,53,0.88) 50%, var(--bg) 100%);
  --grad-cta: linear-gradient(135deg, #102542 0%, #0B192C 50%, #102542 100%);

  /* Blur */
  --blur-sm: 10px;
  --blur-md: 16px;
  --blur-lg: 24px;
  --blur-xl: 28px;

  /* Z-index */
  --z-progress: 10000;
  --z-cursor: 9998;
  --z-nav: 1000;
  --z-modal: 9999;
  --z-preloader: 20000;
}

/* Tema base del documento */
html {
  scroll-behavior: smooth;
}

body {
  background: var(--bg);
  color: var(--t1);
  font-family: var(--ff-body);
}

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0s;
    --dur-med: 0s;
    --dur-slow: 0s;
  }

  html {
    scroll-behavior: auto;
  }
}
