/* ============================================
   BASE.CSS — переменные, фон, общая типографика
   ============================================ */

/* ============================================
   Глобальный сброс box-sizing
   ============================================ */

*, *::before, *::after {
  box-sizing: border-box;
}

:root {
  /* Цветовая палитра */
  --blue-dark:    #1e3a8a;
  --blue-mid:     #2563eb;
  --blue-light:   #3b82f6;
  --azure:        #38bdf8;
  --orange:       #f97316;
  --orange-light: #fb923c;
  --gold:         #fbbf24;
  --gold-soft:    #fcd34d;

  --white:        #ffffff;
  --gray-dark:    #1f2937;
  --gray-text:    #374151;
  --gray-light:   #6b7280;

  /* Типографика */
  --font-heading: 'Montserrat', sans-serif;
  --font-body:    'Inter', sans-serif;

  /* Геометрия */
  --radius-sm:  8px;
  --radius-md:  14px;
  --radius-lg:  20px;

  /* Тени */
  --shadow-text: 0 2px 8px rgba(0, 0, 0, 0.35);
  --shadow-soft: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* Сброс и базовые стили */
.reveal {
  font-family: var(--font-body);
  font-size: 22px;
  color: var(--gray-dark);
}

/* ===== ФОН СЛАЙДА: градиентные пятна ===== */
.reveal .slides > section {
  height: 100%;
  padding: 0;
  background: linear-gradient(160deg, #e0f2fe 0%, #f0f9ff 40%, #fff7ed 100%);
  overflow: hidden;
}

/* Пятно 1: золотое, верхний правый угол */
.reveal .slides section::before {
  content: '';
  position: absolute;
  top: -15%;
  right: -10%;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251, 191, 36, 0.4) 0%, transparent 70%);
  filter: blur(60px);
  animation: float-1 50s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}

/* Пятно 2: лазурное, нижний левый угол */
.reveal .slides section::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -10%;
  width: 450px;
  height: 450px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.35) 0%, transparent 70%);
  filter: blur(50px);
  animation: float-2 55s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}

@keyframes float-1 {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(-40px, 30px) scale(1.1); }
  100% { transform: translate(20px, -20px) scale(0.95); }
}

@keyframes float-2 {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(30px, -25px) scale(1.05); }
  100% { transform: translate(-25px, 15px) scale(1.1); }
}

/* Контент поверх пятен */
.reveal .slides section .slide-layout {
  position: relative;
  z-index: 1;
}

/* ===== Типографика ===== */
.reveal h1,
.reveal h2,
.reveal h3 {
  font-family: var(--font-heading);
  color: var(--blue-dark);
  text-transform: none;
  letter-spacing: -0.01em;
}

.reveal p {
  line-height: 1.6;
}