/* ===========================================================================
   Взгляд Тверь — блоки внутренних страниц
   Раздел «Взрослая офтальмология»: ПК 515:6546, планшет 515:6699, телефон 515:6762.
   Mobile-first, те же ширины, что в main.css: основа 390, ≥744 планшет, ≥1280 ПК.
   =========================================================================== */

/* ---------- Хлебные крошки ---------- */

.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  font: var(--font-small);
  opacity: 0.75;
}

.breadcrumbs__item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* разделитель — ep:arrow-down, повёрнутая на −90° */
.breadcrumbs__item + .breadcrumbs__item::before {
  content: '';
  flex: 0 0 0.75rem;
  height: 0.75rem;
  background: url('../icons/breadcrumb-arrow.svg') center / 0.75rem 0.75rem no-repeat;
  transform: rotate(-90deg);
}

.breadcrumbs__link {
  text-decoration: underline;
  text-underline-position: from-font;
}

@media (any-hover: hover) {
  .breadcrumbs__link:hover {
    color: var(--color-brand);
  }
}

/* ---------- Первый экран раздела ---------- */

.page-hero {
  background: var(--color-card);
}

.page-hero__inner {
  width: var(--container-fluid);
  margin-inline: auto;
  padding: 1rem 0 2rem;
}

.page-hero__grid {
  display: grid;
  margin-top: 2rem;
}

.page-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.page-hero__title {
  font: var(--font-h1-m);
}

/* Figma округляет межстрочный интервал до целых: 14×1.4 → 20 (текст 100 и 60), 16×1.4 → 22 (66 и 44) */
.page-hero__text {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

/* на телефоне первый текст — один абзац (515:6807) */
.page-hero__text p {
  display: inline;
}

.page-hero__text--second {
  margin-top: 0.5rem;
}

.page-hero__btn {
  width: 100%;
  margin-top: 2rem;
}

/* У «Записаться на приём» в UI-Kit свой градиент наведения — как на главной */
.page-hero__btn:active {
  background: var(--gradient-reverse-large);
}

@media (any-hover: hover) {
  .page-hero__btn:hover {
    background: var(--gradient-reverse-large);
  }
}

.page-hero__picture {
  display: block;
  margin-top: 2rem;
}

.page-hero__img {
  width: 100%;
  height: 22.5rem;
  object-fit: cover;
  border-radius: var(--radius-small);
}

@media (min-width: 46.5em) {
  .page-hero__inner {
    padding-bottom: 4rem;
  }

  .page-hero__grid {
    margin-top: 4rem;
  }

  .page-hero__title {
    font: var(--font-h1);
  }

  .page-hero__text {
    max-width: 37.8125rem;
    margin-top: 2rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .page-hero__text p {
    display: block;
  }

  .page-hero__text--second {
    max-width: 36.75rem;
    margin-top: 1rem;
  }

  .page-hero__btn {
    width: 18.75rem;
    margin-top: 2rem;
  }

  .page-hero__picture {
    margin-top: 4rem;
  }

  .page-hero__img {
    height: 30rem;
  }
}

@media (min-width: 80em) {
  /* текст по центру фото по вертикали: 225…523 против 201…547 */
  .page-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
    margin-top: 2.0625rem;
  }

  .page-hero__text {
    margin-top: 2.5rem;
  }

  .page-hero__text--second {
    margin-top: 1rem;
  }

  .page-hero__btn {
    margin-top: 2.5rem;
  }

  .page-hero__picture {
    margin-top: 0;
  }

  .page-hero__img {
    height: 21.625rem;
  }
}

/* ---------- Услуги отделения (UI-Kit 509:5516) ---------- */

.dept-services {
  margin-top: 4rem;
}

.dept-services__list {
  margin-top: 1.5625rem;
  border-top: 1px solid var(--color-line);
}

/* высота строки = название + отступ, линия — внутри строки (row-line) */
.dept-services__item {
  margin-top: 1rem;
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid var(--color-line);
}

/* верхняя линия списка в макете нулевой толщины — первый пункт на 1px выше */
.dept-services__item:first-child {
  margin-top: 0.9375rem;
}

.dept-services__head {
  display: grid;
  grid-template-columns: 2.3125rem 1fr 1.75rem;
  align-items: start;
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.dept-services__num {
  margin-top: 0.125rem;
  font: var(--font-body);
  color: var(--color-brand-text);
}

/* в макете ширина названия 255 (01 в одну строку, 07 — в две) */
.dept-services__title {
  max-width: 16.25rem;
  font: var(--font-h3-m);
  line-height: 1.375rem; /* 18 × normal = 21.78, в макете 22 (строка 38, в две строки — 60) */
}

/* стрелка ep:arrow-down: рамка 28 на 1px ниже строки, вектор 20.31×10.69 со сдвигом 32.43% / 13.73% */
.dept-services__arrow {
  margin: 0.63rem 0 0 0.24rem;
  transition: transform 0.2s;
}

.dept-services__item.is-open .dept-services__title {
  color: var(--color-brand);
}

@media (any-hover: hover) {
  .dept-services__head:hover .dept-services__title {
    color: var(--color-brand);
  }
}

.dept-services__item.is-open .dept-services__arrow {
  transform: rotate(180deg);
}

/* на телефоне межстрочный округлён, как в макете: 14×1.4 → 20, 14×1.2 → 17 (раскрытая строка 405) */
.dept-services__body {
  margin-top: 1.0125rem;
  padding-left: 2.3125rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.dept-services__term {
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

/* список видов коррекции: точки левее текста на 16 (512:8810) */
.dept-services__bullets {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 1rem 0 0 -1rem;
}

.dept-services__bullets li {
  position: relative;
  padding-left: 1rem;
}

.dept-services__bullets li::before {
  content: '';
  position: absolute;
  top: 0.4375rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--color-brand);
  border-radius: 50%;
}

/* «Подробнее» на телефоне — малая: 24px, отступы 4/38 (512:8802) */
.dept-services__more {
  min-height: 1.5rem;
  margin-top: 1rem;
  padding: 0.1875rem 2.3125rem;
}

@media (min-width: 46.5em) {
  .dept-services__list {
    margin-top: 2rem;
  }

  .dept-services__item {
    margin-top: 1.5rem;
    padding-bottom: 1.4375rem;
  }

  .dept-services__item:first-child {
    margin-top: 1.4375rem;
  }

  .dept-services__head {
    grid-template-columns: 3rem 1fr 1.75rem;
  }

  .dept-services__num {
    margin-top: 0.3125rem;
    font: 400 1rem/normal var(--font-family);
  }

  .dept-services__title {
    max-width: none;
    font: var(--font-h3);
  }

  .dept-services__body {
    margin-top: 1rem;
    padding-left: 3rem;
    line-height: 1.4;
  }

  .dept-services__term {
    font: var(--font-accent);
  }

  .dept-services__bullets {
    margin: 0.525rem 0 0;
  }

  .dept-services__bullets li {
    padding-left: 0.9375rem;
  }

  .dept-services__bullets li::before {
    top: 0.388125rem;
    width: 0.474375rem;
    height: 0.474375rem;
  }

  .dept-services__more {
    height: auto;
    min-height: 0; /* минимальная высота с меньшей ширины здесь не действует */
    margin-top: 1.5rem;
    padding: 0.4375rem 1.9375rem;
  }
}

@media (min-width: 80em) {
  .dept-services {
    margin-top: 5rem;
  }

  .dept-services__list {
    margin-top: 2.5rem;
  }

  .dept-services__head {
    grid-template-columns: 6.75rem 1fr 1.75rem;
    padding-right: 1.5rem;
  }

  .dept-services__body {
    margin-top: 1.1875rem;
    padding-left: 6.75rem;
  }

  .dept-services__bullets {
    margin-top: 0.7125rem;
  }

  .dept-services__bullets li {
    padding-left: 1.625rem;
  }

  .dept-services__bullets li::before {
    top: 0.3125rem;
    width: 0.625rem;
    height: 0.625rem;
  }

  .dept-services__bullets p + p {
    margin-top: 0.5rem;
  }

  .dept-services__more {
    margin-top: 1.45rem;
  }

  .dept-services__item.is-open {
    padding-bottom: 2.4375rem;
  }
}

/* ---------- Врачи отделения: серый блок без «О клинике» ---------- */

.dept-doctors .specialists {
  margin-top: 0;
}

.dept-doctors .carousel {
  margin-top: 1.625rem; /* заголовок в макете 2×27, в браузере 2×26 */
}

@media (min-width: 46.5em) {
  .dept-doctors {
    margin-top: 4rem;
  }

  .dept-doctors .block-head__title {
    max-width: 34.5rem; /* в макете заголовок 691 наезжает на стрелки — сужен до стрелок */
  }

  .dept-doctors .carousel-nav {
    margin-top: 2rem;
  }

  .dept-doctors .carousel {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .dept-doctors {
    margin-top: 5rem;
    padding: 5rem 0;
  }

  .dept-doctors .block-head__title {
    max-width: none;
  }

  .dept-doctors .carousel-nav {
    margin-top: 0.75rem;
  }

  /* 40 от заголовка: колонка стрелок (12 + 40) выше заголовка на 16 */
  .dept-doctors .carousel {
    margin-top: 1.5rem;
  }

  /* стаж — плашка шириной 100, правый край 16 (515:6572) */
  .dept-doctors .doctor-card__badge {
    min-width: 6.25rem;
    margin-right: 1rem;
    text-align: center;
  }
}

/* ---------- Вопросы раздела: пункты без наезда, фото 408×504 ---------- */

/* В макете раздела линия под пунктом — внутри пункта (515:6767: пункты 69/56/86, шаг +16),
   межстрочный вопроса округлён: 14×1.2 → 17, 16×1.4 → 22 */
.faq--dept .faq__item {
  padding-bottom: 0.9375rem;
}

.faq--dept .faq__item:first-child {
  margin-top: 0.9375rem;
}

.faq--dept .faq__question {
  line-height: 1.0625rem;
}

.faq--dept .faq__btn {
  margin-top: 2rem;
}

@media (min-width: 46.5em) {
  .faq--dept {
    margin-top: 4rem;
  }

  .faq--dept .faq__question {
    line-height: 1.375rem;
  }
}

@media (min-width: 80em) {
  .faq--dept {
    margin-top: 5rem;
  }

  .faq--dept .faq__btn {
    margin-top: 2.5rem;
  }

  .faq--dept .faq__img {
    height: 31.5rem;
  }

  .faq--dept .faq__list {
    height: auto;
    min-height: 0; /* минимальная высота с меньшей ширины здесь не действует */
  }

  /* пункт = строка + 12, линия внутри (515:6556: 64 и 52) */
  .faq--dept .faq__item {
    padding-bottom: 0.6875rem;
  }

  .faq--dept .faq__item:first-child {
    margin-top: 0.4375rem;
  }

  .faq--dept .faq__item + .faq__item {
    margin-top: 0.5rem;
  }

  .faq--dept .faq__question {
    margin-top: 0.5rem;
  }
}

/* ---------- Форма отделения (UI-Kit 364:2473): без вкладок, адрес и часы в шапке карточки ---------- */

.appointment--dept {
  margin-bottom: -1rem; /* в макете раздела подвал на 64 ниже формы, на главной — 80 */
}

.appointment--dept .appointment__grid {
  margin-top: 1.25rem;
}

.form--dept {
  padding-top: 1.5rem;
  border-radius: var(--radius);
}

.form__head {
  margin-bottom: 0.5125rem; /* до первого поля 25 = 16 (gap) + 9, минус 0.8 на высоте строк */
}

.form__title {
  font: var(--font-h3-m);
  color: var(--color-brand);
}

.form__contacts {
  opacity: 0.8;
}

.form__address {
  margin-top: 1.0625rem;
  font: var(--font-accent-m);
}

.form__hours {
  margin-top: 0.5125rem;
  font: var(--font-small);
}

.appointment__picture {
  display: block;
  margin-top: 1rem;
}

.appointment__photo {
  width: 100%;
  height: 22.5rem;
  object-fit: cover;
  border-radius: var(--radius);
}

@media (min-width: 46.5em) {
  .appointment--dept {
    margin-bottom: 0;
  }

  .appointment--dept .appointment__grid {
    margin-top: 2rem;
  }

  .form--dept {
    padding-top: 1.5rem;
  }

  .form__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 0.5rem;
  }

  .form__title {
    margin-top: 0.5rem;
    font: var(--font-h3);
  }

  .form__address {
    margin-top: 0;
    font: var(--font-menu);
  }

  .form__hours {
    margin-top: 0.4375rem;
  }

  .appointment__picture {
    margin-top: 1.5rem;
  }

  .appointment__photo {
    height: 27.5rem;
  }
}

@media (min-width: 80em) {
  .appointment--dept .appointment__grid {
    align-items: start;
    margin-top: 2.5rem;
  }

  .form--dept {
    padding-top: 1.5rem;
  }

  .form__title {
    margin-top: 0;
  }

  .appointment__picture {
    margin-top: 0;
  }

  .appointment__photo {
    height: 40rem;
  }
}

/* ===========================================================================
   Услуга «Лечение катаракты»: ПК 629:17335, планшет 629:17874, телефон 629:17695.
   Межстрочные интервалы округлены, как их рисует Figma: 14×1.4 → 20, 16×1.4 → 22,
   18×1.4 → 25, 14×1.2 → 17, 22×normal → 27, 18×normal → 22.
   =========================================================================== */

/* заголовки в две-три строки на телефоне: в макете строка 27 */
.argos .section-title,
.treatment .section-title,
.dept-doctors--service .section-title,
.memo .section-title,
.staff .section-title {
  line-height: 1.6875rem;
}

@media (min-width: 46.5em) {
  .argos .section-title,
  .treatment .section-title,
  .dept-doctors--service .section-title,
  .memo .section-title,
  .staff .section-title {
    line-height: normal;
  }
}

/* ---------- Первый экран услуги ---------- */

.page-hero--service .page-hero__title {
  line-height: 1.9375rem; /* 26 × 1.2 = 31.2, в макете 2 строки = 62 */
}

.page-hero--service .page-hero__text {
  font: var(--font-body);
  line-height: 1.25rem;
}

.page-hero--service .page-hero__text p {
  display: block;
}

.page-hero--service .page-hero__text p + p {
  margin-top: 0.5rem;
}

@media (min-width: 46.5em) {
  .page-hero--service .page-hero__title {
    line-height: 1.1;
  }

  .page-hero--service .page-hero__text {
    max-width: none;
    font: var(--font-body);
    line-height: 1.25rem;
  }
}

@media (min-width: 80em) {
  .page-hero--service .page-hero__text {
    margin-top: 1.5rem;
  }

  .page-hero--service .page-hero__text p:first-child {
    max-width: 37.8125rem;
  }

  .page-hero--service .page-hero__text p + p {
    max-width: 36.75rem;
    margin-top: 1rem;
  }

  .page-hero--service .page-hero__img {
    height: 23.25rem;
  }
}

/* ---------- Цитата с бирюзовой линией (ARGOS, «Лечение») ---------- */

.lead-quote {
  padding: 0.5rem 0 0.5rem 0.875rem;
  font: italic 500 0.875rem/1.25rem var(--font-family);
  border-left: 4px solid var(--color-brand);
}

@media (min-width: 46.5em) {
  .lead-quote {
    padding: 1rem 0 1rem 1.25rem;
    font-size: 1rem;
    line-height: 1.375rem;
  }
}

@media (min-width: 80em) {
  .lead-quote {
    font-size: 1.125rem;
    line-height: 1.5625rem;
  }
}

/* ---------- Оборудование ARGOS ---------- */

.argos {
  margin-top: 4rem;
}

.argos__intro {
  display: grid;
  margin-top: 1.5rem;
}

.argos__text {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.argos__picture {
  display: block;
  margin-top: 2rem;
}

/* в макете картинка без object-fit — растянута по рамке; у каждой ширины свой кадр */
.argos__img {
  width: 100%;
  height: 15rem;
  border-radius: var(--radius);
}

.argos__subtitle {
  margin-top: 4rem;
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.feature-cards {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.feature-card {
  position: relative;
  padding: 1.5rem 1rem;
  background: var(--color-card);
  border-radius: var(--radius);
}

/* номер в макете выровнен по левому краю: телефон x321 из 358, ПК x253 из 300; на планшете — по правому, отступ 24 */
.feature-card__num {
  position: absolute;
  top: 1rem;
  left: calc(100% - 2.3125rem);
  font: var(--font-body);
}

.feature-card__title {
  max-width: 17.125rem;
  margin: 0;
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.feature-card__text {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.argos__outro {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .argos__intro {
    margin-top: 1.5rem;
  }

  .argos__text {
    margin-top: 2rem;
  }

  .argos__text p + p {
    margin-top: 0.5rem;
  }

  .argos__img {
    height: 20rem;
  }

  .argos__subtitle {
    font: var(--font-h3);
  }

  .feature-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .feature-card {
    min-height: 17.9375rem;
    padding: 2rem;
  }

  .feature-card__num {
    top: 1.5rem;
    right: 1.5rem;
    left: auto;
    font: 400 1rem/normal var(--font-family);
  }

  .feature-card__title {
    max-width: 16.5625rem; /* 629:17967: «Высочайшая / точность измерений» */
    font: var(--font-h3);
  }

  .argos__outro {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .argos {
    margin-top: 5rem;
  }

  /* цитата и текст слева, фото справа: низ текста = низ фото (1103) */
  .argos__intro {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
  }

  .argos__lead .lead-quote {
    max-width: 36.6875rem; /* текст 563 + линия и отступ */
  }

  .argos__text {
    margin-top: 2.5rem;
  }

  .argos__picture {
    margin-top: 0;
  }

  .argos__img {
    height: 19.375rem;
  }

  .argos__subtitle {
    margin-top: 5rem;
  }

  .feature-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  /* заголовок до трёх строк, текст всегда на 143 от верха карточки */
  .feature-card {
    min-height: 18.9375rem;
    padding: 2.5rem 1.4375rem 2.5rem 1.5rem;
  }

  .feature-card__num {
    right: auto;
    left: calc(100% - 2.9375rem);
  }

  .feature-card__title {
    max-width: none;
    min-height: 5.4375rem;
  }

  .argos__outro {
    max-width: 52.5rem;
    margin-top: 2.5rem;
  }
}

/* ---------- О заболевании ---------- */

.disease {
  display: grid;
  margin-top: 4rem;
}

.disease__img {
  width: 100%;
  height: 15rem;
  object-fit: cover;
  border-radius: var(--radius-small);
}

.disease__content {
  padding-top: 2rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.disease__term {
  font-weight: 600;
}

.disease__text {
  margin-top: 0.5rem;
}

.disease__accent {
  margin-top: 1rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.disease__list {
  margin-top: 0.5rem;
  padding-left: 1.3125rem;
  list-style: disc;
}

@media (min-width: 46.5em) {
  .disease__img {
    height: 25rem;
  }

  .disease__term {
    font: 500 1rem/1.375rem var(--font-family);
  }

  .disease__text {
    margin-top: 1rem;
  }

  .disease__accent {
    margin-top: 0.5rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .disease__list {
    max-width: 39rem;
  }

  .disease__list li + li {
    margin-top: 0.25rem;
  }
}

@media (min-width: 80em) {
  .disease {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 5rem;
  }

  .disease__img {
    height: 24.8125rem;
  }

  .disease__content {
    padding-top: 1.5rem;
  }

  .disease__text {
    margin-top: 1.5rem;
  }
}

/* ---------- Лечение и «Как проходит операция» ---------- */

.treatment {
  margin-top: 4rem;
}

.treatment__quote {
  margin-top: 1.5rem;
}

.treatment__steps-title {
  margin-top: 4rem;
}

.step-cards {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.step-card {
  position: relative;
  padding: 1.5rem 1rem;
  background: var(--color-card);
  border-radius: var(--radius);
}

/* номер: телефон x321 из 358, ПК x360 из 408 (по левому краю); планшет — правый отступ 32 */
.step-card__num {
  position: absolute;
  top: 1rem;
  left: calc(100% - 2.3125rem);
  font: var(--font-body);
}

.step-card__title {
  padding-right: 0.75rem;
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.step-card__lead {
  margin-top: 1rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.step-card__text {
  margin-top: 0.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

@media (min-width: 46.5em) {
  .treatment__quote {
    margin-top: 2rem;
  }

  .step-cards {
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .step-card {
    padding: 2rem;
  }

  .step-card__num {
    top: 1.5rem;
    right: 2rem;
    left: auto;
    font: 400 1rem/normal var(--font-family);
  }

  .step-card__title {
    padding-right: 4.5rem;
    font: var(--font-h3);
  }

  .step-card__lead {
    font: var(--font-accent);
    line-height: 1.375rem;
  }
}

@media (min-width: 80em) {
  .treatment {
    margin-top: 5rem;
  }

  .treatment__quote {
    max-width: 52.5rem;
    margin-top: 1.5rem;
  }

  .treatment__quote p + p {
    margin-top: 1rem;
  }

  .treatment__steps-title {
    margin-top: 5rem;
  }

  .step-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2.5rem;
  }

  .step-card {
    min-height: 23.75rem;
    padding: 2.5rem 2.25rem 2.5rem 2.5rem;
  }

  .step-card__num {
    right: auto;
    left: calc(100% - 3rem);
  }

  .step-card__title {
    padding-right: 0;
  }

  .step-card__text {
    margin-top: 1.5rem;
  }
}

/* ---------- Врачи на странице услуги: без «Все специалисты» ---------- */

.dept-doctors--service .carousel {
  margin-top: 1.5rem; /* заголовок уже со строкой 27 */
}

@media (min-width: 46.5em) {
  .dept-doctors--service {
    margin-top: 5rem;
  }

  .dept-doctors--service .block-head__title {
    max-width: 35.125rem;
  }

  .dept-doctors--service .carousel {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .dept-doctors--service .block-head__title {
    max-width: none;
  }

  .dept-doctors--service .carousel {
    margin-top: 1.5rem; /* 40 от заголовка: колонка стрелок выше на 16 */
  }
}

/* ---------- Информация для пациентов: карточка памятки (UI-Kit 269:1464) ---------- */

.memo {
  margin-top: 4rem;
}

.memo-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 1.5rem;
  padding: 1rem;
  text-align: center;
  background: var(--color-card);
  border-radius: var(--radius);
  cursor: pointer;
}

.memo-card__title {
  max-width: 20.375rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

/* «Смотреть» — малая кнопка с обводкой (UI-Kit 424:3255) */
.memo-card__btn {
  display: inline-flex;
  align-items: center;
  min-height: 1.4375rem;
  margin-top: 1rem;
  padding: 0.1875rem 2.3125rem;
  font: var(--font-button-small);
  text-transform: uppercase;
  border: 1px solid var(--color-text);
  border-radius: var(--radius-small);
  opacity: 0.75;
}

@media (any-hover: hover) {
  .memo-card__btn:hover {
    font: var(--font-button-small-hover);
    color: var(--color-light);
    background: var(--gradient);
    border-color: transparent;
    opacity: 1;
  }
}

@media (min-width: 46.5em) {
  .memo {
    margin-top: 5rem;
  }

  .memo-card {
    margin-top: 2rem;
    padding: 2rem;
  }

  .memo-card__title {
    max-width: 31.75rem;
    font: var(--font-subtitle);
  }

  .memo-card__btn {
    justify-content: center;
    width: 8.75rem;
    height: auto;
    min-height: 0; /* минимальная высота с меньшей ширины здесь не действует */
    margin-top: 1.5rem;
    padding: 0.4375rem 1.9375rem;
    opacity: 0.8;
  }
}

/* на ПК кнопка появляется при наведении, текст поднимается (Hover 269:1465) */
@media (min-width: 80em) {
  .memo-card {
    justify-content: center;
    width: 39rem;
    min-height: 10rem;
    margin-top: 2.5rem;
    padding: 0 2.9375rem;
  }

  .memo-card__title {
    max-width: 33.0625rem;
  }

  .memo-card__btn {
    display: none;
    margin-top: 1rem;
  }

  .memo-card:focus-visible .memo-card__btn {
    display: inline-flex;
  }

  @media (any-hover: hover) {
    .memo-card:hover .memo-card__btn {
      display: inline-flex;
    }
  }
}

/* ---------- Отзывы на странице услуги ---------- */

@media (min-width: 80em) {
  .reviews--service {
    margin-top: 5rem;
  }
}

/* ---------- Вопросы услуги (629:17343): строка = max(40, вопрос + 8), под строкой 8 ---------- */

.faq--service .faq__item {
  margin-top: 0.25rem;
  padding-bottom: 0.4375rem; /* + линия 1 = 8 */
}

.faq--service .faq__item:first-child {
  margin-top: 0.1875rem;
}

.faq--service .faq__num {
  margin-top: 0.625rem;
}

.faq--service .faq__question {
  margin: 0.75rem 0 0.5rem;
  line-height: 1.0625rem;
}

.faq--service .faq__btn {
  margin-top: 2rem;
}

/* однострочный вопрос на телефоне — пункт 56 (805:47388) */
.faq--service .faq__item {
  min-height: 3.5rem;
}

@media (min-width: 46.5em) {
  .faq--service .faq__item {
    margin-top: 0.5rem;
  }

  .faq--service .faq__item:first-child {
    margin-top: 0.4375rem;
  }

  .faq--service .faq__num {
    margin-top: 0.6875rem;
  }

  .faq--service .faq__item {
    min-height: 0;
  }

  .faq--service .faq__question {
    margin: 0.5625rem 0 0.5rem;
    line-height: 1.375rem;
  }

  /* у линз строка = max(40 + 8, 9 + вопрос) + 8: однострочный 56, двухстрочный 69 (805:47319) */
  .faq--lenses .faq__question,
  .faq--hard-lenses .faq__question {
    margin-bottom: 0;
  }
}

@media (min-width: 80em) {
  .faq--service .faq__img {
    height: 29.5rem;
  }

  .faq--service .faq__list {
    height: auto;
    min-height: 0; /* минимальная высота с меньшей ширины здесь не действует */
  }

  .faq--service .faq__item + .faq__item {
    margin-top: 0.5rem;
  }

  /* на ПК однострочный пункт 49 (40 + 8 + линия) */
  .faq--service .faq__item {
    padding-bottom: 0.5rem;
  }

  .faq--service .faq__num {
    margin-top: 0.625rem;
  }

  /* строка = max(40, вопрос + 14): однострочный пункт 57 с отступом, двухстрочный 75 (805:47244) */
  .faq--service .faq__question,
  .faq--service .faq__item.is-open .faq__question {
    margin: 0.5rem 0 0.375rem;
  }

  .faq--service .faq__btn {
    margin-top: 2.5rem;
  }
}

.faq__answer p + p {
  margin-top: 0.5rem;
}

/* ---------- Окно «Памятка» ---------- */

.memo-modal {
  width: min(22.375rem, 100% - 2rem);
  padding: 2rem 1rem;
}

.memo-modal__title {
  margin: 0 0.25rem;
  font: var(--font-h2-m);
  line-height: 1.6875rem;
  color: var(--color-brand);
  text-align: center;
}

.memo-modal__card {
  margin-top: 1.5rem;
  padding: 1rem;
  background: var(--color-card);
  border-radius: var(--radius);
}

.memo-modal__heading {
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.memo-modal__accent {
  margin-top: 0.5rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.memo-modal__list {
  margin-top: 0.5rem;
  padding-left: 1.3125rem;
  font: var(--font-body);
  line-height: 1.25rem;
  list-style: disc;
}

.memo-modal__note {
  margin-top: 0.625rem;
}

.memo-modal__after {
  margin-top: 2rem;
}

.memo-modal__text {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.memo-modal__intro {
  margin-top: 1rem;
}

.memo-modal__warning {
  margin-top: 1rem;
  padding: 0.5rem 0 0.5rem 0.75rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
  border-left: 4px solid var(--color-brand);
}

.memo-modal__rules {
  margin-top: 1rem;
}

.memo-modal__wish {
  margin-top: 2rem;
  text-align: center;
}

@media (min-width: 46.5em) {
  .memo-modal {
    width: min(43.5rem, 100% - 3rem);
    padding: 4rem;
  }

  .memo-modal__title {
    margin: 0;
    font: var(--font-h2);
    line-height: 2.25rem;
    text-align: left;
  }

  .memo-modal__card {
    margin-top: 2rem;
    padding: 2rem;
  }

  .memo-modal__heading {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .memo-modal__accent {
    margin-top: 1rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .memo-modal__list li + li {
    margin-top: 0.25rem;
  }

  .memo-modal__note {
    margin-top: 1rem;
  }

  .memo-modal__after {
    margin-top: 2rem;
  }

  /* линия на 16 левее поля окна */
  .memo-modal__warning {
    margin-left: -1rem;
    padding-left: 0.75rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .memo-modal__rules {
    margin-top: 2rem;
  }

  /* на планшете между правилами отступа нет (список 300 = 15 строк), на ПК — 4 */
  .memo-modal__rules li + li {
    margin-top: 0;
  }

  .memo-modal__wish {
    margin-top: 4rem;
    text-align: left;
  }
}

@media (min-width: 80em) {
  .memo-modal {
    width: min(61.6875rem, 100% - 2rem);
    padding: 4rem 7.5rem;
  }

  .memo-modal .modal__close {
    top: 1.5rem;
    right: 1.5rem;
  }

  .memo-modal__title {
    max-width: 47.25rem;
  }

  .memo-modal__card {
    width: 35.3125rem;
    margin-top: 2.5rem;
    padding: 2.5rem;
  }

  .memo-modal__after {
    margin-top: 2.5rem;
  }

  .memo-modal__text p + p {
    margin-top: 0.5rem;
  }

  .memo-modal__warning {
    margin: 1.5rem 0 0;
    padding-left: 0.75rem;
  }

  .memo-modal__rules {
    margin-top: 1.5rem;
  }

  .memo-modal__rules li + li {
    margin-top: 0.25rem;
  }

  .memo-modal__wish {
    margin-top: 2rem;
  }
}

/* ===========================================================================
   Страница врача (пример — Эль-Айди И. С.): ПК 732:25791, планшет 732:25889, телефон 732:25981
   =========================================================================== */

/* ---------- Первый экран врача: на телефоне и планшете фото сверху ---------- */

.doctor-hero {
  grid-template-areas:
    'photo'
    'content';
}

.doctor-hero__photo {
  grid-area: photo;
  display: grid;
  height: 22.5rem;
  overflow: hidden;
  background: linear-gradient(180deg, #e4e6e3 0%, #d3dada 100%);
  border-radius: var(--radius);
}

.doctor-hero__picture,
.doctor-hero__badge {
  grid-area: 1 / 1;
}

/* фигура врача вырезана на прозрачном фоне и уже обрезана под рамку */
.doctor-hero__img {
  width: 100%;
  height: 100%;
}

.doctor-hero__badge {
  justify-self: end;
  align-self: start;
  margin: 1rem 1rem 0 0;
  padding: 0.25rem 0.625rem;
  font: 600 0.75rem/normal var(--font-family);
  color: var(--color-light);
  background: var(--gradient);
  border-radius: var(--radius-small);
}

.doctor-hero__content {
  grid-area: content;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 2rem;
}

.doctor-hero__name {
  line-height: 1.9375rem;
}

.doctor-hero__position {
  margin-top: 1rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.doctor-hero__schedule {
  margin-top: 2rem;
  font: var(--font-body);
  line-height: 1.375rem;
}

.doctor-hero__schedule p + p {
  margin-top: 0.25rem;
}

/* подпись крупнее текста строки — межстрочный у неё 1, чтобы строка оставалась 22 */
.doctor-hero__label {
  font-weight: 500;
  line-height: 1;
}

.doctor-hero__reviews {
  margin-top: 2rem;
  font: var(--font-accent);
  line-height: 1.375rem;
  color: var(--color-brand-text);
}

@media (any-hover: hover) {
  .doctor-hero__reviews:hover {
    text-decoration: underline;
    text-underline-position: from-font;
  }
}

.doctor-hero__actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-self: stretch;
  margin-top: 2rem;
}

.doctor-hero__actions .page-hero__btn {
  margin-top: 0;
}

/* «Оставить отзыв» — большая кнопка с тёмной обводкой (732:25873); наведение — как у тёмной обводки в UI-Kit */
.btn-outline--large {
  height: 3rem;
  padding: 0.9375rem 2.4375rem;
  font: var(--font-button);
  color: var(--color-text);
  text-transform: uppercase;
  border-color: var(--color-text);
}

.btn-outline--large:active {
  font: var(--font-button-hover);
  color: var(--color-light);
  background: var(--gradient);
  border-color: transparent;
}

@media (any-hover: hover) {
  .btn-outline--large:hover {
    font: var(--font-button-hover);
    color: var(--color-light);
    background: var(--gradient);
    border-color: transparent;
  }
}

@media (min-width: 46.5em) {
  .page-hero--doctor .page-hero__inner {
    padding-bottom: 2.5rem;
  }

  .page-hero--doctor .page-hero__grid {
    margin-top: 2.5rem;
  }

  .doctor-hero__photo {
    height: 35rem;
  }

  .doctor-hero__badge {
    margin: 1.5rem 1.5rem 0 0;
    padding: 0.5rem 2rem;
    font-size: 0.875rem;
  }

  .doctor-hero__content {
    padding-top: 2.5rem;
  }

  .doctor-hero__name {
    line-height: 1.1;
  }

  .doctor-hero__position {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .doctor-hero__schedule {
    margin-top: 1.5rem;
  }

  .doctor-hero__label {
    font-size: 1rem;
  }

  .doctor-hero__reviews {
    margin-top: 1.5rem;
  }

  .doctor-hero__actions {
    flex-direction: row;
    gap: 1.5rem;
    margin-top: 2.5rem;
  }

  .doctor-hero__actions > * {
    flex: 1 1 0;
    width: auto;
    max-width: none;
  }
}

@media (min-width: 80em) {
  .page-hero--doctor .page-hero__inner {
    padding-bottom: 4rem;
  }

  .page-hero--doctor .page-hero__grid {
    grid-template-areas: 'content photo';
    align-items: start;
    margin-top: 2.0625rem;
  }

  .doctor-hero__photo {
    height: 29.875rem;
  }

  .doctor-hero__content {
    padding-top: 3rem;
  }

  .doctor-hero__schedule {
    margin-top: 2rem;
  }

  .doctor-hero__reviews {
    margin-top: 1.75rem;
  }

  .doctor-hero__actions {
    align-self: flex-start;
    gap: 1.5625rem;
  }

  .doctor-hero__actions > * {
    flex: 0 0 18.75rem;
  }
}

/* ---------- Образование и повышение квалификации ---------- */

.education {
  margin-top: 4rem;
}

.education .section-title {
  line-height: 1.6875rem;
}

.education__list {
  margin-top: 1.5rem;
  border-top: 1px solid var(--color-line);
}

/* линия в макете нулевой толщины: отступ под ней на 1 меньше */
.education__item {
  display: grid;
  grid-template-columns: 3.0625rem 1fr;
  column-gap: 2.8125rem;
  padding: 0.5rem 0 0.4375rem;
  border-bottom: 1px solid var(--color-line);
}

.education__item:first-child {
  padding-top: 0.4375rem;
}

.education__year {
  font: var(--font-accent-m);
  line-height: 1.0625rem;
  color: var(--color-brand-text);
}

.education__text {
  font: var(--font-body);
  line-height: 1.25rem;
}

@media (min-width: 46.5em) {
  .education {
    margin-top: 5rem;
  }

  .education .section-title {
    line-height: normal;
  }

  .education__list {
    margin-top: 2rem;
  }

  .education__item {
    grid-template-columns: 15rem 1fr;
    column-gap: 0;
    padding: 1rem 0 0.9375rem;
  }

  .education__item:first-child {
    padding-top: 0.9375rem;
  }

  .education__year {
    font: var(--font-accent);
    line-height: 1.375rem;
  }
}

@media (min-width: 80em) {
  .education__list {
    margin-top: 2.5rem;
  }

  .education__item {
    grid-template-columns: 20.25rem minmax(0, 57.25rem);
  }
}

/* ===========================================================================
   «Специалисты»: ПК 780:41991, планшет 729:25286, телефон 729:25347
   =========================================================================== */

/* ---------- Первый экран без фото: заголовок и текст ---------- */

.page-hero--intro .page-hero__inner {
  padding-bottom: 2rem;
}

.page-intro__title {
  margin-top: 2rem;
}

.page-intro__text {
  margin-top: 1.5rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

@media (min-width: 46.5em) {
  .page-hero--intro .page-hero__inner {
    padding-bottom: 2.5rem;
  }

  .page-intro__title {
    margin-top: 3.0625rem;
  }

  .page-intro__text {
    max-width: 42.1875rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }
}

@media (min-width: 80em) {
  .page-hero--intro .page-hero__inner {
    padding-bottom: 5rem;
  }

  .page-intro__text {
    max-width: 52.375rem;
  }
}

/* ---------- Сетка сотрудников отделения ---------- */

.staff {
  margin-top: 2rem;
}

.staff--next {
  margin-top: 4rem;
}

.staff__grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

/* на телефоне — широкая карточка 358×503 (728:15993): как карточка ПК, фото 358×300 */
.doctor-card--grid {
  min-height: 31.4375rem;
}

.doctor-card--grid .doctor-card__badge {
  margin-right: 1rem;
}

.doctor-card--grid .doctor-card__name {
  font: var(--font-subtitle);
}

.doctor-card--grid .doctor-card__position {
  margin-top: 0.5rem;
}

/* в макете страницы на телефоне подвал на 64 ниже формы (на главной — 80) */
.appointment--specialists {
  margin-bottom: -1rem;
}

@media (min-width: 46.5em) {
  .staff {
    margin-top: 5rem;
  }

  .staff--next {
    margin-top: 5rem;
  }

  .staff__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1.5rem;
    margin-top: 2rem;
  }

  /* планшет — карточка ленты 336×492 */
  .doctor-card--grid {
    min-height: 30.75rem;
  }

  .doctor-card--grid .doctor-card__badge {
    margin-right: 1.0625rem;
  }

  .doctor-card--grid .doctor-card__name {
    font: var(--font-h3-m);
  }

  .doctor-card--grid .doctor-card__position {
    margin-top: 0.525rem;
  }

  .appointment--specialists {
    margin-bottom: 0;
  }
}

@media (min-width: 80em) {
  .staff--next {
    margin-top: 7.5rem;
  }

  .staff__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.5rem 1.5rem;
    margin-top: 2.5rem;
  }

  .doctor-card--grid {
    min-height: 31.4375rem;
  }

  /* стаж — плашка 100, правый край 16 (780:41999) */
  .doctor-card--grid .doctor-card__badge {
    min-width: 6.25rem;
    margin-right: 1rem;
    text-align: center;
  }

  .doctor-card--grid .doctor-card__name {
    font: var(--font-subtitle);
  }

  .doctor-card--grid .doctor-card__position {
    margin-top: 0.5rem;
  }
}

/* ===========================================================================
   «О клинике»: ПК 843:51006, планшет 852:54026, телефон 852:54177
   =========================================================================== */

/* ---------- Первый экран ---------- */

.page-hero--about .page-hero__text--lead {
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.page-hero--about .page-hero__text--second {
  margin-top: 1rem;
}

.page-hero--about .page-hero__text--second p {
  display: block;
}

/* кнопка «Записаться» в макете есть только на телефоне */
@media (min-width: 46.5em) {
  .page-hero--about .page-hero__inner {
    padding-bottom: 4rem;
  }

  .page-hero--about .page-hero__grid {
    margin-top: 3.0625rem;
  }

  .page-hero--about .page-hero__text--lead {
    max-width: none;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .page-hero--about .page-hero__text--second {
    max-width: none;
    font: var(--font-body);
    line-height: 1.25rem;
  }

  .page-hero--about .page-hero__text--second p + p {
    margin-top: 0.5rem;
  }

  .page-hero--about .page-hero__btn {
    display: none;
  }
}

@media (min-width: 80em) {
  .page-hero--about .page-hero__grid {
    margin-top: 2.0625rem;
  }

  .page-hero--about .page-hero__text--lead {
    max-width: 37.8125rem;
    margin-top: 1.5rem;
  }

  .page-hero--about .page-hero__text--second {
    max-width: 37.375rem;
  }

  .page-hero--about .page-hero__img {
    height: 21.75rem;
  }
}

/* ---------- Основатель ---------- */

.founder {
  display: flex;
  flex-direction: column-reverse;
  gap: 2rem;
  margin-top: 5.4375rem; /* в макете телефона от фона первого экрана 87 */
}

.founder__img {
  width: 100%;
  height: 15rem;
  object-fit: cover;
  border-radius: var(--radius);
}

.founder__quote {
  font: italic 500 0.875rem/1.25rem var(--font-family);
}

.founder__sign {
  margin-top: 1rem;
  padding: 0.5rem 0 0.5rem 0.75rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
  border-left: 4px solid var(--color-brand);
}

@media (min-width: 46.5em) {
  .founder {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
    margin-top: 4.1875rem; /* в макете планшета 67 */
  }

  .founder__img {
    height: 23.125rem;
  }

  .founder__quote {
    font-size: 1rem;
    line-height: 1.375rem;
  }

  .founder__sign {
    margin-top: 2rem;
    padding: 1rem 0 1rem 0.75rem;
    font: italic 500 1rem/1.375rem var(--font-family);
  }
}

@media (min-width: 80em) {
  .founder {
    margin-top: 5rem;
  }

  .founder__img {
    height: 24.5625rem;
  }

  .founder__quote {
    max-width: 35.4375rem;
  }

  .founder__sign {
    margin-top: 2.5rem;
    padding-left: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.5625rem;
  }
}

/* ---------- История клиники ---------- */

.history {
  margin-top: 4rem;
}

.history .section-title {
  line-height: 1.6875rem;
}

.history__list {
  margin-top: 2rem;
  border-top: 1px solid var(--color-inactive);
}

.history__item {
  display: grid;
  padding: 1rem 0 0.9375rem;
  border-bottom: 1px solid var(--color-inactive);
}

.history__item:first-child {
  padding-top: 0.9375rem;
}

.history__year,
.history__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.history__year {
  color: var(--color-brand);
}

.history__title {
  margin-top: 0.5rem;
}

.history__text {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.history__text b {
  font-weight: 600;
}

/* на телефоне абзацы разделены пустой строкой (в макете — перевод строки, 20), на планшете и ПК — 8 */
.history__text p + p {
  margin-top: 1.25rem;
}

.history__outro {
  margin-top: 1.5rem;
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.history__outro-title,
.history__outro-years {
  color: var(--color-brand);
}

.history__outro-years {
  margin-top: 0.25rem;
}

.history__outro-slogan {
  margin-top: 0.5rem;
}

@media (min-width: 46.5em) {
  .history {
    margin-top: 5rem;
  }

  .history .section-title {
    line-height: normal;
  }

  .history__item {
    grid-template-columns: 15rem minmax(0, 1fr);
  }

  .history__year {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .history__title {
    margin-top: 0;
    font: var(--font-subtitle);
    line-height: 1.5rem;
  }

  .history__text p + p {
    margin-top: 0.5rem;
  }

  .history__outro {
    margin-top: 2rem;
    font: var(--font-h3);
  }

  .history__outro-years,
  .history__outro-slogan {
    font: var(--font-subtitle);
  }

  .history__outro-years {
    margin-top: 0.5rem;
  }

  .history__outro-slogan {
    margin-top: 1rem;
  }
}

@media (min-width: 80em) {
  .history {
    margin-top: 7.5rem;
  }

  .history__list {
    margin-top: 3.0625rem;
  }

  .history__item {
    grid-template-columns: 20.25rem minmax(0, 57.25rem);
    padding: 1.5rem 0 1.4375rem;
  }

  .history__item:first-child {
    padding-top: 1.4375rem;
  }

  .history__year {
    font: var(--font-h3);
  }

  .history__title {
    font: var(--font-h3);
  }

  .history__outro {
    margin-top: 2.5rem;
    padding-left: 20.25rem;
  }
}

/* ---------- Достижения, лицензии, врачи, галерея на странице «О клинике» ---------- */

@media (min-width: 46.5em) {
  .achievements--about {
    margin-top: 5rem;
  }
}

@media (min-width: 80em) {
  .achievements--about {
    margin-top: 7.5rem;
  }
}

.licenses {
  margin-top: 4rem;
}

.licenses__text {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.licenses__btn {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .licenses {
    margin-top: 5rem;
  }

  .licenses__text {
    max-width: 43.4375rem;
  }

  .licenses__text p + p {
    margin-top: 0.5rem;
  }
}

@media (min-width: 80em) {
  .licenses__text {
    max-width: 52.5rem;
  }
}

.dept-doctors--about .section-title {
  line-height: 1.6875rem;
}

@media (min-width: 46.5em) {
  .dept-doctors--about {
    margin-top: 5rem;
    padding: 3.375rem 0 4rem;
  }

  .dept-doctors--about .section-title {
    line-height: normal;
  }

  /* заголовок в 3 строки на всю ширину, стрелки под ним справа */
  .dept-doctors--about .block-head {
    flex-wrap: wrap;
  }

  .dept-doctors--about .block-head__title {
    flex: 1 0 100%;
    max-width: none;
  }

  .dept-doctors--about .carousel-nav {
    margin: 0 0 0 auto;
  }
}

@media (min-width: 80em) {
  .dept-doctors--about {
    padding: 5rem 0;
  }

  .dept-doctors--about .block-head {
    flex-wrap: nowrap;
  }

  .dept-doctors--about .block-head__title {
    flex: 0 1 auto;
    max-width: 60.75rem;
  }

  .dept-doctors--about .carousel-nav {
    margin-top: 2rem;
  }

  .dept-doctors--about .carousel {
    margin-top: 2.5rem;
  }
}

/* ---------- Фотогалерея: активный кадр по центру, соседние — меньше и полупрозрачные ---------- */

.gallery {
  margin-top: 4rem;
  overflow: hidden;
}

.gallery .section-title {
  line-height: 1.6875rem;
}

.gallery__stage {
  position: relative;
  display: flex;
  align-items: center;
  height: 20rem;
  margin-top: 1.5rem;
  touch-action: pan-y;
}

.gallery__track {
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: transform 0.4s ease;
}

.gallery__slide {
  flex: 0 0 auto;
  width: 22.375rem;
  height: 20rem;
  overflow: hidden;
  border-radius: var(--radius);
  opacity: 0.5;
}

.gallery__slide.is-active {
  opacity: 1;
}

.gallery__slide picture,
.gallery__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* стрелки — поверх кадров, по центру по высоте */
.gallery__arrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  margin-top: -1.25rem;
}

.gallery__arrow--prev {
  left: max(0.25rem, calc(50% - 11.9375rem)); /* на узком телефоне — не за край экрана */
}

.gallery__arrow--next {
  left: min(calc(100% - 2.875rem), calc(50% + 9.3125rem));
}

.gallery__dots {
  margin-top: 1rem;
}

@media (min-width: 46.5em) {
  .gallery {
    margin-top: 5rem;
  }

  .gallery .section-title {
    line-height: normal;
  }

  .gallery__stage {
    height: 28.75rem;
    margin-top: 2rem;
  }

  .gallery__track {
    gap: 1.5rem;
  }

  .gallery__slide {
    width: 34.0625rem;
    height: 22.5rem;
  }

  .gallery__slide.is-active {
    width: 43.5rem;
    height: 28.75rem;
  }

  .gallery__arrow--prev {
    left: calc(50% - 20.75rem);
  }

  .gallery__arrow--next {
    left: calc(50% + 18.25rem);
  }
}

@media (min-width: 80em) {
  .gallery {
    margin-top: 7.5rem;
  }

  .gallery__stage {
    margin-top: 3rem;
  }

  .gallery__slide {
    width: 45.625rem;
    height: 25rem;
  }

  .gallery__slide.is-active {
    width: 52.5rem;
    height: 28.75rem;
  }

  .gallery__arrow--prev {
    left: calc(50% - 32.9375rem);
  }

  .gallery__arrow--next {
    left: calc(50% + 30.5rem);
  }
}

/* в макете страницы на телефоне подвал на 64 ниже формы */
.appointment--about {
  margin-bottom: -1rem;
}

@media (min-width: 46.5em) {
  .appointment--about {
    margin-bottom: 0;
  }
}

/* ===========================================================================
   «Цены»: ПК 876:54439 (раскрыто — 876:54460), планшет 876:54418, телефон 876:54481;
   разделы — компоненты 826:49048 (ПК 826:49269, планшет 868:29095, телефон 872:29227)
   =========================================================================== */

/* первый экран — только заголовок */
.page-hero--title-only .page-hero__inner {
  padding-bottom: 2rem;
}

@media (min-width: 46.5em) {
  .page-hero--title-only .page-hero__inner {
    padding-bottom: 4rem;
  }

  .page-hero--title-only .page-intro__title {
    margin-top: 4rem;
  }
}

@media (min-width: 80em) {
  .page-hero--title-only .page-hero__inner {
    padding-bottom: 2.5rem;
  }

  .page-hero--title-only .page-intro__title {
    margin-top: 2.5rem;
  }
}

/* ---------- Разделы прайса: свёрнуты, раскрываются по заголовку ---------- */

.prices {
  margin-top: 2rem;
}

.price-group + .price-group {
  margin-top: 1rem;
}

.price-group__head {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  list-style: none;
}

.price-group__head::-webkit-details-marker {
  display: none;
}

.price-group__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.price-group__arrow {
  flex: 0 0 1.375rem;
  width: 1.375rem;
  height: 1.375rem;
}

/* UI-Kit «При наведении» и «Развернут список»: название бирюзовое, стрелка перевёрнута */
.price-group[open] .price-group__title {
  color: var(--color-brand);
}

@media (any-hover: hover) {
  .price-group__head:hover .price-group__title {
    color: var(--color-brand);
  }
}

.price-group[open] .price-group__arrow {
  transform: rotate(180deg);
}

/* ---------- Таблица цен ---------- */

/* открытый раздел: снизу 16 (телефон) / 24 (планшет, ПК) до следующего заголовка плюс общий промежуток */
.price-group[open] {
  padding-bottom: 1rem;
}

.price-table {
  width: 100%;
  margin-top: 1rem;
  table-layout: fixed;
  border-collapse: collapse;
  font: var(--font-body);
  line-height: 1.25rem;
}

/* шаг строк в макете: телефон 71, планшет 51, ПК 53 (рамки соседних строк совпадают) */
.price-table th,
.price-table td {
  padding: 0.9375rem 0.5rem;
  border: 1px solid var(--color-inactive);
  vertical-align: middle;
}

.price-table th {
  padding: 0.375rem 0.5rem 0.4375rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
  text-align: center;
  background: var(--color-card);
}

.price-table th:first-child {
  width: 16.5625rem;
}

.price-table td:last-child {
  text-align: center;
}

/* поле названия в макете уже ячейки: 245 на телефоне, 414 на планшете (868:29111, 872:29242) — справа отступ с учётом рамки 1px */
.price-table td:first-child {
  padding-right: 0.6875rem;
}

/* узкий телефон (уже 390 по макету): первая колонка забирает остаток, колонка цены не уходит за край */
@media (max-width: 24.3125em) {
  .price-table th:first-child {
    width: auto;
  }

  .price-table th:last-child {
    width: 5.8125rem;
  }
}

@media (min-width: 46.5em) {
  .prices {
    margin-top: 4rem;
  }

  .price-group + .price-group {
    margin-top: 1.5rem;
  }

  .price-group__head {
    align-items: flex-end;
    gap: 1rem;
  }

  .price-group__title {
    font: var(--font-h3);
  }

  .price-group__arrow {
    flex-basis: 1.75rem;
    width: 1.75rem;
    height: 1.75rem;
  }

  .price-group[open] {
    padding-bottom: 1.5rem;
  }

  .price-table {
    margin-top: 2rem;
  }

  .price-table th,
  .price-table td {
    padding: 0.9375rem 1.5rem;
    text-align: left;
  }

  .price-table th {
    padding: 1rem 1.5rem;
  }

  .price-table th {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .price-table th:first-child {
    width: 30rem;
  }

  .price-table td:last-child {
    text-align: left;
  }

  .price-table td:first-child {
    padding-right: 2.5625rem;
  }
}

@media (min-width: 80em) {
  .prices {
    margin-top: 2.5rem;
  }

  .price-table {
    margin-top: 1.5rem;
  }

  .price-table td {
    padding: 1rem 2.5rem;
  }

  .price-table th {
    padding: 0.9375rem 2.5rem 0.9375rem;
  }

  .price-table th:first-child {
    width: 52.5rem;
  }
}

/* форма: на планшете в макете 120 от списка (на других страницах 80), на телефоне подвал на 64 ниже */
.appointment--prices {
  margin-bottom: -1rem;
}

@media (min-width: 46.5em) {
  .appointment--prices {
    margin-top: 7.5rem;
    margin-bottom: 0;
  }
}

/* ===========================================================================
   «Отзывы»: ПК 864:53841, планшет 864:54065, телефон 864:53953;
   окно «Оставить отзыв»: 864:53912 / 864:54138 / 864:54025
   =========================================================================== */

/* ---------- Первый экран: текст, кнопка, логотипы площадок, виджет Яндекса ---------- */

.reviews-hero__text {
  margin-top: 1rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.reviews-hero__btn {
  width: 100%;
  max-width: none;
  margin-top: 1.5rem;
}

.reviews-hero__logos {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.reviews-hero__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 3rem;
  background: var(--color-light);
  border-radius: var(--radius);
}

.reviews-hero__widget {
  display: block;
  margin-top: 1.6875rem; /* в макете телефона 27 */
}

.reviews-hero__widget-img {
  width: 100%;
  height: 25.5625rem;
  border-radius: var(--radius);
}

@media (min-width: 46.5em) {
  .page-hero--reviews .page-hero__inner {
    padding-bottom: 4rem;
  }

  .page-hero--reviews .page-hero__grid {
    margin-top: 3.0625rem;
  }

  .reviews-hero__text {
    margin-top: 2rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .reviews-hero__btn {
    width: 18.75rem;
    margin-top: 2rem;
  }

  .reviews-hero__logos {
    gap: 1.5rem;
  }

  .reviews-hero__widget {
    margin-top: 4rem;
  }

  .reviews-hero__widget-img {
    height: 49.75rem;
  }
}

@media (min-width: 80em) {
  .page-hero--reviews .page-hero__inner {
    padding-bottom: 4.0625rem;
  }

  /* виджет 492 справа, до правого края контейнера 63 (x801…1293) */
  .page-hero--reviews .page-hero__grid {
    grid-template-columns: minmax(0, 1fr) 30.75rem;
    gap: 5.0625rem;
    align-items: start;
    margin-top: 2rem;
    padding-right: 3.9375rem;
  }

  .reviews-hero__content {
    padding-top: 4rem;
  }

  .reviews-hero__text {
    max-width: 39.75rem;
    margin-top: 2.5rem;
  }

  .reviews-hero__btn {
    margin-top: 2.5rem;
  }

  .reviews-hero__logos {
    margin-top: 4rem;
  }

  .reviews-hero__widget {
    margin-top: 0;
  }

  .reviews-hero__widget-img {
    height: 35.125rem;
  }
}

/* ---------- Сетка отзывов ---------- */

.reviews-list {
  margin-top: 4rem;
}

.reviews-list__grid {
  display: grid;
  gap: 1rem;
}

/* на телефоне карточка 358×360 (текст до 8 строк), на планшете и ПК — как в ленте главной */
.review-card--grid {
  grid-template-rows: 3.75rem 11.5rem auto 1fr;
  min-height: 22.5rem;
  padding-bottom: 1.5rem;
}

.review-card--grid .review-card__text {
  max-height: 10rem;
  -webkit-line-clamp: 8;
}

.review-card--grid .review-card__more {
  margin-top: 0.5rem;
}

.reviews-list__more {
  width: 100%;
  margin-top: 1.5rem;
}

/* на первой странице — целые ряды, как в макете: телефон 5, планшет 8, ПК 9 */
@media (max-width: 46.4375em) {
  .reviews-list__grid > .review-card:nth-child(n+6) {
    display: none;
  }
}

@media (min-width: 46.5em) and (max-width: 79.9375em) {
  .reviews-list__grid > .review-card:nth-child(n+9) {
    display: none;
  }
}

@media (min-width: 46.5em) {
  .reviews-list__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .review-card--grid {
    grid-template-rows: 3.75rem 12.75rem auto 1fr;
    min-height: 25.25rem;
    padding-bottom: 2.025rem;
  }

  .review-card--grid .review-card__text {
    max-height: 11.25rem;
    -webkit-line-clamp: 9;
  }

  .review-card--grid .review-card__more {
    margin-top: 1.25rem;
  }

  .reviews-list__more {
    display: flex;
    width: 18.75rem;
    margin: 2rem auto 0;
  }
}

@media (min-width: 80em) {
  .reviews-list {
    margin-top: 5rem;
  }

  .reviews-list__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem 1.5rem;
  }

  .review-card--grid {
    grid-template-rows: 3.75rem 12.375rem auto 1fr;
    min-height: 24.375rem;
    padding-bottom: 2.525rem;
  }

  .review-card--grid .review-card__text {
    max-height: 10rem;
    -webkit-line-clamp: 8;
  }

  .review-card--grid .review-card__more {
    margin-top: 0.25rem;
  }

  .reviews-list__more {
    margin-top: 2.5rem;
  }
}

/* ---------- Форма отзыва: подписи над полями ---------- */

.review-form {
  margin-top: 4rem;
  margin-bottom: -1rem; /* подвал в макете телефона на 64 ниже формы */
}

.review-form .section-title {
  line-height: 1.6875rem;
}

.review-form__text {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.review-form__grid {
  display: grid;
  margin-top: 1.5rem;
}

.review-form__img {
  display: none;
}

.form--review {
  gap: 1rem;
  border-radius: var(--radius);
}

.form__group--review {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.form__group--review .form__label {
  line-height: 1.25rem;
}

@media (min-width: 46.5em) {
  .review-form {
    margin-top: 5rem;
    margin-bottom: 0;
  }

  .review-form .section-title {
    line-height: normal;
  }

  .review-form__grid {
    margin-top: 2rem;
  }

  .form--review {
    gap: 1.5rem;
    padding: 2rem;
  }

  .form__group--review {
    gap: 0.5rem;
  }

  .form--review .form__submit {
    margin-top: 0.375rem; /* 24 + 6 = 30 из макета планшета */
  }
}

@media (min-width: 80em) {
  .review-form {
    margin-top: 7.5rem;
  }

  .review-form__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
  }

  .review-form__img {
    display: block;
    width: 100%;
    height: 41.125rem;
    object-fit: cover;
    border-radius: var(--radius);
  }

  .form--review {
    padding: 2.5rem;
  }

  .form--review .form__submit {
    align-self: stretch;
    width: 100%;
    margin-top: 0.875rem; /* 24 + 14 = 38 из макета */
  }
}

/* ---------- Окно «Оставить отзыв» ---------- */

.modal__window--review {
  width: min(22.375rem, 100% - 2rem);
  padding: 3rem 1rem 2rem;
}

.modal__window--review .modal__title {
  margin-bottom: 2rem;
}

/* на телефоне в окне форма без подложки, подпись — над полем через 8 */
.modal__window--review .form--review {
  padding: 0;
  background: none;
}

.modal__window--review .form__group--review {
  gap: 0.5rem;
}

@media (min-width: 46.5em) {
  .modal__window--review {
    width: min(43.5rem, 100% - 3rem);
    padding: 4rem 2rem 2rem;
  }

  .modal__window--review .modal__title {
    margin-bottom: 2rem;
  }

  .modal .modal__window--review .form--review {
    padding: 2rem;
    background: var(--color-card);
  }

  /* в окне планшета: до согласия 16, от согласия до кнопки 32 (864:54138) */
  .modal .modal__window--review .form__consent {
    margin-top: -0.5rem;
  }

  .modal .modal__window--review .form__submit {
    align-self: center;
    width: 18.75rem;
    margin-top: 0.5rem;
  }
}

@media (min-width: 80em) {
  .modal__window--review {
    width: 47rem;
    padding: 4rem 4rem 2.5rem;
  }

  .modal__window--review .modal__title {
    margin-bottom: 2.8125rem;
  }

  /* в окне ПК: сверху формы 35, до согласия 24, от согласия до кнопки 40 (864:53912) */
  .modal .modal__window--review .form--review {
    padding: 2.1875rem 2.5rem 2.5rem;
  }

  .modal .modal__window--review .form__consent {
    margin-top: 0;
  }

  .modal .modal__window--review .form__submit {
    align-self: stretch;
    width: 100%;
    margin-top: 1rem;
  }
}

/* ===========================================================================
   «Пациентам»: ПК 879:55089, планшет 879:54944, телефон 879:55216
   =========================================================================== */

.page-hero--patients .page-intro__text {
  margin-top: 1rem;
}

@media (min-width: 46.5em) {
  .page-hero--patients .page-hero__inner {
    padding-bottom: 4rem;
  }

  .page-hero--patients .page-intro__title {
    margin-top: 4rem;
  }

  .page-hero--patients .page-intro__text {
    max-width: 39.75rem;
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .page-hero--patients .page-hero__inner {
    padding-bottom: 5rem;
  }

  .page-hero--patients .page-intro__title {
    margin-top: 5rem;
  }

  .page-hero--patients .page-intro__text {
    margin-top: 1.5rem;
  }
}

/* ---------- Памятки: карточки как на странице услуги, сеткой ---------- */

.memos {
  margin-top: 4rem;
}

.memos__text {
  margin-top: 1rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.memos__grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.memos__grid .memo-card {
  margin-top: 0;
}

@media (min-width: 46.5em) {
  .memos__text {
    margin-top: 1.5rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .memos__grid {
    gap: 1.5rem;
    margin-top: 2rem;
  }

  /* на «Пациентам» поле заголовка памятки 529 (на странице услуги 508) */
  .memos__grid .memo-card__title {
    max-width: 33.0625rem;
  }
}

@media (min-width: 80em) {
  .memos {
    margin-top: 5rem;
  }

  .memos__text {
    max-width: 52.5rem;
  }

  .memos__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 2.5rem;
  }

  .memos__grid .memo-card {
    width: 100%;
  }
}

/* ---------- Лицензии и документы: таблицы как в прайсе ---------- */

.docs {
  margin-top: 4rem;
}

.docs__group {
  margin-top: 2rem;
}

.docs__group:first-of-type {
  margin-top: 1.5rem;
}

.docs__subtitle {
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.doc-table {
  margin-top: 1rem;
}

.docs__group:first-of-type .doc-table {
  margin-top: 0;
}

/* «Доп. информация» на телефоне шире поля цены: в макете поле 88 в колонке 94 */
@media (max-width: 46.4375em) {
  .doc-table th:last-child {
    padding-right: 0.1875rem;
    padding-left: 0.1875rem;
  }
}

@media (any-hover: hover) {
  .doc-table__link:hover {
    color: var(--color-brand);
    text-decoration: underline;
    text-underline-position: from-font;
  }
}

.docs__note {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

/* на телефоне абзацы разделены пустой строкой, на планшете и ПК — 8 */
.docs__note p + p {
  margin-top: 1.25rem;
}

.docs__mail {
  color: var(--color-brand-text);
}

@media (min-width: 46.5em) {
  .docs {
    margin-top: 5rem;
  }

  .docs__group {
    margin-top: 4rem;
  }

  .docs__group:first-of-type {
    margin-top: 2rem;
  }

  .docs__subtitle {
    font: var(--font-h3);
  }

  .doc-table {
    margin-top: 1.5rem;
  }

  .docs__note {
    margin-top: 1.5rem;
  }

  .docs__note p + p {
    margin-top: 0.5rem;
  }
}

@media (min-width: 80em) {
  .docs {
    margin-top: 7.5rem;
  }

  .docs__group:first-of-type {
    margin-top: 2.5rem;
  }


}

/* ---------- Остались вопросы ---------- */

.more-questions {
  margin-top: 4rem;
}

.more-questions__text {
  margin-top: 1rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.more-questions__btn {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .more-questions {
    margin-top: 5rem;
  }

  .more-questions__text {
    margin-top: 2rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }
}

@media (min-width: 80em) {
  .more-questions {
    margin-top: 7.5rem;
  }

  .more-questions__text {
    max-width: 52.5rem;
    margin-top: 1.5rem;
  }
}

.appointment--patients {
  margin-bottom: -1rem;
}

@media (min-width: 46.5em) {
  .appointment--patients {
    margin-bottom: 0;
  }
}

/* ===========================================================================
   «Оптика»: ПК 843:50819, планшет 843:54247, телефон 843:54346
   =========================================================================== */

/* ---------- Первый экран: длинный заголовок, текст 14, кнопка, фото ---------- */

.page-hero--optics .page-hero__title {
  line-height: 1.9375rem;
}

.page-hero--optics .page-hero__text {
  margin-top: 1rem;
  line-height: 1.25rem;
}

@media (min-width: 46.5em) {
  .page-hero--optics .page-hero__grid {
    margin-top: 3.0625rem;
  }

  .page-hero--optics .page-hero__title {
    line-height: 1.1;
  }

  .page-hero--optics .page-hero__text {
    max-width: none;
    margin-top: 1.5rem;
    font: var(--font-body);
    line-height: 1.25rem;
  }
}

@media (min-width: 80em) {
  .page-hero--optics .page-hero__grid {
    margin-top: 2.0625rem;
  }

  .page-hero--optics .page-hero__text {
    max-width: 37.8125rem;
  }

  .page-hero--optics .page-hero__img {
    height: 26.25rem;
  }
}

/* ---------- Список с бирюзовыми точками (8×16, круг 8 по центру 10) ---------- */

.dot-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.dot-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.dot-list li::before {
  content: '';
  flex: 0 0 0.5rem;
  height: 1rem;
  background: url('../icons/bullet-8x16.svg') center / 0.5rem 1rem no-repeat;
}

/* крупный курсив у бирюзовой линии */
.dot-list--accent {
  padding: 0.5rem 0 0.5rem 0.75rem;
  font: italic 500 0.875rem/1.25rem var(--font-family);
  border-left: 4px solid var(--color-brand);
}

.dot-list--accent li {
  align-items: center;
}

/* ---------- Услуги оптики ---------- */

.optics-services {
  margin-top: 4rem;
}

.optics-services .section-title {
  line-height: 1.6875rem;
}

.optics-services__grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.optics-services__lead {
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.optics-services__list {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

@media (min-width: 46.5em) {
  .optics-services .section-title {
    line-height: normal;
  }

  .optics-services__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    margin-top: 2rem;
  }

  .dot-list--accent {
    padding: 0.5rem 0 0.5rem 0.75rem;
    font-size: 1.125rem;
    line-height: 1.5625rem;
  }

  .optics-services__lead {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .optics-services__list {
    margin-top: 1.0625rem;
  }
}

@media (min-width: 80em) {
  .optics-services {
    margin-top: 5rem;
  }

  .optics-services .section-title {
    max-width: 52.5rem;
  }

  .optics-services__grid {
    margin-top: 2.5rem;
  }

  .dot-list--accent {
    padding: 1rem 0 1rem 2.25rem;
  }

  .optics-services__lead {
    max-width: 33.875rem;
  }

  .optics-services__list {
    margin-top: 1rem;
  }
}

/* ---------- Галерея без заголовка ---------- */

.gallery--no-title .gallery__stage {
  margin-top: 0;
}

/* ---------- Контакты подразделения: карточка + карта ---------- */

.place-contacts {
  margin-top: 4rem;
  margin-bottom: -1rem; /* подвал в макете телефона на 64 ниже */
}

.place-contacts .section-title {
  line-height: 1.6875rem;
}

.place-contacts__grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.1875rem;
}

.place-contacts__card {
  padding: 1.5rem 1rem 2rem;
  background: var(--color-card);
  border-radius: var(--radius);
}

.place-contacts__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.place-contacts__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.625rem;
}

.place-contacts__item {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  column-gap: 0.375rem;
}

.place-contacts__item::before {
  content: '';
  grid-row: 1 / 3;
  width: 1.5rem;
  height: 1.5rem;
  background: center no-repeat;
}

.place-contacts__item--address::before { background-image: url('../icons/contact-location.svg'); }
.place-contacts__item--hours::before { background-image: url('../icons/contact-clock.svg'); background-position: left top; }
.place-contacts__item--phone::before { background-image: url('../icons/contact-phone.svg'); }
.place-contacts__item--mail::before { background-image: url('../icons/contact-mail.svg'); background-position: left top; }

.place-contacts__item dt {
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.place-contacts__value {
  margin: 0.25rem 0 0; /* без отступа слева, который браузер даёт dd */
  font: var(--font-small);
  opacity: 0.8;
}

.place-contacts__value--strong {
  font: 600 1rem/1.375rem var(--font-family);
  opacity: 1;
}

@media (any-hover: hover) {
  .place-contacts__value a:hover {
    color: var(--color-brand);
  }
}

/* значок ВКонтакте: под почтой через 24 (ПК и планшет 25), на 3 правее иконок */
.place-contacts__vk {
  display: block;
  width: 1.66986875rem;
  margin: 1.5rem 0 0 0.1875rem;
}

.place-contacts__vk img {
  display: block;
}

/* телефон — полужирный, межстрочный обычный */
.place-contacts__item--phone .place-contacts__value--strong {
  line-height: normal;
}

/* карта — ссылка на Яндекс Карты (живую карту ставить в MODX: нужен ключ API на домен) */
.place-contacts__map-link,
.place-contacts__map {
  display: block;
}

.place-contacts__map-img {
  width: 100%;
  height: 22.5rem;
  object-fit: cover;
  border-radius: var(--radius);
}

@media (min-width: 46.5em) {
  .place-contacts {
    margin-top: 5rem;
    margin-bottom: 0;
  }

  .place-contacts .section-title {
    line-height: normal;
  }

  .place-contacts__grid {
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .place-contacts__card {
    padding: 2rem 2.5rem 2.5rem;
  }

  .place-contacts__vk {
    margin-top: 1.5625rem;
  }

  .place-contacts__title {
    font: var(--font-h3);
  }

  .place-contacts__list {
    gap: 1.5rem;
    margin-top: 2.125rem;
  }

  .place-contacts__item {
    column-gap: 0.5rem;
  }

  .place-contacts__item dt {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .place-contacts__value {
    margin-top: 0.25rem;
  }

  .place-contacts__item--address .place-contacts__value {
    margin-top: 0;
  }

  .place-contacts__value--strong {
    font: 600 1.125rem/1.5625rem var(--font-family);
  }

  .place-contacts__map-img {
    height: 27.5rem;
  }
}

@media (min-width: 80em) {
  .place-contacts {
    margin-top: 7.5rem;
  }

  .place-contacts__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: 2.4375rem;
  }

  .place-contacts__card {
    padding: 2.5rem 2.5rem 2.875rem;
  }

  .place-contacts__list {
    margin-top: 2.625rem;
  }

  .place-contacts__map-img {
    height: 32.5rem;
  }
}

/* ===========================================================================
   «Контактные линзы»: ПК 805:47241, планшет 805:47319, телефон 805:47388.
   «Жесткие линзы»: ПК 807:46994, планшет 807:47065, телефон 807:47117.
   =========================================================================== */

/* первый экран: на телефоне абзацы без отступа, на планшете H1 в 49 от крошек (у катаракты 64),
   на ПК фото выше, чем у катаракты, абзацы через 8 */
.page-hero--lenses .page-hero__text p + p {
  margin-top: 0;
}

@media (min-width: 46.5em) {
  .page-hero--lenses .page-hero__grid,
  .page-hero--hard-lenses .page-hero__grid {
    margin-top: 3.0625rem;
  }

  .page-hero--lenses .page-hero__text p + p {
    margin-top: 0.5rem;
  }
}

@media (min-width: 80em) {
  .page-hero--lenses .page-hero__grid,
  .page-hero--hard-lenses .page-hero__grid {
    margin-top: 2.0625rem;
  }

  .page-hero--lenses .page-hero__text,
  .page-hero--hard-lenses .page-hero__text {
    margin-top: 2.5rem;
  }

  .page-hero--lenses .page-hero__text p + p,
  .page-hero--hard-lenses .page-hero__text p + p {
    max-width: 37.8125rem;
    margin-top: 0.5rem;
  }

  .page-hero--lenses .page-hero__img,
  .page-hero--hard-lenses .page-hero__img {
    height: 26.25rem;
  }

  /* у «Жестких линз» текст не по центру фото: заголовок в 64 от верха фото (807:47055) */
  .page-hero--hard-lenses .page-hero__content {
    align-self: start;
    margin-top: 4rem;
  }
}

/* «Подробнее» — малая кнопка с обводкой 140×31 (UI-Kit «Кнопка Подробнее») */
.btn-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  padding: 0.4375rem 0;
  font: var(--font-button-small);
  text-transform: uppercase;
  border: 1px solid var(--color-text);
  border-radius: var(--radius-small);
  opacity: 0.7;
}

.btn-more:active {
  font: var(--font-button-small-hover);
  color: var(--color-light);
  background: var(--gradient);
  border-color: transparent;
  opacity: 1;
}

@media (any-hover: hover) {
  .btn-more:hover {
    font: var(--font-button-small-hover);
    color: var(--color-light);
    background: var(--gradient);
    border-color: transparent;
    opacity: 1;
  }
}

/* ---------- Подбор линз: текст в две колонки и виды линз ---------- */

.lens-info {
  margin-top: 4rem;
}

.lens-info .section-title {
  line-height: 1.6875rem;
}

.lens-info__cols {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.lens-info__col p + p {
  margin-top: 1.25rem; /* на телефоне абзацы через пустую строку */
}

.lens-info__list {
  margin-top: 0.5rem;
  padding-left: 1rem;
  list-style: disc;
}

.lens-info__list li + li {
  margin-top: 0.5rem;
}

.lens-types {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

/* карточка: заголовок и кнопка по центру по вертикали, между ними 16 */
.lens-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 7.1875rem;
  padding: 1rem 1.5rem;
  text-align: center;
  background: var(--color-card);
  border-radius: var(--radius);
}

.lens-card__title {
  font: var(--font-h2-m);
  color: var(--color-brand);
}

/* на телефоне — «Кнопка Подробнее малая» 152×24 */
.lens-card__btn {
  width: 9.5rem;
  min-height: 1.5rem;
  padding: 0;
}

@media (min-width: 46.5em) {
  .lens-info {
    margin-top: 5rem;
  }

  .lens-info .section-title {
    line-height: normal;
  }

  .lens-info__cols {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: 2rem;
  }

  .lens-info__col p + p {
    margin-top: 0.5rem;
  }

  .lens-types {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2rem 1.5rem;
    margin-top: 4rem;
  }

  .lens-card {
    min-height: 9.75rem;
  }

  .lens-card__title {
    font: var(--font-h3);
  }

  .lens-card__btn {
    width: 8.75rem;
    height: auto;
    min-height: 0; /* минимальная высота с меньшей ширины здесь не действует */
    padding: 0.4375rem 0;
  }
}

@media (min-width: 80em) {
  .lens-info__cols {
    margin-top: 2.5rem;
  }

  .lens-info__col p {
    max-width: 36.9375rem;
  }

  /* правая колонка в макете на 3 ниже левой, текст 620 */
  .lens-info__col--right {
    margin-top: 0.1875rem;
  }

  .lens-info__col--right p {
    max-width: 38.75rem;
  }

  .lens-types {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 5rem;
  }
}

/* ---------- О жёстких линзах: текст в две колонки, цитата, фото ---------- */

.lens-about {
  margin-top: 4rem;
}

.lens-about .section-title {
  line-height: 1.6875rem;
}

.lens-about__cols {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.lens-about__col p + p {
  margin-top: 1.25rem; /* на телефоне абзацы через пустую строку */
}

.lens-about__col .lens-about__next {
  margin-top: 0;
}

.lens-about__row {
  display: flex;
  flex-direction: column;
  margin-top: 4rem;
}

/* на телефоне и планшете фото над цитатой */
.lens-about__picture {
  display: block;
  order: -1;
}

.lens-about__img {
  width: 100%;
  height: 15rem;
  object-fit: cover;
  border-radius: var(--radius-small);
}

.lens-about__quote {
  margin-top: 1.5rem;
}

.lens-about__quote p + p {
  margin-top: 1.25rem; /* в макете абзацы через пустую строку */
}

.lens-about__text {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.lens-about__btn {
  margin-top: 1rem;
}

@media (min-width: 46.5em) {
  .lens-about {
    margin-top: 5rem;
  }

  .lens-about .section-title {
    line-height: normal;
  }

  .lens-about__cols {
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .lens-about__col p + p {
    margin-top: 0.5rem;
  }

  /* на планшете «Современные ГПЛ…» и «Поэтому хотя…» — один абзац */
  .lens-about__col p:first-child {
    margin-bottom: 0.5rem;
  }

  .lens-about__col .lens-about__join,
  .lens-about__col .lens-about__next {
    display: inline;
  }

  .lens-about__row {
    margin-top: 5rem;
  }

  .lens-about__img {
    height: 25rem;
  }

  /* в макете у этой цитаты текст в 16 от линии (у остальных — 24) */
  .lens-about__quote {
    margin-top: 2rem;
    padding-left: 0.75rem;
    line-height: 1.1875rem; /* в макете 16 × 1.2 */
  }

  .lens-about__quote p + p {
    margin-top: 1.1875rem;
  }

  .lens-about__text {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .lens-about {
    padding-bottom: 2.5rem; /* до врачей 120 */
  }

  .lens-about__cols {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: 2.5rem;
  }

  .lens-about__col p {
    max-width: 36.9375rem;
  }

  .lens-about__col + .lens-about__col p {
    max-width: 38.75rem;
  }

  .lens-about__col + .lens-about__col {
    margin-top: 0.1875rem;
  }

  .lens-about__col .lens-about__join,
  .lens-about__col .lens-about__next {
    display: block;
  }

  .lens-about__col .lens-about__next {
    margin-top: 1rem;
  }

  .lens-about__row {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 4.6875rem; /* фото в 75 от левой колонки */
  }

  .lens-about__aside {
    flex: 0 0 39rem;
    padding-top: 1.5rem;
  }

  .lens-about__picture {
    flex: 1 1 auto;
    order: 0;
  }

  .lens-about__img {
    height: 26.6875rem;
  }

  .lens-about__quote {
    margin-top: 0;
    padding-left: 1.25rem;
  }

  .lens-about__quote {
    max-width: 39rem;
    padding-right: 0.25rem;
    line-height: 1.5625rem;
  }

  /* на ПК цитата — один абзац */
  .lens-about__quote p {
    display: inline;
  }

  .lens-about__text {
    margin-top: 2.5rem;
  }
}

/* ---------- Врачи без стрелок (все карточки помещаются: линзы, сетчатка) ---------- */

@media (min-width: 80em) {
  .dept-doctors--no-nav .carousel {
    margin-top: 2.5rem;
  }
}

/* ---------- Стоимость услуги ---------- */

.service-prices {
  margin-top: 4rem;
}

.service-prices .price-table {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .service-prices {
    margin-top: 5rem;
  }

  .service-prices .price-table {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .service-prices {
    margin-top: 7.5rem;
  }

  .service-prices .price-table {
    margin-top: 2.5rem;
  }
}

/* ---------- Вопросы о линзах: фото по высоте списка в макете ---------- */

.faq__answer-list {
  margin-top: 0.5rem;
  padding-left: 1.3125rem;
  list-style: disc;
}

.faq__answer-list + p {
  margin-top: 0.5rem;
}

@media (min-width: 80em) {
  .faq--lenses .faq__img {
    height: 31.6875rem;
  }

  .faq--hard-lenses .faq__img {
    height: 28.125rem;
  }
}

/* на телефоне «Задать свой вопрос» в 24 от списка (у катаракты 32) */
.faq--lenses .faq__btn,
.faq--hard-lenses .faq__btn {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .faq--lenses .faq__btn,
  .faq--hard-lenses .faq__btn {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .faq--lenses .faq__btn,
  .faq--hard-lenses .faq__btn {
    margin-top: 2.5rem;
  }
}

/* ===========================================================================
   «Вопрос-ответ»: ПК 843:51516. Планшет и телефон в макете не нарисованы —
   собраны по образцу «Отзывов» и «Специалистов» (см. README).
   =========================================================================== */

/* ---------- Первый экран без фото и фона: H1, текст, кнопка ---------- */

.page-hero--plain {
  background: none;
}

.page-hero--plain .page-hero__inner {
  padding-bottom: 0;
}

.page-plain__text {
  max-width: 45.75rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.page-plain__text p {
  display: block;
}

.page-plain__text p + p {
  margin-top: 0.5rem;
}

@media (min-width: 46.5em) {
  .page-hero--plain .page-hero__inner {
    padding-bottom: 0;
  }

  .page-plain__text {
    max-width: 45.75rem;
    font: var(--font-body);
    line-height: 1.25rem;
  }
}

@media (min-width: 80em) {
  .page-hero--plain .page-intro__title {
    margin-top: 2.5rem;
  }

  .page-plain__text {
    margin-top: 1.5rem;
  }
}

/* ---------- Темы вопросов ---------- */

.qa-list {
  margin-top: 3rem;
}

.qa-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.qa-topic {
  display: inline-flex;
  padding: 0.4375rem 1.4375rem; /* 31 по высоте с рамкой */
  font: var(--font-small);
  border: 1px solid var(--color-text);
  border-radius: var(--radius-small);
  opacity: 0.75;
}

.qa-topic--active {
  font-weight: 600;
  opacity: 1;
}

@media (any-hover: hover) {
  .qa-topic:hover {
    font-weight: 600;
    opacity: 1;
  }
}

/* ---------- Карточка вопроса ---------- */

.qa-list__items {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.qa-card {
  padding: 1rem;
  background: var(--color-card);
  border-radius: var(--radius);
}

.qa-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
}

.qa-card__name {
  font: var(--font-h3-m);
}

/* тег темы: бирюзовая плашка 23 по высоте */
.qa-card__topic {
  padding: 0.25rem 1rem;
  font: var(--font-small);
  color: var(--color-light);
  background: var(--color-brand);
  border-radius: var(--radius-small);
}

@media (any-hover: hover) {
  .qa-card__topic:hover {
    background: var(--gradient-reverse);
  }
}

.qa-card__body {
  margin-top: 1rem;
}

.qa-card__label {
  font: var(--font-accent);
  line-height: 1.375rem;
}

.qa-card__label + .qa-card__text {
  margin-top: 0.25rem;
}

.qa-card__text {
  margin: 0;
  font: var(--font-body);
  line-height: 1.25rem;
}

.qa-card__text + .qa-card__label {
  margin-top: 1rem;
}

/* ---------- Страницы: стрелки и номера ---------- */

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.pagination__list {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font: var(--font-subtitle);
  color: var(--color-inactive);
}

@media (any-hover: hover) {
  .pagination__link:hover {
    color: var(--color-brand);
  }
}

.pagination__link--current {
  color: var(--color-text);
}

/* ---------- Форма вопроса: блок формы отзыва, поля через 16 ---------- */

.review-form--ask .form--review {
  gap: 1rem;
}

.review-form--ask .review-form__text {
  max-width: 52.5rem;
}

.review-form--ask .form__group--review {
  gap: 0.5rem;
}

.review-form--ask .form__submit {
  margin-top: 0.5rem;
}

@media (min-width: 46.5em) {
  .qa-list {
    margin-top: 4rem;
  }

  .qa-topics {
    gap: 1rem;
  }

  .qa-list__items {
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .qa-card {
    padding: 2rem;
  }

  .qa-card__head {
    gap: 1.5rem;
  }

  .qa-card__name {
    font: var(--font-subtitle);
  }

  .qa-card__body {
    display: grid;
    grid-template-columns: 4.9375rem minmax(0, 1fr);
    gap: 1.5rem 0;
    margin-top: 2rem;
  }

  .qa-card__label + .qa-card__text,
  .qa-card__text + .qa-card__label {
    margin-top: 0;
  }

  .qa-card__text {
    max-width: 62.9375rem;
    padding-top: 0.125rem; /* текст 20 по строке подписи 22 */
  }

  .pagination {
    margin-top: 3rem;
  }

  .review-form--ask .form__submit {
    margin-top: 0.5rem;
  }
}

@media (min-width: 80em) {
  .qa-list {
    margin-top: 5rem;
  }

  .qa-list__items {
    margin-top: 4rem;
  }

  /* в макете отступы 40 сверху и снизу, 80 слева */
  .qa-card {
    padding: 2.5rem 2.5rem 2.5rem 5rem;
  }

  .qa-card__body {
    margin-top: 2.5rem;
  }

  .pagination {
    margin-top: 4rem;
  }

  .review-form--ask .form--review {
    gap: 1rem;
  }

  .review-form--ask .form__submit {
    margin-top: 1.375rem; /* 16 + 22 = 38 из макета */
  }

  .review-form--ask .review-form__img {
    height: 44.875rem;
  }
}

/* ===========================================================================
   «Контакты»: ПК 843:51666. Планшет и телефон в макете не нарисованы —
   собраны из блока контактов «Оптики» (см. README).
   =========================================================================== */

.place-contacts--page .place-contacts__list {
  margin-top: 0;
}

.place-contacts--page .place-contacts__legal {
  margin-top: 2rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.place-contacts--page + .place-contacts--page {
  margin-top: 4rem;
}

@media (min-width: 46.5em) {
  .place-contacts--page .place-contacts__legal {
    margin-top: 2.5rem;
  }
}

@media (min-width: 80em) {
  .page-hero--contacts .page-intro__title {
    margin-top: 5rem;
  }

  .place-contacts--page {
    margin-top: 4rem;
  }

  .place-contacts--page .place-contacts__grid {
    margin-top: 1.5rem;
  }

  /* у оптики заголовок в одну строку и карточка в 40 от него (843:51675) */
  .place-contacts--optics .place-contacts__grid {
    margin-top: 2.5rem;
  }

  .place-contacts--page.place-contacts--optics .section-title {
    max-width: none;
  }

  .place-contacts--page .section-title {
    max-width: 43.4375rem;
  }

  .place-contacts--page .place-contacts__card {
    padding: 2.8125rem 2.5rem 2.5rem;
  }

  .place-contacts--page .place-contacts__legal {
    margin-top: 2.9375rem;
  }

  .place-contacts--adult .place-contacts__map-img { height: 30.9375rem; }
  .place-contacts--kids .place-contacts__map-img { height: 28.4375rem; }
  .place-contacts--optics .place-contacts__map-img { height: 26.4375rem; }

  .place-contacts--page:last-child {
    margin-bottom: 0;
  }
}

/* ===========================================================================
   Памятки: КЛИР 843:51917, ФЕМТО-ЛАСИК 843:51968, катаракта 843:52019 (только ПК).
   Планшет и телефон собраны по образцу окна памятки (см. README).
   =========================================================================== */

.memo-page__inner {
  width: var(--container-fluid);
  margin-inline: auto;
  padding-top: 1rem;
}

.memo-page__title {
  margin-top: 2rem;
  font: var(--font-h2-m);
  line-height: 1.6875rem;
}

/* ---------- Карточки этапов ---------- */

.memo-steps {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.memo-page__title + .memo-steps {
  margin-top: 1.5rem;
}

.memo-step {
  padding: 1rem;
  background: var(--color-card);
  border-radius: var(--radius);
}

.memo-step__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.memo-step__accent {
  margin-top: 0.5rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.memo-step__text {
  margin-top: 0.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

/* список в Figma: маркер внутри текстового поля, текст вровень с заголовком */
.memo-step__list,
.memo-drops {
  margin-top: 0.5rem;
  padding-left: 1.25rem;
  font: var(--font-body);
  line-height: 1.25rem;
  list-style: disc;
}

.memo-step__list li + li {
  margin-top: 0.25rem;
}

@media (min-width: 46.5em) {
  .memo-step__list {
    margin-left: -1.25rem; /* текст пунктов вровень с заголовком карточки, маркер — на поле */
  }
}

.memo-step__note {
  margin-top: 1rem;
  padding: 0.5rem 0 0.5rem 0.75rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
  border-left: 4px solid var(--color-brand);
}

/* ---------- Капли ---------- */

.memo-drops__title {
  margin-top: 2rem;
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.memo-drops {
  max-width: 35.125rem;
  margin-top: 1rem;
}

.memo-drops li + li {
  margin-top: 1rem;
}

.memo-drops__name {
  display: block;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

/* ---------- Памятка катаракты: содержание окна на странице ---------- */

.memo-modal--page {
  width: auto;
  padding: 0;
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .memo-page__title {
    margin-top: 3.0625rem;
    font: var(--font-h2);
    line-height: 2.25rem;
  }

  .memo-steps {
    gap: 1.5rem;
    margin-top: 1.5rem;
  }

  .memo-steps--two {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .memo-page__title + .memo-steps {
    margin-top: 2rem;
  }

  .memo-step {
    padding: 2rem 2rem 2.5rem;
  }

  .memo-step__title,
  .memo-drops__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .memo-step__accent {
    margin-top: 1rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .memo-step__text {
    margin-top: 1rem;
  }

  .memo-step__title + .memo-step__list {
    margin-top: 1rem;
  }

  .memo-step__note {
    margin-top: 1.5rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .memo-drops__title {
    margin-top: 2.5rem;
  }

  .memo-drops {
    margin-top: 1.5rem;
  }

  .memo-drops__name {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .memo-modal--page {
    margin-top: 2rem;
  }

  /* в окне линия на 16 левее поля, на странице — по краю колонки */
  .memo-modal--page .memo-modal__warning {
    margin-left: 0;
  }
}

@media (min-width: 80em) {
  .memo-page__title {
    max-width: 45.75rem;
    margin-top: 5rem;
  }

  .memo-page__title + .memo-steps {
    margin-top: 2.875rem;
  }

  .memo-steps--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .memo-step {
    padding: 2rem 2.5rem 2.5rem;
  }

  /* катаракта: колонка 843 по центру страницы (843:52019) */
  .memo-page--cataract .memo-page__title,
  .memo-modal--page {
    width: 52.6875rem;
    margin-inline: auto;
  }

  .memo-page--cataract .memo-page__title {
    max-width: none;
    padding-right: 6.9375rem;
  }

  .memo-modal--page {
    margin-top: 3.1875rem;
    padding: 0;
  }

  .memo-modal--page .memo-modal__card {
    width: 39.125rem;
    margin-top: 0;
  }

  .memo-modal--page .memo-modal__after {
    margin-top: 3.1875rem;
  }

  .memo-modal--page .memo-modal__wish {
    margin-top: 2.5rem;
  }
}

/* ===========================================================================
   Общие блоки услуг (обзор 19 услуг 2026-10-17). Образец — «Лечение сетчатки»:
   ПК 634:18621, планшет 634:18929, телефон 634:18800.
   =========================================================================== */

/* абзацы первого экрана: 1-й и 2-й — разные тексты (16), 2-й и 3-й — один текст (8) */
.page-hero--retina .page-hero__text p + p {
  margin-top: 1rem;
}

.page-hero--retina .page-hero__text p + p + p {
  margin-top: 0.5rem;
}

@media (min-width: 80em) {
  .page-hero--retina .page-hero__img {
    height: 29.25rem;
  }

  /* второй и третий абзацы в макете — один текст с отступом 8 */
  .page-hero--retina .page-hero__text p + p + p {
    margin-top: 0.5rem;
  }
}

/* ---------- Текст в две колонки ---------- */

.text-cols {
  margin-top: 2rem;
}

.text-cols .section-title {
  line-height: 1.6875rem;
}

.text-cols__grid {
  display: grid;
  gap: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.text-cols .section-title + .text-cols__grid {
  margin-top: 1.5rem;
}

.text-cols__col p + p {
  margin-top: 0.5rem;
}

.text-cols__term {
  font: var(--font-accent-m);
}

@media (min-width: 46.5em) {
  .text-cols {
    margin-top: 4rem;
  }

  .text-cols .section-title {
    line-height: normal;
  }

  .text-cols__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .text-cols .section-title + .text-cols__grid {
    margin-top: 2rem;
  }

  .text-cols__term {
    font: var(--font-accent);
  }
}

@media (min-width: 80em) {
  .text-cols {
    margin-top: 5rem;
  }

  .text-cols .section-title + .text-cols__grid {
    margin-top: 2.5rem;
  }
}

/* ---------- Цитата у бирюзовой линии + фото ---------- */

.media-row {
  margin-top: 4rem;
}

.text-cols + .media-row {
  margin-top: 2rem;
}

/* на телефоне заголовок над линией, линия — только у текста */
.media-row__title {
  font: var(--font-h2-m);
  line-height: 1.6875rem;
  color: var(--color-brand);
}

.media-row__text {
  padding: 0.5rem 0 0.5rem 0.875rem;
  font: var(--font-accent-italic-m);
  line-height: 1.25rem;
  border-left: 4px solid var(--color-brand);
}

.media-row__title + .media-row__text {
  margin-top: 1.5rem;
}

.media-row__text p + p {
  margin-top: 0.5rem;
}

.media-row__picture {
  display: block;
  margin-top: 2rem;
}

/* высота фото — по кадру файла (кадр нарезан под размер макета) */
.media-row__img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-small);
}

@media (min-width: 46.5em) {
  .media-row {
    margin-top: 5rem;
  }

  .text-cols + .media-row {
    margin-top: 2rem;
  }

  .media-row__body {
    padding: 1rem 0 1rem 1.25rem;
    border-left: 4px solid var(--color-brand);
  }

  .media-row--titled .media-row__body {
    padding: 1.5rem 0 1.5rem 1.25rem;
  }

  .media-row__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .media-row__text {
    padding: 0;
    font: italic 500 1rem/1.375rem var(--font-family);
    border-left: 0;
  }
}

@media (min-width: 80em) {
  .media-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 7.5rem;
  }

  .text-cols + .media-row {
    margin-top: 5rem;
  }

  /* линия на всю высоту фото, текст по центру */
  .media-row__body,
  .media-row--titled .media-row__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem 0 1.5rem 2.25rem;
  }

  .media-row__title {
    font: var(--font-h2);
    line-height: 2.25rem;
  }

  .media-row__text {
    font-size: 1.125rem;
    line-height: 1.5625rem;
  }

  .media-row__text p + p {
    margin-top: 1rem;
  }

  .media-row--titled .media-row__text {
    font-size: 1rem;
    line-height: 1.375rem;
  }

  .media-row--titled .media-row__text p + p {
    margin-top: 0.5rem;
  }

  .media-row__picture {
    margin-top: 0;
  }
}

/* ---------- Номерные пункты с линиями (без раскрытия) ---------- */

.num-list {
  margin-top: 4rem;
}

.num-list .section-title {
  line-height: 1.6875rem;
}

.num-list__items {
  margin-top: 1.5rem;
  border-top: 1px solid var(--color-line);
}

.num-list__item {
  display: grid;
  grid-template-columns: 2.4375rem minmax(0, 1fr);
  padding: 0.9375rem 0 1rem; /* + линия 1 = 16 от линии до заголовка */
  border-bottom: 1px solid var(--color-line);
}

.num-list__num {
  margin-top: 0.125rem;
  font: var(--font-body);
  line-height: 1.25rem;
  color: var(--color-brand-text);
}

.num-list__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.num-list__text {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.num-list__text p + p {
  margin-top: 0.5rem;
}

@media (min-width: 46.5em) {
  .num-list {
    margin-top: 5rem;
  }

  .num-list .section-title {
    line-height: normal;
  }

  .num-list__items {
    margin-top: 2.25rem;
  }

  .num-list__item {
    grid-template-columns: 3.125rem minmax(0, 1fr);
    padding: 1.4375rem 0 1.5rem;
  }

  .num-list__num {
    margin-top: 0.3125rem;
    font: 400 1rem/1.1875rem var(--font-family);
  }

  .num-list__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }
}

@media (min-width: 80em) {
  .num-list {
    margin-top: 7.5rem;
  }

  .num-list__items {
    margin-top: 2.5rem;
  }

  .num-list__item {
    grid-template-columns: 6.75rem minmax(0, 1fr);
  }

  .num-list__text {
    max-width: 63.875rem;
  }
}

/* ---------- Карточки с номерами + цитата (лечение) ---------- */

.service-steps {
  margin-top: 4rem;
}

.service-steps .section-title {
  line-height: 1.6875rem;
}

.service-steps__quote {
  margin-top: 2rem;
}

/* перенос в заголовке карточки — только на ПК (как в макете) */
.step-card__title br {
  display: none;
}

/* карточка со списком: высота по содержимому, текст в 16 от заголовка */
.step-card--list .step-card__text,
.step-card__list {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

@media (min-width: 46.5em) {
  .service-steps {
    margin-top: 5rem;
  }

  .service-steps .section-title {
    line-height: normal;
  }
}

@media (min-width: 80em) {
  .service-steps {
    margin-top: 7.5rem;
  }

  .service-steps__quote {
    max-width: 52.5rem;
    margin-top: 1.5rem;
  }

  .step-card__title br {
    display: inline;
  }

  .step-card--list {
    min-height: 0;
    padding: 2.5rem;
  }

  .step-card--list .step-card__text,
  .step-card__list {
    margin-top: 1.5rem;
  }

  .faq--retina .faq__img {
    height: 34.25rem;
  }

  /* у сетчатки между блоками на ПК везде 120 */
  .service-steps + .dept-doctors {
    margin-top: 7.5rem;
  }

  .dept-doctors + .reviews--service {
    margin-top: 7.5rem;
  }
}

/* ===========================================================================
   «Лазерная коррекция»: ПК 565:10800, планшет 565:11748, телефон 565:11499;
   окно противопоказаний 565:10933 / 565:11825 / 565:11570.
   =========================================================================== */

/* на планшете между абзацами первого экрана 22, на ПК фото 360 */
@media (min-width: 46.5em) {
  .page-hero--laser .page-hero__text p + p {
    margin-top: 1.375rem;
  }
}

@media (min-width: 80em) {
  .page-hero--laser .page-hero__text p + p {
    margin-top: 1rem;
  }

  .page-hero--laser .page-hero__img {
    height: 22.5rem;
  }
}

/* ---------- Виды услуги с ценой ---------- */

.price-cards {
  margin-top: 4rem;
}

.price-cards__intro {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.price-cards__list {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.price-card {
  position: relative;
  padding: 1rem 1rem 1.5rem;
  background: var(--color-card);
  border-radius: var(--radius);
}

.price-card__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.price-card__desc {
  max-width: 19.9375rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.price-card__price {
  margin-top: 1.5rem;
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.price-card__note {
  font: var(--font-body);
  line-height: 1.25rem;
}

/* «Подробнее» со стрелкой: на телефоне и ПК только стрелка у строки цены */
.price-card__more {
  position: absolute;
  top: 6.375rem;
  right: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.8125rem;
  font: var(--font-button-small);
  text-transform: uppercase;
}

.price-card__more::after {
  content: '';
  position: absolute;
  inset: -0.75rem;
}

.price-card__more-text {
  display: none;
}

@media (any-hover: hover) {
  .price-card__more:hover {
    color: var(--color-brand);
  }
}

.price-cards__quote {
  margin-top: 2rem;
}

.price-cards__btn {
  width: auto;
  min-height: 1.4375rem;
  margin-top: 1rem;
  padding: 0 2.3125rem;
}

@media (min-width: 46.5em) {
  .price-cards {
    margin-top: 4rem;
  }

  .price-cards__list {
    gap: 1.5rem;
  }

  .price-card {
    padding: 2rem;
  }

  .price-card__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .price-card__desc {
    max-width: 30.5rem;
    margin-top: 0.25rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .price-card__price {
    margin-top: 2rem;
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .price-card__note {
    margin-top: 0.1875rem;
  }

  /* на планшете — «Подробнее» и стрелка у нижней строки */
  .price-card__more {
    top: auto;
    right: 2.25rem;
    bottom: 2.25rem;
  }

  .price-card__more-text {
    display: inline;
  }

  .price-cards__quote {
    margin-top: 4rem;
  }

  .price-cards__btn {
    height: auto;
    min-height: 0; /* минимальная высота с меньшей ширины здесь не действует */
    margin-top: 1.5rem;
    padding: 0.4375rem 2rem;
  }
}

@media (min-width: 80em) {
  .price-cards {
    margin-top: 5rem;
  }

  .price-cards__intro {
    max-width: 52.5rem;
  }

  .price-cards__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2.5rem;
  }

  .price-card {
    padding: 2.5rem;
  }

  .price-card__desc {
    max-width: 20.5rem;
  }

  .price-card__price {
    margin-top: 2.5rem;
  }

  .price-card__more {
    top: 10.5rem;
    right: 2.75rem;
    bottom: auto;
  }

  .price-card__more-text {
    display: none;
  }

  .price-cards__quote {
    max-width: 52.5rem;
    margin-top: 2.5rem;
  }
}

/* ---------- Видео ---------- */

.video-block {
  margin-top: 4rem;
}

.video-block__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.video-block__link {
  position: relative;
  display: block;
  margin-top: 1.5rem;
}

.video-block__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
}

.video-block__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5rem;
  height: 5rem;
  transform: translate(-50%, -50%);
}

@media (any-hover: hover) {
  .video-block__link:hover .video-block__play {
    opacity: 0.85;
  }
}

@media (min-width: 46.5em) {
  .video-block {
    margin-top: 5rem;
  }

  .video-block__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .video-block__link {
    margin-top: 2rem;
  }

  .video-block__play {
    width: 6rem;
    height: 6rem;
  }
}

@media (min-width: 80em) {
  .video-block__title {
    max-width: 52.5rem;
  }

  .video-block__link {
    margin-top: 2.5rem;
  }

  .video-block__play {
    width: 8.125rem;
    height: 8.125rem;
  }
}

/* ---------- Памятки на странице услуги ---------- */

@media (min-width: 46.5em) {
  .memos--service {
    margin-top: 5rem;
  }
}

@media (min-width: 80em) {
  .memos--service + .reviews--service {
    margin-top: 7.5rem;
  }

  .faq--laser .faq__img {
    height: 30.75rem;
  }
}

/* ---------- Окно со списком (противопоказания) ---------- */

.list-modal {
  width: min(22.375rem, 100% - 2rem);
  padding: 2rem 1.25rem;
}

.list-modal__title {
  margin-right: 1.75rem;
  font: var(--font-h2-m);
  line-height: 1.6875rem;
  color: var(--color-brand);
}

.list-modal__list {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

@media (min-width: 46.5em) {
  .list-modal {
    width: min(43.5rem, 100% - 3rem);
    padding: 4rem;
  }

  .list-modal__title {
    font: var(--font-h2);
    line-height: 2.25rem;
  }

  .list-modal__list {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .list-modal {
    width: 52.4375rem;
    padding: 2.5rem 5rem;
  }

  .list-modal__title {
    max-width: 41.125rem;
  }

  .list-modal__list {
    margin-top: 2.5rem;
  }
}

@media (min-width: 46.5em) {
  /* цитата под карточками цен на планшете — 18/25, как на ПК */
  .price-cards__quote {
    font-size: 1.125rem;
    line-height: 1.5625rem;
  }

  .video-block + .dept-doctors {
    margin-top: 4rem;
  }

  .dept-doctors--no-nav .section-title {
    max-width: 35.125rem;
  }
}

@media (min-width: 80em) {
  .video-block + .dept-doctors {
    margin-top: 5rem;
  }

  .dept-doctors--no-nav .section-title {
    max-width: none;
  }

  /* у лазерной коррекции заголовок в поле 840 — две строки */
  .dept-doctors--title-840 .section-title {
    max-width: 52.5rem;
  }
}

/* вопросы лазерной коррекции на телефоне — как на главной (565:11499): шаг 16 + вопрос + 16,
   кнопка в 62 от списка; на планшете и ПК — как у остальных услуг */
@media (max-width: 46.4375em) {
  .faq--laser .faq__item,
  .faq--laser .faq__item:first-child {
    min-height: 0;
    margin-top: 1rem;
    padding-bottom: 1rem;
  }

  .faq--laser .faq__num {
    margin-top: 0.0625rem;
  }

  .faq--laser .faq__question {
    margin: 0.125rem 0 0;
  }

  .faq--laser .faq__btn {
    margin-top: 3.875rem;
  }
}

/* ===========================================================================
   «ОК-терапия (для взрослых)»: ПК 713:23739, планшет 713:23623, телефон 713:23483;
   раскрытые пункты — компоненты 592:13484, 592:13539, 592:13584, 592:13625.
   =========================================================================== */

/* в заголовке перенос перед «(ОК-терапия)» только на ПК */
.page-hero--ok .page-hero__title br {
  display: none;
}

@media (min-width: 80em) {
  .page-hero--ok .page-hero__title br {
    display: inline;
  }

  .page-hero--ok .page-hero__img {
    height: 27.25rem;
  }

  /* текст не по центру фото: заголовок в 16 от верха фото */
  .page-hero--ok .page-hero__content {
    align-self: start;
    margin-top: 1rem;
  }

  .page-hero--ok .page-hero__text {
    margin-top: 2.5rem;
  }

  .page-hero--ok .page-hero__text p + p {
    margin-top: 0.5rem;
  }
}

/* ---------- Текст в две колонки: варианты ---------- */

.text-cols--history,
.text-cols--experience {
  margin-top: 4rem;
}

.text-cols--history .text-cols__grid {
  gap: 1rem;
}

.text-cols__quote {
  margin-top: 2rem;
}

@media (min-width: 46.5em) {
  .text-cols--history,
  .text-cols--experience {
    margin-top: 5rem;
  }

  .text-cols--history {
    margin-top: 4rem;
  }

  .text-cols--history .text-cols__grid {
    gap: 1.5rem;
  }
}

@media (min-width: 80em) {
  .text-cols--history {
    margin-top: 5rem;
  }

  .text-cols--experience {
    margin-top: 7.5rem;
  }

  .text-cols--history .section-title + .text-cols__grid {
    margin-top: 1.5rem;
  }

  .text-cols__quote {
    max-width: 62.875rem;
    margin-top: 1.5rem;
  }

  .text-cols--experience .text-cols__col:first-child p {
    max-width: 38.125rem;
  }
}

/* ---------- Заголовок, текст и цитата рядом с фото ---------- */

.side-photo {
  margin-top: 4rem;
}

.side-photo .section-title {
  margin-top: 1.5rem;
  line-height: 1.6875rem;
}

.side-photo__picture {
  display: block;
}

.side-photo__img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-small);
}

.side-photo__text {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.side-photo__text p + p {
  margin-top: 0.5rem;
}

.side-photo__quote {
  margin-top: 1.5rem;
}

.side-photo__quote + .side-photo__text {
  margin-top: 1rem;
}

/* цитата с подзаголовком: подзаголовок курсивом, текст обычный */
.lead-quote__plain {
  margin-top: 0.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

@media (min-width: 46.5em) {
  .side-photo {
    margin-top: 5rem;
  }

  .side-photo .section-title {
    margin-top: 2rem;
    line-height: normal;
  }

  .side-photo--wear .section-title {
    margin-top: 4.0625rem;
  }

  .side-photo__text {
    margin-top: 2rem;
  }

  .lead-quote__plain {
    margin-top: 1rem;
  }
}

@media (min-width: 80em) {
  .side-photo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
    margin-top: 7.5rem;
  }

  .side-photo--wear {
    margin-top: 5rem;
  }

  .side-photo__picture {
    order: 2;
  }

  .side-photo .section-title,
  .side-photo--wear .section-title {
    margin-top: 0;
  }

  .side-photo__text {
    margin-top: 2.5rem;
  }

  .side-photo__text + .side-photo__quote {
    margin-top: 1rem;
  }

  .side-photo--wear .side-photo__text + .side-photo__quote {
    margin-top: 1.4375rem;
  }

  .side-photo__quote + .side-photo__text {
    margin-top: 1.5rem;
  }
}

/* ---------- Номерные пункты со стрелкой (аккордеон) ---------- */

.num-list--accordion .num-list__items {
  margin-top: 0;
}

.num-list--accordion .num-list__item {
  position: relative;
  grid-template-columns: 2.3125rem minmax(0, 1fr);
}

.num-list__toggle {
  display: block;
  width: 100%;
  max-width: 17.3125rem;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.num-list__toggle::after {
  content: '';
  position: absolute;
  inset: 0;
}

.num-list__arrow {
  position: absolute;
  top: 1.5625rem;
  right: 0.25rem;
  width: 1.25rem;
  height: 0.6875rem;
  transition: transform 0.2s;
}

.num-list__item.is-open .num-list__arrow {
  transform: rotate(180deg);
}

@media (any-hover: hover) {
  .num-list__toggle:hover {
    color: var(--color-text);
  }
}

.num-list__summary {
  max-width: 18.3125rem;
  margin-top: 0.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.num-list__points {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.num-list__summary + .num-list__points {
  margin-top: 1.5rem;
}

.num-list__points li {
  position: relative;
  padding-left: 1.5rem;
}

.num-list__points li + li {
  margin-top: 0.5rem;
}

.num-list__points li::before {
  content: '';
  position: absolute;
  top: 0.3125rem;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  background: var(--color-brand);
  border-radius: 50%;
}

/* ссылки внутри пункта выше «кликабельной» строки */
.num-list__points,
.num-list__summary {
  position: relative;
  z-index: 1;
}

.num-list__quote {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .num-list--accordion .num-list__item {
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .num-list__toggle {
    max-width: none;
    padding-right: 2.5rem;
  }

  .num-list__arrow {
    top: 2.0625rem;
  }

  .num-list__summary {
    max-width: 38.75rem;
  }

  .num-list__quote {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .num-list--accordion .num-list__item {
    grid-template-columns: 6.75rem minmax(0, 1fr);
  }

  .num-list__arrow {
    right: 1.6875rem;
  }

  .num-list__summary {
    max-width: 63.125rem;
  }

  .num-list__quote {
    max-width: 62.875rem;
    margin-top: 5rem;
  }
}

/* ---------- Карточки этапов по центру ---------- */

.stage-cards {
  margin-top: 4rem;
}

.stage-cards .section-title {
  line-height: 1.6875rem;
}

.step-card--center {
  text-align: center;
}

.step-card--center .step-card__num {
  right: 1rem;
  left: auto;
}

.step-card--center .step-card__title {
  padding: 0 1.5rem;
}

.stage-cards__quote {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .stage-cards {
    margin-top: 5rem;
  }

  .stage-cards .section-title {
    line-height: normal;
  }

  .stage-cards__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .step-card--center {
    min-height: 13rem;
    padding: 3.6875rem 1.5rem 1.5rem;
  }

  .step-card--center .step-card__num {
    right: 1.5rem;
  }

  .step-card--center .step-card__title {
    padding: 0;
  }

  .step-card--center .step-card__text {
    margin-top: 1rem;
  }

  .stage-cards__quote {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .stage-cards__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .step-card--center {
    min-height: 14rem;
    padding: 4rem 1.5rem 1.5rem;
  }

  .step-card--center .step-card__num {
    right: 1.4375rem;
    left: auto;
  }

  .step-card--center .step-card__text {
    margin-top: 0.5rem;
  }

  .stage-cards__quote {
    max-width: 62.875rem;
    margin-top: 2.5rem;
  }
}

/* ---------- Баннер на сером фоне ---------- */

.promo-banner {
  margin-top: 4rem;
}

.promo-banner__card {
  overflow: hidden;
  background: var(--color-card);
  border-radius: var(--radius);
}

.promo-banner__picture {
  display: block;
}

.promo-banner__img {
  display: block;
  width: 100%;
  height: 10.25rem;
  object-fit: cover;
}

.promo-banner__body {
  padding: 1.5rem 1.5rem 1.25rem;
}

.promo-banner__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.promo-banner__text {
  margin-top: 0.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.promo-banner__btn {
  margin-top: 0.75rem;
}

@media (min-width: 46.5em) {
  .promo-banner {
    margin-top: 5rem;
  }

  .promo-banner__card {
    display: grid;
    grid-template-columns: 21rem minmax(0, 1fr);
    gap: 1.5rem;
  }

  .promo-banner__img {
    height: 100%;
    min-height: 17.75rem;
  }

  .promo-banner__body {
    padding: 2rem 1.5rem 2rem 0;
  }

  .promo-banner__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .promo-banner__text {
    margin-top: 1rem;
  }

  .promo-banner__text p + p {
    margin-top: 0.5rem;
  }

  .promo-banner__btn {
    margin-top: 1rem;
  }
}

@media (min-width: 80em) {
  .promo-banner {
    margin-top: 7.5rem;
  }

  .promo-banner__card {
    grid-template-columns: 36.75rem minmax(0, 1fr);
    gap: 3.75rem;
  }

  .promo-banner__img {
    min-height: 19.1875rem;
  }

  .promo-banner__body {
    padding: 2.5rem 2.75rem 2.5rem 0;
  }

  .promo-banner__title {
    font: var(--font-h1);
    line-height: 2.75rem;
  }

  .promo-banner__text {
    margin-top: 1.5rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .promo-banner__text p + p {
    margin-top: 0;
  }

  .promo-banner__btn {
    margin-top: 2.5rem;
  }

  .service-prices--tight {
    margin-top: 5rem;
  }

  .faq--ok .faq__img {
    height: 28.3125rem;
  }
}

/* ОК-терапия: поправки по сверке */
.page-hero--ok .page-hero__text p + p {
  margin-top: 0;
}

.side-photo__text + .side-photo__quote {
  margin-top: 2rem;
}

.side-photo--wear .side-photo__text + .side-photo__quote {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .page-hero--ok .page-hero__text p + p {
    margin-top: 0.5rem;
  }

  .side-photo__text + .side-photo__quote {
    margin-top: 2.0625rem;
  }

  .side-photo--wear .side-photo__text + .side-photo__quote {
    margin-top: 1rem;
  }

  /* «Опыт работы» на планшете — одна колонка */
  .text-cols--experience .text-cols__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  /* этапы: содержимое по центру карточки (в макете у трёхстрочной карточки отступ меньше) */
  .step-card--center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem;
  }
}

@media (min-width: 80em) {
  .text-cols--experience .text-cols__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  /* правая колонка «Истории» в макете на 9 выше левой */
  .text-cols--history .text-cols__col + .text-cols__col {
    margin-top: -0.5625rem;
  }

  .step-card--center {
    padding: 1.5rem;
  }

  .side-photo__text + .side-photo__quote {
    margin-top: 1rem;
  }

  .side-photo--wear .side-photo__text + .side-photo__quote {
    margin-top: 1.4375rem;
  }
}

/* «Все специалисты» у врачей ОК-терапии — только на планшете и телефоне (в макете ПК кнопки нет) */
@media (min-width: 80em) {
  .dept-doctors--more-mobile .block-more {
    display: none;
  }
}

/* ===========================================================================
   «Подбор очков и контактных линз (для взрослых)»: ПК 803:45187, планшет 803:45321,
   телефон 803:45455; раскрытый пункт услуг — компонент из 803:45187 «Услуги».
   =========================================================================== */

/* первый экран как у ОК-терапии: заголовок в 16 от верха фото, текст в 24 от заголовка */
.page-hero--glasses .page-hero__text p + p {
  margin-top: 0;
}

@media (min-width: 46.5em) {
  .page-hero--glasses .page-hero__text p + p {
    margin-top: 0.5rem;
  }
}

@media (min-width: 80em) {
  .page-hero--glasses .page-hero__img {
    height: 27.25rem;
  }

  .page-hero--glasses .page-hero__content {
    align-self: start;
    margin-top: 1rem;
  }
}

/* ---------- Плитки «преимущество + пояснение» ---------- */

.tiles {
  margin-top: 4rem;
}

.tiles__list {
  display: grid;
  gap: 1rem;
}

.tile {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 7.9375rem;
  padding: 1rem 1.5rem;
  text-align: center;
  background: var(--color-card);
  border-radius: var(--radius);
}

.tile__title {
  font: var(--font-h2-m);
  line-height: 1.6875rem;
  color: var(--color-brand);
}

.tile__text {
  margin-top: 0.5rem;
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

@media (min-width: 46.5em) {
  .tiles__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .tile {
    min-height: 10rem;
  }

  .tile__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .tile__text {
    margin-top: 0.25rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }
}

/* на ПК содержимое от верха: заголовок в 64 */
@media (min-width: 80em) {
  .tiles__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tile {
    justify-content: flex-start;
    min-height: 12.8125rem;
    padding: 4rem 1.5rem 1.5rem;
  }
}

/* ---------- Услуги: номерные пункты с тёмными заголовками, внутри текст и «Подробнее» ---------- */

.num-list--services .num-list__title {
  color: var(--color-text);
}

.num-list__intro {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.num-list--services .num-list__items {
  margin-top: 1.5rem;
}

.num-list--services .num-list__toggle {
  max-width: 17.8125rem;
}

.num-list__panel {
  position: relative;
  z-index: 1;
  margin-top: 0.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.num-list__more {
  margin: 1.5rem 0 1rem;
}

@media (min-width: 46.5em) {
  .num-list--services .num-list__item {
    grid-template-columns: 3.125rem minmax(0, 1fr);
  }

  .num-list--services .num-list__toggle {
    max-width: none;
  }

  .num-list__intro {
    margin-top: 2rem;
  }

  .num-list--services .num-list__items {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .num-list--services {
    margin-top: 5rem;
  }

  .num-list--services .num-list__item {
    grid-template-columns: 6.75rem minmax(0, 1fr);
  }

  .num-list__intro {
    max-width: 52.5rem;
    margin-top: 1.5rem;
  }

  .num-list--services .num-list__items {
    margin-top: 2.5rem;
  }

  .num-list__panel p {
    max-width: 61.125rem;
  }
}

/* ---------- Карточки этапов: на ПК лента, на планшете и телефоне — столбиком ---------- */

.step-carousel {
  margin-top: 4rem;
}

.step-carousel .section-title {
  line-height: 1.6875rem;
}

.step-carousel__carousel {
  margin-right: 0;
  margin-top: 1.5rem;
  overflow: visible;
}

.step-carousel__track {
  display: grid;
  gap: 1rem;
  overflow: visible;
}

.step-carousel__track::after {
  content: none;
}

.step-card--carousel .step-card__text {
  margin-top: 1rem;
}

@media (min-width: 46.5em) {
  .step-carousel {
    margin-top: 5rem;
  }

  .step-carousel .section-title {
    line-height: normal;
  }

  .step-carousel .carousel-nav {
    display: none;
  }

  .step-carousel__carousel {
    margin-top: 2rem;
  }

  .step-carousel__track {
    gap: 1.5rem;
  }

  .step-card--carousel .step-card__title {
    padding-right: 4.5rem;
  }
}

@media (min-width: 80em) {
  .step-carousel {
    margin-top: 7.5rem;
  }

  .step-carousel .carousel-nav {
    display: flex;
    margin-top: -0.25rem;
  }

  .step-carousel__carousel {
    margin-right: calc((var(--container-vw) - 100vw) / 2);
    margin-top: 2.25rem;
    overflow: hidden;
  }

  .step-carousel__track {
    display: flex;
    overflow-x: auto;
  }

  .step-carousel__track::after {
    content: '';
  }

  .step-card--carousel {
    flex: 0 0 25.5rem;
    min-height: 21.375rem;
    padding: 4rem 2.5rem 2.5rem;
  }

  .step-card--carousel .step-card__title {
    padding-right: 0;
  }

  .faq--glasses .faq__img {
    height: 32.875rem;
  }
}

/* подбор очков: на планшете фото в 32 от кнопки, на ПК врачи в 120 от ленты этапов */
@media (min-width: 46.5em) and (max-width: 79.9375em) {
  .page-hero--glasses .page-hero__picture {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .step-carousel + .dept-doctors {
    margin-top: 7.5rem;
  }
}

/* ===========================================================================
   «Детская офтальмология»: ПК 539:7938, планшет 540:10216, телефон 540:10151.
   Шаблон раздела (как «Взрослая»), плюс галерея и отзывы.
   =========================================================================== */

.gallery__title--center {
  text-align: center;
}

.gallery + .reviews--service {
  margin-top: 5rem;
}

@media (min-width: 46.5em) {
  .gallery + .reviews--service {
    margin-top: 7.5rem;
  }

  .reviews--service + .faq {
    margin-top: 5rem;
  }
}

@media (min-width: 80em) {
  .page-hero--kids .page-hero__img {
    height: 23.375rem;
  }

  .dept-doctors + .gallery--dept {
    margin-top: 5rem;
  }

  .reviews--service + .faq {
    margin-top: 7.5rem;
  }

  .faq--dept.faq--kids .faq__img {
    height: 28.75rem;
  }
}

/* ---------- Лечение глаукомы (607:16581 / 607:16875 / 607:16758) ---------- */

/* отдельная цитата между блоками (тот же lead-quote) */
.quote-block {
  margin-top: 2rem;
}

.text-cols--glaucoma .text-cols__grid {
  gap: 0.5rem;
}

@media (max-width: 46.4375em) {
  .page-hero--diagnostics .page-hero__text p:nth-child(2),
  .page-hero--glaucoma .page-hero__text p:nth-child(2) {
    margin-top: 0; /* на телефоне первые два абзаца — один текст без отступа */
  }
}

.treatment--methods {
  margin-top: 4rem;
}

/* в макете у карточек свои отступы: подзаголовок в 4 от заголовка, на телефоне абзацы без отступа */
.treatment--methods .step-card__lead {
  margin-top: 0.25rem;
}

.treatment--methods .step-card__text {
  margin-top: 1rem;
}

.svc-flow .treatment + .quote-block {
  margin-top: 1.5rem;
}

.svc-flow .quote-block + .dept-doctors,
.svc-flow .dept-doctors + .faq,
.svc-flow .faq + .reviews {
  margin-top: 4rem;
}

@media (min-width: 46.5em) {
  .quote-block {
    margin-top: 1.5rem;
  }

  .text-cols--glaucoma .text-cols__grid {
    gap: 1.5rem;
  }

  .page-hero--glaucoma .page-hero__text p + p {
    margin-top: 0.25rem;
  }

  .treatment--methods {
    margin-top: 5rem;
  }

  .treatment--methods .step-card__lead {
    max-width: 30.75rem;
  }

  .treatment--methods .step-card__text {
    margin-top: 1.5rem;
  }

  .treatment--methods .step-card__text p + p {
    margin-top: 0.5rem;
  }

  .svc-flow .treatment + .quote-block {
    margin-top: 2rem;
  }

  /* у глаукомы на планшете вторая цитата набрана 18/25, как на ПК (607:16875) */
  .quote-block--after-steps .lead-quote {
    font-size: 1.125rem;
    line-height: 1.5625rem;
  }

  .svc-flow .quote-block + .dept-doctors,
  .svc-flow .dept-doctors + .faq,
  .svc-flow .faq + .reviews {
    margin-top: 5rem;
  }
}

@media (min-width: 80em) {
  .quote-block {
    margin-top: 2.5rem;
  }

  .quote-block .lead-quote {
    max-width: 52.5rem;
  }

  .page-hero--clear .page-hero__text,
  .page-hero--lasik .page-hero__text,
  .page-hero--diagnostics .page-hero__text,
  .page-hero--glaucoma .page-hero__text {
    margin-top: 2.5rem;
  }

  .page-hero--clear .page-hero__text p + p,
  .page-hero--lasik .page-hero__text p + p,
  .page-hero--diagnostics .page-hero__text p + p,
  .page-hero--glaucoma .page-hero__text p + p {
    margin-top: 0.5rem;
  }

  .page-hero--glaucoma .page-hero__img {
    height: 23.75rem;
  }

  .svc-flow .treatment + .quote-block {
    margin-top: 2.5rem;
  }

  .treatment--methods .step-card {
    min-height: 25.9375rem;
  }

  .treatment--methods .step-card__lead {
    max-width: none;
    margin-top: 0.5rem;
  }

  .faq--glaucoma .faq__img {
    height: 28rem;
  }

  .svc-flow .faq + .reviews {
    margin-top: 7.5rem;
  }
}

/* вопросы в одну-две строки: на телефоне пункт 48 / 65, на ПК шаг 56 (607:16758, 607:16581) */
@media (max-width: 46.4375em) {
  .faq--short .faq__item,
  .faq--short .faq__item:first-child {
    min-height: 2.9375rem; /* + линия 1 = 48 */
    margin-top: 0;
    padding-bottom: 0;
  }

  .faq--short .faq__num {
    margin-top: 0.875rem;
  }

  .faq--short .faq__question {
    margin: 1rem 0 0.875rem;
  }

  .faq--short .faq__toggle {
    margin-top: 0.25rem;
  }

  .faq--short .faq__btn {
    margin-top: 1.5rem;
  }
}

@media (min-width: 80em) {
  .faq--short .faq__item + .faq__item {
    margin-top: 0.4375rem;
  }

  .faq--short .faq__item:first-child {
    margin-top: 0.375rem;
  }
}

/* ---------- Диагностика зрения (669:19896 / 669:20261 / 669:20077) ---------- */

.svc-flow .num-list + .quote-block {
  margin-top: 2rem;
}

.svc-flow .quote-block + .num-list,
.svc-flow .quote-block + .side-photo,
.svc-flow .side-photo + .dept-doctors,
.svc-flow .dept-doctors + .service-prices,
.svc-flow .service-prices + .faq {
  margin-top: 4rem;
}

/* фото, заголовок бирюзой, текст и кнопка-ссылка на соседний раздел */
.side-photo--link .side-photo__title {
  margin-top: 2rem;
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.side-photo--link .side-photo__text {
  margin-top: 1rem;
}

/* на телефоне абзацы — один текст без отступа (669:20077) */
.side-photo--link .side-photo__text p + p {
  margin-top: 0;
}

@media (max-width: 46.4375em) {
  .page-hero--diagnostics .page-hero__btn {
    margin-top: 2.5rem;
  }
}

.side-photo__btn {
  display: flex;
  width: fit-content;
  margin: 1.5rem auto 0;
}

@media (max-width: 46.4375em) {
  .faq--diagnostics .faq__item,
  .faq--diagnostics .faq__item:first-child {
    min-height: 3.625rem; /* + линия 1 = 59 */
    margin-top: 0;
    padding-bottom: 0;
  }

  .faq--diagnostics .faq__num {
    margin-top: 0.875rem;
  }

  .faq--diagnostics .faq__question {
    margin: 1rem 0 0.9375rem;
  }

  .faq--diagnostics .faq__toggle {
    margin-top: 0.25rem;
  }
}

@media (min-width: 46.5em) {
  .quote-block--diagnostics {
    margin-top: 4rem;
  }

  .num-list--diagnostics .num-list__items {
    margin-top: 2rem;
  }

  .num-list--diagnostics .num-list__text {
    max-width: 40.125rem;
  }

  .svc-flow .quote-block + .num-list,
  .svc-flow .quote-block + .side-photo,
  .svc-flow .side-photo + .dept-doctors,
  .svc-flow .dept-doctors + .service-prices,
  .svc-flow .service-prices + .faq {
    margin-top: 5rem;
  }

  .side-photo--link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
  }

  .side-photo--link .side-photo__picture {
    order: 2;
  }

  .side-photo--link .side-photo__img {
    height: 20.8125rem;
    object-fit: cover;
  }

  .side-photo--link .side-photo__title {
    margin-top: 0;
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .side-photo--link .side-photo__text {
    margin-top: 1.5rem;
  }

  .side-photo__btn {
    margin: 2rem 0 0;
  }

  /* однострочный вопрос — 64, двухстрочный — 77 (669:20261) */
  .faq--diagnostics .faq__item,
  .faq--diagnostics .faq__item:first-child {
    min-height: 3.9375rem; /* + линия 1 */
    margin-top: 0;
    padding-bottom: 0;
  }

  .faq--diagnostics .faq__num {
    margin-top: 1.1875rem;
  }

  .faq--diagnostics .faq__question {
    margin: 1.0625rem 0 0.9375rem;
  }

  .faq--diagnostics .faq__toggle {
    margin-top: 0.5rem;
  }

  .faq--diagnostics .faq__btn {
    margin-top: 2rem;
  }

  .side-photo--link .side-photo__text p + p {
    margin-top: 0.5rem;
  }
}

@media (min-width: 80em) {
  .quote-block--diagnostics {
    margin-top: 5rem;
  }

  .quote-block--diagnostics .lead-quote,
  .quote-block--after-list .lead-quote {
    padding-left: 2.25rem; /* текст в 40 от линии (669:19896) */
  }

  .page-hero--diagnostics .page-hero__img {
    height: 21.5rem;
  }

  /* в макете текст выровнен по низу фото, фото в 80 от низа фона (у глаукомы — по центру и 64) */
  .page-hero--diagnostics .page-hero__grid {
    align-items: end;
  }

  .page-hero--diagnostics .page-hero__inner {
    padding-bottom: 5rem;
  }

  .page-hero--diagnostics .page-hero__text p + p {
    max-width: 37.8125rem;
  }

  .num-list--diagnostics .num-list__text {
    max-width: 63.875rem;
  }

  .num-list--diagnostics .num-list__items {
    margin-top: 2.5rem;
  }

  .faq--diagnostics .faq__list {
    min-height: 22.8125rem;
  }

  .svc-flow .num-list + .quote-block {
    margin-top: 2.5rem;
  }

  .svc-flow .quote-block + .side-photo,
  .svc-flow .side-photo + .dept-doctors,
  .svc-flow .service-prices + .faq {
    margin-top: 7.5rem;
  }

  /* у линз (врачи без стрелок) цены в 120 от врачей, у остальных услуг — в 80 */
  .svc-flow .dept-doctors--no-nav + .service-prices {
    margin-top: 7.5rem;
  }

  .side-photo--link .side-photo__img {
    height: 21.5rem;
  }

  .side-photo--link .side-photo__title {
    font: var(--font-h2);
    line-height: 2.25rem;
  }

  .side-photo--link .side-photo__text {
    margin-top: 1.8125rem;
  }

  .side-photo__btn {
    margin-top: 2.5rem;
  }

  .dept-doctors--wide-title .carousel {
    margin-top: 2.5rem;
  }

  .faq--diagnostics .faq__img {
    height: 28.3125rem;
  }

  .faq--diagnostics .faq__item {
    min-height: 0;
  }
}

/* ---------- КЛИР (584:13195 / 584:13567 / 584:13459) ---------- */

.svc-flow .quote-block + .text-cols,
.svc-flow .text-cols + .side-photo {
  margin-top: 2rem;
}

.svc-flow .side-photo + .video-block {
  margin-top: 4rem;
}

/* фото слева, справа текст и цитата; на телефоне и планшете — фото сверху */
.side-photo--left .side-photo__text {
  margin-top: 2rem;
}

.side-photo--left .side-photo__text + .side-photo__quote {
  margin-top: 1.5rem;
}

@media (max-width: 46.4375em) {
  /* на телефоне абзацы без отступов (paragraphSpacing 0) */
  .page-hero--clear .page-hero__text p + p + p,
  .text-cols--clear .text-cols__col p + p,
  .text-cols--lasik .text-cols__col p + p,
  .side-photo--clear .side-photo__text p + p {
    margin-top: 0;
  }

  .text-cols--clear .text-cols__grid,
  .text-cols--lasik .text-cols__grid {
    gap: 1rem;
  }
}

@media (min-width: 46.5em) {
  .quote-block--clear,
  .quote-block--lasik {
    margin-top: 4rem;
  }

  .svc-flow .quote-block + .text-cols {
    margin-top: 1.5rem;
  }

  .svc-flow .text-cols + .side-photo,
  .svc-flow .side-photo + .video-block {
    margin-top: 4rem;
  }

  .svc-flow .side-photo + .video-block {
    margin-top: 5rem;
  }

  .side-photo--left .side-photo__img {
    height: 20rem;
    object-fit: cover;
  }
}

@media (min-width: 80em) {
  .page-hero--clear .page-hero__img {
    height: 24rem;
  }

  .svc-flow .quote-block + .text-cols {
    margin-top: 2.5rem;
  }

  .svc-flow .text-cols + .side-photo {
    margin-top: 6.25rem;
  }

  .svc-flow .side-photo + .video-block {
    margin-top: 7.5rem;
  }

  .side-photo--left {
    align-items: start;
  }

  .side-photo--left .side-photo__picture {
    order: 0;
  }

  .side-photo--left .side-photo__text {
    margin-top: 3.125rem;
  }

  .side-photo--left .side-photo__text + .side-photo__quote {
    margin-top: 2.5rem;
  }
}

/* ---------- ФЕМТО-ЛАСИК (588:15759 / 588:16129 / 588:16021) ---------- */

/* цитата с кнопкой «Список противопоказаний» рядом с фото */
.side-photo--contra .side-photo__quote {
  margin-top: 2rem;
}

@media (min-width: 46.5em) {
  .side-photo--contra .side-photo__img {
    height: 20rem;
    object-fit: cover;
  }

  .side-photo--contra .side-photo__quote {
    margin-top: 4rem;
    font-size: 1.125rem;
    line-height: 1.5625rem;
  }
}

@media (min-width: 80em) {
  .page-hero--lasik .page-hero__img {
    height: 24.25rem;
  }

  .svc-flow .text-cols + .side-photo--contra {
    margin-top: 2.5rem;
  }

  .side-photo--contra {
    align-items: center;
  }

  .side-photo--contra .side-photo__img {
    height: 20.125rem;
  }

  .side-photo--contra .side-photo__quote {
    margin-top: 0;
  }
}

/* ---------- Корнеосклеральные линзы (813:47667 / 813:47768 / 813:47850) ---------- */

.page-hero__lead {
  margin-top: 1rem;
  font: 500 0.875rem/1.0625rem var(--font-family);
}

.text-cols--scleral {
  margin-top: 4rem;
}

.text-cols__list {
  margin-top: 0.5rem;
}

.side-photo--benefits .section-title {
  margin-top: 2rem;
}

.side-photo__list {
  margin-top: 1.5rem;
}

.svc-flow .text-cols + .side-photo--benefits {
  margin-top: 4rem;
}

@media (min-width: 46.5em) {
  .page-hero__lead {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .text-cols--scleral {
    margin-top: 4rem;
  }

  .svc-flow .text-cols + .side-photo--benefits {
    margin-top: 5rem;
  }

  .side-photo--benefits .side-photo__img {
    height: 25rem;
    object-fit: cover;
  }

  .side-photo--benefits .section-title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .side-photo__list {
    margin-top: 2rem;
  }

  .side-photo--benefits .side-photo__list + .side-photo__text {
    margin-top: 1.5rem;
  }
}

@media (min-width: 80em) {
  .page-hero__lead + .page-hero__text {
    margin-top: 1.5rem;
  }

  .text-cols--scleral {
    margin-top: 5rem;
  }

  .svc-flow .text-cols + .side-photo--benefits {
    margin-top: 7.25rem;
  }

  .side-photo--benefits .side-photo__img {
    height: 25.0625rem;
  }

  .side-photo--benefits .section-title {
    margin-top: 0;
  }

  .side-photo__list {
    margin-top: 2.5rem;
  }

  .side-photo--benefits .side-photo__list + .side-photo__text {
    margin-top: 2.5rem;
  }

  .faq--scleral .faq__img {
    height: 28.125rem;
  }
}

/* ---------- Детская диагностика (674:21549 / 674:21732 / 674:21875) ---------- */

.page-hero--kids-svc .page-hero__lead {
  margin-top: 1.5rem;
}

.page-hero--kids-svc .page-hero__lead + .page-hero__text {
  margin-top: 1rem;
}

.svc-flow .page-hero + .step-carousel,
.svc-flow .step-carousel + .side-photo,
.svc-flow .side-photo + .link-cards,
.svc-flow .link-cards + .dept-doctors,
.svc-flow .service-prices + .note-cols,
.svc-flow .note-cols + .faq,
.svc-flow .faq + .appointment {
  margin-top: 4rem;
}

/* карточки по возрасту: без номера, текст группами, цитата внутри */
.step-carousel--age .step-card__text p + p {
  margin-top: 0;
}

.step-card--age .step-card__text + .step-card__text {
  margin-top: 0;
}

.step-card__quote {
  margin-top: 1rem;
  font: italic 500 0.875rem/1.25rem var(--font-family);
}

/* фото + заголовок + вводная фраза + список */
.side-photo--list .side-photo__title {
  font: var(--font-h2-m);
  line-height: 1.6875rem;
}

.side-photo__lead {
  margin-top: 1.5rem;
  font: 500 0.875rem/1.0625rem var(--font-family);
}

.side-photo--list .side-photo__list {
  margin-top: 1.5rem;
}

/* карточки-ссылки */
.link-cards__list {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.link-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 1rem;
  text-align: center;
  background: var(--color-card);
  border-radius: var(--radius);
}

.link-card__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.link-card__text {
  margin-top: 0.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.link-card__btn {
  width: 9.5rem;
  min-height: 1.4375rem;
  margin-top: 1.5rem;
  padding: 0;
}

/* «Родителям на заметку» */
.note-cols__title {
  color: var(--color-brand);
}

.note-cols__grid {
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.note-cols__text {
  margin-top: 1rem;
}

@media (min-width: 46.5em) {
  .page-hero--kids-svc .page-hero__lead {
    margin-top: 2rem;
  }

  .svc-flow .page-hero + .step-carousel,
  .svc-flow .step-carousel + .side-photo,
  .svc-flow .side-photo + .link-cards,
  .svc-flow .link-cards + .dept-doctors,
  .svc-flow .service-prices + .note-cols,
  .svc-flow .note-cols + .faq,
  .svc-flow .faq + .appointment {
    margin-top: 5rem;
  }

  .step-carousel--age .section-title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .step-carousel--age .step-card__text p + p {
    margin-top: 0.5rem;
  }

  .step-card--age .step-card__title {
    padding-right: 0;
  }

  .step-card--age .step-card__text + .step-card__text {
    margin-top: 0.5rem;
  }

  .step-card__quote {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .side-photo--list {
    display: block;
  }

  .side-photo--list .side-photo__img {
    height: 27.5rem;
  }

  .side-photo--list .side-photo__title {
    margin-top: 2rem;
    font: var(--font-h2);
    line-height: 2.25rem;
  }

  .side-photo__lead {
    margin-top: 2rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .side-photo--list .side-photo__list {
    margin-top: 1rem;
  }

  .link-cards__list {
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .link-card {
    padding: 2rem;
  }

  .link-card__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .link-card__btn {
    width: 8.75rem;
    min-height: 1.9375rem;
    margin-top: 2rem;
  }

  .note-cols__grid {
    margin-top: 2rem;
  }

  .note-cols__text {
    margin-top: 1.5rem;
  }
}

@media (min-width: 80em) {
  .page-hero--kids-svc .page-hero__lead {
    margin-top: 1.5rem;
  }

  .page-hero--kids-svc .page-hero__img {
    height: 24rem;
  }

  .svc-flow .step-carousel + .side-photo,
  .svc-flow .side-photo + .link-cards,
  .svc-flow .link-cards + .dept-doctors,
  .svc-flow .service-prices + .note-cols,
  .svc-flow .note-cols + .faq,
  .svc-flow .faq + .appointment {
    margin-top: 7.5rem;
  }

  .step-carousel--age .carousel-nav {
    align-self: flex-end;
    margin-top: 0;
  }

  .step-carousel--age .step-carousel__carousel {
    margin-top: 2.5rem;
  }

  .step-card--carousel.step-card--age {
    min-height: 25.5625rem;
    padding: 2rem 2.5rem;
  }

  .step-card--age .step-card__text + .step-card__text {
    margin-top: 1rem;
  }

  .step-card--age .step-card__quote {
    padding: 0.5rem 0 0.5rem 0.25rem; /* в макете текст цитаты в 8 от края карточки */
  }

  .link-cards .section-title,
  .step-carousel--age .section-title {
    max-width: 52.5625rem;
  }

  .side-photo--list {
    display: grid;
  }

  .side-photo--list .side-photo__img {
    height: 23.25rem;
  }

  .side-photo--list .side-photo__title {
    margin-top: 0;
  }

  .side-photo__lead {
    margin-top: 2.5rem;
  }

  .link-cards__list {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: 2.5rem;
  }

  .link-card {
    padding: 2.5rem;
  }

  .link-card__text {
    margin-top: 1rem;
  }

  .link-card__btn {
    margin-top: auto;
  }

  .link-card__text {
    margin-bottom: 1.5rem;
  }

  .note-cols__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
  }

  .note-cols__text {
    margin-top: 0;
  }

  .faq--kids-diag .faq__img {
    height: 28.3125rem;
  }
}

/* ---------- Проверка зрения у младенцев (699:22228 / 699:22524 / 699:22657) ---------- */

.page-hero--infants .page-hero__text p + p {
  margin-top: 0;
}

.text-cols__strong {
  font-weight: 500;
}

.text-cols--infants .text-cols__grid {
  gap: 1rem;
}

.svc-flow .side-photo + .quote-block {
  margin-top: 1.5rem;
}

/* лента карточек с номерами без увеличенного верхнего отступа (у подбора очков — 64) */
.step-carousel--compact .step-card__text {
  margin-top: 1rem;
}

/* список «название — пояснение» */
.def-list {
  gap: 1rem;
}

/* точка по центру первой строки названия: 17 на телефоне, 22 выше */
.def-list li::before {
  height: 1.0625rem;
}

.def-list__name {
  display: block;
  font: 500 0.875rem/1.0625rem var(--font-family);
}

.def-list__desc {
  display: block;
  margin-top: 0.25rem;
}

.side-photo--defs .side-photo__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.side-photo--defs .side-photo__list {
  margin-top: 1rem;
}

@media (min-width: 46.5em) {
  .text-cols--infants .text-cols__grid {
    gap: 1.5rem;
  }

  .svc-flow .side-photo + .quote-block {
    margin-top: 2rem;
  }

  .svc-flow .text-cols + .step-carousel {
    margin-top: 5rem;
  }

  .def-list__name {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .def-list__desc {
    margin-top: 0;
  }

  .def-list li::before {
    height: 1.375rem;
  }

  .side-photo--defs .side-photo__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .side-photo--defs .side-photo__list {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .page-hero--infants .page-hero__lead + .page-hero__text {
    margin-top: 1.5rem;
  }

  .page-hero--infants .page-hero__img {
    height: 29.25rem;
  }

  .svc-flow .side-photo + .quote-block {
    margin-top: 5rem;
  }

  .step-carousel--compact .step-carousel__carousel {
    margin-top: 2.5rem;
  }

  .step-carousel--compact .carousel-nav {
    margin-top: 0;
  }

  .step-carousel--compact .step-card--carousel {
    min-height: 0;
    padding: 2.5rem;
  }

  .side-photo--defs .side-photo__title {
    max-width: 38.8125rem;
  }

  .side-photo--defs .side-photo__img {
    height: 27.125rem;
  }

  .side-photo--defs .side-photo__list {
    margin-top: 1.5rem;
  }
}

/* ---------- ЭФИ (705:22579 / 705:22766 / 705:22919) ---------- */

.text-cols--efi .text-cols__col p + p {
  margin-top: 0;
}

.text-cols__quote + p {
  margin-top: 1.5rem;
}

.text-cols--efi .text-cols__quote {
  margin-top: 0;
}

.num-list__dots {
  max-width: 46rem;
}

/* номерные пункты с подписями, подзаголовком и списком (вводный абзац — тот же .num-list__intro, что у подбора очков) */

.num-list--rich .num-list__items {
  margin-top: 1rem;
}

.num-list--rich .num-list__text p + p {
  margin-top: 0;
}

.num-list__label {
  font-weight: 500;
}

.num-list .num-list__sub {
  margin-top: 1rem;
  font: 500 0.875rem/1.0625rem var(--font-family);
}

.num-list__dots {
  margin-top: 0.5rem;
}

.num-list__dots--first {
  margin-top: 0;
}

/* фото + заголовок бирюзой + список + цитата */
.side-photo--notes .side-photo__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.side-photo--notes .side-photo__list {
  margin-top: 1rem;
}

.side-photo--notes .side-photo__list + .side-photo__quote {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .text-cols--efi .text-cols__quote {
    font-size: 0.875rem;
    line-height: 1.0625rem;
  }

  .num-list--rich .num-list__items {
    margin-top: 1.5rem;
  }

  .num-list--rich .num-list__text p + p {
    margin-top: 0.75rem;
  }

  .num-list .num-list__sub {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .step-carousel--h3 .section-title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .side-photo--notes .side-photo__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .side-photo--notes .side-photo__list + .side-photo__quote {
    margin-top: 0.75rem;
  }
}

@media (min-width: 80em) {
  .page-hero--efi .page-hero__grid {
    align-items: end;
  }

  .page-hero--efi .page-hero__img {
    height: 29.9375rem;
  }

  .text-cols--efi .text-cols__col p + p {
    margin-top: 0.5rem;
  }

  .text-cols--efi .text-cols__col + .text-cols__col {
    padding-left: 2.125rem;
  }

  .text-cols--efi .text-cols__quote {
    font-size: 1.125rem;
    line-height: 1.5625rem;
  }

  .text-cols--efi .text-cols__quote + p {
    margin-top: 1.9375rem;
  }

  .num-list--rich .num-list__intro {
    margin-top: 1rem;
  }

  .num-list--rich .num-list__items {
    margin-top: 2.5rem;
  }

  .num-list--rich .num-list__text {
    max-width: 67.5rem;
  }

  .svc-flow .text-cols + .num-list {
    margin-top: 5rem;
  }

  .num-list--rich .num-list__dots:not(.num-list__dots--first) {
    gap: 0.25rem;
  }

  .step-carousel--h3 .carousel-nav {
    align-self: center;
  }

  .side-photo--notes .side-photo__img {
    height: 31.0625rem;
  }

  .side-photo--notes .side-photo__list {
    margin-top: 1.5rem;
  }

  .side-photo--notes .side-photo__list + .side-photo__quote {
    margin-top: 1.5rem;
  }
}

/* ---------- ОК-терапия для детей (739:29354 / 739:29450 / 739:29515) ---------- */

/* первый экран: вместо обычного текста — крупный вводный, абзацы без отступа */
.page-hero .page-hero__text--lead {
  font: 500 0.875rem/1.0625rem var(--font-family);
}

.num-list--visits .num-list__item {
  padding: 0.8125rem 0; /* + линия 1: пункт 49 (739:29515) */
}

.page-hero .page-hero__text--lead p + p {
  margin-top: 0;
}

.text-cols--ok-kids .text-cols__group {
  margin-top: 1rem;
}

.text-cols--ok-kids .text-cols__quote {
  margin-top: 1.5rem;
}

.svc-flow .text-cols + .num-list--visits {
  margin-top: 4rem;
}

.num-list--visits .num-list__items,
.num-list--visits .num-list__intro + .num-list__items {
  margin-top: 1rem;
}

.num-list--visits .num-list__quote {
  margin-top: 1.5rem;
}

.svc-flow .num-list + .side-photo {
  margin-top: 4rem;
}

@media (min-width: 46.5em) {
  .page-hero .page-hero__text--lead {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .num-list--visits .num-list__item {
    padding: 1.4375rem 0 1.5rem;
  }

  .page-hero--ok-kids .page-hero__text {
    margin-top: 2rem;
  }

  .text-cols--ok-kids .section-title + .text-cols__grid {
    margin-top: 0.875rem;
  }

  .text-cols--ok-kids .text-cols__group {
    margin-top: 1.5rem;
  }

  .text-cols--ok-kids .text-cols__quote {
    margin-top: 2rem;
  }

  .svc-flow .text-cols + .num-list--visits,
  .svc-flow .num-list + .side-photo {
    margin-top: 5rem;
  }

  .num-list--visits .num-list__quote {
    margin-top: 2rem;
  }
}

/* на планшете тексты идут одной колонкой */
@media (min-width: 46.5em) and (max-width: 79.9375em) {
  .text-cols--ok-kids .text-cols__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }
}

@media (min-width: 80em) {
  .page-hero--ok-kids .page-hero__inner {
    padding-bottom: 5rem;
  }

  .svc-flow .side-photo--mech + .dept-doctors {
    margin-top: 5rem;
  }

  .page-hero--ok-kids .page-hero__text {
    margin-top: 1.5rem;
  }

  .page-hero--ok-kids .page-hero__img {
    height: 24.375rem;
  }

  .text-cols--ok-kids .section-title + .text-cols__grid {
    margin-top: 1.5rem;
  }

  .text-cols--ok-kids .text-cols__group {
    margin-top: 1rem;
  }

  .text-cols--ok-kids .text-cols__quote {
    max-width: 62.875rem;
    margin-top: 2.5rem;
  }

  .svc-flow .num-list + .side-photo {
    margin-top: 7.5rem;
  }

  .num-list--visits .num-list__intro {
    margin-top: 2.5rem;
  }

  .num-list--visits .num-list__quote {
    max-width: 62.875rem;
    margin-top: 2.5rem;
  }
}

/* ---------- Лечение близорукости (748:33025 / 748:33194 / 748:33333) ---------- */

.text-cols--myopia {
  margin-top: 4rem;
}

.text-cols--myopia .text-cols__grid {
  gap: 1rem;
}

.svc-flow .text-cols + .side-photo--symptoms {
  margin-top: 4rem;
}

.text-cols--myopia .text-cols__quote {
  margin-top: 1.5rem;
}

/* симптомы: на ПК заголовок над текстом и фото, ниже — фото, заголовок, текст, список */
.side-photo--symptoms .section-title {
  margin-top: 1.5rem;
}

.side-photo--symptoms .side-photo__text {
  margin-top: 1.5rem;
}

.side-photo--symptoms .side-photo__list {
  margin-top: 1rem;
}

.svc-flow .side-photo--symptoms + .quote-block {
  margin-top: 1.5rem;
}

.svc-flow .quote-block + .info-cards,
.svc-flow .info-cards + .num-list,
.svc-flow .num-list + .dept-doctors {
  margin-top: 4rem;
}

/* карточки с заголовком, текстом и «Подробнее» */
.info-cards__list {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.info-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.5rem 1rem;
  background: var(--color-card);
  border-radius: var(--radius);
}

.info-card__title {
  font: var(--font-h3-m);
  line-height: 1.375rem;
  color: var(--color-brand);
}

.info-card__text {
  margin-top: 1rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.info-card__text p + p {
  margin-top: 0.5rem;
}

.info-card__btn {
  margin-top: 1rem;
}

/* коррекция: вводная строка, текст пункта в 8 от заголовка, «Подробнее» в пункте */
.num-list__lead {
  margin-top: 1.5rem;
  font: 500 0.875rem/1.25rem var(--font-family);
}

.num-list--correction .num-list__items {
  margin-top: 1rem;
}

.num-list--correction .num-list__text {
  margin-top: 0.5rem;
}

.num-list__btn {
  margin-top: 1rem;
}

.num-list--correction .num-list__quote {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .text-cols--myopia .section-title + .text-cols__grid {
    margin-top: 2rem;
  }

  .text-cols--myopia .text-cols__grid {
    gap: 1.5rem;
  }

  .side-photo--symptoms .section-title,
  .side-photo--symptoms .side-photo__text {
    margin-top: 2rem;
  }

  .svc-flow .text-cols + .side-photo--symptoms {
    margin-top: 5rem;
  }

  .side-photo--symptoms .side-photo__img {
    height: 25rem;
    object-fit: cover;
  }

  .svc-flow .quote-block + .info-cards,
  .svc-flow .info-cards + .num-list,
  .svc-flow .num-list + .dept-doctors {
    margin-top: 5rem;
  }

  .info-cards__list {
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .info-card {
    padding: 2rem;
  }

  .info-card__title {
    font: var(--font-h3);
    line-height: 1.8125rem;
  }

  .info-card__btn {
    margin-top: 1.5rem;
  }

  .num-list__lead {
    margin-top: 2rem;
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .num-list__btn {
    margin-top: 1.5rem;
  }
}

@media (min-width: 80em) {
  .page-hero--myopia .page-hero__img {
    height: 25.375rem;
  }

  .text-cols--myopia {
    margin-top: 5rem;
  }

  .text-cols--myopia .section-title + .text-cols__grid {
    margin-top: 1.5rem;
  }

  .text-cols--myopia .text-cols__quote {
    max-width: 62.875rem;
    margin-top: 2.5rem;
  }

  .side-photo--symptoms {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 0;
  }

  .side-photo--symptoms .side-photo__body {
    display: contents;
  }

  .side-photo--symptoms .section-title {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-top: 0;
  }

  .side-photo--symptoms .side-photo__picture {
    grid-column: 2;
    grid-row: 2 / span 2;
    margin-top: 2.5rem;
  }

  .side-photo--symptoms .side-photo__img {
    height: 25.75rem;
  }

  .side-photo--symptoms .side-photo__text {
    grid-column: 1;
    grid-row: 2;
    margin-top: 2.5rem;
  }

  .side-photo--symptoms .side-photo__list {
    grid-column: 1;
    grid-row: 3;
    align-self: start;
  }

  .svc-flow .side-photo--symptoms + .quote-block {
    margin-top: 2.5rem;
  }

  .info-cards .section-title {
    max-width: 57.5rem;
  }

  .info-cards__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2.5rem;
  }

  .info-card {
    padding: 2rem 2.5rem;
  }

  .info-card__title {
    min-height: 3.625rem;
  }

  .svc-flow .info-cards + .num-list {
    margin-top: 7.5rem;
  }

  /* ширина вводной строки 756 (766:40560) */
  .num-list__lead {
    max-width: 47.25rem;
    margin-top: 2.5rem;
  }

  .num-list--correction .num-list__items {
    margin-top: 1.5rem;
  }

  .num-list--correction .num-list__text {
    max-width: 67.875rem;
  }

  .num-list--correction .num-list__quote {
    max-width: 59.875rem;
    margin-top: 2.5rem;
  }

  .svc-flow .dept-doctors--kids + .faq {
    margin-top: 7.5rem;
  }

  .faq--myopia .faq__img {
    height: 28.3125rem;
  }
}

/* ---------- Лечение косоглазия (766:40560 / 766:40707 / 766:40823) ---------- */

/* симптомы: цитата внутри левой колонки */
.side-photo--symptoms-in .side-photo__quote {
  margin-top: 1.5rem;
}

.num-list .num-list__gap {
  margin-top: 1.25rem;
}

.num-list__link {
  color: var(--color-brand-text);
  text-decoration: underline;
}

@media (min-width: 46.5em) {
  .side-photo--symptoms-in .side-photo__text + .side-photo__list {
    margin-top: 1rem;
  }
}

@media (min-width: 80em) {
  .svc-flow .text-cols + .side-photo--symptoms-in {
    margin-top: 6.25rem;
  }

  .side-photo--symptoms-in .side-photo__picture {
    grid-row: 2 / span 3;
  }

  .side-photo--symptoms-in .side-photo__text + .side-photo__list {
    margin-top: 1.5rem;
  }

  .side-photo--symptoms-in .side-photo__quote {
    grid-column: 1;
    grid-row: 4;
    margin-top: 2.5rem;
  }

  .svc-flow .num-list--methods + .dept-doctors {
    margin-top: 7.5rem;
  }
}

/* ---------- Лечение дакриоцистита (767:42268 / 767:42397 / 767:42493) ---------- */

.text-cols--dacryo {
  margin-top: 4rem;
}

.text-cols--dacryo .text-cols__quote {
  margin-top: 1.5rem;
}

.text-cols--dacryo .lead-quote__title + .lead-quote__plain {
  margin-top: 0.5rem;
}

.text-cols--dacryo .lead-quote__plain + .lead-quote__plain {
  margin-top: 0;
}

.side-photo--signs .section-title,
.side-photo--signs .side-photo__list,
.side-photo--signs .side-photo__quote {
  margin-top: 1.5rem;
}

.svc-flow .text-cols + .side-photo--signs,
.svc-flow .side-photo + .num-list--probing {
  margin-top: 4rem;
}

.num-list--probing .num-list__items {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .text-cols--dacryo .lead-quote__title + .lead-quote__plain {
    margin-top: 1rem;
  }

  .text-cols--dacryo .lead-quote__plain + .lead-quote__plain {
    margin-top: 0.25rem;
  }

  .side-photo--signs .section-title,
  .side-photo--signs .side-photo__list {
    margin-top: 2rem;
  }

  .side-photo--signs .side-photo__img {
    height: 25rem;
    object-fit: cover;
  }

  .svc-flow .text-cols + .side-photo--signs,
  .svc-flow .side-photo + .num-list--probing {
    margin-top: 5rem;
  }

  .num-list--probing .num-list__items {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .text-cols--dacryo {
    margin-top: 5rem;
  }

  .page-hero--dacryo .page-hero__inner {
    padding-bottom: 4rem;
  }

  .page-hero--dacryo .page-hero__content {
    align-self: start;
    margin-top: 2.5rem;
  }

  .text-cols--dacryo .text-cols__quote {
    margin-top: 2.5rem;
  }

  .text-cols--dacryo .lead-quote__plain {
    max-width: 51rem;
  }

  .side-photo--signs .section-title {
    margin-top: 0;
  }

  .side-photo--signs .side-photo__list {
    margin-top: 2.5rem;
  }

  .side-photo--signs .side-photo__img {
    height: 25.6875rem;
  }

  .svc-flow .text-cols + .side-photo--signs,
  .svc-flow .side-photo + .num-list--probing,
  .svc-flow .num-list--probing + .dept-doctors {
    margin-top: 7.5rem;
  }

  .num-list--probing .num-list__items {
    margin-top: 2.5rem;
  }
}

/* перенос в заголовке — только на ПК (на планшете в макете одна строка) */
@media (max-width: 79.9375em) {
  .page-hero--dacryo .page-hero__title br,
  .page-hero--infants .page-hero__title br {
    display: none;
  }
}

/* ---------- Аппаратное лечение (789:42831 / 789:42950 / 789:43057) ---------- */

.page-hero--hardware .page-hero__text p + p {
  margin-top: 0;
}

.num-list .num-list__title-brand {
  color: var(--color-brand);
}

.num-list--devices .num-list__intro + .num-list__items {
  margin-top: 1.5rem;
}

.num-list__price {
  margin-top: 0.5rem;
  font: var(--font-h3-m);
  line-height: 1.375rem;
}

.num-list__price + p,
.num-list__dots + .num-list__price {
  margin-top: 1rem;
}

.svc-flow .gallery + .faq {
  margin-top: 4rem;
}

/* галерея с подписями под кадрами */
.gallery--captions .gallery__stage {
  height: 21.5625rem;
}

.gallery--captions .gallery__slide {
  height: auto;
  overflow: visible;
  border-radius: 0;
}

.gallery--captions .gallery__picture {
  display: block;
  height: 20rem;
  overflow: hidden;
  border-radius: var(--radius);
}

.gallery__caption {
  margin-top: 0.5rem;
  font: 500 0.875rem/1.0625rem var(--font-family);
  text-align: center;
}

@media (min-width: 46.5em) {
  .num-list--devices .num-list__intro + .num-list__items {
    margin-top: 2rem;
  }

  .num-list__price {
    font: 600 1.25rem/1.5rem var(--font-family);
  }

  .svc-flow .gallery + .faq {
    margin-top: 5rem;
  }

  .gallery--captions .gallery__stage {
    height: 30.625rem;
  }

  .gallery--captions .gallery__slide {
    height: auto;
  }

  .gallery--captions .gallery__picture {
    height: 22.5rem;
  }

  .gallery--captions .gallery__slide.is-active .gallery__picture {
    height: 28.75rem;
  }

  .gallery__caption {
    font: var(--font-accent);
    line-height: 1.375rem;
  }
}

@media (min-width: 80em) {
  .page-hero--hardware .page-hero__img {
    height: 25.5rem;
  }

  .num-list--devices .num-list__intro + .num-list__items {
    margin-top: 2.5rem;
  }

  .svc-flow .num-list--devices + .dept-doctors,
  .svc-flow .gallery + .faq {
    margin-top: 7.5rem;
  }

  .gallery--captions .gallery__picture {
    height: 25rem;
  }

  .gallery--captions .gallery__dots {
    margin-top: 1.5rem;
  }
}

/* ---------- Амблиотрон (792:43550 / 792:43696 / 792:43809) ---------- */

.svc-flow .page-hero + .dots-cols,
.svc-flow .dots-cols + .dots-quote,
.svc-flow .dots-quote + .side-photo {
  margin-top: 4rem;
}

.dots-cols__grid {
  display: grid;
  gap: 0.5rem;
  margin-top: 1.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

.dots-quote__quote,
.dots-quote__list {
  margin-top: 1.5rem;
}

.dots-quote__list {
  font: var(--font-body);
  line-height: 1.25rem;
}

.side-photo--work .section-title {
  margin-top: 2rem;
}

.side-photo--work .side-photo__text {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .svc-flow .page-hero + .dots-cols,
  .svc-flow .dots-cols + .dots-quote,
  .svc-flow .dots-quote + .side-photo {
    margin-top: 5rem;
  }

  .dots-cols__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .dots-quote__quote {
    margin-top: 2rem;
  }

  .side-photo--work .side-photo__img {
    height: 25rem;
    object-fit: cover;
  }

  .side-photo--work .side-photo__text {
    margin-top: 2rem;
  }
}

@media (min-width: 80em) {
  .page-hero--amblyotron .page-hero__inner {
    padding-bottom: 4rem;
  }

  .page-hero--amblyotron .page-hero__img {
    height: 20.25rem;
  }

  .dots-cols__grid {
    margin-top: 2.5rem;
  }

  .dots-quote__quote {
    max-width: 52.375rem;
    margin-top: 2.5rem;
  }

  .dots-quote__list {
    max-width: 52.4375rem;
  }

  .svc-flow .dots-quote + .side-photo {
    margin-top: 6rem;
  }

  .side-photo--work .section-title {
    margin-top: 0;
  }

  .side-photo--work .side-photo__text {
    margin-top: 1.5rem;
  }

  .side-photo--work .side-photo__img {
    height: 25.5rem;
  }

  .svc-flow .side-photo--work + .dept-doctors {
    margin-top: 7.5rem;
  }
}

/* ---------- Подбор очков для детей (793:45452 / 793:45581 / 793:45709) ---------- */

@media (min-width: 80em) {
  .page-hero--kids-glasses .page-hero__img {
    height: 27.5rem;
  }

  .tiles--kids .tile {
    justify-content: center;
    min-height: 13rem;
    height: 13rem;
    padding: 1.5rem;
  }

  /* заголовок в 40 от верха фото, текст в 40 от заголовка (793:45452) */
  .page-hero--kids-glasses .page-hero__content {
    margin-top: 2.5rem;
  }

  .page-hero--kids-glasses .page-hero__text {
    margin-top: 2.5rem;
  }

  .page-hero--kids-glasses ~ .step-carousel .step-carousel__carousel {
    margin-top: 2.5rem;
  }

  .tiles--kids + .num-list {
    margin-top: 7.5rem;
  }

  .page-hero--kids-glasses ~ .step-carousel .step-card--carousel {
    min-height: 23.875rem;
  }

  .faq--kids-glasses .faq__img {
    height: 29.25rem;
  }

  .page-hero--kids-glasses ~ .dept-doctors + .service-prices {
    margin-top: 5rem;
  }
}

/* ---------- Врачи: пункт образования со списком (Дорошина 761:16647) ---------- */

.education__points {
  grid-column: 2;
  margin-top: 0.5rem;
  font: var(--font-body);
  line-height: 1.25rem;
}

/* ---------- Вопросы новых страниц услуг: планшет — однострочный пункт 56 (766:40707),
   у «Аппаратного», детских очков, подбора очков и детской диагностики между пунктами 16 (789:42950, 793:45581, 803:45321, 674:21732);
   телефон — «Задать свой вопрос» в 24 от списка (766:40823) ---------- */

.faq--ok .faq__btn,
.faq--myopia .faq__btn,
.faq--kids-glasses .faq__btn,
.faq--glasses .faq__btn,
.faq--kids-diag .faq__btn,
.faq--ok-kids .faq__btn {
  margin-top: 1.5rem;
}

@media (min-width: 46.5em) {
  .faq--ok .faq__btn,
  .faq--myopia .faq__btn,
  .faq--kids-glasses .faq__btn,
  .faq--glasses .faq__btn,
  .faq--kids-diag .faq__btn,
  .faq--ok-kids .faq__btn {
    margin-top: 2rem;
  }
}

@media (min-width: 46.5em) and (max-width: 79.9375em) {
  .faq--ok .faq__item,
  .faq--myopia .faq__item,
  .faq--kids-glasses .faq__item,
  .faq--glasses .faq__item {
    min-height: 3.5rem;
  }
}

@media (min-width: 46.5em) and (max-width: 79.9375em) {
  .faq--wide-gap .faq__item {
    margin-top: 1rem;
  }

  .faq--wide-gap .faq__item:first-child {
    margin-top: 0.9375rem;
  }
}

/* телефон: у «Аппаратного» и очков вопрос вплотную к верху пункта, пункт = max(56, вопрос + 18), между пунктами 16 (789:43057, 793:45709);
   у детской диагностики пункт обычный (674:21875) */
@media (max-width: 46.4375em) {
  .faq--wide-gap:not(.faq--kids-diag) .faq__item {
    margin-top: 1rem;
  }

  .faq--wide-gap:not(.faq--kids-diag) .faq__item:first-child {
    margin-top: 0.9375rem;
  }

  .faq--wide-gap:not(.faq--kids-diag) .faq__num {
    margin-top: 0.0625rem;
  }

  .faq--wide-gap:not(.faq--kids-diag) .faq__question {
    margin-top: 0.125rem;
  }
}

@media (min-width: 80em) {
  .faq--ok .faq__btn,
  .faq--myopia .faq__btn,
  .faq--kids-glasses .faq__btn,
  .faq--glasses .faq__btn,
  .faq--kids-diag .faq__btn {
    margin-top: 2.5rem;
  }
}

/* ЭФИ, телефон (705:22919): абзацы пункта через пустую строку 20, «Виды ЭРГ» в 16 от текста, описание в 64 от первого экрана */
@media (max-width: 46.4375em) {
  .num-list--rich .num-list__text p + p {
    margin-top: 1.25rem;
  }

  .num-list--rich .num-list__text p + .num-list__sub {
    margin-top: 1rem;
  }

  .svc-flow .page-hero + .text-cols--efi {
    margin-top: 4rem;
  }
}

/* этапы ОК-терапии на ПК (713:23739): заголовок в 64 от верха карточки; длинной карточке зазор над заголовком
   ужимается до 40, чтобы снизу осталось 40 */
@media (min-width: 80em) {
  .step-card--center {
    justify-content: flex-start;
    height: 14rem;
    padding: 2.5rem 1.5rem;
  }

  .step-card--center::before {
    content: "";
    flex: 0 1 1.5rem;
  }
}

/* «Аппаратное», телефон (789:43057): у пунктов списка аппаратов поля 16 — шаг 54 */
@media (max-width: 46.4375em) {
  .num-list--devices .num-list__item {
    padding: 1rem 0 0.9375rem; /* + линия 1 */
  }

  .num-list--devices .num-list__arrow {
    top: 1.75rem;
  }
}

/* вводная строка списка: у косоглазия на телефоне 14/17 (766:40823), у близорукости до ПК 400 14/20 (748:33333, 748:33194) */
@media (max-width: 46.4375em) {
  .num-list--methods .num-list__lead {
    line-height: 1.0625rem;
  }
}

@media (max-width: 79.9375em) {
  .num-list--correction:not(.num-list--methods) .num-list__lead {
    font: 400 0.875rem/1.25rem var(--font-family);
  }
}

/* Места нажатия на телефоне (продолжение блока в main.css): элементы внутренних страниц.
   Темы вопросов и группы цен разведены до шага 44, иначе поля соседей перекрываются. */
@media (max-width: 46.4375em) {
  .qa-topics {
    gap: 0.8125rem 0.5rem; /* 31 + 13 = 44 */
  }

  .price-group + .price-group {
    margin-top: 1.375rem; /* 22 + 22 = 44 */
  }

  .price-card__more::after {
    inset: -1.0625rem -0.75rem;
  }

  .doc-table__link {
    display: inline-block;
  }

  /* номера страниц: ячейка 44 вместо промежутка 24 */
  .pagination__list {
    gap: 0;
  }

  .pagination__list > * {
    min-width: 2.75rem;
    text-align: center;
  }

  .pagination__link {
    display: block;
  }

  .pagination__link::before {
    inset: -0.625rem 0;
  }

  /* темы идут с шагом 44: поле 31 + 7 + 7 */
  .qa-topic::before {
    inset: -0.4375rem 0;
  }

  .place-contacts__value a,
  .place-contacts__vk {
    position: relative;
  }

  .place-contacts__value a::before,
  .place-contacts__vk::before {
    content: '';
    position: absolute;
    inset: -0.875rem -0.5625rem;
  }
}


/* перелистывание и повороты стрелок — без анимации, если её отключили в системе */
@media (prefers-reduced-motion: reduce) {
  * {
    transition-duration: 0s !important;
  }
}

/* ---------- «Аппаратное лечение»: раскрытый пункт по компонентам макета (640:18183, правки 18.10) ----------
   текст → цена «Стоимость процедуры — N ₽» под ним; открытое название — бирюзовое.
   Отступ название→текст: ПК 24, планшет и телефон 16; текст→цена: ПК и телефон 16, планшет 24. */
.num-list--devices .num-list__panel {
  margin-top: 1rem;
}

.num-list--devices .num-list__panel p + .num-list__price {
  margin-top: 1rem;
}

.num-list--devices .num-list__item.is-open .num-list__toggle {
  color: var(--color-brand);
}

@media (min-width: 46.5em) {
  .num-list--devices .num-list__panel p + .num-list__price {
    margin-top: 1.5rem;
  }
}

@media (min-width: 80em) {
  .num-list--devices .num-list__panel {
    margin-top: 1.5rem;
  }

  .num-list--devices .num-list__panel p + .num-list__price {
    margin-top: 1rem;
  }
}

/* ---------- «Виды лазерной коррекции»: карточка раскрывается по стрелке (компоненты 260:1236, правки 18.10) ----------
   Между описанием и ценой — «Преимущества метода:», список, кнопка «Подробнее» (ссылка на страницу метода).
   Стрелка стоит у строки цены и при раскрытии переворачивается; на планшете рядом подпись «Подробнее»/«Свернуть».
   Отступы: описание→заголовок списка 16/24/40, заголовок→список 8/11/11, пункты 4/8/8, список→кнопка 16/24/24,
   кнопка→цена 24/32/40 (телефон/планшет/ПК). */
.price-card__bottom {
  position: relative;
}

.price-card__more {
  position: absolute;
  top: 0.375rem;
  right: 0.25rem;
  bottom: auto;
}

.price-card__arrow {
  transition: transform 0.2s;
}

.price-card__more[aria-expanded="true"] .price-card__arrow {
  transform: rotate(180deg);
}

.price-card__more-text--close,
.price-card__more[aria-expanded="true"] .price-card__more-text--open {
  display: none;
}

.price-card__details {
  margin-top: 1rem;
}

.price-card__details + .price-card__bottom .price-card__price {
  margin-top: 1.5rem;
}

.price-card__subtitle {
  font: var(--font-accent-m);
  line-height: 1.0625rem;
}

.price-card__list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.5rem;
  font: 400 0.75rem/normal var(--font-family);
}

.price-card__list li {
  position: relative;
  padding-left: 1rem;
}

.price-card__list li::before {
  content: '';
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--color-brand);
  border-radius: 50%;
}

.price-card__btn {
  margin-top: 1rem;
}

@media (min-width: 46.5em) {
  .price-card__more {
    top: 2rem;
    right: 0.25rem;
    bottom: auto;
  }

  .price-card__more[aria-expanded="true"] .price-card__more-text--close {
    display: inline;
  }

  .price-card__details {
    margin-top: 1.5rem;
  }

  .price-card__details + .price-card__bottom .price-card__price {
    margin-top: 2rem;
  }

  .price-card__subtitle {
    font: var(--font-accent);
    line-height: 1.375rem;
  }

  .price-card__list {
    gap: 0.5rem;
    margin-top: 0.6875rem;
  }

  .price-card__btn {
    margin-top: 1.5rem;
  }
}

@media (min-width: 80em) {
  .price-card__more {
    top: 0.6875rem;
  }

  .price-card__more[aria-expanded="true"] .price-card__more-text--close {
    display: none;
  }

  .price-card__details {
    margin-top: 2.5rem;
  }

  .price-card__details + .price-card__bottom .price-card__price {
    margin-top: 2.5rem;
  }
}

/* соседние карточки не растягиваются до высоты раскрытой */
@media (min-width: 80em) {
  .price-cards__list {
    align-items: start;
  }
}

/* ---------- Памятка при наведении (компонент «Памятка при лазерной коррекции», Hover; правки 18.10) ----------
   бирюзовый фон, белый текст, кнопка «Смотреть» с белой обводкой */
@media (min-width: 80em) {
  .memo-card:focus-visible {
    color: var(--color-light);
    background: var(--color-brand);
  }

  .memo-card:focus-visible .memo-card__btn {
    color: var(--color-light);
    border-color: var(--color-light);
    opacity: 1;
  }

  @media (any-hover: hover) {
    .memo-card:hover {
      color: var(--color-light);
      background: var(--color-brand);
    }

    .memo-card:hover .memo-card__btn {
      color: var(--color-light);
      border-color: var(--color-light);
      opacity: 1;
    }
  }
}

/* хлебные крошки: название не переносится внутри себя — переносится цепочка целиком, отступы у стрелок равные (правки 18.10).
   Текущая страница с очень длинным названием может перенестись, чтобы не уходить за край экрана */
.breadcrumbs__item {
  flex-shrink: 0;
  white-space: nowrap;
}

.breadcrumbs__item[aria-current="page"] {
  flex-shrink: 1;
  min-width: 0;
  white-space: normal;
}

/* телефон: цепочка крошек в одну строку; если не помещается — название текущей страницы обрезается многоточием */
@media (max-width: 46.4375em) {
  .breadcrumbs__list {
    flex-wrap: nowrap;
  }

  /* кроме «Главной» каждое звено может сжаться с многоточием; текущая страница сжимается первой */
  .breadcrumbs__item + .breadcrumbs__item {
    flex-shrink: 1;
    min-width: 0;
  }

  .breadcrumbs__item[aria-current="page"] {
    flex-shrink: 4;
    min-width: 3rem;
    white-space: nowrap;
  }

  .breadcrumbs__item + .breadcrumbs__item > a,
  .breadcrumbs__item + .breadcrumbs__item > span {
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* виджет отзывов Яндекс Карт вместо снимка (правки 18.10, п. 13): высота — как у снимка в макете */
iframe.reviews-hero__widget-img {
  display: block;
  border: 1px solid var(--color-inactive);
}

/* живая карта Яндекса вместо картинки (правки 18.10, п. 11): размеры — от прежних классов места */
.map-widget {
  display: block;
  border: 0;
  background: var(--color-card);
}

/* «Отзывы»: карточки сверх показанных скрыты до «Показать ещё» (сетка на ПК задаёт карточкам display) */
.reviews-list__grid > [hidden] {
  display: none;
}

/* Раскрытый вопрос: отступы «линия — вопрос — ответ — линия» одинаковые (замечание дизайнера 2026-10-20).
   Кнопка «+» не задаёт высоту строки вопроса, иначе отступ под однострочным вопросом больше */
.faq .faq__item.is-open .faq__toggle {
  margin-bottom: -2.5rem;
}

.faq .faq__item.is-open .faq__question {
  margin-bottom: 0;
}

.faq .faq__item.is-open .faq__answer {
  margin-top: calc(var(--faq-open-gap) - var(--faq-open-fix, 0px));
}

/* у пункта 1px линии, поэтому до неё столько же, сколько от линии до вопроса */
.faq .faq__item.is-open {
  padding-bottom: var(--faq-open-gap);
}

.faq {
  --faq-open-gap: 1rem;
}

@media (min-width: 46.5em) {
  .faq {
    --faq-open-gap: 1.125rem;
    --faq-open-fix: 1px;
  }

  .faq--wide-gap {
    --faq-open-gap: 1.625rem;
  }
}

@media (min-width: 80em) {
  .faq,
  .faq--wide-gap {
    --faq-open-gap: 1.0625rem;
  }

  /* на главной вопрос наезжает на линию предыдущего пункта (шаг 56): раскрытый пункт опускается, чтобы отступ сверху был как у остальных */
  .faq:not(.faq--service):not(.faq--dept) .faq__item + .faq__item.is-open {
    margin-top: 0.5rem;
  }

  /* у диагностики вопрос в раскрытом пункте остаётся на месте, от линии до вопроса 26 */
  .faq--diagnostics {
    --faq-open-gap: 1.625rem;
  }

  .faq--diagnostics .faq__item.is-open .faq__question {
    margin-top: 1.0625rem;
  }
}
