:root {
  --indigo: #4F46E5;
  --slate-900: #1E293B;
  --slate-600: #475569;
  --bg-light: #F8FAFC;
}

body {
  background-color: var(--bg-light);
  color: var(--slate-900);
  font-family: 'Inter', sans-serif;
}

/* Замена Comic Sans на строгий ИТ заголовок */
h1, h2, h3, h4 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  letter-spacing: -0.025em;
}

/* Элементы кода */
.font-mono {
  font-family: 'Fira Code', monospace;
}

.hero-image-bg {
  background-image: url('images/ft.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
}

/* Декоративная сетка на фоне (ИТ стиль) */
main {
  background-image: radial-gradient(#e2e8f0 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Кнопки */
.btn-primary {
  background-color: var(--indigo);
  color: white;
  padding: 1rem 2rem;
  border-radius: 0.75rem;
  font-weight: 700;
  transition: all 0.3s ease;
  display: inline-block;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.4);
}

/* Анимации появления */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease-out;
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Улучшение форм для Google Rules */
input:focus {
  border-color: var(--indigo);
  box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1);
}