/* Квест-лендинг v2 «В вашем Битрикс24 живёт дракон». Продающая страница: мир и пиксели как приправа.
   Одна анимация на всю страницу (дыхание и глаза дракона), при prefers-reduced-motion выключена.
   Pixelify Sans только в маленьких метках и кнопках, заглавными; заголовки и текст Alegreya.
   Инлайн-стилей нет: так требует Content-Security-Policy лендинга. */

@font-face { font-family: "Pixelify Sans"; src: url(/assets/fonts/pixelify-sans.woff2?v=b1560ef5bf) format("woff2"); font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url(/assets/fonts/alegreya-400.woff2?v=b1560ef5bf) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url(/assets/fonts/alegreya-700.woff2?v=b1560ef5bf) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url(/assets/fonts/alegreya-400-italic.woff2?v=b1560ef5bf) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

:root {
  --s: 5;
  --k: #140c11; --k2: #1d1218; --k3: #231820;
  --st1: #302c2b; --st2: #483b3a; --st3: #775c55; --st4: #aa8d7a; --st5: #d3bfa9;
  --w: #fdf7ed; --gold: #facb3e; --gold2: #ffcc68; --orange2: #c56025;
  --line: #222222;
  /* Боль тлеет красным в тёмном логове, решение на светлом пергаменте с зелёным */
  --ember: #f26b52;
  --day: #f3e8d2; --day2: #e2d3b6; --ink: #231820; --ink2: #5b4a42; --green: #276b3d;
  --fog1: #3b3036; --fog2: #6e625f; --fog3: #a99c91; --fog4: #d6c9b5;
  --px: "Pixelify Sans", system-ui, sans-serif;
  --book: "Alegreya", Georgia, "Times New Roman", serif;
}
@media (max-width: 379px) { :root { --s: 4; } }
@media (min-width: 960px) { :root { --s: 6; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--k); color: var(--w); font: 400 19px/1.5 var(--book); overflow-x: hidden; }
img { image-rendering: pixelated; }
a { color: var(--gold); }
h1, h2, h3, p, ul, figure { margin: 0; }
ul { padding: 0; list-style: none; }
b { font-weight: 700; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 16px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 3px dashed var(--w); outline-offset: 4px; }

/* Маленькие пиксельные метки */
.px, .tag { font: 600 13px/1.2 var(--px); letter-spacing: .08em; text-transform: uppercase; }
.tag { display: inline-block; padding: 3px 7px 4px; color: var(--w); background: var(--st3); }

/* Кнопка: пиксельная рамка со срезанными углами */
.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 14px 26px 16px;
  font: 600 18px/1.1 var(--px); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; text-align: center;
  color: var(--k); background: var(--gold); border: 0; cursor: pointer;
  box-shadow: 0 -3px 0 0 var(--line), 0 3px 0 0 var(--line), -3px 0 0 0 var(--line), 3px 0 0 0 var(--line),
    inset 0 -5px 0 0 var(--orange2), inset 0 3px 0 0 var(--gold2);
}
.btn:hover { background: var(--gold2); }
.btn:active { transform: translateY(2px); }
.btn:focus-visible { outline-offset: 7px; }
.cta { margin-top: 24px; }

/* ================= 1. Первый экран ================= */
.hero { padding: 20px 0 8px; }
.hero-grid { display: grid; gap: 18px; justify-items: center; }
/* Кадр из сцены ворот: арка 68×64 из картинки 128×96, целый масштаб --s */
.art { position: relative; width: calc(68px * var(--s)); height: calc(64px * var(--s)); overflow: hidden; }
.art::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 72% 70% at 50% 50%, rgba(20, 12, 17, 0) 60%, var(--k) 100%); }
.art-in { position: absolute; left: calc(-30px * var(--s)); top: calc(-20px * var(--s)); width: calc(128px * var(--s)); height: calc(96px * var(--s)); }
.art-bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.art-dragon, .art-eyes, .art-gold, .art-glow { position: absolute; display: block; }
.art-dragon { left: calc(40px * var(--s)); top: calc(30px * var(--s)); }
.art-dragon img { display: block; width: calc(48px * var(--s)); height: auto; }
.art-gold { left: calc(40px * var(--s)); top: calc(68px * var(--s)); width: calc(48px * var(--s)); height: auto; }
/* глаза: третий кадр ленты 48×3 (горят) */
.art-eyes { left: calc(56px * var(--s)); top: calc(56px * var(--s)); width: calc(16px * var(--s)); height: calc(3px * var(--s)); overflow: hidden; }
.art-eyes img { display: block; width: calc(48px * var(--s)); height: 100%; max-width: none; transform: translateX(-66.6667%); }
.art-glow { left: calc(50px * var(--s)); top: calc(51px * var(--s)); width: calc(28px * var(--s)); height: calc(13px * var(--s)); opacity: .7;
  background: radial-gradient(closest-side, rgba(250, 203, 62, .42), rgba(238, 142, 46, 0)); }
@media (prefers-reduced-motion: no-preference) {
  .art-dragon, .art-eyes { animation: breathe 5.2s steps(1) infinite; }
  .art-glow { animation: glow 5.2s ease-in-out infinite; }
}
@keyframes breathe { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(calc(-1px * var(--s))); } }
@keyframes glow { 0%, 100% { opacity: .45; } 50% { opacity: 1; } }

.hero-text { max-width: 620px; }
h1 { font: 700 31px/1.15 var(--book); letter-spacing: -.005em; }
h1 .hl { color: var(--gold); }
.lead { margin-top: 14px; font-size: 20px; line-height: 1.45; color: var(--st5); }
.hero .btn { width: 100%; max-width: 420px; }

@media (min-width: 960px) {
  .hero { padding: 56px 0 24px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-items: start; gap: 56px; }
  .hero-text { order: -1; }
  h1 { font-size: 50px; }
  .lead { font-size: 22px; }
  .hero .btn { width: auto; }
}

/* ================= Секции ================= */
.sec { padding: 56px 0 8px; }
h2 { font: 700 29px/1.2 var(--book); margin-bottom: 22px; }
@media (min-width: 960px) { .sec { padding-top: 96px; } h2 { font-size: 42px; margin-bottom: 32px; } }

/* 2. Чем он питается */
.eats { display: grid; gap: 14px; }
.eat { display: grid; grid-template-columns: 96px 1fr; grid-template-rows: 76px auto; grid-template-areas: "ico ttl" "txt txt"; gap: 8px 14px; align-items: center;
  padding: 14px 14px 16px; background: var(--k2); margin: 3px;
  box-shadow: 0 -3px 0 0 var(--st1), 0 3px 0 0 var(--st1), -3px 0 0 0 var(--st1), 3px 0 0 0 var(--st1); }
.eat h3 { grid-area: ttl; font: 700 21px/1.2 var(--book); }
.eat p { grid-area: txt; font-size: 17px; line-height: 1.35; color: var(--st5); }
.num { display: block; margin-bottom: 2px; font: 700 32px/1.1 var(--book); color: var(--ember); white-space: nowrap; }
.ico { grid-area: ico; justify-self: center; align-self: center; display: block; background-repeat: no-repeat; background-position: 0 0; }
.ico-ghost { width: 64px; height: 64px; background-image: url(/assets/sprites/ghost.png?v=b1560ef5bf); background-size: 192px 64px; }
.ico-legion { width: 96px; height: 54px; background-image: url(/assets/sprites/legion.png?v=b1560ef5bf); background-size: 96px 54px; }
.ico-silence { width: 72px; height: 72px; background-image: url(/assets/sprites/silence.png?v=b1560ef5bf); background-size: 72px 72px; }
.ico-mimic { width: 64px; height: 64px; background-image: url(/assets/sprites/mimic.png?v=b1560ef5bf); background-size: 256px 64px; background-position: -128px 0; }
.src { margin-top: 16px; font-size: 15px; line-height: 1.4; color: var(--st4); }
@media (min-width: 960px) {
  .eats { grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .eat { grid-template-columns: 1fr; grid-template-rows: 76px auto auto; grid-template-areas: "ico" "ttl" "txt"; align-content: start; align-items: start; padding: 20px 18px; }
  .eat .ico { justify-self: start; align-self: end; }
  .eat h3 { min-height: 2.4em; }
}

/* 3. Туман, затем светлая зона решения: ступенчатая полоса рассеивающегося тумана сверху (.day-in)
   и сгущающегося снизу (.day-out, после «дракон возвращается») */
.sec-fog { padding-bottom: 0; }
.fog { margin: 0; max-width: 700px; }
.day { color: var(--ink); background: var(--day); }
.day-in { margin-top: 36px; padding: 76px 0 8px;
  background: linear-gradient(to bottom, var(--fog1) 0 10px, var(--fog2) 10px 20px, var(--fog3) 20px 30px, var(--fog4) 30px 40px, var(--day) 40px); }
.day-out { margin-top: -1px; padding-bottom: 96px; /* −1px: без шва от дробной высоты секции выше */
  background: linear-gradient(to top, var(--fog1) 0 10px, var(--fog2) 10px 20px, var(--fog3) 20px 30px, var(--fog4) 30px 40px, var(--day) 40px); }
@media (min-width: 960px) {
  .day-in { margin-top: 48px; padding-top: 112px;
    background: linear-gradient(to bottom, var(--fog1) 0 16px, var(--fog2) 16px 32px, var(--fog3) 32px 48px, var(--fog4) 48px 64px, var(--day) 64px); }
  .day-out { padding-bottom: 136px;
    background: linear-gradient(to top, var(--fog1) 0 16px, var(--fog2) 16px 32px, var(--fog3) 32px 48px, var(--fog4) 48px 64px, var(--day) 64px); }
}
.win { display: grid; gap: 22px; }
.win-h { font: 700 29px/1.2 var(--book); color: var(--ink); }
.tg { max-width: 460px; padding: 12px; background: #0e1621; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  box-shadow: 0 -3px 0 0 var(--line), 0 3px 0 0 var(--line), -3px 0 0 0 var(--line), 3px 0 0 0 var(--line); }
.tg-head { display: flex; align-items: center; gap: 10px; padding: 2px 2px 12px; font-size: 16px; color: #e9eef2; }
.tg-head .tag { margin-left: auto; }
.tg-ava { width: 36px; height: 36px; border-radius: 50%; background: #2b5278 url(/assets/sprites/owl.png?v=b1560ef5bf) 2px 2px / 96px 32px no-repeat; }
.tg-msg { position: relative; padding: 10px 14px 24px; background: #182533; color: #e9eef2; font-size: 17px; line-height: 1.4; border-radius: 4px 14px 14px 14px; }
.tg-msg p + p { margin-top: 4px; }
.tg-k { font-weight: 700; }
.tg-link { color: #6ab3f3; text-decoration: underline; text-underline-offset: 3px; }
.tg-time { position: absolute; right: 12px; bottom: 6px; font-size: 13px; color: #8c9aa8; }
@media (min-width: 960px) { .win { grid-template-columns: 1fr 460px; gap: 56px; align-items: center; } .win-h { font-size: 42px; } }

/* 4. Уже победили */
.done { display: grid; gap: 0; }
.done li { display: grid; gap: 4px; padding: 16px 0; border-top: 3px solid var(--day2); }
.done li:first-child { border-top: 0; padding-top: 0; }
.big { font: 700 38px/1.1 var(--book); color: var(--green); }
.done .px { color: var(--ink2); margin-bottom: 2px; }
.done li > span:last-child { font-size: 18px; line-height: 1.4; color: var(--ink2); }
.warn { margin-top: 20px; padding-left: 14px; border-left: 4px solid var(--ember); font-size: 16px; line-height: 1.45; color: var(--ink2); }
@media (min-width: 960px) {
  .done { grid-template-columns: repeat(3, 1fr); gap: 32px; }
  .done li { border-top: 0; padding: 0; }
  .big { font-size: 48px; }
  .warn { max-width: 760px; margin-top: 32px; }
}

/* 5. Первая партия бесплатно */
.party { padding-bottom: 64px; }
.party .lead { margin-top: 0; max-width: 700px; }
.checks { border: 0; margin: 24px 0 0; padding: 0; min-width: 0; }
.checks legend { padding: 0; margin-bottom: 12px; color: var(--st4); }
.chk-list { display: flex; flex-wrap: wrap; gap: 6px 6px; }
.chk { position: relative; cursor: pointer; }
.chk input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.chk span { display: inline-block; padding: 7px 9px 8px; font-size: 15.5px; line-height: 1.25; color: var(--st5); background: var(--k2); margin: 3px;
  box-shadow: 0 -3px 0 0 var(--st2), 0 3px 0 0 var(--st2), -3px 0 0 0 var(--st2), 3px 0 0 0 var(--st2); }
.chk:hover span { color: var(--w); }
.chk input:focus-visible + span { outline: 3px dashed var(--w); outline-offset: 6px; }
.chk input:checked + span { color: var(--w); background: #2a1f14 url(/assets/sprites/check.png?v=b1560ef5bf) 10px 50% / 16px 12px no-repeat; padding-left: 32px;
  box-shadow: 0 -3px 0 0 var(--gold), 0 3px 0 0 var(--gold), -3px 0 0 0 var(--gold), 3px 0 0 0 var(--gold); }
.party .btn { min-width: 260px; }
.hint { margin-top: 12px; font-size: 16px; line-height: 1.4; color: var(--st4); }
.hint:empty { display: none; }
.hint.is-ok { color: var(--gold); font-weight: 700; }
.copy-text { width: 100%; max-width: 520px; margin-top: 10px; padding: 10px; font: 400 16px/1.4 var(--book); color: var(--w); background: var(--k2); border: 3px solid var(--st3); border-radius: 0; }

/* Подвал */
.foot { padding: 28px 0 36px; background: var(--k2); font-size: 16px; line-height: 1.5; color: var(--st4); }
.foot p + p { margin-top: 8px; }
.foot b { color: var(--st5); }
.foot-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px !important; font-size: 17px; }
.foot-links a { color: var(--gold); padding: 6px 0; }
.credits { font-size: 14px; }
.credits a { color: var(--st5); }
