body { font: var(--кегль-текст)/1.6 var(--шрифт-текста); color: var(--цвет-текст); background: var(--цвет-фон); margin: 0px; -webkit-font-smoothing: antialiased; }
h1 { font-size: var(--кегль-h1); font-weight: 700; line-height: 1.05; letter-spacing: -0.025em; }
*, ::before, ::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; height: auto; }
p, li, h1, h2, h3, dd, dt, summary, blockquote { overflow-wrap: break-word; }
h1, h2, h3 { font-family: var(--шрифт-заголовков); margin: 0px 0px 0.5em; }
p, ul, ol { margin: 0px 0px 1em; }
ul, ol { padding-left: 1.25em; }
a { color: var(--цвет-акцент); text-underline-offset: 0.15em; }
body, .светлый { --фон-ключа: var(--цвет-фон); --фон-2-ключа: var(--цвет-фон-2, var(--цвет-фон)); --текст-ключа: var(--цвет-текст); --подложка-ключа: transparent; --вуаль-ключа: var(--фон-ключа); --тёплый-ключа: var(--цвет-тёплый-тёмный, var(--цвет-акцент-тёмный)); --глубина-ключа: var(--цвет-тёплый-мягкий, var(--цвет-тёплый, var(--цвет-линия))); --тепло-ключа: color-mix(in srgb, var(--цвет-тёплый-мягкий, var(--цвет-тёплый, var(--цвет-линия))) 40%, transparent); }
.кнопка { background: var(--цвет-кнопки, var(--цвет-акцент)); color: var(--цвет-на-кнопке, var(--цвет-на-акценте)); }
.кнопка:hover { background: var(--цвет-кнопки-навёл, var(--цвет-акцент-тёмный)); }
.кнопка:focus-visible { outline: 2px solid var(--цвет-кнопки, var(--цвет-акцент)); outline-offset: 3px; }
.кнопка { display: inline-flex; align-items: center; justify-content: center; gap: 0.5em; min-height: 3em; padding: 0.8em 1.6em; border-radius: var(--кнопка-радиус); font: 600 var(--кегль-текст)/1.2 var(--шрифт-текста); text-decoration: none; cursor: pointer; border: 1px solid transparent; transition: transform var(--длительность) var(--плавность),
  box-shadow var(--длительность) var(--плавность); }
.кнопка--главная { background: var(--цвет-кнопки, var(--цвет-акцент)); color: var(--цвет-на-кнопке, var(--цвет-на-акценте)); position: relative; overflow: hidden; isolation: isolate; --заливка: var(--цвет-кнопки, var(--цвет-акцент)); --свет-кнопки: var(--цвет-на-кнопке, var(--цвет-на-акценте)); --объём: inset 0 1px 0 color-mix(in srgb, var(--свет-кнопки) 30%, transparent), 0 4px 0 color-mix(in srgb, var(--заливка) 55%, var(--цвет-тёмный-фон)), 0 .75em 1.5em -.5em color-mix(in srgb, var(--заливка) 70%, transparent); box-shadow: var(--объём); animation: 2.6s ease-in-out 0s infinite normal none running зов-кнопки; }
.кнопка--главная::before, .кнопка--главная::after { content: ""; position: absolute; z-index: -1; inset: 0px; pointer-events: none; }
.кнопка--главная::before { background: linear-gradient(180deg, color-mix(in srgb, var(--свет-кнопки) 10%, transparent), transparent 50%, color-mix(in srgb, var(--цвет-тёмный-фон) 22%, transparent)); }
.кнопка--главная::after { width: 45%; animation: 3s ease-in-out 0s infinite normal none running блик-кнопки; transform: translateX(-160%) skewX(-18deg); background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--свет-кнопки) 40%, transparent), transparent); }
.кнопка--главная:hover, .тёмный .кнопка--главная:hover { background: var(--цвет-кнопки-навёл, var(--цвет-акцент-тёмный)); }
.кнопка:active { transform: translateY(0px); }
.кнопка--главная:active { transform: translateY(3px); animation: auto ease 0s 1 normal none running none; box-shadow: 0 1px 0 color-mix(in srgb, var(--заливка) 55%, var(--цвет-тёмный-фон)); }
@media (max-width: 600px){body.с-липкой-кнопкой { padding-bottom: calc(5em + env(safe-area-inset-bottom)); }}
@keyframes пульс-кнопки { 
  0% { box-shadow: var(--тень-глубокая), 0 0 0 0 color-mix(in srgb, var(--цвет-акцент) 45%, transparent); }
  70% { box-shadow: var(--тень-глубокая), 0 0 0 .8em color-mix(in srgb, var(--цвет-акцент) 0%, transparent); }
  100% { box-shadow: var(--тень-глубокая), 0 0 0 0 color-mix(in srgb, var(--цвет-акцент) 0%, transparent); }
}
@keyframes зов-кнопки { 
  0%, 100% { transform: scale(1); box-shadow: var(--объём), 0 0 .5em 0 color-mix(in srgb, var(--заливка) 35%, transparent); }
  50% { transform: scale(1.04); box-shadow: var(--объём), 0 0 2.1em .375em color-mix(in srgb, var(--заливка) 70%, transparent); }
}
@keyframes блик-кнопки { 
  0% { transform: translateX(-160%) skewX(-18deg); }
  55%, 100% { transform: translateX(330%) skewX(-18deg); }
}
@keyframes вращение { 
  100% { rotate: 360deg; }
}
@keyframes парение { 
  50% { transform: translateY(-0.5em); }
}
@keyframes дрейф { 
  0% { translate: 0px; scale: 1; }
  50% { translate: 4% -5%; scale: 1.08; }
  100% { translate: -3% 4%; scale: 0.96; }
}
@keyframes мерцание { 
  50% { opacity: 0.3; }
}
@keyframes дыхание { 
  50% { transform: translateY(-0.5em); }
}
@keyframes бег { 
  100% { transform: translateX(-50%); }
}
@keyframes зум { 
  100% { scale: 1.06; }
}
@keyframes дрейф-ленты { 
  100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){.кнопка, .карточка { transition: none; }
.кнопка--главная:hover, .карточка:hover { transform: none; }}
@keyframes зум-финала { 
  0% { scale: 1.04; }
  100% { scale: 1; }
}
:root { --окно-h1: var(--кегль-h1); --окно-лид: var(--кегль-лид, var(--кегль-текст)); --окно-текст: var(--кегль-текст); --окно-секция: var(--отступ-секции); --окно-блок: var(--отступ-блока); }
@media (max-width: 899px){@supports (height: 100svh) {
  .блок.блок--первый-экран { --недостаёт: clamp(0rem, 52.75rem - 100svh, 18.75rem); }
}
@supports (height: 100svh) {
  .блок.первый-экран--разворот { --фото-в: min(125vw, calc(46svh - var(--недостаёт) * .1)); }
}}