/* Слайды 1920×1080: «Режим ведущего», PPTX и PDF рендерятся из одной вёрстки. */

.deck-body { margin: 0; background: #0F1629; color: #fff; overflow: hidden; height: 100vh; font-family: var(--font); }
.deck-body.render { background: transparent; overflow: visible; height: auto; }
.viewport { position: fixed; inset: 0; display: grid; place-items: center; }
.stage-wrap { position: relative; width: 1920px; height: 1080px; transform-origin: 0 0; }
.slide {
  position: absolute; inset: 0; width: 1920px; height: 1080px; overflow: hidden;
  background: #fff; color: var(--ink); font-family: var(--font); font-size: 44px; line-height: 1.3;
}
.slide * { box-sizing: border-box; }
.slide .pad { position: absolute; inset: 0; padding: 150px 110px 110px; }
.slide.dark { background: var(--ink); color: #fff; }
.slide.canvas-bg { background: #FBFAF7 url("../img/dots.svg") repeat 0 0 / 14px 14px; }
.slide.dark.canvas-bg { background: var(--ink) url("../img/dots-dark.svg") repeat 0 0 / 14px 14px; }

/* шаги (появление по щелчку) */
.slide [data-step] { transition: opacity .35s ease, transform .35s ease; }
.slide [data-step].hidden { opacity: 0; transform: translateY(14px); pointer-events: none; }
.render .slide [data-step] { transition: none; }

/* общие детали */
.kicker {
  position: absolute; left: 110px; top: 66px; display: flex; align-items: center; gap: 16px;
  font-weight: 900; font-size: 30px; letter-spacing: .01em; color: var(--ink-2);
}
.kicker img { width: 40px; height: 40px; }
.dark .kicker { color: rgba(255, 255, 255, .8); }
.progress { position: absolute; right: 110px; top: 70px; display: flex; gap: 10px; align-items: center; }
.progress span { font-weight: 900; font-size: 22px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-right: 8px; }
.progress .pstar { width: 30px; height: 30px; display: block; }
.dark .progress span { color: rgba(255, 255, 255, .6); }

.snum { position: absolute; right: 44px; bottom: 30px; font-size: 22px; font-weight: 800; color: rgba(30, 42, 74, .35); }
.dark .snum { color: rgba(255, 255, 255, .35); }
.slide .band { position: absolute; left: 0; right: 0; bottom: 0; height: 64px; background: url("../img/band-tile.svg") repeat-x center / auto 56px; }
.slide.dark .band { background-color: transparent; }
.h1 { font-weight: 900; font-size: 96px; line-height: 1.05; letter-spacing: -.015em; margin: 0; }
.h2 { font-weight: 900; font-size: 76px; line-height: 1.08; letter-spacing: -.01em; margin: 0; }
.lead2 { font-size: 46px; line-height: 1.32; color: var(--ink-2); font-weight: 600; }
.dark .lead2 { color: rgba(255, 255, 255, .86); }
.kb-img { position: absolute; filter: drop-shadow(0 20px 26px rgba(30, 42, 74, .18)); }
.st { color: var(--mar-ink); font-weight: 900; }

/* язык: цвета */
.L-ru { --c: var(--ru); --ci: var(--ru-ink); --ct: var(--ru-tint); }
.L-mar { --c: var(--mar); --ci: var(--mar-ink); --ct: var(--mar-tint); }
.L-tat { --c: var(--tat); --ci: var(--tat-ink); --ct: var(--tat-tint); }
.L-chv { --c: var(--chv); --ci: var(--chv-ink); --ct: var(--chv-tint); }
.pill { display: inline-flex; align-items: center; gap: 12px; font-weight: 900; font-size: 28px; letter-spacing: .06em; text-transform: uppercase; padding: 9px 22px 9px 14px; border-radius: 999px; background: var(--c); color: #fff; }
.pill img { width: 34px; height: 34px; background: #fff; border-radius: 50%; padding: 4px; }
.L-chv .pill, .pill.L-chv { color: var(--ink); }

/* обложка */
.cover-title { position: absolute; left: 110px; top: 170px; width: 900px; }
.cover-title .h1 { font-size: 150px; line-height: .98; }
.cover-title .h1 span { display: block; }
.cover-title .h1 .c2 { color: var(--mar); }
.cover-title .sub { margin-top: 36px; font-size: 46px; font-weight: 700; color: var(--ink-2); line-height: 1.25; }
.cover-title .lib { margin-top: 40px; font-size: 32px; font-weight: 800; color: var(--muted); }
.cover-art { position: absolute; right: 60px; top: 110px; width: 860px; height: 820px; }
.cover-art .kb-img { width: 500px; left: 190px; top: 180px; }
.cbub { position: absolute; background: #fff; border-radius: 30px; padding: 16px 30px; font-weight: 900; font-size: 54px; box-shadow: 0 2px 4px rgba(30, 42, 74, .08), 0 20px 40px rgba(30, 42, 74, .14); color: var(--ci); white-space: nowrap; }
.cbub small { display: block; font-size: 22px; letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.cbub::after { content: ""; position: absolute; width: 26px; height: 26px; background: #fff; bottom: -11px; left: 46px; transform: rotate(45deg); border-radius: 5px; }
.cbub.b0 { left: 40px; top: 40px; } .cbub.b1 { right: 0; top: 0; } .cbub.b2 { left: 60px; bottom: 90px; } .cbub.b3 { right: 0; bottom: 150px; }

/* «скажи» */
.say-text { position: absolute; left: 110px; top: 250px; width: 1080px; }
.say-text .lead2 { margin-top: 40px; }
.say .kb-img { right: 160px; top: 260px; width: 470px; }

/* вопрос */
.q-wrap { position: absolute; left: 110px; top: 230px; width: 1120px; }
.q-wrap .h2 { font-size: 86px; }
.answer-bubble { margin-top: 70px; display: inline-block; background: var(--ink); color: #fff; font-weight: 900; font-size: 92px; padding: 24px 54px; border-radius: 40px; position: relative; }
.answer-bubble::before { content: "Дети:"; position: absolute; top: -46px; left: 6px; font-size: 30px; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.question .kb-img { right: 150px; top: 290px; width: 480px; }

/* карточки слов */
.words-title { position: absolute; left: 110px; top: 150px; }
.wgrid { position: absolute; left: 110px; right: 110px; top: 300px; bottom: 100px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 30px 34px; }
.wc { border-radius: 40px; background: var(--ct); padding: 28px 40px 26px; display: flex; flex-direction: column; align-items: flex-start; position: relative; overflow: hidden; }
.wc .motif { position: absolute; right: -20px; top: 50%; transform: translateY(-50%); width: 250px; opacity: .2; }
.wc .w { margin-top: 10px; font-weight: 900; color: var(--ci); line-height: 1.08; letter-spacing: -.01em; white-space: nowrap; width: 100%; position: relative; }
.wc .read { margin-top: auto; font-size: 34px; font-weight: 700; color: var(--ink-2); line-height: 1.2; position: relative; display: flex; gap: 14px; align-items: baseline; }
.wc .read small { font-size: 22px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 900; }

/* смысл приветствий */
.mrows { position: absolute; left: 110px; right: 110px; top: 330px; display: grid; gap: 34px; }
.mrow { display: grid; grid-template-columns: 560px 90px 1fr; align-items: center; background: #fff; border-radius: 34px; padding: 26px 34px; box-shadow: 0 2px 4px rgba(30, 42, 74, .06), 0 16px 34px rgba(30, 42, 74, .08); }
.mrow .w { font-weight: 900; font-size: 74px; color: var(--ci); line-height: 1.05; }
.mrow .w small { display: block; font-size: 24px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.mrow .arr { font-size: 80px; color: var(--muted); text-align: center; font-weight: 900; }
.mrow .m { font-size: 64px; font-weight: 800; }

/* правила */
.rules-wrap { position: absolute; left: 110px; top: 210px; width: 1100px; }
.rules-wrap .h1 { font-size: 120px; color: var(--mar); }
.rules-wrap ol { margin: 60px 0 0; padding: 0; list-style: none; counter-reset: r; }
.rules-wrap li { counter-increment: r; display: flex; gap: 30px; align-items: flex-start; font-size: 50px; font-weight: 700; margin-bottom: 34px; line-height: 1.25; }
.rules-wrap li::before { content: counter(r); flex: none; width: 76px; height: 76px; border-radius: 24px; background: var(--ink); color: #fff; display: grid; place-items: center; font-weight: 900; font-size: 44px; margin-top: -4px; }
.rules-icon { position: absolute; right: 150px; top: 240px; width: 520px; height: 520px; }

/* поймай спасибо */
.catch-card { position: absolute; left: 50%; top: 560px; transform: translate(-50%, -50%); width: 1200px; height: 560px; border-radius: 60px; background: #fff; display: grid; place-items: center; box-shadow: 0 2px 6px rgba(30, 42, 74, .08), 0 30px 60px rgba(30, 42, 74, .16); }
.catch-card.blank { background: var(--canvas); box-shadow: none; border: 6px dashed rgba(30, 42, 74, .15); }
.catch-card .cw { font-weight: 900; font-size: 190px; line-height: 1; letter-spacing: -.02em; }
.catch-card .ch { position: absolute; top: 36px; right: 50px; font-size: 30px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.catch-card .blank-t { font-size: 64px; font-weight: 900; color: var(--muted); text-align: center; line-height: 1.2; }
.catch-title { position: absolute; left: 110px; top: 150px; }
.catch-list { position: absolute; left: 110px; right: 110px; top: 330px; display: flex; flex-wrap: wrap; gap: 26px; }
.catch-list span { font-size: 60px; font-weight: 900; padding: 14px 34px; border-radius: 26px; background: var(--canvas); color: var(--ink-2); }
.catch-list span.hit { background: var(--mar); color: #fff; }
.catch-list span.hit::after { content: " 👏"; }
.catch-legend { position: absolute; left: 110px; bottom: 120px; font-size: 34px; color: var(--muted); font-weight: 700; }

/* родственники */
.rel-pair { position: absolute; left: 110px; top: 320px; display: flex; align-items: center; gap: 28px; }
.rel-card { width: 470px; height: 330px; border-radius: 44px; background: var(--ct); display: flex; flex-direction: column; justify-content: center; padding: 0 40px; }
.rel-card .w { font-size: 130px; font-weight: 900; color: var(--ci); line-height: 1; }
.rel-card .sub { font-size: 30px; font-weight: 800; color: var(--ink-2); margin-top: 14px; line-height: 1.2; }
.rel-card .pill { align-self: flex-start; margin-bottom: 18px; }
.rel-eq { font-size: 120px; font-weight: 900; color: var(--mar); }
.rel-note { position: absolute; left: 110px; top: 700px; width: 1150px; font-size: 44px; font-weight: 700; color: var(--ink-2); }
.rel-trick { position: absolute; right: 110px; top: 300px; width: 560px; height: 660px; border-radius: 44px; background: var(--ink); color: #fff; padding: 44px; display: flex; flex-direction: column; }
.rel-trick b { font-size: 30px; letter-spacing: .1em; text-transform: uppercase; color: var(--chv); }
.rel-trick .w { font-size: 64px; font-weight: 900; margin: 18px 0 10px; line-height: 1.15; }
.rel-trick svg { margin-top: auto; width: 100%; height: 260px; }

/* подарки */
.gift-main { position: absolute; left: 110px; top: 300px; right: 110px; display: flex; align-items: center; gap: 40px; background: var(--chv-tint); border-radius: 44px; padding: 40px 56px; }
.gift-main .ru { font-size: 110px; font-weight: 900; color: var(--ru-ink); }
.gift-main .arr { font-size: 90px; font-weight: 900; color: var(--muted); }
.gift-main .src { font-size: 96px; font-weight: 900; color: var(--tat-ink); }
.gift-main .m { font-size: 52px; font-weight: 800; color: var(--ink-2); }
.gift-main svg { width: 230px; height: 230px; flex: none; margin-left: auto; }
.gift-pairs { position: absolute; left: 110px; right: 110px; top: 680px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.gift-pair { position: relative; height: 230px; border-radius: 40px; background: #fff; box-shadow: 0 2px 4px rgba(30, 42, 74, .06), 0 16px 34px rgba(30, 42, 74, .1); display: flex; align-items: center; gap: 30px; padding: 0 44px; }
.gift-pair .tat { font-size: 88px; font-weight: 900; color: var(--tat-ink); }
.gift-pair .arr { font-size: 70px; color: var(--muted); font-weight: 900; }
.gift-pair .ru { font-size: 88px; font-weight: 900; color: var(--ru-ink); }
.gift-pair .qm { font-size: 88px; font-weight: 900; color: rgba(30, 42, 74, .2); }
.gift-pair .slot { position: relative; display: inline-grid; place-items: center; min-width: 330px; height: 140px; border-radius: 30px; background: var(--canvas); }
.gift-pair .ans { position: absolute; inset: 0; display: grid; place-items: center; background: var(--ru-tint); border-radius: 30px; }

/* угадай язык */
.guess-word { position: absolute; left: 50%; top: 440px; transform: translate(-50%, -50%); width: 1300px; height: 400px; border-radius: 60px; background: #fff; box-shadow: 0 2px 6px rgba(30, 42, 74, .08), 0 30px 60px rgba(30, 42, 74, .15); display: grid; place-items: center; }
.guess-word .cw { font-weight: 900; font-size: 170px; letter-spacing: -.02em; line-height: 1; }
.guess-chips { position: absolute; left: 110px; right: 110px; top: 720px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.gchip { height: 190px; border-radius: 40px; border: 6px solid var(--c); display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 900; font-size: 48px; color: var(--ci); background: #fff; position: relative; }
.gchip img { width: 70px; margin-bottom: 8px; }
.gchip.on { background: var(--c); color: #fff; }
.L-chv.gchip.on { color: var(--ink); }
.gchip .ok { position: absolute; top: -34px; right: -20px; width: 84px; height: 84px; border-radius: 50%; background: #fff; display: grid; place-items: center; box-shadow: 0 6px 16px rgba(30, 42, 74, .2); }
.gchip .ok svg { width: 52px; height: 52px; }

/* словарик дружбы */
.groups { position: absolute; left: 110px; right: 110px; top: 300px; bottom: 120px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
.group { border-radius: 40px; background: var(--canvas); padding: 30px; display: flex; flex-direction: column; gap: 16px; }
.group h3 { font-size: 50px; font-weight: 900; margin: 0 0 8px; text-align: center; }
.group .chip { font-size: 46px; font-weight: 900; border-radius: 24px; padding: 12px 26px; background: #fff; color: var(--ci); box-shadow: 0 2px 0 rgba(30, 42, 74, .08); display: flex; justify-content: space-between; align-items: center; }
.group .chip small { font-size: 20px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.pool { position: absolute; left: 110px; right: 110px; top: 300px; height: 640px; border-radius: 40px; border: 6px dashed rgba(30, 42, 74, .14); }
.pool .chip { position: absolute; font-size: 48px; font-weight: 900; border-radius: 26px; padding: 12px 30px; background: #fff; color: var(--ink); box-shadow: 0 2px 4px rgba(30, 42, 74, .08), 0 12px 24px rgba(30, 42, 74, .1); white-space: nowrap; }
.pool-heads { position: absolute; left: 110px; right: 110px; top: 220px; display: flex; gap: 20px; justify-content: center; }
.pool-heads span { font-size: 38px; font-weight: 900; background: var(--ink); color: #fff; border-radius: 999px; padding: 6px 28px; }

/* клубок */
.kl-text { position: absolute; left: 110px; top: 250px; width: 900px; }
.kl-text ol { margin: 50px 0 0; padding: 0; list-style: none; counter-reset: r; }
.kl-text li { counter-increment: r; display: flex; gap: 28px; font-size: 48px; font-weight: 700; margin-bottom: 30px; line-height: 1.25; }
.kl-text li::before { content: counter(r); flex: none; width: 72px; height: 72px; border-radius: 22px; background: var(--mar); color: #fff; display: grid; place-items: center; font-weight: 900; font-size: 42px; }
.kl-art { position: absolute; right: 100px; top: 170px; width: 820px; height: 820px; }

/* викторина */
.quiz-body { position: absolute; left: 110px; right: 110px; top: 170px; bottom: 90px; display: flex; flex-direction: column; gap: 26px; }
.quiz-q { margin-bottom: 20px; }
.quiz-q .h2 { font-size: 80px; max-width: 1600px; }
.quiz-opts { display: grid; gap: 22px; }
.qopt { position: relative; display: flex; align-items: center; gap: 30px; font-size: 56px; font-weight: 800; background: var(--canvas); border-radius: 30px; padding: 20px 34px; height: 116px; }
.qopt b { width: 76px; height: 76px; border-radius: 22px; background: var(--ink); color: #fff; display: grid; place-items: center; font-size: 42px; flex: none; }
.qopt.okmark { position: absolute; inset: 0; background: var(--tat); color: #fff; padding: 20px 34px; }
.qopt.okmark b { background: #fff; color: var(--tat-ink); }
.qopt.okmark i { margin-left: auto; font-style: normal; width: 76px; height: 76px; }
.quiz-ans { font-size: 48px; font-weight: 800; color: var(--tat-ink); background: var(--tat-tint); border-radius: 30px; padding: 22px 40px; line-height: 1.25; }
.quiz-ans.big { font-size: 66px; margin-top: 30px; }

/* книги */
.books-grid { position: absolute; left: 110px; right: 110px; top: 300px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
.bookc { height: 300px; border-radius: 18px 34px 34px 18px; background: var(--c); color: #fff; padding: 30px 34px 30px 58px; position: relative; display: flex; flex-direction: column; box-shadow: 0 16px 30px rgba(30, 42, 74, .16); overflow: hidden; }
.bookc::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 28px; background: rgba(0, 0, 0, .16); }
.bookc .bt { font-size: 42px; font-weight: 900; line-height: 1.12; }
.bookc .ba { margin-top: auto; padding-right: 76px; font-size: 27px; font-weight: 700; line-height: 1.2; opacity: .9; }
.bookc img { position: absolute; right: -24px; bottom: -24px; width: 136px; opacity: .3; }
.L-chv.bookc { color: var(--ink); }
.L-chv.bookc img { opacity: .22; }

/* секрет */
.secret-card { position: absolute; left: 160px; top: 200px; width: 1180px; height: 700px; background: #fff; color: var(--ink); border-radius: 50px; padding: 70px 80px; box-shadow: 0 40px 80px rgba(0, 0, 0, .35); }
.secret-card .lbl { font-weight: 900; font-size: 36px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.secret-card .num { font-weight: 900; font-size: 150px; line-height: 1; color: var(--mar); margin: 6px 0 20px; }
.secret-card .txt { font-weight: 900; font-size: 80px; line-height: 1.12; letter-spacing: -.01em; }
.secret-card.main .txt { font-size: 66px; }
.secret-card .seal { position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: var(--mar); display: grid; place-items: center; box-shadow: 0 10px 20px rgba(0, 0, 0, .25); }
.secret-card .seal img { width: 120px; }
.secret-uzor { position: absolute; right: 120px; top: 230px; width: 440px; text-align: center; }
.secret-uzor img { width: 440px; background: #fff; border-radius: 30px; padding: 18px; }
.secret-uzor p { font-size: 30px; font-weight: 800; color: rgba(255, 255, 255, .75); margin-top: 18px; }
.spark { position: absolute; width: 60px; }

/* узор */
.uzor-big { position: absolute; left: 50%; top: 600px; transform: translate(-50%, -50%); width: 700px; }
.uzor-side { position: absolute; left: 110px; top: 380px; width: 460px; font-size: 48px; font-weight: 700; color: var(--ink-2); }
.uzor-side2 { position: absolute; right: 110px; top: 420px; width: 400px; }

/* перекличка */
.call-rows { position: absolute; left: 110px; right: 110px; top: 300px; display: grid; gap: 28px; }
.call-row { display: grid; grid-template-columns: 640px 1fr; gap: 34px; align-items: center; }
.call-row .q { height: 150px; border-radius: 34px; background: var(--c); color: #fff; font-size: 68px; font-weight: 900; display: flex; align-items: center; padding: 0 40px; gap: 24px; }
.call-row .q img { width: 74px; background: #fff; border-radius: 50%; padding: 10px; }
.L-chv .q { color: var(--ink); }
.call-row .a { height: 150px; border-radius: 34px; background: var(--ct); color: var(--ci); font-size: 92px; font-weight: 900; display: flex; align-items: center; padding: 0 50px; }

/* финал */
.end-title { position: absolute; left: 110px; top: 200px; }
.end-title .h1 { font-size: 200px; color: var(--mar); }
.end-words { position: absolute; left: 110px; top: 470px; display: flex; gap: 22px; flex-wrap: wrap; width: 1150px; }
.end-words span { font-size: 64px; font-weight: 900; padding: 12px 34px; border-radius: 28px; background: var(--ct); color: var(--ci); }
.end-text { position: absolute; left: 110px; top: 660px; width: 1000px; font-size: 44px; font-weight: 700; color: var(--ink-2); }
.end-qr { position: absolute; right: 120px; top: 230px; width: 520px; text-align: center; }
.end-qr .qr { width: 520px; height: 520px; background: #fff; border-radius: 30px; padding: 30px; box-shadow: 0 16px 40px rgba(30, 42, 74, .14); display: grid; place-items: center; }
.end-qr .qr svg { width: 100%; height: 100%; }
.end-qr .qr.empty { border: 6px dashed rgba(30, 42, 74, .2); box-shadow: none; color: var(--muted); font-size: 34px; font-weight: 800; }
.end-qr p { margin-top: 20px; font-size: 32px; font-weight: 800; color: var(--ink-2); word-break: break-all; }
.end .kb-img { left: 1160px; top: 780px; width: 220px; }

/* языки */
.langs4 { position: absolute; left: 110px; right: 110px; top: 300px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; }
.lc { height: 470px; border-radius: 40px; background: var(--ct); padding: 40px 34px; display: flex; flex-direction: column; align-items: flex-start; }
.lc img { width: 150px; margin-bottom: auto; }
.lc .n { font-size: 60px; font-weight: 900; color: var(--ci); line-height: 1.05; }
.lc .s { font-size: 36px; font-weight: 700; color: var(--ink-2); margin-top: 6px; font-style: italic; }
.langs-note { position: absolute; left: 110px; right: 110px; top: 820px; font-size: 42px; font-weight: 700; color: var(--ink-2); display: flex; gap: 26px; align-items: center; }
.langs-note img { width: 80px; }

/* Осеева */
.os-book { position: absolute; left: 150px; top: 240px; width: 520px; height: 680px; border-radius: 18px 40px 40px 18px; background: var(--ru); color: #fff; padding: 60px 50px 50px 80px; box-shadow: 0 30px 60px rgba(30, 42, 74, .25); overflow: hidden; }
.os-book::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 34px; background: rgba(0, 0, 0, .18); }
.os-book .a { font-size: 36px; font-weight: 800; opacity: .9; }
.os-book .t { font-size: 62px; font-weight: 900; line-height: 1.08; margin-top: 20px; }
.os-book img { position: absolute; right: 30px; bottom: 30px; width: 200px; opacity: .9; }
.os-text { position: absolute; left: 800px; top: 240px; width: 1000px; }
.os-text .h2 { font-size: 72px; }
.os-quote { margin-top: 44px; font-family: var(--serif); font-size: 50px; line-height: 1.35; color: var(--ink); background: var(--canvas); border-radius: 34px; padding: 40px 50px; }
.os-ans { margin-top: 40px; display: inline-block; background: var(--mar); color: #fff; font-weight: 900; font-size: 80px; border-radius: 34px; padding: 14px 44px; }

/* день языков */
.day-date { position: absolute; left: 110px; top: 230px; width: 520px; height: 600px; border-radius: 44px; background: var(--ink); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; overflow: hidden; }
.day-date .d { font-size: 280px; font-weight: 900; line-height: .9; color: var(--chv); }
.day-date .m { font-size: 80px; font-weight: 900; }
.day-date img { position: absolute; opacity: .18; width: 130px; }
.day-text { position: absolute; left: 720px; top: 230px; width: 1090px; }
.day-text .h2 { font-size: 78px; }
.day-text .lead2 { margin-top: 30px; }
.day-quote { margin-top: 44px; font-family: var(--serif); font-size: 46px; line-height: 1.35; padding-left: 74px; position: relative; }
.day-quote::before { content: "«"; position: absolute; left: 0; top: -38px; font-size: 130px; color: var(--chv); font-family: var(--serif); }
.day-quote cite { display: block; font-family: var(--font); font-style: normal; font-size: 30px; font-weight: 800; color: var(--muted); margin-top: 12px; }

/* ---------- презентация для жюри */
.j-cover .h1 { font-size: 130px; }
.j-top { position: absolute; left: 110px; top: 110px; right: 110px; font-size: 32px; font-weight: 800; color: var(--muted); }
.j-top b { color: var(--ink); }
.j-title { position: absolute; left: 110px; top: 300px; width: 1150px; }
.j-title .sub { font-size: 48px; font-weight: 700; color: var(--ink-2); margin-top: 30px; line-height: 1.25; }
.j-meta { position: absolute; left: 110px; bottom: 140px; width: 1150px; font-size: 32px; line-height: 1.45; color: var(--ink-2); }
.j-meta b { color: var(--ink); }
.j-cover .kb-img { right: 170px; top: 300px; width: 460px; }
.j-h { position: absolute; left: 110px; top: 150px; right: 110px; }
.j-h .h2 { font-size: 72px; }
.j-list { position: absolute; left: 110px; right: 110px; top: 330px; display: grid; gap: 22px; }
.j-list.two { grid-template-columns: 1fr 1fr; gap: 20px 34px; top: 310px; }
.j-list.two .j-item { font-size: 31px; padding: 18px 26px; }
.j-item { display: flex; gap: 26px; align-items: flex-start; font-size: 36px; line-height: 1.32; font-weight: 600; background: #fff; border-radius: 26px; padding: 22px 30px; box-shadow: 0 2px 4px rgba(30, 42, 74, .05), 0 12px 26px rgba(30, 42, 74, .07); }
.j-item i { flex: none; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-style: normal; font-weight: 900; font-size: 28px; color: #fff; background: var(--c, var(--ink)); }
.L-chv .j-item i, .j-item.L-chv i { color: var(--ink); }
.j-goal-box { position: absolute; left: 110px; right: 110px; top: 290px; font-size: 34px; line-height: 1.35; font-weight: 700; background: var(--ink); color: #fff; border-radius: 34px; padding: 28px 40px; }
.j-cols { position: absolute; left: 110px; right: 110px; top: 520px; bottom: 80px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.j-col { background: var(--ct); border-radius: 30px; padding: 24px 28px; font-size: 25px; line-height: 1.32; }
.j-col h4 { font-size: 34px; font-weight: 900; color: var(--ci); margin: 0 0 12px; }
.j-col ul { margin: 0; padding-left: 1em; }
.j-col li { margin-bottom: 8px; }
.j-table { position: absolute; left: 110px; right: 110px; top: 320px; display: grid; grid-template-columns: 420px 1fr; gap: 0; font-size: 38px; }
.j-table div { padding: 22px 0; border-bottom: 2px solid var(--line); }
.j-table div:nth-child(odd) { font-weight: 900; color: var(--muted); font-size: 30px; letter-spacing: .06em; text-transform: uppercase; padding-top: 30px; }
.j-secrets { position: absolute; left: 110px; right: 110px; top: 310px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.j-sec { border-radius: 30px; padding: 26px 28px; background: var(--ink); color: #fff; min-height: 300px; display: flex; flex-direction: column; }
.j-sec b { font-size: 26px; letter-spacing: .12em; text-transform: uppercase; color: var(--chv); }
.j-sec p { font-size: 34px; font-weight: 800; line-height: 1.22; margin: 12px 0 0; }
.j-sec.main { background: var(--mar); }
.j-sec.main b { color: #fff; }
.j-tl { position: absolute; left: 110px; right: 110px; top: 320px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; }
.j-tl div { border-radius: 26px; background: var(--canvas); padding: 24px; min-height: 260px; display: flex; flex-direction: column; }
.j-tl div b { font-size: 52px; font-weight: 900; color: var(--mar); line-height: 1; }
.j-tl div span { font-size: 29px; font-weight: 800; line-height: 1.2; margin-top: 14px; }
.j-tl div i { margin-top: auto; font-style: normal; font-weight: 900; font-size: 28px; color: var(--muted); }
.j-visual { position: absolute; left: 110px; right: 110px; top: 320px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.j-visual div { background: var(--ct); border-radius: 30px; padding: 30px; min-height: 520px; display: flex; flex-direction: column; }
.j-visual img { width: 130px; margin-bottom: 20px; }
.j-visual b { font-size: 48px; font-weight: 900; color: var(--ci); }
.j-visual p { font-size: 30px; line-height: 1.35; margin: 14px 0 0; color: var(--ink-2); font-weight: 600; }
.j-fonts { position: absolute; left: 110px; right: 110px; bottom: 110px; font-size: 30px; color: var(--muted); font-weight: 700; }
.j-photo { position: absolute; left: 110px; right: 110px; top: 320px; bottom: 120px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 26px; }
.j-photo .ph { border-radius: 30px; background: repeating-linear-gradient(-45deg, var(--chv-tint), var(--chv-tint) 18px, #fff 18px, #fff 36px); border: 5px dashed var(--chv); display: grid; place-items: center; text-align: center; font-size: 32px; font-weight: 800; color: var(--chv-ink); padding: 30px; }
.j-photo .ph img { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; }
.j-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.j-facts div { background: var(--canvas); border-radius: 26px; padding: 22px 28px; font-size: 30px; font-weight: 800; }
.j-facts div small { display: block; font-size: 22px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.j-site-qr { position: absolute; right: 110px; top: 330px; width: 460px; }
.j-site-qr .qr { width: 460px; height: 460px; background: #fff; border-radius: 30px; padding: 26px; box-shadow: 0 16px 40px rgba(30, 42, 74, .14); display: grid; place-items: center; }
.j-site-qr .qr.empty { border: 6px dashed rgba(30, 42, 74, .2); box-shadow: none; color: var(--muted); font-size: 30px; font-weight: 800; text-align: center; }
.j-site-qr p { font-size: 30px; font-weight: 800; text-align: center; word-break: break-all; }

.j-kitgrid { position: absolute; left: 110px; right: 110px; top: 300px; bottom: 70px; display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: 1fr 1fr; gap: 26px; }
.j-shot { margin: 0; display: flex; flex-direction: column; min-height: 0; }
.j-shot img { flex: 1; min-height: 0; width: 100%; object-fit: contain; object-position: center bottom; background: transparent; filter: drop-shadow(0 10px 18px rgba(30, 42, 74, .18)); }
.j-shot figcaption { font-size: 24px; font-weight: 800; color: var(--ink-2); text-align: center; margin-top: 12px; }
.j-shot.span2 { grid-column: span 2; }
.j-kitgrid .j-shot:nth-child(1) { grid-column: 1 / 3; } .j-kitgrid .j-shot:nth-child(2) { grid-column: 3 / 5; }
.j-sitegrid { position: absolute; left: 110px; top: 300px; width: 1180px; bottom: 80px; display: grid; grid-template-columns: 1fr 1fr 260px; grid-template-rows: 1.25fr 1fr; gap: 24px; }
.j-sitegrid .big { grid-column: 1 / 3; }
.j-sitegrid .phone { grid-column: 3; grid-row: 1 / 3; }
.j-sitegrid .j-shot img { object-position: center top; border-radius: 14px; }
.j-site-list { position: absolute; left: 1340px; right: 110px; top: 300px; display: grid; gap: 16px; }
.j-site-list .j-item { font-size: 24px; padding: 12px 18px; }
.j-site-list .j-item i { width: 42px; height: 42px; font-size: 22px; }
.slide .j-site-qr { right: 110px; top: auto; bottom: 100px; width: 230px; }
.slide .j-site-qr .qr { width: 230px; height: 230px; padding: 16px; font-size: 22px; }
.slide .j-site-qr p { font-size: 20px; margin: 8px 0 0; }
