/* ================= Блок 3, вариант А (17.09): структура «Досье» в ДС Дельты =================
   Плотные карточки с тегом в моноширинном капсе, номер-призрак, чипы-стикеры, дудлы с наклоном --dr.
   Только токены hero.css; namespace .dd-b3a. Цвета: navy + фирменный синий, без третьего акцента. */

.dd-b3a { background: var(--color-white); }
.dd-b3a__inner, .dd-b1a__inner, .dd-b2a__inner { padding: var(--space-3xl) var(--plate-pad) var(--space-2xl); }

/* ---------- Шапка: тег → заголовок с точкой → лид ---------- */
.dd-b3a__head { max-width: 900px; margin: 0 0 var(--space-2xl); }
.dd-b3a__tag {
  display: inline-block;
  font-family: ui-monospace, 'JetBrains Mono', Menlo, monospace;
  font-size: 13.5px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--color-white); background: var(--color-brand-blue);
  padding: 6px 14px; border-radius: var(--radius-chip);
  margin: 0 0 var(--space-md); white-space: nowrap;
}
.dd-b3a__h2 {
  font-family: var(--font-family-display);
  font-size: clamp(28px, 2.4vw + 14px, 44px);
  line-height: 1.12; font-weight: 800; letter-spacing: -.01em;
  color: var(--color-brand-navy); margin: 0 0 var(--space-md); text-wrap: balance;
}
.dd-b3a__acc { position: relative; display: inline-block; white-space: nowrap; }
.dd-b3a__underline {
  position: absolute; left: -.04em; right: -.04em; bottom: -.12em; height: .22em; width: auto;
  color: var(--color-brand-blue); opacity: .9;
}
.dd-b3a__lead { max-width: 620px; margin: 0; opacity: .78; }

/* ---------- Замеры: три плитки с крупным числом ---------- */
.dd-b3a__stats { list-style: none; margin: 0 0 var(--space-xl); padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }
.dd-b3a__stat {
  position: relative; background: var(--page-bg); border: 1px solid rgba(11,60,93,.08);
  border-radius: var(--radius-card); padding: var(--space-lg) var(--space-lg) var(--space-lg);
  box-shadow: 0 2px 0 rgba(11,60,93,.05), 0 10px 24px rgba(11,60,93,.06);
}
.dd-b3a__num {
  font-family: var(--font-family-display); font-size: clamp(30px, 1.4vw + 22px, 40px);
  font-weight: 800; line-height: 1.05; color: var(--color-brand-navy); margin: 0 0 var(--space-sm);
}
.dd-b3a__circled { position: relative; display: inline-block; padding: 0 .1em; }
.dd-b3a__ring { position: absolute; left: -.42em; right: -.42em; top: -.34em; bottom: -.3em; width: auto; height: auto; color: var(--color-brand-blue); opacity: .95; pointer-events: none; }
.dd-b3a__stat-text { font-size: 14px; line-height: 1.5; color: var(--color-text-primary); opacity: .75; margin: 0; }

/* ---------- Карточки-ответы: тег, вопрос, ответ, номер-призрак, дудл ---------- */
.dd-b3a__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }
.dd-b3a__card {
  position: relative; isolation: isolate;
  background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg) var(--space-lg) 150px;
  min-height: 300px;
}
.dd-b3a__card::before {              /* номер-призрак */
  content: attr(data-n);
  position: absolute; left: 14px; bottom: 4px; z-index: -1;
  font-family: var(--font-family-display); font-weight: 800; font-size: 112px; line-height: .8;
  color: var(--color-brand-navy); opacity: .05; letter-spacing: -.04em; pointer-events: none;
}
.dd-b3a__card::after { content: none; } /* кромка на ховере — внутренней тенью, она повторяет скругление (владелец 17.09) */
.dd-b3a__ctag {
  font-family: ui-monospace, 'JetBrains Mono', Menlo, monospace;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--color-brand-navy); opacity: .55; margin: 0 0 var(--space-sm);
}
.dd-b3a__ctitle {
  font-family: var(--font-family-display); font-size: clamp(17px, .5vw + 15px, 20px);
  font-weight: 800; line-height: 1.25; color: var(--color-brand-navy); margin: 0 0 var(--space-sm);
}
.dd-b3a__ctext { font-size: 15px; line-height: 1.55; color: var(--color-text-primary); opacity: .8; margin: 0; max-width: 34ch; }
.dd-b3a__doodle {
  position: absolute; right: 12px; bottom: 8px; width: 132px; height: 132px; object-fit: contain;
  transform: rotate(var(--dr, 0deg)); transform-origin: 50% 90%;
  pointer-events: none; -webkit-user-drag: none; user-select: none;
}
.dd-b3a__doodle:not([src$=".webp"]), .dd-b3a__doodle[data-missing] { display: none; }

/* чипы-стикеры на верхней кромке */
.dd-b3a__chips { position: absolute; top: -14px; right: 16px; display: flex; gap: 6px; z-index: 2; }
.dd-b3a__chip {
  display: inline-block; padding: 6px 12px; border-radius: 999px;
  background: var(--color-white); border: 1px solid rgba(11,60,93,.10);
  font-family: var(--font-family-display); font-size: 12px; font-weight: 800; color: var(--color-brand-navy);
  box-shadow: 0 2px 0 rgba(11,60,93,.08), 0 6px 14px rgba(11,60,93,.10);
  transform: rotate(-4deg);
}
.dd-b3a__chip:nth-child(2) { transform: rotate(3deg); }
.dd-b3a__chip:nth-child(3) { transform: rotate(-2deg); }
.dd-b3a__chip--ghost { color: var(--color-brand-blue); }

/* акцентная карточка «Диагностика» */
.dd-b3a__card--accent { background: var(--plate-accent); border-color: transparent; }
.dd-b3a__list { list-style: none; margin: 0; padding: 0; max-width: 34ch; }
.dd-b3a__list li { position: relative; padding-left: calc(var(--chip-dot) + var(--space-sm)); font-size: 15px; line-height: 1.55; color: var(--color-text-primary); }
.dd-b3a__list li + li { margin-top: var(--space-sm); }
.dd-b3a__list li::before { content: ""; position: absolute; left: 0; top: 9px; width: var(--chip-dot); height: var(--chip-dot); border-radius: 999px; background: var(--color-brand-blue); }

.dd-b3a__bridge { margin: var(--space-xl) 0 0; }

@media (hover: hover) {
  .dd-b3a__card { transition: transform .18s ease, box-shadow .18s ease; }
  .dd-b3a__card:hover { transform: translateY(-3px); box-shadow: inset 0 3px 0 0 var(--color-brand-blue), 0 14px 34px rgba(11,60,93,.12); }
  .dd-b3a__card:hover .dd-b3a__doodle { animation: dd-b3a-breathe 2.4s ease-in-out infinite; }
}
@keyframes dd-b3a-breathe {
  0%, 100% { transform: rotate(var(--dr, 0deg)) translateY(0); }
  50% { transform: rotate(calc(var(--dr, 0deg) + 2deg)) translateY(-5px); }
}
@media (prefers-reduced-motion: reduce) {
  .dd-b3a__card:hover .dd-b3a__doodle { animation: none; }
}

/* ================= Планшет 768-959 ================= */
@media (min-width: 768px) and (max-width: 959px) {
  .dd-b3a__stats, .dd-b3a__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ================= Мобайл ≤767 ================= */
@media (max-width: 767px) {
  .dd-b3a__tag { font-size: 12px; white-space: normal; }
  .dd-b3a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-xl); }
  .dd-b3a__head { margin-bottom: var(--space-xl); }
  .dd-b3a__stats { grid-template-columns: 1fr; gap: var(--space-md); margin-bottom: var(--space-lg); }
  .dd-b3a__cards { grid-template-columns: 1fr; gap: var(--space-md); }
  .dd-b3a__card { padding: var(--space-lg) var(--space-md) 120px; min-height: 0; }
  .dd-b3a__card::before { font-size: 92px; bottom: 4px; }
  .dd-b3a__doodle { width: 108px; height: 108px; }
  .dd-b3a__chips { top: -12px; right: 12px; }
  .dd-b3a__ctext, .dd-b3a__list { max-width: none; }
  .dd-b3a__bridge { margin-top: var(--space-lg); }
}


/* ================= Плиты видимыми (владелец 17.09): подложка страницы темнее, у белой плиты кромка ================= */
body.dd-hero-body { background: #EAF0F5; }
.dd-plate--white { border: 1px solid rgba(11,60,93,.07); }

/* ================= Блок 1а, вариант А: плитки-оценки ================= */
.dd-b1a__inner { padding-bottom: var(--space-2xl); }
.dd-b1a__tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }
.dd-b1a__tile {
  position: relative; background: var(--page-bg); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card);
  padding: var(--space-lg); box-shadow: 0 2px 0 rgba(11,60,93,.05), 0 10px 24px rgba(11,60,93,.06);
  display: grid; grid-template-columns: 1fr auto; grid-template-areas: "num badge" "desc badge"; column-gap: var(--space-md); align-items: center;
}
.dd-b1a__num { grid-area: num; font-family: var(--font-family-display); font-size: clamp(34px, 1.6vw + 24px, 46px); font-weight: 800; line-height: 1; color: var(--color-brand-blue); margin: 0 0 var(--space-xs); }
.dd-b1a__desc { grid-area: desc; font-size: 14px; line-height: 1.45; color: var(--color-text-primary); opacity: .75; margin: 0; }
.dd-b1a__badge { grid-area: badge; }
.dd-b1a__badge .dd-trustcard { position: static; transform: rotate(-3deg); }
.dd-b1a__note { margin-top: var(--space-lg); }

/* ================= Блок 2, вариант А: карточки ситуаций ================= */
.dd-b2a__inner { padding-bottom: var(--space-xl); }
.dd-b2a__card { background: var(--color-white); padding-bottom: 140px; }
.dd-b2a__photo {
  position: absolute; right: 14px; bottom: 12px; width: 118px; height: 118px; border-radius: 50%; object-fit: contain;
  background: var(--color-white); padding: 10px; box-shadow: 0 2px 0 rgba(11,60,93,.06), 0 8px 18px rgba(11,60,93,.10);
  transform: rotate(var(--dr, 0deg)); pointer-events: none; -webkit-user-drag: none; user-select: none;
}
.dd-b2a .dd-komu__foot { margin-top: var(--space-2xl); }
@media (hover: hover) { .dd-b3a__card:hover .dd-b2a__photo { animation: dd-b3a-breathe 2.4s ease-in-out infinite; } }
@media (min-width: 768px) and (max-width: 959px) { .dd-b1a__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .dd-b1a__inner, .dd-b2a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-xl); }
  .dd-b1a__tiles { grid-template-columns: 1fr; gap: var(--space-md); }
  .dd-b2a__card { padding-bottom: 120px; }
  .dd-b2a__photo { width: 100px; height: 100px; }
  .dd-b2a .dd-komu__foot { margin-top: var(--space-xl); }
}


/* ================= Hero, вариант А (приказ владельца 17.09): раскладка принятого экрана та же, язык деталей новый.
   Размеры заголовка меняем ТОЛЬКО на десктопе: мобильные и ландшафтные правила hero.css остаются (порог CTA над сгибом). ================= */
.dd-hA .dd-b3a__tag { margin-bottom: var(--rhythm-eyebrow); }
.dd-hA__h1 { text-transform: none; letter-spacing: -.01em; }
@media (min-width: 960px) { .dd-hA__h1 { font-size: clamp(30px, 1.6vw + 18px, 40px); line-height: 1.12; } }
.dd-hA__acc { color: var(--color-brand-blue); }
.dd-hA__intro { opacity: .6; }
.dd-hA .dd-card { position: relative; overflow: hidden; isolation: isolate; border: 1px solid rgba(11,60,93,.08); }
.dd-hA .dd-card::before {
  content: attr(data-n); position: absolute; right: 7px; top: 5px; z-index: -1;
  font-family: ui-monospace, 'JetBrains Mono', Menlo, monospace; font-weight: 700; font-size: 11px; letter-spacing: .08em;
  color: var(--color-brand-navy); opacity: .35; pointer-events: none;
}
@media (max-width: 767px) {
  .dd-hA .dd-b3a__tag { font-size: 10.5px; letter-spacing: .1em; }
  .dd-hA .dd-card::before { font-size: 9px; right: 5px; top: 4px; }
}

/* 23.09b STOM-60: тег «[ Казань · протезирование... ]» — единственный элемент
   первого экрана, не учтённый ни в одной landscape-squeeze медиа-записи hero.css
   (свой класс .dd-b3a__tag, своя таблица стилей). На 667x375/740x360 давал
   40px высоты без сжатия и был причиной остатка ~30px над сгибом даже после
   компактной шапки и карточек. Тот же порог, что и консолидированное правило
   в hero.css — держать синхронно при правках. */
@media (max-width: 959px) and (max-height: 480px) and (min-width: 560px) {
  .dd-hA .dd-b3a__tag { font-size: 9px; letter-spacing: .06em; padding: 3px 8px; margin-bottom: 3px; }
}


/* ================= Блок 2, подвал: плашка в две колонки (владелец 17.09: «текст слева, кнопка справа с подписью») ================= */
.dd-b2a__foot {
  margin-top: var(--space-2xl); background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card);
  box-shadow: var(--shadow-card); padding: var(--space-xl) var(--space-2xl);
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--space-2xl); align-items: center; text-align: left;
}
.dd-b2a__foot-text { min-width: 0; }
.dd-b2a__foot-strong { font-family: var(--font-family-display); font-size: clamp(18px, .6vw + 15px, 22px); line-height: 1.3; font-weight: 800; color: var(--color-brand-navy); margin: 0 0 var(--space-sm); }
.dd-b2a__foot-bridge { margin: 0; }
.dd-b2a__foot-cta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-sm); min-width: 0; }
.dd-b2a__foot-cta .dd-btn--big { white-space: normal; text-wrap: balance; }
.dd-b2a__foot-note { margin: 0; max-width: none; font-size: 13px; line-height: 1.45; opacity: .7; text-align: left; }
/* Модификатор (правка 22.09): подвал варианта 04 — только кнопка + подпись, по центру, без левой текстовой колонки */
.dd-b2a__foot--center { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.dd-b2a__foot--center .dd-b2a__foot-cta { align-items: center; }
.dd-b2a__foot--center .dd-b2a__foot-note { text-align: center; max-width: 46ch; }
@media (max-width: 959px) {
  .dd-b2a__foot { grid-template-columns: 1fr; gap: var(--space-lg); padding: var(--space-lg); margin-top: var(--space-xl); }
  .dd-b2a__foot-cta .dd-btn--big { width: 100%; }
}


/* ================= Подвал, вариант А (владелец 17.09): логотип по центру, всё одним кеглем, симметрично ================= */
.dd-fA .dd-footer__top, .dd-fA .dd-footer__bottom { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-md); }
.dd-fA .dd-footer__logo img { width: 150px; height: auto; display: block; margin: 0 auto; }
.dd-fA .dd-footer__requisites, .dd-fA .dd-footer__col-left, .dd-fA .dd-footer__col-right { display: flex; flex-direction: row; width: auto; max-width: none; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-sm) var(--space-lg); margin: 0; }
.dd-fA .dd-footer__requisites > div, .dd-fA .dd-footer__col-left > div, .dd-fA .dd-footer__col-right > div,
.dd-fA .dd-footer__link, .dd-fA .dd-footer__license-btn, .dd-fA .dd-footer__disclaimer, .dd-fA .dd-footer__copyright {
  font-size: 13px; line-height: 1.5; font-weight: 500; color: var(--color-brand-navy); opacity: .85; margin: 0;
}
.dd-fA .dd-footer__requisites > div + div::before, .dd-fA .dd-footer__col-left > div + div::before { content: "·"; margin-right: var(--space-lg); opacity: .5; }
.dd-fA .dd-footer__link, .dd-fA .dd-footer__license-btn { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(11,60,93,.35); }
.dd-fA .dd-footer__divider { width: 100%; max-width: 720px; margin: var(--space-lg) auto; border: 0; border-top: 1px solid rgba(11,60,93,.12); }
.dd-fA .dd-footer__disclaimer { font-weight: 700; }
.dd-fA .dd-footer__col-right { flex-direction: column; gap: var(--space-xs); }
@media (max-width: 767px) {
  .dd-fA .dd-footer__requisites, .dd-fA .dd-footer__col-left { flex-direction: column; gap: var(--space-xs); }
  .dd-fA .dd-footer__requisites > div + div::before, .dd-fA .dd-footer__col-left > div + div::before { content: none; margin: 0; }
}

/* ================= Блок 4, вариант А: варианты восстановления ================= */
.dd-b4a__inner { padding: var(--space-3xl) var(--plate-pad) var(--space-xl); }
.dd-b4a__note { font-size: 13.5px; line-height: 1.5; color: var(--color-brand-navy); opacity: .75; margin: var(--space-sm) 0 0; max-width: 34ch; }
.dd-b4a__note b { font-weight: 700; }
.dd-b4a__card--main { border: 1.5px solid var(--color-brand-blue); }
.dd-b4a__card--ct { background: var(--page-bg); }
.dd-b4a__under { margin: var(--space-md) 0 0; }
.dd-b4a__gains { margin-top: var(--space-2xl); background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: var(--space-xl) var(--space-2xl); }
.dd-b4a__gain-list { list-style: none; margin: var(--space-md) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-lg); }
.dd-b4a__gain { position: relative; padding-left: calc(var(--chip-dot) + var(--space-sm) + 4px); }
.dd-b4a__gain::before { content: ""; position: absolute; left: 0; top: 9px; width: calc(var(--chip-dot) + 4px); height: calc(var(--chip-dot) + 4px); border-radius: 999px; background: var(--color-brand-blue); }
.dd-b4a__gain-title { font-family: var(--font-family-display); font-weight: 800; font-size: 16px; line-height: 1.3; color: var(--color-brand-navy); margin: 0 0 var(--space-xs); }
.dd-b4a__gain-text { font-size: 14px; line-height: 1.5; color: var(--color-text-primary); opacity: .78; margin: 0; }
.dd-b4a__gain-note { margin: var(--space-lg) 0 0; }
@media (min-width: 768px) and (max-width: 959px) { .dd-b4a__gain-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .dd-b4a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-xl); }
  .dd-b4a__gains { padding: var(--space-lg); margin-top: var(--space-xl); }
  .dd-b4a__gain-list { grid-template-columns: 1fr; gap: var(--space-md); }
  .dd-b4a__note { max-width: none; }
}

/* ================= Вариативность блоков (владелец 17.09: «блоки не должны повторять друг друга») =================
   Блок 3 — сетка с номерами-призраками и дудлом в углу (оригинал).
   Блок 2 — карточки без номеров, дудл стоит РЯДОМ с текстом (правая колонка), карточка компактная. */
.dd-b2a__card { display: grid; grid-template-columns: minmax(0, 1fr) 96px; column-gap: var(--space-md); align-items: start; padding-bottom: var(--space-lg); min-height: 0; }
.dd-b2a__card::before { content: none; }
.dd-b2a__card > .dd-b3a__ctag, .dd-b2a__card > .dd-b3a__ctitle, .dd-b2a__card > .dd-b3a__ctext { grid-column: 1; }
.dd-b2a__card > .dd-b3a__doodle { position: static; grid-column: 2; grid-row: 1 / span 3; align-self: center; width: 96px; height: 96px; }
.dd-b2a__card > .dd-b3a__ctag { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dd-b2a__card .dd-b3a__ctext { max-width: none; }
/* Блок 4 — строки-варианты: дудл слева на светлом кружке, текст справа; две колонки строк, без номеров. */
.dd-b4a__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dd-b4a__cards > .dd-b3a__card { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: var(--space-lg); align-items: start; padding: var(--space-lg); padding-bottom: var(--space-lg); min-height: 0; }
.dd-b4a__cards > .dd-b3a__card::before { content: none; }
.dd-b4a__cards > .dd-b3a__card > .dd-b3a__doodle { position: static; grid-column: 1; grid-row: 1 / span 4; width: 96px; height: 96px; padding: 8px; box-sizing: border-box; border-radius: 50%; background: var(--page-bg); transform: none; }
.dd-b4a__cards > .dd-b3a__card--accent > .dd-b3a__doodle { background: var(--color-white); }
.dd-b4a__cards > .dd-b3a__card > .dd-b3a__ctag, .dd-b4a__cards > .dd-b3a__card > .dd-b3a__ctitle, .dd-b4a__cards > .dd-b3a__card > .dd-b3a__ctext, .dd-b4a__cards > .dd-b3a__card > .dd-b4a__note { grid-column: 2; }
.dd-b4a__cards > .dd-b3a__card > .dd-b3a__ctag { display: none; }
.dd-b4a__cards .dd-b3a__ctext, .dd-b4a__cards .dd-b4a__note { max-width: none; }
.dd-b4a__cards .dd-b3a__chips { top: -12px; right: 14px; }
@media (hover: hover) { .dd-b4a__cards > .dd-b3a__card:hover .dd-b3a__doodle, .dd-b2a__card:hover .dd-b3a__doodle { animation: none; } }
@media (max-width: 767px) {
  .dd-b2a__card { grid-template-columns: minmax(0, 1fr) 88px; column-gap: var(--space-sm); padding: var(--space-md); }
  .dd-b2a__card > .dd-b3a__doodle { width: 88px; height: 88px; }
  .dd-b4a__cards { grid-template-columns: 1fr; }
  .dd-b4a__cards > .dd-b3a__card { grid-template-columns: 72px minmax(0, 1fr); column-gap: var(--space-md); padding: var(--space-md); }
  .dd-b4a__cards > .dd-b3a__card > .dd-b3a__doodle { width: 72px; height: 72px; }
}

/* ================= Блок 5, вариант А: формат 7 «лента шагов» ================= */
.dd-b5a__inner { padding: var(--space-3xl) var(--plate-pad) var(--space-2xl); }
.dd-b5a__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-lg); position: relative; counter-reset: none; }
.dd-b5a__steps::before { content: ""; position: absolute; left: 20px; right: 20px; top: 20px; height: 2px; background: linear-gradient(90deg, var(--color-brand-blue), rgba(0,160,227,.25)); }
.dd-b5a__step { position: relative; padding-top: 56px; min-width: 0; }
.dd-b5a__node {
  position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 999px; display: flex; align-items: center; justify-content: center;
  background: var(--color-white); border: 2px solid var(--color-brand-blue); color: var(--color-brand-navy);
  font-family: var(--font-family-display); font-weight: 800; font-size: 16px; box-shadow: 0 3px 0 rgba(11,60,93,.08), 0 8px 18px rgba(11,60,93,.10);
}
.dd-b5a__step--key .dd-b5a__node { background: var(--color-brand-blue); color: var(--color-white); }
.dd-b5a__title { font-family: var(--font-family-display); font-weight: 800; font-size: 17px; line-height: 1.25; color: var(--color-brand-navy); margin: 0 0 var(--space-sm); }
.dd-b5a__text { font-size: 14px; line-height: 1.55; color: var(--color-text-primary); opacity: .8; margin: 0; }
.dd-b5a__hand { font-size: 13.5px; line-height: 1.5; color: var(--color-brand-navy); margin: var(--space-sm) 0 0; padding: var(--space-sm) var(--space-md); background: var(--page-bg); border-radius: 12px; }
.dd-b5a__under { margin: var(--space-lg) 0 0; }
/* плашка-документ: лист с пунктиром и штампом */
.dd-b5a__doc { margin-top: var(--space-2xl); background: var(--color-white); border: 1.5px dashed rgba(11,60,93,.25); border-radius: var(--radius-card); padding: var(--space-xl) var(--space-2xl); position: relative; }
.dd-b5a__doc-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }
.dd-b5a__stamp { display: inline-block; padding: 6px 12px; border: 2px solid var(--color-brand-blue); border-radius: 8px; color: var(--color-brand-blue); font-family: var(--font-family-display); font-weight: 800; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-6deg); opacity: .85; }
.dd-b5a__doc-list { list-style: none; margin: var(--space-md) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md) var(--space-2xl); }
.dd-b5a__doc-list li { position: relative; padding-left: 26px; font-size: 14.5px; line-height: 1.55; color: var(--color-text-primary); opacity: .85; }
.dd-b5a__doc-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--color-brand-blue); font-weight: 800; }
.dd-b5a__doc-list b { color: var(--color-brand-navy); }
/* CTA по центру (не плашкой — соседний блок 4 уже закрыт плашкой) */
.dd-b5a__cta { margin-top: var(--space-2xl); text-align: center; max-width: 720px; margin-inline: auto; }
.dd-b5a__cta-note { margin: var(--space-sm) auto 0; max-width: none; }
.dd-b5a__cta .dd-bridge { margin-top: var(--space-md); }
@media (max-width: 1099px) { .dd-b5a__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dd-b5a__steps::before { content: none; } }
@media (max-width: 959px) {
  .dd-b5a__steps { grid-template-columns: 1fr; gap: var(--space-md); }
  .dd-b5a__step { padding-top: 0; padding-left: 60px; }
  .dd-b5a__step::before { content: ""; position: absolute; left: 19px; top: 44px; bottom: -16px; width: 2px; background: rgba(0,160,227,.3); }
  .dd-b5a__step:last-child::before { content: none; }
  .dd-b5a__doc-list { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .dd-b5a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-xl); }
  .dd-b5a__doc { padding: var(--space-lg); }
  .dd-b5a__step { padding-left: 52px; }
  .dd-b5a__cta { text-align: left; }
  .dd-b5a__cta .dd-btn--big { width: 100%; white-space: normal; }
}

/* ================= Блок 6, вариант А: формат 8 «карусель карточек с фото» ================= */
.dd-b6a__inner { padding: var(--space-3xl) 0 var(--space-xl); }
.dd-b6a__inner > .dd-b3a__head, .dd-b6a__legal, .dd-b6a .dd-b2a__foot { margin-left: var(--plate-pad); margin-right: var(--plate-pad); }
.dd-b6a__track {
  display: flex; gap: var(--space-lg); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
  padding: var(--space-sm) var(--plate-pad) var(--space-md); scrollbar-width: none;
  mask-image: linear-gradient(to right, transparent 0, #000 var(--plate-pad), #000 calc(100% - var(--plate-pad)), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--plate-pad), #000 calc(100% - var(--plate-pad)), transparent 100%);
}
.dd-b6a__track::-webkit-scrollbar { display: none; }
.dd-b6a__card {
  flex: 0 0 min(640px, 88%); scroll-snap-align: start; display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--space-lg);
  background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: var(--space-lg);
}
.dd-b6a__photo { width: 200px; height: 250px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 14px; align-self: start; }
.dd-b6a__body { min-width: 0; }
.dd-b6a__name { font-family: var(--font-family-display); font-weight: 800; font-size: 19px; line-height: 1.25; color: var(--color-brand-navy); margin: 0 0 var(--space-xs); }
.dd-b6a__role { font-size: 14px; line-height: 1.5; color: var(--color-text-primary); opacity: .75; margin: 0 0 var(--space-md); }
.dd-b6a__work { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--space-md); align-items: start; padding: var(--space-md); background: var(--page-bg); border-radius: 14px; }
.dd-b6a__work-photo { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; }
.dd-b6a__work-title { font-weight: 700; font-size: 14.5px; line-height: 1.3; color: var(--color-brand-navy); margin: 0 0 var(--space-xs); }
.dd-b6a__work-text { font-size: 13.5px; line-height: 1.5; color: var(--color-text-primary); opacity: .8; margin: 0; }
.dd-b6a__work-note { margin-top: var(--space-xs); }
.dd-b6a__legal { margin-top: var(--space-md); max-width: 900px; }
@media (max-width: 767px) {
  .dd-b6a__inner { padding: var(--space-2xl) 0 var(--space-xl); }
  .dd-b6a__card { flex-basis: 86%; grid-template-columns: 1fr; padding: var(--space-md); }
  .dd-b6a__photo { width: 100%; height: auto; max-height: 360px; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 0; }
  .dd-b6a__work { grid-template-columns: 1fr; }
  .dd-b6a__work-photo { width: 140px; height: 140px; }
  .dd-b6a__card { flex-basis: 92%; }
}

/* ================= Блок 6: кнопка «Ближе» и попап с крупным фото (владелец 17.09) ================= */
.dd-b6a__zoom { position: relative; display: block; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 10px; -webkit-tap-highlight-color: transparent; }
.dd-b6a__zoom .dd-b6a__work-photo { display: block; transition: transform .16s ease; }
.dd-b6a__zoom-badge {
  position: absolute; left: 50%; bottom: -10px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
  padding: 4px 9px; border-radius: 999px; background: var(--color-white); color: var(--color-brand-navy); font-size: 11.5px; font-weight: 700;
  box-shadow: 0 2px 0 rgba(11,60,93,.08), 0 6px 14px rgba(11,60,93,.14);
}
.dd-b6a__zoom-badge svg { color: var(--color-brand-blue); }
@media (hover: hover) { .dd-b6a__zoom:hover .dd-b6a__work-photo { transform: scale(1.03); } }
.dd-b6a__zoom:focus-visible { outline: 3px solid var(--color-brand-blue); outline-offset: 3px; }
.dd-zoom { border: 0; padding: var(--space-xl); background: var(--color-white); border-radius: var(--radius-card); box-shadow: 0 24px 60px rgba(11,60,93,.3); width: min(94vw, 980px); max-width: none; max-height: 92vh; overflow: auto; }
.dd-zoom::backdrop { background: rgba(11,60,93,.55); backdrop-filter: blur(2px); }
.dd-zoom__img { display: block; width: 100%; height: auto; border-radius: 12px; }
.dd-zoom__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: var(--space-xl); align-items: start; }
.dd-zoom__title { font-family: var(--font-family-display); font-weight: 800; font-size: clamp(20px, 1vw + 14px, 26px); line-height: 1.2; color: var(--color-brand-navy); margin: var(--space-sm) 0 var(--space-sm); }
.dd-zoom__feat { font-size: 14px; color: var(--color-brand-navy); margin: 0 0 var(--space-md); padding-bottom: var(--space-md); border-bottom: 1px solid rgba(11,60,93,.12); }
.dd-zoom__feat span { opacity: .6; }
.dd-zoom__quote { position: relative; margin: 0; padding: 0 0 0 22px; font-size: 15px; line-height: 1.6; color: var(--color-text-primary); opacity: .85; }
.dd-zoom__quote::before { content: "“"; position: absolute; left: -2px; top: -8px; font-family: var(--font-family-display); font-size: 44px; line-height: 1; color: var(--color-brand-blue); }
.dd-zoom__quote p { margin: 0 0 var(--space-sm); }
.dd-zoom__cta { margin-top: var(--space-lg); }
.dd-zoom__cta-note { margin: var(--space-sm) 0 0; max-width: none; }
.dd-zoom__figure { margin: 0; }
@media (max-width: 767px) { .dd-zoom { padding: var(--space-lg) var(--space-md); } .dd-zoom__grid { grid-template-columns: 1fr; gap: var(--space-md); } .dd-zoom__figure { order: -1; } .dd-zoom__cta .dd-btn--big { width: 100%; white-space: normal; } }
.dd-zoom__caption { font-family: var(--font-family-display); font-weight: 800; font-size: 17px; line-height: 1.3; color: var(--color-brand-navy); margin: var(--space-md) 0 0; }
.dd-zoom__note { margin-top: var(--space-xs); }
.dd-zoom__close { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border: 0; border-radius: 999px; background: var(--color-white); color: var(--color-brand-navy); font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 2px 0 rgba(11,60,93,.08), 0 6px 14px rgba(11,60,93,.14); }

/* кнопка «Ближе» под работой — обычная голубая кнопка ДС на всю ширину плашки (владелец 17.09) */
.dd-b6a__more { grid-column: 1 / -1; width: 100%; justify-content: center; margin-top: var(--space-sm); min-height: 56px; font-size: 17px; }
.dd-b6a__zoom .dd-b6a__work-photo { cursor: zoom-in; }

/* ================= Блок 7, вариант А: формат 9 «лестница цен» ================= */
.dd-b7a__inner { padding: var(--space-3xl) var(--plate-pad) var(--space-xl); }
.dd-b7a__ladder { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: var(--space-lg); align-items: end; }
.dd-b7a__col { position: relative; background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-sm); }
.dd-b7a__col--main { border: 1.5px solid var(--color-brand-blue); padding-top: var(--space-xl); padding-bottom: var(--space-xl); box-shadow: 0 18px 40px rgba(0,160,227,.16); }
.dd-b7a__title { font-family: var(--font-family-display); font-weight: 800; font-size: 19px; line-height: 1.25; color: var(--color-brand-navy); margin: 0; }
.dd-b7a__price { margin: var(--space-xs) 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
.dd-b7a__price s { font-size: 14px; color: var(--color-text-primary); opacity: .45; }
.dd-b7a__price b { font-family: var(--font-family-display); font-weight: 800; font-size: clamp(24px, 1.2vw + 16px, 32px); line-height: 1; color: var(--color-brand-navy); }
.dd-b7a__col--main .dd-b7a__price b { color: var(--color-brand-blue); font-size: clamp(28px, 1.6vw + 18px, 38px); }
.dd-b7a__price span { flex-basis: 100%; font-size: 13px; opacity: .65; }
.dd-b7a__list { list-style: none; margin: 0; padding: 0; flex: 1; }
.dd-b7a__list li { position: relative; padding-left: 18px; font-size: 14px; line-height: 1.5; color: var(--color-text-primary); opacity: .85; }
.dd-b7a__list li::before { content: ""; position: absolute; left: 0; top: 9px; width: var(--chip-dot); height: var(--chip-dot); border-radius: 999px; background: var(--color-brand-blue); }
.dd-b7a__chips { display: flex; gap: 6px; flex-wrap: wrap; }
.dd-b7a__chip { display: inline-block; padding: 5px 10px; border-radius: 999px; background: var(--page-bg); border: 1px solid rgba(11,60,93,.1); font-size: 12px; font-weight: 700; color: var(--color-brand-navy); }
.dd-b7a__btn { width: 100%; justify-content: center; white-space: normal; text-wrap: balance; margin-top: var(--space-xs); }
.dd-b7a__subtag { margin: var(--space-2xl) 0 var(--space-md); }
.dd-b7a__tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-md); }
.dd-b7a__tile { background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card); padding: var(--space-md) var(--space-lg); }
.dd-b7a__tile-name { font-family: var(--font-family-display); font-weight: 800; font-size: 15px; color: var(--color-brand-navy); margin: 0 0 var(--space-xs); }
.dd-b7a__tile-price { margin: 0 0 var(--space-xs); display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.dd-b7a__tile-price s { font-size: 12.5px; opacity: .45; }
.dd-b7a__tile-price b { font-family: var(--font-family-display); font-weight: 800; font-size: 20px; color: var(--color-brand-navy); }
.dd-b7a__tile-note { font-size: 12.5px; line-height: 1.45; opacity: .7; margin: 0; }
.dd-b7a__promo { margin-top: var(--space-lg); display: inline-flex; align-items: center; gap: var(--space-sm); padding: 8px 14px 8px 8px; border-radius: 999px; background: var(--color-white); border: 1px solid rgba(11,60,93,.1); font-size: 14px; color: var(--color-brand-navy); }
.dd-b7a__promo-badge { display: inline-block; padding: 5px 10px; border-radius: 999px; background: var(--color-brand-blue); color: var(--color-white); font-weight: 800; font-size: 13px; }
.dd-b7a__note { margin-top: var(--space-md); max-width: 900px; }
.dd-b7a__bridge { margin-top: var(--space-md); }
@media (min-width: 768px) and (max-width: 959px) { .dd-b7a__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .dd-b7a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-xl); }
  .dd-b7a__ladder { grid-template-columns: 1fr; gap: var(--space-md); }
  .dd-b7a__col--main { order: -1; }
  .dd-b7a__tiles { grid-template-columns: 1fr; gap: var(--space-sm); }
  .dd-b7a__subtag { margin-top: var(--space-xl); }
}
/* блок 7 v2: строки «материал — цена», плашка «что защищает от доплат» */
.dd-b7a__row { display: flex; justify-content: space-between; gap: var(--space-sm); padding-left: 18px; }
.dd-b7a__row b { font-family: var(--font-family-display); font-weight: 800; color: var(--color-brand-navy); white-space: nowrap; }
.dd-b7a__fix { margin-top: var(--space-2xl); background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card); padding: var(--space-lg) var(--space-2xl); }
.dd-b7a__fix-list { list-style: none; margin: var(--space-sm) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }
.dd-b7a__fix-list li { position: relative; padding-left: 24px; font-size: 14.5px; line-height: 1.5; color: var(--color-text-primary); opacity: .85; }
.dd-b7a__fix-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--color-brand-blue); font-weight: 800; }
@media (max-width: 959px) { .dd-b7a__fix-list { grid-template-columns: 1fr; gap: var(--space-md); } .dd-b7a__fix { padding: var(--space-lg); } }

/* ================= Блок 6: строки «Стоимость / Срок» в карточке случая (владелец 17.09: цену мельком, в контексте результата) ================= */
.dd-b6a__facts { margin: var(--space-sm) 0 0; display: grid; gap: 6px; }
.dd-b6a__facts > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; border: 1px solid rgba(11,60,93,.12); border-radius: 10px; overflow: hidden; background: var(--color-white); }
.dd-b6a__facts dt { background: var(--color-brand-navy); color: var(--color-white); font-size: 12.5px; font-weight: 700; padding: 6px 10px; margin: 0; }
.dd-b6a__facts dd { margin: 0; padding: 6px 10px; font-family: var(--font-family-display); font-weight: 800; font-size: 14px; color: var(--color-brand-navy); line-height: 1.25; }
.dd-b6a__facts dd small { display: block; font-family: var(--font-family); font-weight: 500; font-size: 11.5px; opacity: .65; }
/* ================= Блок 7 v3: «выгоды консультации» ================= */
.dd-b7g__kicker { font-family: var(--font-family-display); font-weight: 800; font-size: 15px; color: var(--color-brand-navy); margin: 0 0 var(--space-sm); }
.dd-b7g__rows { list-style: none; margin: 0 0 var(--space-md); padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dd-b7g__row { display: flex; align-items: center; gap: var(--space-md); background: var(--plate-accent); border-radius: 14px; padding: 10px var(--space-md); }
.dd-b7g__prices { flex: 0 0 60px; width: 60px; display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.dd-b7g__old { font-size: 12px; font-weight: 600; color: #999; text-decoration: line-through; line-height: 1.2; }
.dd-b7g__new { font-family: var(--font-family-display); font-size: 22px; font-weight: 800; color: #00B365; line-height: 1.1; }
.dd-b7g__info { flex: 1; min-width: 0; text-align: left; }
.dd-b7g__name { font-size: 14px; font-weight: 700; color: var(--color-brand-navy); line-height: 1.3; margin: 0; }
.dd-b7g__desc { font-size: 12.5px; color: var(--color-text-primary); opacity: .72; line-height: 1.4; margin: 2px 0 0; }
.dd-b7g__pay { margin: 0 0 var(--space-md); font-size: 13.5px; color: var(--color-text-primary); opacity: .8; }
.dd-b7g__cta { margin-top: var(--space-md); text-align: left; }
.dd-b7g__btn { width: auto; justify-content: center; white-space: normal; }
.dd-b7g__note { margin: var(--space-sm) 0 0; max-width: none; text-align: left; }
@media (max-width: 767px) {
  .dd-b7g__row { flex-wrap: wrap; }
  .dd-b7g__btn { width: 100%; }
  .dd-b7g__note { text-align: center; }
  .dd-b7g__cta { text-align: center; }
}

/* ================= Блок 7: карусель цен клиники (владелец 17.09: показать со скидкой, с объяснениями) ================= */
.dd-b7c { margin-top: var(--space-2xl); }
.dd-b7c__lead { font-size: 15px; color: var(--color-brand-navy); opacity: .75; margin: var(--space-xs) 0 0; }
.dd-b7a--gains .dd-b7a__inner { padding-left: 0; padding-right: 0; }
.dd-b7a--gains .dd-b7a__inner > .dd-b3a__head, .dd-b7a--gains .dd-b7g__kicker, .dd-b7a--gains .dd-b7g__rows, .dd-b7a--gains .dd-b7g__pay, .dd-b7a--gains .dd-b7g__cta, .dd-b7a--gains .dd-b7c, .dd-b7a--gains .dd-b7c__legal, .dd-b7a--gains .dd-b7a__bridge { margin-left: var(--plate-pad); margin-right: var(--plate-pad); }
.dd-b7c__track { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: var(--space-md) var(--plate-pad) var(--space-md);
  mask-image: linear-gradient(to right, transparent 0, #000 var(--plate-pad), #000 calc(100% - var(--plate-pad)), transparent 100%); -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--plate-pad), #000 calc(100% - var(--plate-pad)), transparent 100%); }
.dd-b7c__track::-webkit-scrollbar { display: none; }
.dd-b7c__list { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--space-lg); }
.dd-b7c__card { flex: 0 0 min(400px, 86%); scroll-snap-align: start; position: relative; background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-sm); }
.dd-b7c__card--main { border: 1.5px solid var(--color-brand-blue); }
.dd-b7c__img { width: 84px; height: 84px; object-fit: contain; border-radius: 50%; background: var(--page-bg); padding: 8px; box-sizing: border-box; }
.dd-b7c__title { font-family: var(--font-family-display); font-weight: 800; font-size: 18px; line-height: 1.25; color: var(--color-brand-navy); margin: 0; }
.dd-b7c__bul { list-style: none; margin: 0; padding: 0; flex: 1; }
.dd-b7c__bul li { position: relative; padding-left: 18px; font-size: 14px; line-height: 1.5; color: var(--color-text-primary); opacity: .85; }
.dd-b7c__bul li::before { content: ""; position: absolute; left: 0; top: 9px; width: var(--chip-dot); height: var(--chip-dot); border-radius: 999px; background: var(--color-brand-blue); }
.dd-b7c__price { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; padding: var(--space-sm) var(--space-md); background: var(--page-bg); border-radius: 12px; }
.dd-b7c__price s { font-size: 13px; opacity: .45; }
.dd-b7c__price b { font-family: var(--font-family-display); font-weight: 800; font-size: 26px; line-height: 1; color: var(--color-brand-blue); }
.dd-b7c__price span { flex-basis: 100%; font-size: 12.5px; opacity: .65; }
.dd-b7c__row { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; }
.dd-b7c__btn { width: 100%; justify-content: center; white-space: normal; min-height: 56px; font-size: 17px; }
.dd-b7c__credit { margin: 0; text-align: center; font-size: 13px; font-weight: 700; color: var(--color-brand-navy); opacity: .7; }
.dd-b7c__promo { margin: 0; padding: 8px 12px; border-radius: 12px; background: rgba(0,160,227,.08); border: 1px solid rgba(0,160,227,.25); font-size: 13px; color: var(--color-brand-navy); }
.dd-b7c__promo b { color: var(--color-brand-blue); }
.dd-b7c__legal { margin-top: var(--space-sm); max-width: 900px; }
@media (max-width: 767px) { .dd-b7c__card { flex-basis: 88%; } }
/* scroll-snap выравнивает по краю скроллпорта, а не по внутреннему отступу: первая карточка прилипала к краю плиты (17.09) */
.dd-b6a__track, .dd-b7c__track { scroll-padding-left: var(--plate-pad); scroll-padding-right: var(--plate-pad); }

/* блок 7: «кредит» и «скидка» — две отдельные плашки в ряд (владелец 17.09) */
.dd-b7c__tags { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); }
.dd-b7c__tag { margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--page-bg); border: 1px solid rgba(11,60,93,.1); display: flex; flex-direction: column; gap: 2px; }
.dd-b7c__tag b { font-family: var(--font-family-display); font-weight: 800; font-size: 14px; color: var(--color-brand-navy); }
.dd-b7c__tag span { font-size: 12px; line-height: 1.35; opacity: .7; }
.dd-b7c__tag--promo { background: rgba(0,160,227,.08); border-color: rgba(0,160,227,.3); }
.dd-b7c__tag--promo b { color: var(--color-brand-blue); }

/* ===== Блок 8, вариант А: формат 10 «квиз-карточка» ===== */
.dd-b8a__inner {
  padding: var(--space-3xl) var(--plate-pad) var(--space-2xl);
}
.dd-b8a__card {
  max-width: 640px;
  margin: 0 auto;
  background: var(--color-white);
  border: 1px solid rgba(11, 60, 93, 0.08);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl) var(--space-xl) var(--space-lg);
  position: relative;
}
.dd-b8a__progress {
  width: 100%;
  height: 6px;
  background: rgba(11, 60, 93, 0.08);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: var(--space-lg);
}
.dd-b8a__progress-bar {
  height: 100%;
  background: var(--color-brand-blue);
  border-radius: 999px;
  width: 16.666%;
  transition: width 0.25s ease;
}
.dd-b8a__screen {
  display: none;
}
.dd-b8a__screen.is-active {
  display: block;
  animation: dd-b8a-fade-in 0.2s ease-out;
}
@keyframes dd-b8a-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.dd-b8a__step {
  font-family: ui-monospace, 'JetBrains Mono', Menlo, monospace;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-brand-blue);
  font-weight: 700;
  margin: 0 0 var(--space-sm);
}
.dd-b8a__question {
  font-family: var(--font-family-display);
  font-size: clamp(20px, 1.2vw + 16px, 24px);
  line-height: 1.25;
  font-weight: 800;
  color: var(--color-brand-navy);
  margin: 0 0 var(--space-lg);
  text-wrap: balance;
}
.dd-b8a__options {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.dd-b8a__option {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  padding: 12px var(--space-md);
  background: var(--color-white);
  border: 1.5px solid rgba(11, 60, 93, 0.12);
  border-radius: var(--radius-chip);
  font-family: var(--font-family);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-brand-navy);
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(11, 60, 93, 0.03);
  transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
@media (hover: hover) {
  .dd-b8a__option:hover {
    border-color: var(--color-brand-blue);
    background-color: var(--plate-accent);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 160, 227, 0.12);
  }
}
.dd-b8a__option:focus-visible {
  outline: 3px solid var(--color-brand-blue);
  outline-offset: 2px;
}
.dd-b8a__option.is-selected {
  border-color: var(--color-brand-blue);
  background-color: var(--plate-accent);
  color: var(--color-brand-navy);
  font-weight: 700;
}
.dd-b8a__foot {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: var(--space-lg);
  min-height: 36px;
}
.dd-b8a__back {
  background: none;
  border: 0;
  padding: var(--space-xs) 0;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-brand-navy);
  opacity: 0.65;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: opacity 0.15s ease, color 0.15s ease;
}
.dd-b8a__back:hover {
  opacity: 1;
  color: var(--color-brand-blue);
}
.dd-b8a__back:focus-visible {
  outline: 2px solid var(--color-brand-blue);
  outline-offset: 2px;
  border-radius: 4px;
}
.dd-b8a__summary {
  background: var(--page-bg);
  border: 1px solid rgba(11, 60, 93, 0.08);
  border-radius: var(--radius-card);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.dd-b8a__summary-lead {
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-text-primary);
  opacity: 0.85;
  margin: 0;
}
.dd-b8a__summary-branch {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--color-brand-navy);
  font-weight: 700;
  margin: 0;
  padding: var(--space-sm) var(--space-md);
  background: rgba(0, 160, 227, 0.08);
  border-left: 3px solid var(--color-brand-blue);
  border-radius: 0 var(--radius-chip) var(--radius-chip) 0;
}
.dd-b8a__summary-price {
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--color-text-primary);
  opacity: 0.7;
  margin: 0;
}
.dd-b8a__cta {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}
.dd-b8a__btn {
  width: 100%;
  justify-content: center;
  white-space: normal;
  text-align: center;
}
.dd-b8a__note {
  margin: 0;
  text-align: center;
  font-size: 13px;
  line-height: 1.4;
  opacity: 0.7;
}
.dd-b8a__bridge {
  margin-top: var(--space-2xl);
  text-align: center;
}
@media (max-width: 767px) {
  .dd-b8a__inner {
    padding: var(--space-2xl) var(--plate-pad) var(--space-xl);
  }
  .dd-b8a__card {
    max-width: 100%;
    padding: var(--space-lg) var(--space-md) var(--space-md);
  }
  .dd-b8a__options {
    gap: var(--space-sm);
  }
  .dd-b8a__option {
    min-height: 44px;
    padding: 10px 14px;
    font-size: 14.5px;
  }
  .dd-b8a__summary {
    padding: var(--space-md);
  }
  .dd-b8a__bridge {
    margin-top: var(--space-xl);
  }
}
@media (prefers-reduced-motion: reduce) {
  .dd-b8a__screen.is-active { animation: none; }
  .dd-b8a__progress-bar { transition: none; }
  .dd-b8a__option { transition: none; }
}

/* ≤389: длинный акцент под подчёркиванием не влезает в колонку — разрешаем перенос, подчёркивание тянется по строке (гоча nowrap-accent-longer-than-two-words-overflows-mobile) */
@media (max-width: 389px) {
  .dd-b3a__acc { white-space: normal; }
  .dd-b3a__acc .dd-b3a__underline { display: none; }
  .dd-b3a__acc { text-decoration: underline; text-decoration-color: var(--color-brand-blue); text-decoration-thickness: 3px; text-underline-offset: 4px; }
}
/* в квизе колонка текста узкая на любой ширине — акцент переносится всегда */
@media (max-width: 99999px) {
  .dd-b8a .dd-b3a__acc { white-space: normal; text-decoration: underline; text-decoration-color: var(--color-brand-blue); text-decoration-thickness: 3px; text-underline-offset: 4px; }
  .dd-b8a .dd-b3a__acc .dd-b3a__underline { display: none; }
}
/* ================= Блок 8, вариант А v2 (17.09): квиз-карточка по дизайн-ТЗ 08-kviz.md =================
   Плита голубая (ритм), одна белая карточка со сменными экранами, стабильная высота через grid-area 1/1.
   Только токены hero.css; namespace .dd-b8a / .dd-quiz / .dd-tile / .dd-form (форма общая с блоками 10а и 11). */
.dd-b8a { background: var(--plate-accent); }
.dd-b8a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-2xl); }
.dd-b8a__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: var(--space-2xl); align-items: start; }
.dd-b8a__text { position: sticky; top: var(--space-2xl); }
.dd-b8a__head { margin: 0 0 var(--space-lg); }
.dd-b8a__list { margin: 0 0 var(--space-lg); }
.dd-b8a__bonuses { margin: 0 0 var(--space-md); }
.dd-b8a__total { margin: 0 0 var(--space-sm); }
.dd-b8a__note-small { margin: 0 0 var(--space-lg); }
.dd-b8a__start { margin-bottom: var(--space-md); }
.dd-b8a__bridge { margin: 0; }

/* ---------- Карточка квиза ---------- */
.dd-quiz {
  position: relative; display: grid; overflow: hidden;
  max-width: none; margin: 0;
  background: var(--color-white); border-radius: var(--radius-plate); box-shadow: var(--shadow-card);
}
.dd-quiz__progress { position: absolute; top: 0; left: 0; right: 0; height: 4px; background: rgba(11,60,93,.10); z-index: 2; }
.dd-quiz__progress[hidden] { display: none; }
.dd-quiz__progress-bar { height: 100%; background: var(--color-brand-blue); transition: width .2s ease; }

/* Экраны стопкой в одной ячейке: высота карточки = самый высокий экран, не прыгает при смене шага */
.dd-quiz__screen {
  grid-area: 1 / 1; padding: var(--space-xl);
  visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(6px);
  transition: opacity .12s ease, transform .16s ease, visibility 0s linear .12s;
}
.dd-quiz__screen[hidden] { display: block; }          /* hidden только для a11y/inert; сетку не ломаем */
.dd-quiz__screen.is-active { visibility: visible; opacity: 1; pointer-events: auto; transform: none; transition: opacity .16s ease .08s, transform .16s ease .08s, visibility 0s; }
.dd-quiz__screen--intro, .dd-quiz__screen--result { display: flex; align-items: center; justify-content: center; }
.dd-quiz__intro, .dd-quiz__result { max-width: var(--col-text-max); margin: 0 auto; text-align: center; }

.dd-quiz__step { margin: 0 0 var(--space-sm); }
.dd-quiz__question {
  font-family: var(--font-family-display); font-weight: 700; line-height: 1.25; text-wrap: balance;
  font-size: clamp(20px, .8vw + 16px, 26px); color: var(--color-brand-navy); margin: 0;
}
.dd-quiz__title {
  font-family: var(--font-family-display); font-weight: 800; line-height: 1.25; text-wrap: balance;
  font-size: clamp(19px, .6vw + 16px, 23px); color: var(--color-brand-navy); margin: 0;
}
.dd-quiz__intro .dd-quiz__title { font-size: clamp(22px, 1vw + 16px, 28px); }
.dd-quiz__result-text { font-size: 15.5px; line-height: var(--body-line-height); color: var(--color-text-primary); opacity: .85; margin: var(--space-md) 0 0; }
.dd-quiz__start { margin-top: var(--space-xl); }
.dd-quiz__note { margin: var(--space-md) 0 0; }
.dd-quiz__note::before { content: none; }
.dd-b8a .dd-btn--big { white-space: normal; text-wrap: balance; }

/* ---------- Плитки ответов ---------- */
.dd-tiles { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-md); margin-top: var(--space-xl); }
.dd-tile {
  display: flex; align-items: center; gap: var(--space-md); width: 100%; min-height: 64px;
  padding: var(--space-md) var(--space-lg); text-align: left; cursor: pointer;
  font-family: var(--font-family); font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--color-brand-navy);
  background: var(--color-white); border: 1.5px solid rgba(11,60,93,.15); border-radius: var(--radius-card);
  box-shadow: 0 2px 0 rgba(11,60,93,.06);
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.dd-tile:active { transform: translateY(2px); box-shadow: none; }
.dd-tile[aria-pressed="true"] { border-color: var(--color-brand-blue); background: var(--plate-accent); box-shadow: inset 0 0 0 .5px var(--color-brand-blue); }
.dd-tile__icon { flex: 0 0 auto; width: 56px; height: 56px; object-fit: contain; }
.dd-tile__icon[hidden] { display: none; }
@media (hover: hover) {
  .dd-tile:not([aria-pressed="true"]):hover { border-color: rgba(11,60,93,.35); transform: translateY(-1px); }
}
.dd-tile:focus-visible, .dd-quiz__back:focus-visible, .dd-b8a .dd-btn:focus-visible { outline: 2px solid var(--color-brand-blue); outline-offset: 2px; }

/* ---------- Подвал экрана и «Назад» ---------- */
.dd-quiz__foot { display: flex; align-items: center; min-height: 44px; margin-top: var(--space-xl); }
.dd-quiz__back {
  background: none; border: none; cursor: pointer; font-family: var(--font-family);
  font-size: 14px; font-weight: 600; color: var(--color-brand-navy); opacity: .7;
  min-height: 44px; padding: var(--space-sm) var(--space-md); margin-left: calc(-1 * var(--space-md)); border-radius: 999px;
}
.dd-quiz__back::before { content: "←"; margin-right: 6px; }
.dd-quiz__back:hover { opacity: 1; }

/* ---------- Общие строки (из ТЗ блока 6): дисклеймер ---------- */
.dd-legal { font-size: 12.5px; line-height: 1.55; color: var(--color-text-primary); opacity: .55; margin: 0; }

/* ---------- Форма (общий компонент блоков 8, 10а, 11) ---------- */
.dd-form { display: flex; flex-direction: column; gap: var(--space-md); margin-top: var(--space-xl); max-width: 520px; margin-inline: auto; width: 100%; }
.dd-form .dd-field input[type="text"], .dd-form .dd-field input[type="tel"] { min-height: 48px; width: 100%; box-sizing: border-box; }
.dd-form .dd-field--check { align-items: flex-start; min-height: 44px; }
.dd-form .dd-field--check input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; accent-color: var(--color-brand-blue); }
.dd-form .dd-field--check span { line-height: 1.45; }
.dd-form .dd-field.is-error input { border-color: #C0392B; }
.dd-field__err { display: block; min-height: 0; font-size: 13px; font-weight: 600; color: #C0392B; margin-top: var(--space-xs); }
.dd-field__err[hidden], .dd-field__err:empty { display: none; }
.dd-form__err { font-size: 14px; font-weight: 600; color: #C0392B; background: rgba(192,57,43,.06); border-radius: var(--radius-card); padding: var(--space-md); margin: 0; }
.dd-form__err[hidden] { display: none; }
.dd-form .dd-btn[disabled] { opacity: .45; box-shadow: none; cursor: not-allowed; }
.dd-form .dd-btn[disabled]:hover, .dd-form .dd-btn[disabled]:active { transform: none; }
.dd-form .dd-cta-note { margin: 0; text-align: center; }
.dd-form .dd-cta-note::before { content: none; }
.dd-form .dd-legal { margin: 0; text-align: center; }
.dd-quiz__link { color: var(--color-brand-blue); text-decoration: underline; text-underline-offset: 2px; }
.dd-quiz__phone-note { display: block; margin-top: var(--space-xs); }
.dd-quiz__phone-note[hidden] { display: block; visibility: hidden; } /* место держим — высота карточки стабильна */

/* ---------- Экран результата ---------- */
.dd-quiz__done { width: 56px; height: 56px; border-radius: 999px; background: var(--plate-accent); color: var(--color-brand-blue); display: flex; align-items: center; justify-content: center; margin: 0 auto var(--space-lg); }
.dd-quiz__branch { font-size: 15.5px; font-weight: 600; color: var(--color-brand-navy); text-align: left; border-left: 3px solid var(--color-brand-blue); padding-left: var(--space-md); margin: var(--space-lg) 0 0; }
.dd-quiz__branch[hidden] { display: none; }
.dd-quiz__price-note { margin: var(--space-lg) 0 0; }
.dd-quiz__result .dd-legal { margin: var(--space-md) 0 0; }

/* ---------- Планшет 768-959 ---------- */
@media (min-width: 768px) and (max-width: 959px) {
  .dd-b8a__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .dd-b8a__text { position: static; }
  .dd-b8a__bridge { display: none; }
  .dd-quiz__screen { padding: var(--space-xl); }
}
/* ---------- Мобайл ≤767 ---------- */
@media (max-width: 767px) {
  .dd-b8a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-xl); }
  .dd-b8a__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .dd-b8a__text { position: static; }
  .dd-b8a__bridge { display: none; }
  .dd-quiz__screen { padding: var(--space-lg); }
  .dd-tiles { gap: var(--space-sm); margin-top: var(--space-lg); }
  .dd-tile { min-height: 56px; padding: 12px var(--space-md); font-size: 15px; }
  .dd-tile__icon { width: 40px; height: 40px; }
  .dd-quiz__foot { margin-top: var(--space-lg); }
  .dd-form { margin-top: var(--space-lg); }
}
/* ---------- reduced-motion: всё видно и работает, только мгновенно ---------- */
@media (prefers-reduced-motion: reduce) {
  .dd-quiz__screen, .dd-quiz__screen.is-active, .dd-quiz__progress-bar, .dd-tile { transition: none; }
  .dd-quiz__screen { transform: none; }
  .dd-b8a .rv { opacity: 1; transform: none; transition: none; }
}
/* ================= Блок 9, вариант А: формат 11 «Полароиды отзывов» =================
   Тёплая плита (.dd-plate--warm), сетка 2 колонки на десктопе и планшете, столбик на мобайле.
   Белый фотоснимок с мягкой тенью, наклон rotate(var(--tilt)), выпрямление на :hover.
   Широкое нижнее поле: автор + логотип площадки. Высота на 1280px строго < 1300px. */

.dd-b9a__inner {
  padding: var(--space-3xl) var(--plate-pad) var(--space-xl);
  max-width: 1280px;
  margin-inline: auto;
  box-sizing: border-box;
}

.dd-b9a .dd-b3a__head {
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: var(--space-xl);
}

.dd-b9a .dd-b3a__lead {
  max-width: 620px;
  margin-inline: auto;
}

.dd-b9a__proof {
  font-family: var(--font-family-display);
  font-weight: 700;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--color-brand-navy);
  margin: var(--space-xs) auto 0;
  opacity: 0.85;
}

/* ---------- Сетка полароидов (2 колонки на десктопе и планшете) ---------- */
.dd-b9a__grid {
  list-style: none;
  margin: 0 0 var(--space-xl);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  align-items: stretch;
}

/* ---------- Карточка-полароид ---------- */
.dd-b9a__card {
  --tilt: 0deg;
  position: relative;
  background: var(--color-white);
  border: 1px solid rgba(11, 60, 93, 0.08);
  border-radius: var(--radius-card);
  box-shadow: 0 4px 20px rgba(11, 60, 93, 0.07), 0 1px 3px rgba(11, 60, 93, 0.04);
  padding: var(--space-md) var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
  transform: rotate(var(--tilt));
  transform-origin: center center;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s ease;
  box-sizing: border-box;
}

.dd-b9a__card:nth-child(1) { --tilt: -1.5deg; }
.dd-b9a__card:nth-child(2) { --tilt: 1.2deg; }
.dd-b9a__card:nth-child(3) { --tilt: -1deg; }
.dd-b9a__card:nth-child(4) { --tilt: 1.5deg; }

/* «Фотоснимок» — внутреннее поле цитаты */
.dd-b9a__photo {
  position: relative;
  background: var(--page-bg);
  border: 1px solid rgba(11, 60, 93, 0.06);
  border-radius: 12px;
  padding: var(--space-md) var(--space-lg);
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.dd-b9a__ctag {
  font-family: ui-monospace, 'JetBrains Mono', Menlo, monospace;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-brand-blue);
  font-weight: 700;
  margin: 0 0 var(--space-sm);
}

.dd-b9a__quote {
  margin: 0;
  padding: 0;
  flex-grow: 1;
}

.dd-b9a__text {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.55;
  color: var(--color-brand-navy);
  opacity: 0.88;
}

/* Широкое нижнее поле Polaroid («подпись на снимке») */
.dd-b9a__chin {
  margin-top: var(--space-md);
  padding-top: var(--space-xs);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  flex-wrap: wrap;
}

.dd-b9a__author {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.dd-b9a__initial {
  width: 32px;
  height: 32px;
  flex: none;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family-display);
  font-weight: 800;
  font-size: 13.5px;
  color: var(--color-white);
  user-select: none;
}

.dd-b9a__initial--ya {
  background: var(--color-brand-navy);
}

.dd-b9a__initial--2gis {
  background: var(--color-brand-blue);
}

.dd-b9a__author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dd-b9a__name {
  font-family: var(--font-family-display);
  font-weight: 800;
  font-size: 14.5px;
  line-height: 1.2;
  color: var(--color-brand-navy);
}

.dd-b9a__meta {
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--color-brand-navy);
  opacity: 0.65;
  display: flex;
  align-items: center;
  gap: 6px;
}

.dd-b9a__stars {
  color: var(--color-brand-blue);
  font-size: 12px;
  letter-spacing: 0.04em;
}

/* Маленькая «фотография» логотипа площадки в нижнем поле */
.dd-b9a__platform-shot {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  background: var(--page-bg);
  border: 1px solid rgba(11, 60, 93, 0.10);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(11, 60, 93, 0.05);
  user-select: none;
}

.dd-b9a__platform-icon {
  width: 18px;
  height: 18px;
  display: block;
  object-fit: contain;
  flex: none;
}

.dd-b9a__platform-name {
  font-family: var(--font-family-display);
  font-weight: 700;
  font-size: 12px;
  color: var(--color-brand-navy);
  line-height: 1;
}

/* ---------- Подвал блока, CTA и мостик ---------- */
.dd-b9a__foot {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.dd-b9a__source {
  font-size: 13px;
  line-height: 1.5;
  opacity: 0.6;
  margin: 0 0 var(--space-xs);
}

.dd-b9a__legal {
  font-size: 12.5px;
  line-height: 1.55;
  opacity: 0.55;
  margin: 0;
}

.dd-b9a__cta {
  margin-top: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dd-b9a__btn {
  white-space: normal;
  text-wrap: balance;
}

.dd-b9a__cta-note {
  margin-top: var(--space-sm);
  max-width: 580px;
  text-align: center;
  font-size: 13.5px;
  line-height: 1.45;
}

.dd-b9a__cta-note::before {
  content: none;
}

.dd-b9a__bridge {
  margin-top: var(--space-lg);
  text-align: center;
  font-size: 15px;
  opacity: 0.6;
}

/* ---------- Hover-состояния ---------- */
@media (hover: hover) {
  .dd-b9a__card:hover {
    transform: rotate(0deg) translateY(-4px);
    box-shadow: 0 16px 36px rgba(11, 60, 93, 0.12);
    z-index: 2;
  }
}

/* ---------- Планшет 768-959 ---------- */
@media (min-width: 768px) and (max-width: 959px) {
  .dd-b9a__grid {
    gap: var(--space-md);
  }
  .dd-b9a__card {
    padding: var(--space-sm) var(--space-sm) var(--space-md);
  }
  .dd-b9a__photo {
    padding: var(--space-sm) var(--space-md);
  }
  .dd-b9a__text {
    font-size: 15.5px;
  }
}

/* ---------- Мобайл ≤767 ---------- */
@media (max-width: 767px) {
  .dd-b9a__inner {
    padding: var(--space-2xl) var(--plate-pad) var(--space-xl);
  }
  .dd-b9a .dd-b3a__head,
  .dd-b9a__foot {
    text-align: left;
  }
  .dd-b9a .dd-b3a__lead,
  .dd-b9a__proof {
    margin-left: 0;
    margin-right: 0;
  }
  .dd-b9a__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-xl);
  }
  .dd-b9a__card {
    padding: var(--space-md) var(--space-md) var(--space-lg);
  }
  .dd-b9a__photo {
    padding: var(--space-md);
  }
  .dd-b9a__text {
    font-size: 15px;
  }
  .dd-b9a__chin {
    gap: var(--space-sm);
  }
  .dd-b9a__cta {
    align-items: stretch;
  }
  .dd-b9a__btn {
    width: 100%;
  }
  .dd-b9a__cta-note,
  .dd-b9a__bridge {
    text-align: left;
  }
}

/* ---------- prefers-reduced-motion: reduce ---------- */
@media (prefers-reduced-motion: reduce) {
  .dd-b9a .rv {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .dd-b9a__card {
    transform: none !important;
    transition: none !important;
  }
  .dd-b9a__card:hover {
    transform: none !important;
  }
}

/* Приёмка 17.09: короткая цитата не должна оставлять пустое поле —
   тело карточки тянется по контенту, а не по высоте соседа */
.dd-b9a__grid { align-items: start; }
.dd-b9a__source { margin: var(--space-lg) 0 0; text-align: center; }
.dd-b9a__bridge { margin: var(--space-lg) 0 0; text-align: center; }
/* ================= Блок 10, вариант А v2 (17.09, правка владельца): вопросы слева, карточка формы справа =================
   Плита голубая; строки-аккордеоны белые; карточка формы белая. namespace .dd-b10a / .dd-faq */
.dd-b10a { background: var(--plate-accent); }
.dd-b10a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-2xl); }
.dd-b10a__top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-2xl); align-items: center; margin: 0 0 var(--space-2xl); }
.dd-b10a__left .dd-b3a__head { margin: 0; }

/* ---------- Строки вопросов ---------- */
.dd-faq { display: grid; gap: var(--space-sm); }
.dd-faq--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm) var(--space-lg); align-items: start; }
.dd-faq__group-tag { grid-column: 1 / -1; margin: 0 0 var(--space-xs); }
.dd-faq__group-tag--col2 { margin-top: var(--space-sm); }
.dd-faq__item { background: var(--color-white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); overflow: hidden; }
.dd-faq__q {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-md);
  width: 100%; min-height: 56px; padding: var(--space-md) var(--space-lg); text-align: left; cursor: pointer;
  background: none; border: none; font-family: var(--font-family-display); font-weight: 700; font-size: 17px; line-height: 1.3;
  color: var(--color-brand-navy);
}
.dd-faq__q:active { transform: translateY(1px); }
.dd-faq__q:focus-visible { outline: 2px solid var(--color-brand-blue); outline-offset: -2px; border-radius: var(--radius-card); }
.dd-faq__sign { position: relative; flex: 0 0 24px; width: 24px; height: 24px; }
.dd-faq__sign::before, .dd-faq__sign::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--color-brand-blue); border-radius: 2px; transform: translate(-50%, -50%); }
.dd-faq__sign::before { width: 14px; height: 2px; }
.dd-faq__sign::after { width: 2px; height: 14px; transition: transform .2s ease, opacity .2s ease; }
.dd-faq__item.is-open .dd-faq__sign::after { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }
.dd-faq__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .28s ease; }
.dd-faq__item.is-open .dd-faq__body { grid-template-rows: 1fr; }
.dd-faq__clip { min-height: 0; overflow: hidden; }
.dd-faq__a { font-size: 15px; line-height: var(--body-line-height); color: var(--color-text-primary); opacity: .8; margin: 0; padding: 0 var(--space-lg) var(--space-lg); }

/* ---------- Карточка формы справа (липкая) ---------- */
.dd-b10a__card { display: flex; flex-direction: column; justify-content: center; background: var(--color-white); border-radius: var(--radius-plate); box-shadow: var(--shadow-card); padding: var(--space-xl); }
.dd-b10a__card .dd-b3a__ctag { margin-bottom: var(--space-sm); }
.dd-b10a__card-title { font-family: var(--font-family-display); font-weight: 800; font-size: clamp(19px, .6vw + 16px, 23px); line-height: 1.25; color: var(--color-brand-navy); margin: 0; text-wrap: balance; }
.dd-b10a__card-text { font-size: 15px; line-height: var(--body-line-height); color: var(--color-text-primary); opacity: .8; margin: var(--space-sm) 0 0; }
.dd-b10a__form { margin-top: var(--space-lg); max-width: none; }
.dd-b10a__form[hidden] { display: none; }
.dd-b10a .dd-btn--big { white-space: normal; text-wrap: balance; width: 100%; }
.dd-b10a__done { text-align: center; padding: var(--space-md) 0; }
.dd-b10a__done[hidden] { display: none; }
.dd-b10a__bridge { margin: var(--space-xl) 0 0; }

/* ---------- Планшет 768-959 ---------- */
@media (min-width: 768px) and (max-width: 959px) {
  .dd-b10a__top { grid-template-columns: minmax(0, 1fr); }
  .dd-b10a__card { max-width: 520px; }
  .dd-faq--2col { grid-template-columns: minmax(0, 1fr); }
}
/* ---------- Мобайл ≤767 ---------- */
@media (max-width: 767px) {
  .dd-b10a__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-xl); }
  .dd-b10a__top { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); margin-bottom: var(--space-lg); }
  .dd-faq--2col { grid-template-columns: minmax(0, 1fr); }
  .dd-b10a__card { padding: var(--space-lg); }
  .dd-faq__q { font-size: 15.5px; padding: 12px var(--space-md); }
  .dd-faq__a { padding: 0 var(--space-md) var(--space-md); }
  .dd-b10a__bridge { margin-top: var(--space-lg); }
}
@media (prefers-reduced-motion: reduce) {
  .dd-faq__body, .dd-faq__sign::after, .dd-faq__q { transition: none; }
  .dd-b10a .rv { opacity: 1; transform: none; transition: none; }
}
.dd-form-inview .dd-sticky-cta { display: none !important; } /* своя форма перед глазами — плашка не дублирует и не перекрывает поля */
/* ================= Блок 10а, вариант А (17.09): плитки-контролы 3×2 + форма на месте, по дизайн-ТЗ 10a-ne-protezirovanie.md =================
   Плита белая; невыбранная плитка голубая, выбранная белая с синей рамкой (инверсия относительно блока 8). namespace .dd-task */
.dd-task { background: var(--color-white); }
.dd-task__inner { padding: var(--space-3xl) var(--plate-pad) var(--space-2xl); }
.dd-task__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-2xl); align-items: start; }
.dd-task__left { display: flex; flex-direction: column; }
.dd-task__left .dd-tasks { flex: 0 0 auto; }
.dd-task__head { margin: 0 0 var(--space-md); }
.dd-task__card { background: var(--plate-accent); border-radius: var(--radius-plate); padding: var(--space-lg) var(--space-xl); align-self: start; }
.dd-task__card .dd-b3a__ctag { margin-bottom: var(--space-sm); }
.dd-task__card-title { font-family: var(--font-family-display); font-weight: 800; font-size: clamp(18px, .5vw + 15px, 21px); line-height: 1.3; color: var(--color-brand-navy); margin: 0; text-wrap: balance; }
.dd-task__card .dd-field input { background: var(--color-white); }

.dd-tasks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: var(--space-sm); list-style: none; margin: 0; padding: 0; }
.dd-task-tile {
  position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: var(--space-sm); align-items: center;
  min-height: 0; padding: var(--space-sm) var(--space-md); text-align: left; cursor: pointer;
  background: var(--plate-accent); border: 1.5px solid transparent; border-radius: var(--radius-card);
  font-family: var(--font-family); color: var(--color-brand-navy);
  transition: border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.dd-task-tile:active { transform: translateY(2px); }
.dd-task-tile[aria-checked="true"] { border-color: var(--color-brand-blue); background: var(--color-white); box-shadow: 0 3px 0 rgba(0,160,227,.18), 0 10px 24px rgba(11,60,93,.10); }
.dd-task-tile__icon { grid-row: 1 / span 2; width: 56px; height: 56px; object-fit: contain; margin-bottom: var(--space-xs); }
.dd-task-tile__icon[hidden] { display: none; }
.dd-task-tile__title { font-family: var(--font-family-display); font-weight: 700; font-size: clamp(15px, .3vw + 14px, 17px); line-height: 1.25; }
.dd-task-tile__note { font-size: 13px; line-height: var(--body-line-height); color: var(--color-text-primary); opacity: .7; }
@media (hover: hover) {
  .dd-task-tile:not([aria-checked="true"]):hover { border-color: rgba(0,160,227,.35); transform: translateY(-2px); }
}
.dd-task-tile:focus-visible { outline: 2px solid var(--color-brand-blue); outline-offset: 2px; }

/* ---------- Форма открыта всегда ---------- */
.dd-task__form { margin-top: var(--space-md); max-width: none; }
.dd-task__form[hidden] { display: none; }
.dd-task .dd-btn--big { white-space: normal; text-wrap: balance; width: 100%; }
.dd-task__done { margin: var(--space-lg) 0 0; text-align: center; }
.dd-task__done[hidden] { display: none; }
.dd-task__done .dd-legal { margin-top: var(--space-md); }
.dd-task__bridge { margin: var(--space-xl) 0 0; text-align: center; }

/* ---------- Планшет 768-959 ---------- */
@media (min-width: 768px) and (max-width: 959px) {
  .dd-task__grid { grid-template-columns: minmax(0, 1fr); }
}
/* ---------- Мобайл ≤767: 2×3, все шесть на одном экране ---------- */
@media (max-width: 767px) {
  .dd-task__inner { padding: var(--space-2xl) var(--plate-pad) var(--space-xl); }
  .dd-task__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .dd-task__left { display: contents; }
  .dd-task__head { order: 0; }
  .dd-tasks { order: 1; grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; gap: var(--space-sm); }
  .dd-task__card { order: 2; padding: var(--space-lg); }
  .dd-task-tile { padding: var(--space-md); min-height: 44px; gap: var(--space-xs); }
  .dd-task-tile__icon { width: 44px; height: 44px; }
  .dd-task-tile__note { font-size: 12.5px; }
  .dd-task__form { margin-top: var(--space-xl); }
  .dd-task__bridge { text-align: left; margin-top: var(--space-lg); }
}
@media (prefers-reduced-motion: reduce) {
  .dd-task-tile { transition: none; }
  .dd-task .rv { opacity: 1; transform: none; transition: none; }
}
/* ================= Блок 12 (подвал), вариант А (17.09): контакты + карта + реквизиты в одной плите ================= */
.dd-b12a__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--space-2xl); align-items: center; padding-bottom: var(--space-lg); }
.dd-b12a__logo { display: inline-block; margin: 0 0 var(--space-lg); }
.dd-b12a__contacts .dd-b3a__ctag { margin-bottom: var(--space-sm); }
.dd-b12a__rows { display: grid; gap: var(--space-sm); }
.dd-b12a__row { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--space-md); align-items: baseline; }
.dd-b12a__label { font-size: 12.5px; font-weight: 600; color: var(--color-brand-navy); opacity: .6; text-transform: uppercase; letter-spacing: .06em; }
.dd-b12a__value { font-size: 15.5px; line-height: 1.45; color: var(--color-text-primary); }
.dd-b12a__link { justify-self: start; font-size: 17px; font-weight: 600; color: var(--color-brand-navy); text-decoration: none; border-bottom: 1px solid rgba(11,60,93,.25); white-space: nowrap; }
.dd-b12a__link:hover { border-bottom-color: var(--color-brand-blue); }
.dd-b12a__note { margin: var(--space-sm) 0 0; }
.dd-b12a__requisites { margin: var(--space-lg) 0 0; font-size: 13px; line-height: 1.6; color: var(--color-text-primary); opacity: .65; }
.dd-map { position: relative; aspect-ratio: 1200 / 692; border-radius: var(--radius-plate); overflow: hidden; background: var(--color-white); box-shadow: var(--shadow-card); touch-action: pan-y; }
.dd-map__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dd-map__pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -130%); padding: 8px 14px; border-radius: 999px; background: var(--color-white); box-shadow: var(--shadow-card); font-family: var(--font-family-display); font-weight: 700; font-size: 14px; color: var(--color-brand-navy); white-space: nowrap; }
.dd-map__pin::after { content: ""; position: absolute; left: 50%; bottom: -9px; width: 12px; height: 12px; background: var(--color-brand-blue); border: 2px solid var(--color-white); border-radius: 999px; transform: translateX(-50%); }

@media (min-width: 768px) and (max-width: 959px) {
  .dd-b12a__top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .dd-b12a__top { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .dd-b12a__row { grid-template-columns: minmax(0, 1fr); gap: var(--space-xs); }
  .dd-map { aspect-ratio: 4 / 3; }
}
.dd-b12a { background: var(--plate-accent); }


/* ---------- Блок «Сложные случаи» (22.09e, компактно — язык hero-чипов, без номеров/пустот) ---------- */
.dd-slc__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-2xl); align-items: stretch; }
.dd-slc__cases { list-style: none; margin: var(--space-lg) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
.dd-slc__case { display: flex; align-items: flex-start; gap: var(--space-sm); background: var(--color-white); border: 1px solid rgba(11,60,93,.08); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 10px var(--space-md); }
.dd-slc__case-icon { width: 40px; height: 40px; flex: 0 0 auto; object-fit: contain; }
.dd-slc__case-text { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.dd-slc__case-text b { font-family: var(--font-family-display); font-weight: 800; font-size: 13px; color: var(--color-brand-navy); }
.dd-slc__case-text small { font-size: 11.5px; font-weight: 600; color: var(--color-text-primary); opacity: .72; margin-top: 3px; }
.dd-slc__gains { margin-top: var(--space-md); }
.dd-slc__gain-list { list-style: none; margin: var(--space-sm) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-md); }
.dd-slc__gain { display: flex; align-items: center; gap: 8px; flex: 1 1 220px; min-width: 0; }
.dd-slc__gain-icon { width: 32px; height: 32px; flex: 0 0 auto; object-fit: contain; }
.dd-slc__gain .dd-b4a__gain-title { display: block; font-size: 13px; }
.dd-slc__gain .dd-b4a__gain-text { display: block; margin-top: 1px; font-size: 11.5px; }
.dd-slc__foot { margin-top: var(--space-md); display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.dd-slc__foot-note { margin: 0; max-width: none; text-align: left; font-size: 13px; }
.dd-slc__figure { margin: 0; align-self: stretch; }
.dd-slc__photo { width: 100%; height: 100%; min-height: 100%; object-fit: cover; border-radius: var(--radius-plate); }

@media (min-width: 768px) and (max-width: 1023px) {
  .dd-slc__grid { grid-template-columns: 1fr; }
  .dd-slc__figure { order: -1; max-width: 420px; margin: 0 auto var(--space-xl); aspect-ratio: 4/5; }
  .dd-slc__photo { aspect-ratio: 4/5; }
}

@media (max-width: 767px) {
  .dd-slc__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .dd-slc__figure { order: -1; margin: 0 0 var(--space-lg); }
  .dd-slc__photo { aspect-ratio: 4/5; max-height: 320px; }
  .dd-slc__cases { grid-template-columns: 1fr; }
  .dd-slc__gain-list { flex-direction: column; flex-wrap: nowrap; gap: var(--space-sm); }
  .dd-slc__gain { flex: 1 1 auto; }
  .dd-slc__foot { align-items: stretch; }
  .dd-slc__foot .dd-btn--big { width: 100%; white-space: normal; text-wrap: balance; }
  .dd-slc__foot-note { text-align: center; }
}

/* ===== Правки владельца 23.09 вечер (SID 9d7959e4, Opus): квиз без пустоты, врачи, кейс, «другая задача» не как кнопки ===== */
/* Квиз: высота = активный шаг (раньше стопка экранов = высота самого длинного шага, отсюда пустота под вариантами) */
.dd-quiz__screen:not(.is-active) { display: none !important; }
/* Блок врачей, мобайл: фото без белого поля сверху, кейс — фото слева, текст справа, кнопка на всю ширину */
@media (max-width: 767px) {
  .dd-b6a__photo { aspect-ratio: 1 / 1; max-height: 300px; object-position: 50% 30%; }
  .dd-b6a__work { grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 12px; }
  .dd-b6a__work-photo { width: 88px; height: 88px; }
  .dd-b6a__work > .dd-b6a__more { grid-column: 1 / -1; }
}
/* «Пришли не за протезированием»: варианты — выбор с кружком-отметкой, а не кнопки */
.dd-task-tile { position: relative; background: transparent !important; box-shadow: none !important; border: 1px solid rgba(11,60,93,.14) !important; padding-right: 44px !important; }
.dd-task-tile::after { content: ""; position: absolute; top: 50%; right: 16px; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; border: 2px solid rgba(11,60,93,.35); background: #fff; box-sizing: border-box; }
.dd-task-tile[aria-checked="true"] { background: #fff !important; border-color: var(--color-brand-blue) !important; }
.dd-task-tile[aria-checked="true"]::after { border-color: var(--color-brand-blue); background: radial-gradient(circle, var(--color-brand-blue) 0 4px, #fff 5px); }
.dd-task-tile:hover, .dd-task-tile:active { transform: none !important; }

