/* ==========================================================================
   Cameo Cinema — TOKENS
   ========================================================================== */

:root {
  /* Core palette */
  --void: #050507;
  --surface: #121418;
  --surface-2: #0b0d10;

  /* Text (never pure white) */
  --text: #9ca3af;
  --text-strong: rgba(229, 231, 235, 0.92);
  --text-muted: rgba(156, 163, 175, 0.72);

  /* Borders */
  --border: rgba(255, 255, 255, 0.08);
  --border-hover: rgba(45, 107, 255, 0.35);

  /* Accents */
  --primary: #2d6bff;
  --primary-deep: #0039cb;
  --neon: #00d4ff;

  /* Gradients */
  --g-primary: linear-gradient(135deg, var(--primary), var(--primary-deep));
  --g-voidglow:
    radial-gradient(
      1200px 600px at 20% 10%,
      rgba(45, 107, 255, 0.22),
      transparent 60%
    ),
    radial-gradient(
      900px 500px at 80% 20%,
      rgba(0, 212, 255, 0.12),
      transparent 55%
    );

  /* Geometry & motion */
  --r-1: 4px;
  --r-2: 8px;
  --ease-cinema: cubic-bezier(0.16, 1, 0.3, 1);

  /* Shadows & glow */
  --shadow-soft: 0 16px 60px rgba(0, 0, 0, 0.45);
  --shadow-lift: 0 18px 70px rgba(0, 0, 0, 0.55);

  --glow-primary:
    0 0 0 1px rgba(45, 107, 255, 0.28), 0 18px 80px rgba(45, 107, 255, 0.18);
  --glow-neon:
    0 0 0 1px rgba(0, 212, 255, 0.18), 0 22px 90px rgba(0, 212, 255, 0.12);

  /* Glass */
  --glass-bg: rgba(18, 20, 24, 0.72);
  --glass-blur: blur(20px);

  /* Spacing rhythm */
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-30: 120px;
  --space-36: 144px;

  /* Typography scale */
  --fs-xs: clamp(0.78rem, 0.74rem + 0.15vw, 0.86rem);
  --fs-sm: clamp(0.88rem, 0.84rem + 0.18vw, 0.98rem);
  --fs-base: clamp(1rem, 0.95rem + 0.2vw, 1.08rem);
  --fs-lg: clamp(1.15rem, 1.05rem + 0.35vw, 1.35rem);
  --fs-xl: clamp(1.4rem, 1.2rem + 0.8vw, 1.9rem);
  --fs-2xl: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem);
  --fs-3xl: clamp(2.2rem, 1.7rem + 2.2vw, 3.4rem);
  --fs-4xl: clamp(2.8rem, 2.1rem + 3vw, 4.4rem);

  /* Line heights */
  --lh-tight: 1.08;
  --lh-body: 1.65;

  /* Focus */
  --focus: 0 0 0 3px rgba(0, 212, 255, 0.14), 0 0 0 1px rgba(0, 212, 255, 0.35);

  /* Poster ratio */
  --poster-ratio: 2 / 3;
}
