/* Весенняя зелень — компоненты. Подключать после tokens.css. Шрифт Manrope 400–800
   лежит рядом, в fonts/ (лицензия OFL — fonts/OFL.txt): страница не ходит на Google
   Fonts, IP посетителя никуда не уходит. Три набора: кириллица, латиница и latin-ext
   (в нём знак ₽). Копируя bundle.css в проект, копируйте и папку fonts/. */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("fonts/manrope-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.vz, .vz * { box-sizing: border-box; }
.vz { font-family: var(--font-sans); color: var(--ink); background: var(--surface); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
.vz :focus-visible { outline: 2px solid var(--summer-700); outline-offset: 2px; box-shadow: var(--focus); border-radius: var(--radius-sm); }
.vz p { margin: 0; }
body.vz { margin: 0; }

/* ---------- Текст ---------- */
.vz-eyebrow { display: block; font-size: 13px; line-height: 1.4; font-weight: 700; letter-spacing: .02em; color: var(--summer-700); margin: 0 0 var(--space-8); }
.vz-display { font-size: 56px; line-height: 1.1; font-weight: 800; letter-spacing: -.01em; margin: 0; }
.vz-h1 { font-size: 40px; line-height: 1.2; font-weight: 800; margin: 0; }
.vz-h2 { font-size: 28px; line-height: 1.3; font-weight: 700; margin: 0; }
.vz-lead { font-size: 22px; line-height: 1.45; color: var(--ink); }
.vz-muted { color: var(--ink-muted); }
.vz-caption { font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--ink-muted); }
.vz-accent { color: var(--summer-700); }
.vz-num-loss { color: var(--loss); font-weight: 800; white-space: nowrap; }
.vz-num-gain { color: var(--gain); font-weight: 800; white-space: nowrap; }
.vz-link { color: var(--summer-700); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.vz-link:hover { color: var(--summer-800); text-decoration-thickness: 2px; }
.vz-section--ink .vz-link { color: var(--young-400); }
.vz-section--ink .vz-link:hover { color: #fff; }
@media (max-width: 720px) {
  .vz-display { font-size: 36px; }
  .vz-h1 { font-size: 28px; }
  .vz-h2 { font-size: 22px; }
  .vz-lead { font-size: 18px; }
}

/* ---------- Кнопка ---------- */
.vz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 24px; border-radius: var(--radius-sm); border: 1.5px solid transparent; font: 700 16px/1 var(--font-sans); text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color .15s, border-color .15s, color .15s; }
.vz-btn--primary { background: var(--summer-700); color: #fff; }
.vz-btn--primary:hover { background: var(--summer-800); }
.vz-btn--secondary { background: var(--surface); color: var(--summer-700); border-color: var(--summer-700); }
.vz-btn--secondary:hover { background: var(--young-50); }
.vz-btn--ghost { background: transparent; color: var(--summer-700); padding: 0 8px; }
.vz-btn--ghost:hover { background: var(--young-50); }
.vz-btn--young { background: var(--young-400); color: var(--ink); }
.vz-btn--young:hover { background: #c4e05a; }
.vz-btn--sm { height: 36px; padding: 0 16px; font-size: 14px; }
.vz-btn--lg { height: 60px; padding: 0 32px; font-size: 18px; }
.vz-btn--block { display: flex; width: 100%; }
@media (max-width: 520px) {
  .vz-btn { white-space: normal; height: auto; min-height: 48px; padding-top: 12px; padding-bottom: 12px; line-height: 1.25; text-align: center; }
  .vz-btn--sm { min-height: 36px; padding-top: 8px; padding-bottom: 8px; }
  .vz-btn--lg { min-height: 60px; }
  .vz-header .vz-btn { white-space: nowrap; }
}
.vz-btn[aria-disabled="true"] { background: var(--young-50); color: var(--ink-muted); border-color: var(--young-200); cursor: not-allowed; }
.vz-btn.is-loading::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: vz-spin .8s linear infinite; }
@keyframes vz-spin { to { transform: rotate(360deg); } }

/* ---------- Метка статуса ---------- */
.vz-badge { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border-radius: var(--radius-full); font: 700 13px/1 var(--font-sans); white-space: nowrap; }
.vz-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.vz-badge--loss { background: var(--loss-50); color: var(--loss-ink); }
.vz-badge--gain { background: var(--gain-50); color: var(--summer-800); }
.vz-badge--proof { background: var(--young-400); color: var(--ink); }
.vz-badge--proof::before { background: var(--summer-700); }
.vz-badge--hypo { background: var(--surface); color: var(--ink-muted); box-shadow: inset 0 0 0 1.5px var(--young-200); }

/* ---------- Цифра ---------- */
.vz-stat { display: grid; gap: var(--space-8); align-content: start; }
.vz-stat__value { font-size: 88px; line-height: 1; font-weight: 800; letter-spacing: -.02em; color: var(--ink); white-space: nowrap; }
.vz-stat--md .vz-stat__value { font-size: 56px; }
.vz-stat--loss .vz-stat__value { color: var(--loss); }
.vz-stat--gain .vz-stat__value { color: var(--gain); }
.vz-stat__label { font-size: 18px; line-height: 1.4; font-weight: 600; }
.vz-stat__note { font-size: 13px; line-height: 1.4; color: var(--ink-muted); }
.vz-stats { display: flex; flex-wrap: wrap; gap: var(--space-32) var(--space-64); align-items: flex-start; }
.vz-stats > .vz-stat { flex: 0 1 auto; }
@media (max-width: 720px) { .vz-stat__value { font-size: 56px; } .vz-stat--md .vz-stat__value { font-size: 44px; } }

/* ---------- Плашка с выводом ---------- */
.vz-plate { background: var(--young-50); border-radius: var(--radius-md); padding: var(--space-32); display: grid; gap: var(--space-16); }
.vz-plate__title { font-size: 22px; line-height: 1.35; font-weight: 800; }
.vz-plate--loss { background: var(--loss-50); }
.vz-plate--line { background: var(--surface); box-shadow: inset 0 0 0 1px var(--young-200); }
.vz-plate--keyterms { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-24); }
.vz-term__k { font-size: 13px; font-weight: 600; color: var(--ink-muted); }
.vz-term__v { font-size: 22px; font-weight: 800; line-height: 1.25; }
.vz-term__note { font-size: 13px; line-height: 1.4; color: var(--ink-muted); margin-top: 4px; }

/* ---------- Было → стало ---------- */
.vz-ba { display: grid; border-top: 1px solid var(--young-200); }
.vz-ba__row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(88px, max-content) 24px minmax(0, 1fr); gap: var(--space-16); align-items: baseline; padding: var(--space-16) 0; border-bottom: 1px solid var(--young-200); }
.vz-ba__where { font-weight: 600; }
.vz-ba__was { color: var(--loss-ink); font-weight: 700; }
.vz-ba__arrow { color: var(--ink-muted); text-align: center; }
.vz-ba__now { color: var(--summer-700); font-weight: 800; }
.vz-ba__note { grid-column: 2 / -1; font-size: 13px; color: var(--ink-muted); margin-top: -8px; }
@media (max-width: 720px) {
  .vz-ba__row { grid-template-columns: auto 24px 1fr; }
  .vz-ba__where { grid-column: 1 / -1; }
  .vz-ba__note { grid-column: 1 / -1; margin-top: 0; }
}
.vz-ba-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-16); }
.vz-ba-pair > div { border-radius: var(--radius-md); padding: var(--space-24); display: grid; gap: var(--space-8); }
.vz-ba-pair__was { background: var(--loss-50); }
.vz-ba-pair__now { background: var(--gain-50); }
.vz-ba-pair__k { font-size: 13px; font-weight: 700; }
.vz-ba-pair__was .vz-ba-pair__k { color: var(--loss-ink); }
.vz-ba-pair__now .vz-ba-pair__k { color: var(--summer-800); }
.vz-ba-pair__v { font-size: 28px; line-height: 1.2; font-weight: 800; }
@media (max-width: 520px) { .vz-ba-pair { grid-template-columns: 1fr; } }

/* ---------- История ---------- */
.vz-stories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24); }
.vz-story { background: var(--surface); border-radius: var(--radius-md); box-shadow: inset 0 0 0 1px var(--young-200); padding: var(--space-32); display: grid; gap: var(--space-16); align-content: start; }
.vz-story__title { font-size: 22px; line-height: 1.3; font-weight: 800; margin: 0; }
.vz-story__hook { font-size: 17px; line-height: 1.5; }
.vz-story__steps { margin: 0; display: grid; gap: var(--space-16); }
.vz-story__step { display: grid; gap: 4px; }
.vz-story__step dd { margin: 0; color: var(--ink-muted); }
.vz-story__k { font-size: 13px; line-height: 1.4; font-weight: 700; }
.vz-story__step--was .vz-story__k { color: var(--loss-ink); }
.vz-story__step--did .vz-story__k { color: var(--ink-muted); }
.vz-story__step--now { background: var(--gain-50); border-radius: var(--radius-sm); padding: var(--space-16); }
.vz-story__step--now .vz-story__k { color: var(--summer-800); }
.vz-story__step--now dd { color: var(--ink); font-weight: 600; }
@media (max-width: 860px) { .vz-stories { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .vz-story { padding: var(--space-24); } .vz-story__title { font-size: 20px; } }

/* ---------- Шаги ---------- */
.vz-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-32); counter-reset: vz-step; }
.vz-step { counter-increment: vz-step; display: grid; gap: var(--space-8); align-content: start; }
.vz-step::before { content: counter(vz-step); width: 48px; height: 48px; border-radius: var(--radius-md); background: var(--young-400); color: var(--ink); font: 800 22px/48px var(--font-sans); text-align: center; margin-bottom: var(--space-8); }
.vz-step__title { font-size: 20px; line-height: 1.3; font-weight: 800; }
.vz-step__text { color: var(--ink-muted); }

/* ---------- Сравнение цены ---------- */
.vz-compare { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-16); }
.vz-compare__col { border-radius: var(--radius-md); padding: var(--space-32); box-shadow: inset 0 0 0 1px var(--young-200); display: grid; gap: var(--space-16); align-content: start; }
.vz-compare__col--pick { box-shadow: inset 0 0 0 2px var(--summer-700); background: var(--young-50); }
.vz-compare__name { font-size: 18px; font-weight: 700; }
.vz-compare__price { font-size: 44px; line-height: 1; font-weight: 800; white-space: nowrap; }
.vz-compare__col--pick .vz-compare__price { color: var(--summer-700); }
.vz-compare__list { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-8); color: var(--ink-muted); }
.vz-compare__list li { padding-left: 20px; position: relative; }
.vz-compare__list li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 8px; border-radius: 50%; background: var(--young-200); }
.vz-compare__col--pick .vz-compare__list li::before { background: var(--young-400); }
@media (max-width: 720px) { .vz-compare { grid-template-columns: 1fr; } .vz-compare__price { font-size: 36px; } }

/* ---------- Таблица ---------- */
.vz-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.vz-table th { text-align: left; font-size: 13px; font-weight: 700; color: var(--ink-muted); padding: 12px 16px; background: var(--young-50); }
.vz-table td { padding: 14px 16px; border-bottom: 1px solid var(--young-200); vertical-align: top; }
.vz-table td.num, .vz-table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 720px) {
  .vz-table--stack thead { display: none; }
  .vz-table--stack, .vz-table--stack tbody, .vz-table--stack tr, .vz-table--stack td { display: block; width: 100%; }
  .vz-table--stack tr { padding: var(--space-16) 0; border-bottom: 1px solid var(--young-200); }
  .vz-table--stack td { border: 0; padding: 2px 0; }
  .vz-table--stack td:first-child { font-weight: 700; padding-bottom: 6px; }
  .vz-table--stack td[data-label]::before { content: attr(data-label) " · "; font-size: 13px; font-weight: 700; color: var(--ink-muted); }
}

/* ---------- Список с маркером ---------- */
.vz-list { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-8); }
.vz-list li { padding-left: 24px; position: relative; }
.vz-list li::before { content: ""; position: absolute; left: 0; top: .45em; width: 10px; height: 10px; border-radius: 3px 10px 3px 10px; background: var(--young-400); }

/* ---------- Поля ---------- */
.vz-field { display: grid; gap: 6px; }
.vz-field__label { font-size: 14px; font-weight: 700; }
.vz-field__hint { font-size: 13px; color: var(--ink-muted); }
.vz-input { height: 48px; width: 100%; padding: 0 16px; border-radius: var(--radius-sm); border: 1.5px solid var(--line-strong); background: var(--surface); font: 400 16px/1 var(--font-sans); color: var(--ink); }
textarea.vz-input { height: auto; min-height: 96px; padding: 12px 16px; line-height: 1.5; resize: vertical; }
.vz-input::placeholder { color: var(--ink-muted); opacity: .8; }
.vz-input:hover { border-color: var(--ink-muted); }
.vz-input:focus { outline: 2px solid var(--summer-700); outline-offset: 0; border-color: var(--summer-700); }
.vz-field.is-error .vz-input { border-color: var(--loss); }
.vz-field__error { font-size: 13px; font-weight: 600; color: var(--loss-ink); }
.vz-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--ink-muted); }
.vz-check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--summer-700); flex: none; }
.vz-form { display: grid; gap: var(--space-16); }

/* ---------- Вопросы ---------- */
.vz-faq { border-top: 1px solid var(--young-200); }
.vz-faq details { border-bottom: 1px solid var(--young-200); }
.vz-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-16); padding: var(--space-24) 0; font-size: 20px; line-height: 1.35; font-weight: 700; }
.vz-faq summary::-webkit-details-marker { display: none; }
.vz-faq summary::after { content: "+"; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--young-50); color: var(--summer-700); font: 700 22px/32px var(--font-sans); text-align: center; }
.vz-faq details[open] summary::after { content: "−"; background: var(--young-400); color: var(--ink); }
.vz-faq__a { padding: 0 48px var(--space-24) 0; color: var(--ink-muted); font-size: 17px; }

/* ---------- Секции и шапка сайта ---------- */
.vz-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--space-64); }
.vz-section { padding: var(--space-96) 0; background: var(--surface); }
.vz-section--young { background: var(--young-50); }
.vz-section--ink { background: var(--ink); color: #fff; }
.vz-section--ink .vz-eyebrow { color: var(--young-400); }
.vz-section--ink .vz-muted, .vz-section--ink .vz-caption { color: #c9d3c4; }
.vz-section__head { max-width: 760px; display: grid; gap: var(--space-16); margin-bottom: var(--space-48); }
@media (max-width: 720px) { .vz-container { padding: 0 var(--space-24); } .vz-section { padding: var(--space-64) 0; } .vz-section__head { margin-bottom: var(--space-32); } }

.vz-header { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-24); border-bottom: 1px solid var(--young-200); background: var(--surface); }
.vz-wordmark { font-size: 20px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); text-decoration: none; white-space: nowrap; }
.vz-wordmark b { color: var(--summer-700); font-weight: 800; }
.vz-nav { display: flex; gap: var(--space-32); }
.vz-nav a { color: var(--ink); text-decoration: none; font-weight: 600; font-size: 15px; }
.vz-nav a:hover { color: var(--summer-700); }
.vz-nav a[aria-current="page"] { color: var(--summer-700); box-shadow: inset 0 -2px 0 var(--young-400); }
@media (max-width: 860px) { .vz-nav { display: none; } }
.vz-header__actions { display: flex; gap: var(--space-8); align-items: center; flex: none; }
@media (max-width: 480px) {
  .vz-header { gap: var(--space-16); }
  .vz-header__extra { display: none; }
  .vz-wordmark { font-size: 18px; }
}
@media (max-width: 360px) {
  .vz-header { gap: 12px; }
  .vz-wordmark { font-size: 16px; }
  .vz-header .vz-btn--sm { padding: 0 10px; font-size: 13px; }
}

.vz-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-64); align-items: center; padding: var(--space-96) 0; }
.vz-hero__text { display: grid; gap: var(--space-24); }
.vz-hero__actions { display: flex; gap: var(--space-16); flex-wrap: wrap; align-items: center; margin-top: var(--space-8); }
.vz-hero__art { position: relative; aspect-ratio: 1 / 1; }
.vz-hero__art i { position: absolute; display: block; border-radius: var(--radius-lg); }
@media (max-width: 860px) { .vz-hero { grid-template-columns: 1fr; padding: var(--space-48) 0; gap: var(--space-32); } .vz-hero__art { display: none; } }

.vz-photo { margin: 0; display: grid; gap: var(--space-8); }
.vz-photo__frame { background: var(--young-50); border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4 / 5; display: flex; align-items: flex-end; justify-content: center; }
.vz-section--young .vz-photo__frame { background: var(--young-200); }
.vz-photo__frame img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.vz-photo__cap { font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--ink-muted); }
.vz-hero__photo { align-self: stretch; display: flex; align-items: center; }
.vz-hero__photo .vz-photo { width: 100%; max-width: 440px; margin-left: auto; }
.vz-split { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: var(--space-64); align-items: center; }
@media (max-width: 860px) {
  .vz-hero__photo { display: none; }
  .vz-split { grid-template-columns: minmax(0, 1fr); gap: var(--space-32); }
  .vz-split .vz-photo { max-width: 360px; }
}

.vz-cta-band { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--space-48); align-items: center; }
.vz-codeword { display: inline-block; background: var(--young-400); color: var(--ink); font-weight: 800; padding: 0 12px; border-radius: var(--radius-sm); letter-spacing: .04em; }
@media (max-width: 860px) { .vz-cta-band { grid-template-columns: 1fr; } }
.vz-cta-band .vz-btn { white-space: normal; height: auto; min-height: 60px; padding-top: 12px; padding-bottom: 12px; line-height: 1.25; text-align: center; }

.vz-footer { background: var(--ink); color: #fff; padding: var(--space-48) 0; font-size: 15px; }
.vz-footer a { color: #fff; }
.vz-footer__grid { display: flex; justify-content: space-between; gap: var(--space-32); flex-wrap: wrap; }
.vz-footer__name { font-size: 18px; font-weight: 800; }
.vz-footer__muted { color: #c9d3c4; }

/* ---------- Промпт с кнопкой «Скопировать» ---------- */
.vz-prompt { display: grid; gap: var(--space-16); }
.vz-prompt__bar { display: flex; gap: var(--space-16); align-items: center; flex-wrap: wrap; }
.vz-prompt__text { margin: 0; max-height: 440px; overflow: auto; padding: var(--space-24); background: var(--surface); border-radius: var(--radius-md); box-shadow: inset 0 0 0 1px var(--young-200); font: 400 14px/1.6 var(--font-sans); color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.vz-prompt__hint { font-size: 13px; line-height: 1.4; color: var(--ink-muted); }
@media (max-width: 720px) { .vz-prompt__text { max-height: 360px; padding: var(--space-16); } }

/* ---------- Документ: политика, согласие, условия ---------- */
.vz-doc { max-width: 720px; display: grid; gap: var(--space-32); }
.vz-doc__part { display: grid; gap: var(--space-8); }
.vz-doc__part > h2 { font-size: 22px; line-height: 1.3; font-weight: 800; margin: 0 0 var(--space-8); }
.vz-doc p, .vz-doc li { font-size: 17px; line-height: 1.6; }
.vz-doc__meta { font-size: 13px; line-height: 1.4; color: var(--ink-muted); }
@media (max-width: 720px) { .vz-doc { gap: var(--space-24); } .vz-doc p, .vz-doc li { font-size: 16px; } .vz-doc__part > h2 { font-size: 20px; } }

/* ---------- График ---------- */
.vz-bars { display: grid; gap: var(--space-16); }
.vz-bar { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-16); align-items: center; }
.vz-bar__track { height: 32px; border-radius: 6px; background: var(--young-50); position: relative; display: flex; overflow: hidden; }
.vz-bar__fill { height: 100%; background: var(--young-400); }
.vz-bar__fill--deep { background: var(--summer-700); }
.vz-bar__fill--loss { background: var(--loss); }
.vz-bar__val { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-weight: 800; font-size: 14px; }
.vz-legend { display: flex; gap: var(--space-24); flex-wrap: wrap; font-size: 13px; color: var(--ink-muted); }
.vz-legend span::before { content: ""; display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; background: var(--c); }

/* ---------- Слайды 1920×1080 ---------- */
.vz-slide { position: relative; width: 1920px; height: 1080px; overflow: hidden; background: var(--surface); color: var(--ink); font-family: var(--font-sans); padding: 96px 120px; display: flex; flex-direction: column; }
.vz-slide--ink { background: var(--ink); color: #fff; }
.vz-slide__eyebrow { font-size: 30px; line-height: 1.3; font-weight: 600; color: var(--summer-700); margin-bottom: 24px; }
.vz-slide--ink .vz-slide__eyebrow { color: var(--young-400); }
.vz-slide__display { font-size: 96px; line-height: 1.05; font-weight: 800; letter-spacing: -.01em; margin: 0; }
.vz-slide__title { font-size: 72px; line-height: 1.12; font-weight: 800; margin: 0; max-width: 1400px; }
.vz-slide__subtitle { font-size: 44px; line-height: 1.2; font-weight: 800; margin: 0; }
.vz-slide__body { font-size: 38px; line-height: 1.35; margin: 0; }
.vz-slide__number { font-size: 120px; line-height: 1; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; }
.vz-slide__caption { font-size: 30px; line-height: 1.3; font-weight: 600; color: var(--ink-muted); }
.vz-slide--ink .vz-slide__caption { color: #c9d3c4; }
.vz-slide__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; }
.vz-slide__block { position: absolute; border-radius: var(--radius-lg); }

/* ---------- Обложка ссылки 1200×630 ---------- */
.vz-og { position: relative; width: 1200px; height: 630px; overflow: hidden; background: var(--surface); color: var(--ink); font-family: var(--font-sans); display: grid; grid-template-columns: minmax(0, 1fr) 440px; }
.vz-og__text { padding: 72px 0 64px 72px; display: flex; flex-direction: column; gap: 24px; }
.vz-og__eyebrow { font-size: 26px; line-height: 1.3; font-weight: 700; color: var(--summer-700); }
.vz-og__title { font-size: 104px; line-height: 1.02; font-weight: 800; letter-spacing: -.01em; margin: 0; }
.vz-og__sub { font-size: 30px; line-height: 1.35; max-width: 620px; }
.vz-og__who { margin-top: auto; font-size: 24px; line-height: 1.3; font-weight: 600; color: var(--ink-muted); }
.vz-og__photo { background: var(--young-400); display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
.vz-og__photo img { display: block; height: 600px; width: auto; }
