html { scroll-behavior: smooth; overflow-x: clip; }
body.page {
  font-family: var(--f-sans);
  color: var(--c-text);
  background: var(--c-bg);
  font-weight: 400;
  letter-spacing: -0.01em;
  min-height: 100vh;
}

/* Сеточный фон — мягкие полосы света, абсолютное позиционирование */
.page__grain {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(120,150,255,.06), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(140,120,255,.04), transparent 60%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.014) 0 1px, transparent 1px 120px);
  mix-blend-mode: screen;
}
.page__glow {
  position: fixed; z-index: 0; pointer-events: none; filter: blur(80px); opacity: .55;
}
.page__glow--a { top: -10vh; right: -10vw; width: 50vw; height: 50vw; background: radial-gradient(closest-side, oklch(0.505 0.20 285.7 / .28), transparent); }
.page__glow--b { bottom: -20vh; left: -15vw;  width: 55vw; height: 55vw; background: radial-gradient(closest-side, oklch(0.40 0.15 285.7 / .22), transparent); }

main, .site-header, .site-footer { position: relative; z-index: 1; }

/* Вспомогательные */
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-mono);
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-text-3);
}
.eyebrow::before {
  content: ""; width: 26px; height: 1px; background: var(--c-line-2);
}
.muted { color: var(--c-text-3); font-weight: 400; }

/* Кнопки */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px;
  border-radius: 999px;
  font-weight: 600; font-size: 15px; letter-spacing: -.005em;
  transition: transform .2s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
  will-change: transform;
}
.btn:active { transform: translateY(1px) scale(.99); }
.btn--sm   { padding: 10px 16px; font-size: 13.5px; }
.btn--full { width: 100%; justify-content: center; }

.btn--primary {
  background: var(--c-accent);
  color: #fff;
}
.btn--primary:hover {
  background: oklch(0.414 0.293 285.7);
  box-shadow: 0 0 20px 4px oklch(0.505 0.293 285.7 / .45), 0 0 48px 12px oklch(0.505 0.293 285.7 / .2);
}

.btn--ghost {
  color: var(--c-text);
  border: 1px solid var(--c-line-2);
  background: rgba(255,255,255,.02);
  backdrop-filter: blur(8px);
}
.btn--ghost:hover { border-color: var(--c-line-3); background: rgba(255,255,255,.05); }

/* Заголовки */
h1, h2, h3, h4 {
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--c-text);
}
h2 { font-size: clamp(34px, 4.8vw, 64px); line-height: 1.02; letter-spacing: -.03em; }
h3 { font-size: clamp(20px, 1.8vw, 24px); }
h4 { font-size: 16px; letter-spacing: -.01em; }
p  { color: var(--c-text-2); }
