/* Ekolya — shared CSS variables across all 4 versions */

:root {
  /* Brand core */
  --ek-blue: #0066B3;
  --ek-blue-deep: #004A87;
  --ek-blue-light: #4D9DD9;
  --ek-navy: #0A1F3D;

  /* Backgrounds */
  --ek-off-white: #FAFAF7;
  --ek-ivory: #F8F5EF;
  --ek-pure-white: #FFFFFF;

  /* Accents (per version) */
  --ek-terracotta: #E8833A;
  --ek-sage: #3D7B5F;
  --ek-cyan: #00B4D8;
  --ek-saffron: #FFB627;
  --ek-coral: #FF6B6B;
  --ek-violet: #7B2CBF;
  --ek-emerald: #3D9970;

  /* Text */
  --ek-text: #1A1A1A;
  --ek-text-soft: #4A4A4A;
  --ek-text-muted: #8A8A8A;

  /* Effects */
  --ek-blur: blur(14px);
  --ek-blur-strong: blur(20px);
  --ek-glass: rgba(255, 255, 255, 0.55);
  --ek-glass-dark: rgba(10, 31, 61, 0.55);
  --ek-border-glass: rgba(255, 255, 255, 0.35);

  /* Shadows */
  --ek-shadow-sm: 0 2px 8px rgba(10, 31, 61, 0.08);
  --ek-shadow-md: 0 8px 24px rgba(10, 31, 61, 0.12);
  --ek-shadow-lg: 0 24px 60px rgba(10, 31, 61, 0.18);
  --ek-shadow-glow-blue: 0 0 40px rgba(0, 102, 179, 0.25);
  --ek-shadow-glow-cyan: 0 0 60px rgba(0, 180, 216, 0.35);

  /* Transitions */
  --ek-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ek-fast: 220ms;
  --ek-normal: 420ms;
  --ek-slow: 800ms;

  /* Radii */
  --ek-r-sm: 8px;
  --ek-r-md: 14px;
  --ek-r-lg: 22px;
  --ek-r-xl: 32px;
  --ek-r-pill: 999px;
}

/* Glass utility */
.ek-glass {
  background: var(--ek-glass);
  backdrop-filter: var(--ek-blur);
  -webkit-backdrop-filter: var(--ek-blur);
  border: 1px solid var(--ek-border-glass);
}

.ek-glass-dark {
  background: var(--ek-glass-dark);
  backdrop-filter: var(--ek-blur);
  -webkit-backdrop-filter: var(--ek-blur);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

/* Reveal helper */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity var(--ek-slow) var(--ek-ease), transform var(--ek-slow) var(--ek-ease);
}
.reveal.is-in {
  opacity: 1;
  transform: translateY(0);
}

/* Scrollbar discreet */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(10, 31, 61, 0.18); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(10, 31, 61, 0.32); }

/* Selection */
::selection { background: var(--ek-blue); color: #fff; }

/* Smooth scroll + base */
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { color: var(--ek-text); }

/* Marquee */
@keyframes ek-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ek-marquee {
  display: flex;
  gap: 3rem;
  animation: ek-marquee 28s linear infinite;
  width: max-content;
}
.ek-marquee-wrap { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
