/**
 * Секции лендинга услуг (Figma + Bootstrap 5 breakpoints).
 * Импортируется из custom.css и подключается на странице лендинга.
 */
/* Плавный скролл для якорных ссылок (например, CTA → #contact-info на /contacts/). */
html {
  scroll-behavior: smooth;
}

/* Якорь-мишень скролла — отступ от хедера, чтобы секция не упиралась в его низ. */
#contact-info {
  scroll-margin-top: calc(80px * var(--landing-scale));
}

:root {
  /* Единый масштаб макета Figma (−20%): типографика, отступы, иконки, радиусы */
  --landing-scale: 0.8;
  --landing-font-scale: var(--landing-scale);
  --section-padding-y: calc(64px * var(--landing-scale));
  --section-bg-dark: #2d3243;
  --section-bg-dark-alt: #2d3349;
  --section-bg-gradient-start: #2d3243;
  --section-bg-gradient-end: #2d344d;
  --section-accent: #ffba08;
  --section-text: #2d3243;
  --section-text-light: #ffffff;
  --section-pattern-width: calc(72px * var(--landing-scale));
  --section-gap: calc(32px * var(--landing-scale));
  --section-radius: calc(16px * var(--landing-scale));
  --section-radius-sm: calc(8px * var(--landing-scale));
  --section-icon-box: calc(48px * var(--landing-scale));
  --section-icon-inner: calc(28px * var(--landing-scale));
  --landing-body-lg: calc(24px * var(--landing-scale));
  --landing-card-title: calc(28px * var(--landing-scale));
  --landing-muted-on-dark: rgba(255, 255, 255, 0.7);
  --font-manrope: 'Manrope', system-ui, sans-serif;
}

section.landing-section {
  margin: 0;
}

.landing-section {
  font-family: var(--font-manrope);
  color: var(--section-text);
}

.landing-section--white {
  background: #fff;
}

.landing-section--white + .landing-section--white .landing-section__inner {
  padding-top: 0;
}

.landing-section--dark + .landing-section--dark {
  margin-top: var(--section-padding-y);
}

.landing-section--dark:last-child {
  margin-bottom: var(--section-padding-y);
}

.landing-section__inner {
  padding-top: var(--section-padding-y);
  padding-bottom: var(--section-padding-y);
}

.landing-section__title {
  font-weight: 800;
  font-size: calc(40px * var(--landing-font-scale));
  line-height: 1.4;
  margin-bottom: 0.75rem;
}

.landing-section__subtitle {
  font-size: calc(20px * var(--landing-font-scale));
  line-height: 1.5;
  margin-bottom: 0;
}

/* Подзаголовок секции: тёмный 24px bold (Work process, Legal team, …) */
.landing-section__subtitle--lead {
  font-size: var(--landing-body-lg);
  font-weight: 700;
  line-height: 1.4;
  color: var(--section-text);
}

/* Подзаголовок на тёмном фоне — акцент (Service benefits) */
.landing-section__subtitle--accent {
  font-size: var(--landing-body-lg);
  font-weight: 700;
  line-height: 1.4;
  color: var(--section-accent);
}

/* Паттерн по вертикали слева/справа на всю секцию */
.landing-pattern-y {
  background-repeat: repeat-y;
  background-size: var(--section-pattern-width) auto;
}

.landing-pattern-y--left {
  background-image: url('/static/images/hero/pattern.svg');
  background-position: left top;
}

.landing-pattern-y--right {
  background-image: url('/static/images/hero/pattern.svg');
  background-position: right top;
}

.landing-pattern-y--left.landing-pattern-y--right {
  background-image: url('/static/images/hero/pattern.svg'), url('/static/images/hero/pattern.svg');
  background-position: left top, right top;
  background-repeat: repeat-y, repeat-y;
  background-size: var(--section-pattern-width) auto, var(--section-pattern-width) auto;
}

/* Callout с градиентом и боковыми декорами */
.landing-callout {
  position: relative;
  border-radius: var(--section-radius);
  padding: calc(48px * var(--landing-scale)) calc(24px * var(--landing-scale));
  overflow: hidden;
  background: linear-gradient(
    27deg,
    var(--section-bg-gradient-start) 0.16%,
    var(--section-bg-gradient-end) 99.84%
  );
  color: var(--section-text-light);
  box-shadow: 0 0 calc(20px * var(--landing-scale)) rgba(255, 186, 8, 0.4);
}

.landing-callout__text {
  font-weight: 700;
  font-size: calc(28px * var(--landing-font-scale));
  line-height: 1.4;
  text-align: center;
  margin: 0;
  position: relative;
  z-index: 1;
}

/* Баннер внизу «Проблемы клиентов» — Figma node 2016:236 */
.landing-callout--pattern-sides {
  min-height: calc(174px * var(--landing-scale));
  padding: calc(48px * var(--landing-scale)) calc(174px * var(--landing-scale));
}

@media (max-width: 991.98px) {
  .landing-callout--pattern-sides {
    padding: calc(48px * var(--landing-scale)) calc(24px * var(--landing-scale));
  }
}

.landing-callout__banner-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
}

/* Вертикальные полосы ромбов (как romb-pattern в макете), pattern.svg */
.landing-callout__romb-col {
  position: absolute;
  top: 0;
  width: var(--section-pattern-width);
  height: calc(174px * var(--landing-scale));
  opacity: 1;
  background-image: url('/static/images/hero/pattern.svg');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: var(--section-pattern-width) auto;
}

.landing-callout__romb-col--left {
  left: 0;
}

.landing-callout__romb-col--right {
  right: 0;
  transform: scaleX(-1);
}

/*
 * Фемида по бокам (Figma 2016:236). Координаты в макете с отрицательным left
 * обрезались из‑за overflow:hidden на баннере — позиционируем внутри полосы.
 */
.landing-callout__themis {
  position: absolute;
  top: 40px;
  width: calc(123px * var(--landing-scale));
  height: calc(246px * var(--landing-scale));
  object-fit: cover;
  object-position: center top;
  opacity: 0.3;
  z-index: 1;
}

.landing-callout__themis--left {
  left: 0;
}

.landing-callout__themis--right {
  right: 0;
  transform: scaleX(-1);
}

@media (max-width: 575.98px) {
  .landing-callout__themis {
    width: calc(72px * var(--landing-scale));
    height: calc(160px * var(--landing-scale));
  }
}

.landing-callout--pattern-sides .landing-callout__text {
  position: relative;
  z-index: 2;
}

.landing-icon-box {
  width: var(--section-icon-box);
  height: var(--section-icon-box);
  border: 1px solid var(--section-text);
  border-radius: calc(8px * var(--landing-scale));
  background: var(--section-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.landing-icon-box img {
  width: var(--section-icon-inner);
  height: var(--section-icon-inner);
  object-fit: contain;
}

/* Key benefits — макет Figma (node 2016:152): тёмные карточки, типографика 24px bold */
.landing-key-benefits__row {
  --bs-gutter-x: var(--section-gap);
  --bs-gutter-y: var(--section-gap);
}

.landing-key-benefits__card {
  background: var(--section-bg-dark);
  border-radius: calc(8px * var(--landing-scale));
  padding: calc(24px * var(--landing-scale));
  gap: calc(16px * var(--landing-scale));
}

.landing-key-benefits__text {
  font-weight: 700;
  font-size: calc(24px * var(--landing-font-scale));
  line-height: 1.2;
  color: var(--section-text-light);
}

.landing-key-benefits__subtitle {
  font-size: calc(14px * var(--landing-font-scale));
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.78);
}

.landing-key-benefits__icon {
  border: none;
}

.landing-key-benefits__content {
  min-width: 0;
}

.landing-key-benefits__stat {
  font-weight: 700;
  font-size: calc(40px * var(--landing-font-scale));
  color: var(--section-text-light);
  white-space: nowrap;
  line-height: 1.2;
  flex-shrink: 0;
}

.landing-key-benefits__vsep {
  width: 1px;
  align-self: stretch;
  background: var(--section-accent);
  flex-shrink: 0;
  min-height: calc(40px * var(--landing-font-scale));
}

/* Картинка с подписью-оверлеем (Client problems): cover в рамке соотношения сторон */
.landing-image-caption-wrap {
  position: relative;
  border-radius: var(--section-radius);
  overflow: hidden;
  aspect-ratio: 800 / 619;
}

.landing-image-caption-wrap img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.landing-image-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: calc(16px * var(--landing-scale));
  background: rgba(45, 50, 67, 0.9);
  color: #fff;
  font-size: calc(20px * var(--landing-font-scale));
  font-weight: 500;
  line-height: 1.4;
}

/* Проблемы клиентов — Figma node 2016:178 */
.landing-client-problems__title {
  font-weight: 800;
  font-size: calc(40px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text);
  margin-bottom: calc(48px * var(--landing-scale));
}

.landing-client-problems__stack {
  display: flex;
  flex-direction: column;
  gap: var(--section-gap);
}

.landing-client-problems__row {
  --bs-gutter-x: var(--section-gap);
  --bs-gutter-y: var(--section-gap);
}

.landing-client-problems__item-title {
  font-weight: 800;
  font-size: calc(28px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text);
}

.landing-client-problems__item-desc {
  font-weight: 600;
  font-size: calc(24px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text);
}

/* Карточка с иконкой: тёмный фон + золотая рамка (Service benefits, частично др.) */
.landing-benefit-card {
  display: flex;
  gap: calc(12px * var(--landing-scale));
  align-items: flex-start;
  min-height: calc(153px * var(--landing-scale));
  padding: calc(24px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid var(--section-accent);
  border-radius: var(--section-radius);
  background: transparent;
}

.landing-benefit-card__title {
  font-weight: 700;
  font-size: var(--landing-card-title);
  line-height: 1.4;
  color: var(--section-text-light);
  margin: 0;
}

.landing-benefit-card__text {
  margin: 0;
  font-size: var(--landing-body-lg);
  line-height: 1.3;
  font-weight: 400;
  color: var(--landing-muted-on-dark);
}

.landing-service-benefits {
  position: relative;
  overflow: hidden;
  background: var(--section-bg-dark-alt);
  color: var(--section-text-light);
}

.landing-service-benefits .landing-section__title {
  color: var(--section-text-light);
}

.landing-service-benefits .landing-icon-box {
  border: none;
  background: var(--section-accent);
}

.landing-service-benefits__stack {
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-service-benefits__centered .landing-benefit-card {
  max-width: calc(800px * var(--landing-scale));
  margin-left: auto;
  margin-right: auto;
}

/* Вариант grid-3: 3 колонки на xl, компактные карточки без описания (главная) */
.landing-service-benefits--grid-3 .landing-benefit-card {
  align-items: center;
}

.landing-benefit-card--compact {
  min-height: 0;
  padding: calc(20px * var(--landing-scale));
  align-items: center;
}

/* Work process (тёмная секция: «Как проходит процесс юридической помощи») */
.landing-work-process {
  background: var(--section-bg-dark);
  color: var(--section-text-light);
}

.landing-work-process__eyebrow {
  margin-bottom: calc(8px * var(--landing-scale));
}

.landing-work-process__title {
  color: var(--section-text-light);
  margin-bottom: 0;
}

.landing-work-process__rows {
  --process-circle: calc(107px * var(--landing-scale));
  --process-col-gap: calc(24px * var(--landing-scale));
  --process-row-gap: calc(56px * var(--landing-scale));
  --process-arch-height: calc(64px * var(--landing-scale));
  display: flex;
  flex-direction: column;
  gap: var(--process-row-gap);
  margin-top: calc(72px * var(--landing-scale));
}

.landing-work-process__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--process-col-gap);
  position: relative;
}

.landing-work-process__step {
  display: flex;
  align-items: center;
  gap: calc(16px * var(--landing-scale));
  position: relative;
  min-width: 0;
}

.landing-work-process__circle {
  flex-shrink: 0;
  width: var(--process-circle);
  height: var(--process-circle);
  border-radius: 50%;
  background: #fff;
  color: var(--section-text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: calc(48px * var(--landing-font-scale));
  line-height: 1.2;
  position: relative;
  z-index: 2;
}

.landing-work-process__step-title {
  margin: 0;
  font-weight: 700;
  font-size: calc(28px * var(--landing-font-scale));
  line-height: 1.2;
  color: var(--section-text-light);
  min-width: 0;
}

/* Пунктирные арки между соседними кружками (только на desktop, 4 в ряд). */
@media (min-width: 992px) {
  .landing-work-process__step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: calc(var(--process-circle) / 2);
    top: calc(var(--process-circle) / 2 - var(--process-arch-height));
    width: calc(100% + var(--process-col-gap));
    height: var(--process-arch-height);
    border: calc(2px * var(--landing-scale)) dashed var(--section-accent);
    border-bottom: none;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    pointer-events: none;
    z-index: 1;
  }
}

/* Планшет: 2 колонки. */
@media (max-width: 991.98px) and (min-width: 576px) {
  .landing-work-process__rows {
    --process-row-gap: calc(40px * var(--landing-scale));
  }

  .landing-work-process__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: calc(32px * var(--landing-scale));
  }
}

/* Мобильный: 1 колонка. */
@media (max-width: 575.98px) {
  .landing-work-process__rows {
    margin-top: calc(48px * var(--landing-scale));
    --process-row-gap: calc(24px * var(--landing-scale));
  }

  .landing-work-process__row {
    grid-template-columns: 1fr;
    row-gap: calc(20px * var(--landing-scale));
  }
}

/*
 * Legal explanation (2016:267) и Call to action (2016:647): тёмная карточка, отступы 64/144.
 */
.landing-legal-explanation,
.landing-call-to-action {
  position: relative;
  background: transparent;
}

.landing-legal-explanation > .container.landing-section__inner,
.landing-call-to-action > .container.landing-section__inner {
  --legal-panel-pad-x: calc(24px * var(--landing-scale));
  padding: calc(64px * var(--landing-scale)) var(--legal-panel-pad-x);
}

@media (min-width: 992px) {
  .landing-legal-explanation > .container.landing-section__inner,
  .landing-call-to-action > .container.landing-section__inner {
    --legal-panel-pad-x: calc(144px * var(--landing-scale));
  }
}

.landing-legal-explanation > .container,
.landing-call-to-action > .container {
  position: relative;
  color: var(--section-text-light);
  border-radius: var(--section-radius);
  overflow: hidden;
  background-color: var(--section-bg-gradient-start);
  background-image:
    url('/static/images/hero/pattern.svg'),
    linear-gradient(
      27deg,
      var(--section-bg-gradient-start) 0.16%,
      var(--section-bg-gradient-end) 99.84%
    );
  background-repeat: repeat-y, no-repeat;
  background-size: var(--section-pattern-width) auto, 100% 100%;
  background-position: left top, center;
}

.landing-legal-explanation .landing-section__title,
.landing-call-to-action .landing-section__title {
  color: var(--section-text-light);
}

.landing-call-to-action .landing-section__subtitle--lead {
  color: rgba(255, 255, 255, 0.92);
}

.landing-legal-explanation__list {
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-legal-explanation__text {
  font-size: var(--landing-body-lg);
  line-height: 1.4;
  margin: 0;
  font-weight: 600;
  color: var(--section-text-light);
}

.landing-legal-explanation__photo {
  display: block;
  width: 100%;
  aspect-ratio: 661 / 440;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 calc(12px * var(--landing-scale)) calc(40px * var(--landing-scale)) rgba(0, 0, 0, 0.22);
}

.landing-legal-explanation__callout {
  margin-top: calc(48px * var(--landing-scale));
}

/*
 * Белый баннер (Figma 2016:733): те же внешние поля, что у контента над ним
 * (внутри padding карточки), без full-bleed к краям тёмной подложки.
 */
.landing-legal-explanation .landing-legal-explanation__callout.landing-callout {
  --legal-banner-pad-y: calc(40px * var(--landing-scale));
  --legal-banner-pad-x: calc(20px * var(--landing-scale));
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: none;
  border-radius: var(--section-radius);
  padding: var(--legal-banner-pad-y) var(--legal-banner-pad-x);
  box-shadow: none;
  border: 1px solid rgba(45, 50, 67, 0.08);
  background: #fff;
  color: var(--section-text);
}

.landing-legal-explanation .landing-legal-explanation__callout .landing-callout__text {
  color: var(--section-text);
}

@media (min-width: 992px) {
  .landing-legal-explanation .landing-legal-explanation__callout.landing-callout {
    --legal-banner-pad-y: calc(32px * var(--landing-scale));
    --legal-banner-pad-x: calc(192px * var(--landing-scale));
    padding: var(--legal-banner-pad-y) var(--legal-banner-pad-x);
  }
}

.landing-legal-explanation .landing-legal-explanation__callout.landing-callout--pattern-sides {
  min-height: 0;
}

.landing-legal-explanation .landing-callout__banner-art {
  border-radius: inherit;
}

/* Ромбы в pattern.svg — белые, на белом не видны; убираем полосы */
.landing-legal-explanation .landing-callout__romb-col {
  display: none;
}

/* Фемида: без filter, привязка к низу баннера (как декор в макете) */
.landing-legal-explanation .landing-legal-explanation__callout .landing-callout__themis {
  top: auto;
  bottom: 0;
  width: calc(174px * var(--landing-scale));
  height: auto;
  max-height: min(calc(246px * var(--landing-scale)), 92%);
  object-fit: cover;
  object-position: center top;
  opacity: 0.6;
  filter: none;
  transform: none;
}

.landing-legal-explanation .landing-legal-explanation__callout .landing-callout__themis--right {
  transform: scaleX(-1);
}

@media (max-width: 575.98px) {
  .landing-legal-explanation .landing-legal-explanation__callout .landing-callout__themis {
    width: calc(80px * var(--landing-scale));
    max-height: 72%;
    opacity: 0.32;
  }

  .landing-legal-explanation .landing-legal-explanation__callout .landing-callout__themis--right {
    transform: scaleX(-1);
  }
}

/* Нумерованный список на тёмном фоне (CTA) */
.landing-call-to-action .landing-num-list__row {
  border-bottom-color: rgba(255, 255, 255, 0.16);
}

.landing-call-to-action .landing-num-list__body-title {
  color: var(--section-text-light);
}

.landing-call-to-action .landing-num-list__body-text {
  color: rgba(255, 255, 255, 0.78);
}

.landing-call-to-action__photo {
  display: block;
  width: 100%;
  aspect-ratio: 532 / 440;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 calc(12px * var(--landing-scale)) calc(40px * var(--landing-scale)) rgba(0, 0, 0, 0.22);
}

/*
 * Нижний белый баннер CTA — как у Legal explanation: декор + Фемида,
 * текст и общая кнопка primary по центру (Figma 2016:647).
 */
.landing-call-to-action__callout-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(28px * var(--landing-scale));
  width: 100%;
}

.landing-call-to-action .landing-call-to-action__callout.landing-callout {
  --legal-banner-pad-y: calc(40px * var(--landing-scale));
  --legal-banner-pad-x: calc(20px * var(--landing-scale));
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: none;
  margin-top: calc(48px * var(--landing-scale));
  border-radius: var(--section-radius);
  padding: var(--legal-banner-pad-y) var(--legal-banner-pad-x);
  box-shadow: none;
  border: 1px solid rgba(45, 50, 67, 0.08);
  background: #fff;
  color: var(--section-text);
}

.landing-call-to-action .landing-call-to-action__callout .landing-callout__text {
  color: var(--section-text);
}

@media (min-width: 992px) {
  .landing-call-to-action .landing-call-to-action__callout.landing-callout {
    --legal-banner-pad-y: calc(32px * var(--landing-scale));
    --legal-banner-pad-x: calc(192px * var(--landing-scale));
    padding: var(--legal-banner-pad-y) var(--legal-banner-pad-x);
  }
}

.landing-call-to-action .landing-call-to-action__callout.landing-callout--pattern-sides {
  min-height: 0;
}

.landing-call-to-action .landing-callout__banner-art {
  border-radius: inherit;
}

.landing-call-to-action .landing-callout__romb-col {
  display: none;
}

.landing-call-to-action .landing-call-to-action__callout .landing-callout__themis {
  top: auto;
  bottom: 0;
  width: calc(174px * var(--landing-scale));
  height: auto;
  max-height: min(calc(246px * var(--landing-scale)), 92%);
  object-fit: cover;
  object-position: center top;
  opacity: 0.6;
  filter: none;
  transform: none;
}

.landing-call-to-action .landing-call-to-action__callout .landing-callout__themis--right {
  transform: scaleX(-1);
}

@media (max-width: 575.98px) {
  .landing-call-to-action .landing-call-to-action__callout .landing-callout__themis {
    width: calc(80px * var(--landing-scale));
    max-height: 72%;
    opacity: 0.32;
  }

  .landing-call-to-action .landing-call-to-action__callout .landing-callout__themis--right {
    transform: scaleX(-1);
  }
}

/* Call to action: подзаголовок на всю ширину */
.landing-call-to-action .landing-section__subtitle--lead {
  max-width: 100%;
}

.landing-num-list__row {
  display: flex;
  gap: calc(16px * var(--landing-scale));
  align-items: flex-start;
  padding: calc(16px * var(--landing-scale)) 0;
  border-bottom: 1px solid rgba(45, 50, 67, 0.12);
}

.landing-num-list__row:last-child {
  border-bottom: none;
}

.landing-num-list__num {
  flex: 0 0 calc(88px * var(--landing-scale));
  font-weight: 700;
  font-size: calc(46px * var(--landing-font-scale));
  line-height: 1;
  color: var(--section-accent);
  text-align: center;
}

.landing-num-list__body-title {
  font-weight: 700;
  font-size: calc(24px * var(--landing-font-scale));
  line-height: 1.35;
  margin: 0 0 calc(4px * var(--landing-scale));
  color: var(--section-text);
}

.landing-num-list__body-text {
  margin: 0;
  font-size: calc(18px * var(--landing-font-scale));
  line-height: 1.4;
  color: rgba(45, 50, 67, 0.85);
}

/* Trust benefits — Figma 2016:796 (Доверие и законность): фон на всю ширину, как landing-service-benefits */
.landing-trust-benefits {
  position: relative;
  overflow: hidden;
  color: var(--section-text-light);
  background-color: var(--section-bg-dark-alt);
  background-image: linear-gradient(
    180deg,
    rgba(45, 51, 73, 0.98) 0%,
    rgba(45, 50, 67, 0.99) 100%
  );
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.landing-trust-benefits::before,
.landing-trust-benefits::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--section-pattern-width);
  z-index: 0;
  pointer-events: none;
  opacity: 0.4;
  background-image: url('/static/images/hero/pattern.svg');
  background-repeat: repeat-y;
  background-size: var(--section-pattern-width) auto;
}

.landing-trust-benefits::before {
  left: 0;
  background-position: left top;
}

.landing-trust-benefits::after {
  right: 0;
  background-position: right top;
  transform: scaleX(-1);
}

.landing-trust-benefits > .container {
  position: relative;
  z-index: 1;
}

.landing-trust-benefits__header {
  position: relative;
  z-index: 1;
}

.landing-trust-benefits__header {
  display: flex;
  flex-direction: column;
  gap: calc(8px * var(--landing-scale));
  margin-bottom: calc(48px * var(--landing-scale));
}

.landing-trust-benefits__title {
  font-weight: 800;
  font-size: calc(40px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text-light);
}

.landing-trust-benefits__subtitle {
  font-size: var(--landing-body-lg);
  font-weight: 700;
  line-height: 1.4;
  color: var(--section-accent);
  margin: 0;
}

.landing-trust-benefits__row {
  display: flex;
  align-items: flex-end;
  gap: calc(144px * var(--landing-scale));
}

.landing-trust-benefits__stack {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-trust-benefits__intro {
  width: 100%;
  padding: calc(16px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid #fff;
  border-radius: var(--section-radius);
}

.landing-trust-benefits__intro-text {
  font-weight: 700;
  font-size: var(--landing-card-title);
  line-height: 1.4;
  color: var(--section-text-light);
  margin: 0;
}

@media (min-width: 992px) {
  .landing-trust-benefits__intro {
    border: none;
    border-radius: 0;
    padding: calc(16px * var(--landing-scale)) 0;
  }

  .landing-trust-benefits__intro-text {
    border: calc(2px * var(--landing-scale)) solid #fff;
    border-radius: var(--section-radius);
    padding: calc(16px * var(--landing-scale));
  }
}

.landing-trust-benefits__rule {
  margin: 0;
  border: 0;
  height: calc(2px * var(--landing-scale));
  opacity: 1;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.35) 20%,
    rgba(255, 255, 255, 0.35) 80%,
    transparent 100%
  );
}

.landing-trust-benefits__card {
  display: flex;
  gap: calc(12px * var(--landing-scale));
  align-items: flex-start;
  padding: calc(24px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid var(--section-accent);
  border-radius: var(--section-radius);
}

.landing-trust-benefits__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: calc(10px * var(--landing-scale));
  border-radius: calc(8px * var(--landing-scale));
  background: var(--section-accent);
}

.landing-trust-benefits__card-icon img {
  display: block;
  width: var(--section-icon-inner);
  height: var(--section-icon-inner);
  object-fit: contain;
}

.landing-trust-benefits__card-title {
  font-weight: 700;
  font-size: var(--landing-card-title);
  line-height: 1.4;
  margin: 0 0 calc(4px * var(--landing-scale));
  color: var(--section-text-light);
}

.landing-trust-benefits__card-desc {
  font-size: var(--landing-body-lg);
  font-weight: 400;
  line-height: 1.3;
  color: var(--landing-muted-on-dark);
  margin: 0;
}

.landing-trust-benefits__footer {
  display: flex;
  gap: calc(16px * var(--landing-scale));
  align-items: center;
}

.landing-trust-benefits__footer-icon {
  flex-shrink: 0;
  width: calc(48px * var(--landing-scale));
  height: calc(48px * var(--landing-scale));
  display: block;
}

.landing-trust-benefits__footer-text {
  font-weight: 700;
  font-size: var(--landing-body-lg);
  line-height: 1.2;
  color: var(--section-text-light);
  margin: 0;
}

.landing-trust-benefits__media {
  display: none;
}

@media (min-width: 992px) {
  .landing-trust-benefits__media {
    display: block;
    flex-shrink: 0;
    align-self: flex-end;
    margin-bottom: calc(-1 * var(--section-padding-y));
  }
}

.landing-trust-benefits__photo {
  display: block;
  width: auto;
  height: auto;
  max-width: calc(495px * var(--landing-scale));
}

/* ═══════════════════════════════════════════════════════════════════════
   Legal team — два варианта:
   --photos (главная): тёмный фон, 2 карточки с фото, телефон, специализации
   --cards  (лендинг услуги, Figma 2016:937): белый фон, 3 карточки с иконкой,
            тёмный футнот внизу
   ═══════════════════════════════════════════════════════════════════════ */

.landing-legal-team {
  position: relative;
  overflow: hidden;
}

.landing-legal-team > .container {
  position: relative;
  z-index: 1;
}

.landing-legal-team__header {
  display: flex;
  flex-direction: column;
  gap: calc(8px * var(--landing-scale));
  align-items: flex-start;
  width: 100%;
  margin-bottom: calc(48px * var(--landing-scale));
  text-align: left;
}

.landing-legal-team__title {
  margin-bottom: 0;
}

.landing-legal-team__subtitle {
  font-family: var(--font-manrope);
  font-size: var(--landing-body-lg);
  font-weight: 700;
  line-height: 1.4;
}

.landing-legal-team__grid {
  --bs-gutter-x: var(--section-gap);
  --bs-gutter-y: var(--section-gap);
}

.landing-legal-team__card-body {
  display: flex;
  flex-direction: column;
  gap: calc(12px * var(--landing-scale));
}

.landing-legal-team__card-title {
  font-weight: 800;
  font-size: calc(32px * var(--landing-font-scale));
  line-height: 1.2;
  margin: 0;
}

.landing-legal-team__card-text {
  font-weight: 500;
  font-size: var(--landing-body-lg);
  line-height: 1.4;
}

/* ─── Вариант --photos (главная, тёмный) ─────────────────────────── */
.landing-legal-team--photos {
  background: var(--section-bg-dark);
  color: var(--section-text-light);
}

.landing-legal-team--photos::before,
.landing-legal-team--photos::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--section-pattern-width);
  z-index: 0;
  pointer-events: none;
  opacity: 0.35;
  background-image: url('/static/images/hero/pattern.svg');
  background-repeat: repeat-y;
  background-size: var(--section-pattern-width) auto;
}

.landing-legal-team--photos::before {
  left: 0;
  background-position: left top;
}

.landing-legal-team--photos::after {
  right: 0;
  background-position: right top;
  transform: scaleX(-1);
}

.landing-legal-team--photos .landing-legal-team__title {
  color: var(--section-text-light);
}

.landing-legal-team--photos .landing-legal-team__subtitle {
  color: var(--section-accent);
}

.landing-legal-team--photos .landing-legal-team__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(20px * var(--landing-scale));
  width: 100%;
  padding: calc(28px * var(--landing-scale));
  border-radius: var(--section-radius);
  background: rgba(255, 255, 255, 0.04);
}

.landing-legal-team__card-link {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
}

.landing-legal-team__card-link:focus-visible {
  outline: 3px solid var(--section-accent);
  outline-offset: 4px;
}

.landing-legal-team__phone--above-card-link {
  position: relative;
  z-index: 2;
}

.landing-legal-team--photos .landing-legal-team__media {
  width: 100%;
  overflow: hidden;
  border-radius: var(--section-radius);
}

.landing-legal-team--photos .landing-legal-team__photo {
  display: block;
  width: 100%;
  height: calc(480px * var(--landing-scale));
  object-fit: cover;
  object-position: center top;
  border-radius: var(--section-radius);
}

.landing-legal-team--photos .landing-legal-team__card-title {
  color: var(--section-text-light);
}

.landing-legal-team--photos .landing-legal-team__card-text {
  color: var(--landing-muted-on-dark);
}

/* Телефон: pill с жёлтой иконкой-чипом слева */
.landing-legal-team__phone {
  display: inline-flex;
  align-items: center;
  gap: calc(12px * var(--landing-scale));
  padding: calc(8px * var(--landing-scale)) calc(20px * var(--landing-scale)) calc(8px * var(--landing-scale)) calc(8px * var(--landing-scale));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--section-text-light);
  text-decoration: none;
  font-weight: 700;
  font-size: calc(24px * var(--landing-font-scale));
  line-height: 1;
  align-self: flex-start;
  max-width: 100%;
  transition: background 0.2s ease;
}

.landing-legal-team__phone:hover,
.landing-legal-team__phone:focus-visible {
  background: rgba(255, 186, 8, 0.18);
  color: var(--section-text-light);
  text-decoration: none;
  outline: none;
}

.landing-legal-team__phone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(44px * var(--landing-scale));
  height: calc(44px * var(--landing-scale));
  border-radius: 999px;
  background: var(--section-accent);
  color: var(--section-bg-dark);
  font-size: calc(22px * var(--landing-font-scale));
}

.landing-legal-team__phone-icon i {
  line-height: 1;
}

.landing-legal-team__phone-text {
  white-space: nowrap;
}

/* Специализации */
.landing-legal-team__specs {
  display: flex;
  flex-direction: column;
  gap: calc(10px * var(--landing-scale));
  padding-top: calc(4px * var(--landing-scale));
}

.landing-legal-team__specs-label {
  font-weight: 700;
  font-size: calc(16px * var(--landing-font-scale));
  line-height: 1.2;
  color: var(--section-accent);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.landing-legal-team__specs-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: calc(8px * var(--landing-scale));
}

.landing-legal-team__specs-item {
  display: flex;
  align-items: flex-start;
  gap: calc(10px * var(--landing-scale));
  font-size: calc(18px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text-light);
}

.landing-legal-team__specs-check {
  color: var(--section-accent);
  font-size: calc(22px * var(--landing-font-scale));
  line-height: 1;
  flex-shrink: 0;
  margin-top: calc(1px * var(--landing-scale));
}

.landing-legal-team--photos .landing-legal-team__footnote {
  margin-top: calc(32px * var(--landing-scale));
  padding: calc(24px * var(--landing-scale));
  border-radius: var(--section-radius);
  background: rgba(255, 255, 255, 0.06);
  font-size: calc(22px * var(--landing-font-scale));
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  color: var(--section-text-light);
}

.landing-legal-team--photos .landing-legal-team__empty {
  color: var(--landing-muted-on-dark);
}

/* ─── Вариант --cards (лендинг услуги, Figma 2016:937) ────────────── */
.landing-legal-team--cards {
  background: #fff;
  color: var(--section-text);
}

.landing-legal-team--cards .landing-legal-team__title {
  color: var(--section-text);
}

.landing-legal-team--cards .landing-legal-team__subtitle {
  color: var(--section-text);
  opacity: 0.75;
}

.landing-legal-team--cards .landing-legal-team__card {
  display: flex;
  flex-direction: column;
  gap: calc(20px * var(--landing-scale));
  height: 100%;
  width: 100%;
  padding: calc(16px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid var(--section-text);
  border-radius: var(--section-radius);
  background: #fff;
}

.landing-legal-team--cards .landing-legal-team__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(64px * var(--landing-scale));
  height: calc(64px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid var(--section-bg-dark);
  border-radius: 999px;
  background: var(--section-accent);
  color: var(--section-bg-dark);
  font-size: calc(26px * var(--landing-font-scale));
}

.landing-legal-team--cards .landing-legal-team__icon-wrap img {
  width: calc(38px * var(--landing-scale));
  height: calc(38px * var(--landing-scale));
  object-fit: contain;
}

.landing-legal-team--cards .landing-legal-team__card-title {
  font-weight: 700;
  font-size: var(--landing-card-title);
  margin: 0;
  color: var(--section-text);
}

.landing-legal-team--cards .landing-legal-team__card-text {
  margin: 0;
  color: var(--section-text);
  opacity: 0.8;
}

.landing-legal-team--cards .landing-legal-team__footnote {
  margin-top: calc(32px * var(--landing-scale));
  padding: calc(24px * var(--landing-scale));
  border-radius: var(--section-radius);
  background: var(--section-bg-dark);
  font-size: calc(22px * var(--landing-font-scale));
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  color: var(--section-text-light);
}

.landing-legal-team--cards .landing-legal-team__empty {
  color: var(--section-text);
  opacity: 0.6;
}

/* ─── Общие адаптивные правила ───────────────────────────────────── */
@media (max-width: 767.98px) {
  .landing-legal-team--photos .landing-legal-team__photo {
    height: calc(320px * var(--landing-scale));
  }
  .landing-legal-team__header {
    text-align: center;
    align-items: center;
  }
  .landing-legal-team--photos .landing-legal-team__card {
    padding: calc(20px * var(--landing-scale));
  }
  .landing-legal-team__phone {
    font-size: calc(20px * var(--landing-font-scale));
  }
}

@media (min-width: 992px) {
  .landing-legal-team__footnote {
    margin-left: calc(174px * var(--landing-scale));
    margin-right: calc(174px * var(--landing-scale));
  }
}

/* Documents handled — Figma 2016:972, фон и боковые полосы как landing-trust-benefits */
.landing-documents-handled {
  position: relative;
  overflow: hidden;
  color: var(--section-text-light);
  background-color: var(--section-bg-dark-alt);
  background-image: linear-gradient(
    180deg,
    rgba(45, 51, 73, 0.98) 0%,
    rgba(45, 50, 67, 0.99) 100%
  );
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.landing-documents-handled::before,
.landing-documents-handled::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--section-pattern-width);
  z-index: 0;
  pointer-events: none;
  opacity: 0.4;
  background-image: url('/static/images/hero/pattern.svg');
  background-repeat: repeat-y;
  background-size: var(--section-pattern-width) auto;
}

.landing-documents-handled::before {
  left: 0;
  background-position: left top;
}

.landing-documents-handled::after {
  right: 0;
  background-position: right top;
  transform: scaleX(-1);
}

.landing-documents-handled > .container {
  position: relative;
  z-index: 1;
}

.landing-documents-handled .landing-section__title {
  color: var(--section-text-light);
}

.landing-documents-handled__header {
  display: flex;
  flex-direction: column;
  gap: calc(8px * var(--landing-scale));
  margin-bottom: calc(48px * var(--landing-scale));
}

.landing-documents-handled__row {
  --bs-gutter-x: calc(32px * var(--landing-scale));
  --bs-gutter-y: calc(16px * var(--landing-scale));
}

.landing-documents-handled__card {
  display: flex;
  gap: calc(12px * var(--landing-scale));
  align-items: flex-start;
  height: 100%;
  padding: calc(24px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid var(--section-accent);
  border-radius: var(--section-radius);
  background: transparent;
}

.landing-documents-handled__card-title {
  font-weight: 700;
  font-size: var(--landing-card-title);
  line-height: 1.4;
  margin: 0 0 calc(4px * var(--landing-scale));
  color: var(--section-text-light);
}

.landing-documents-handled__card-text {
  margin: 0;
  font-size: var(--landing-body-lg);
  font-weight: 400;
  line-height: 1.3;
  color: var(--section-text-light);
  opacity: 0.7;
}

.landing-documents-handled .landing-icon-box {
  flex-shrink: 0;
  border: none;
  background: var(--section-accent);
}

/* Related services — Figma node 2016:1114 (масштаб −20% через --landing-scale / --landing-font-scale) */
.landing-related-services__stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: calc(48px * var(--landing-scale));
  width: 100%;
}

.landing-related-services__title {
  color: #2d3349;
  font-weight: 800;
  font-size: calc(40px * var(--landing-font-scale));
  line-height: 1.4;
}

.landing-related-services__tabs {
  gap: calc(8px * var(--landing-scale));
}

.landing-related-services__tabs-item {
  margin: 0;
}

.landing-related-services__tab-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: calc(11px * var(--landing-scale)) calc(20px * var(--landing-scale));
  font-family: var(--font-manrope);
  font-size: calc(24px * var(--landing-font-scale));
  font-weight: 500;
  line-height: 1.2;
  color: rgba(45, 50, 67, 0.8);
  background: transparent;
  border: none;
  border-radius: calc(8px * var(--landing-scale));
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.landing-related-services__tab-btn:hover {
  background: rgba(45, 50, 67, 0.1);
  color: #2d3243;
}

.landing-related-services__tab-btn:focus-visible {
  outline: calc(2px * var(--landing-scale)) solid var(--section-accent);
  outline-offset: calc(2px * var(--landing-scale));
}

.landing-related-services__tab-btn.active {
  color: #fff;
  background: #2d3243;
  opacity: 1;
}

.landing-related-services__tab-btn.active:hover {
  background: #2d3243;
  color: #fff;
}

.landing-related-services__cards-row {
  --bs-gutter-x: calc(24px * var(--landing-scale));
  --bs-gutter-y: calc(24px * var(--landing-scale));
}

.landing-related-services__card {
  display: flex;
  flex-direction: column;
  gap: calc(24px * var(--landing-scale));
  height: 100%;
  min-height: calc(267px * var(--landing-scale));
  padding: calc(16px * var(--landing-scale));
  border: calc(4px * var(--landing-scale)) solid #2d3349;
  border-radius: calc(16px * var(--landing-scale));
  background: #fff;
  overflow: hidden;
}

.landing-related-services__card-main {
  display: flex;
  flex-direction: column;
  gap: calc(8px * var(--landing-scale));
  flex: 1 1 auto;
  min-height: 0;
  color: #2d3243;
}

.landing-related-services__card-title {
  margin: 0;
  font-weight: 700;
  font-size: calc(28px * var(--landing-font-scale));
  line-height: 1.2;
  color: #2d3243;
}

.landing-related-services__card-text {
  margin: 0;
  font-weight: 600;
  font-size: calc(20px * var(--landing-font-scale));
  line-height: 1.3;
  color: #2d3243;
  opacity: 0.8;
}

.landing-related-services__actions {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10px * var(--landing-scale));
  width: 100%;
  flex: 0 0 auto;
}

.landing-related-services__btn {
  flex: 1 1 calc(50% - 5px);
  min-width: calc(120px * var(--landing-scale));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(12px * var(--landing-scale)) calc(32px * var(--landing-scale));
  font-family: var(--font-manrope);
  font-size: calc(24px * var(--landing-font-scale));
  font-weight: 600;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  border-radius: calc(8px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.landing-related-services__btn--cta {
  color: #2d3243;
  background: #ffba08;
  border-color: #ffba08;
}

.landing-related-services__btn--cta:hover {
  color: #2d3243;
  background: #e5a807;
  border-color: #e5a807;
}

.landing-related-services__btn--outline {
  color: #2d3243;
  background: #fff;
  border-color: #2d3243;
}

.landing-related-services__btn--outline:hover {
  color: #2d3243;
  background: rgba(45, 50, 67, 0.06);
  border-color: #2d3243;
}

.landing-related-services__orphans {
  display: flex;
  flex-direction: column;
  gap: calc(24px * var(--landing-scale));
  width: 100%;
}

.landing-related-services__orphans-title {
  font-size: var(--landing-body-lg);
  font-weight: 700;
  line-height: 1.4;
  color: var(--section-text);
}

/* Service geography — Figma node 2016:1161 (section: Service geography) */
.landing-service-geography {
  position: relative;
  background-color: #2d3349;
  color: #fff;
  overflow: hidden;
}

.landing-service-geography__inner {
  position: relative;
  z-index: 1;
}

.landing-service-geography__pattern {
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--section-pattern-width);
  pointer-events: none;
  background-image: url('/static/images/sections/work-process-romb-tile.svg');
  background-repeat: repeat-y;
  background-size: var(--section-pattern-width) auto;
}

.landing-service-geography__pattern--left {
  left: 0;
  background-position: left top;
}

.landing-service-geography__pattern--right {
  right: 0;
  background-position: right top;
  transform: scaleX(-1);
}

.landing-service-geography__stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: calc(48px * var(--landing-scale));
  width: 100%;
}

.landing-service-geography__content {
  display: flex;
  flex-direction: column;
  gap: calc(24px * var(--landing-scale));
  width: 100%;
}

.landing-service-geography__row {
  --bs-gutter-x: calc(24px * var(--landing-scale));
  --bs-gutter-y: calc(24px * var(--landing-scale));
}

.landing-service-geography__col {
  display: flex;
}

.landing-service-geography__cell {
  display: flex;
  flex: 1 1 auto;
  gap: calc(16px * var(--landing-scale));
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding: calc(24px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid rgba(255, 255, 255, 0.2);
  border-radius: var(--section-radius);
  background: transparent;
}

.landing-service-geography__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(13.333px * var(--landing-scale));
  border-radius: calc(10.667px * var(--landing-scale));
  background: #ffba08;
  border: none;
}

.landing-service-geography__icon img {
  width: calc(37.333px * var(--landing-scale));
  height: calc(37.333px * var(--landing-scale));
  object-fit: contain;
}

.landing-service-geography__text {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: calc(24px * var(--landing-font-scale));
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
}

.landing-service-geography__footer {
  margin: 0;
  padding: calc(24px * var(--landing-scale));
  border-radius: var(--section-radius);
  border: 3px solid #ffba08;
  background: transparent;
  font-size: calc(28px * var(--landing-font-scale));
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}

/* Legal risks — Figma node 2016:1271 (section: Legal risks) */
.landing-legal-risks__stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: calc(48px * var(--landing-scale));
  width: 100%;
}

.landing-legal-risks__header {
  display: flex;
  flex-direction: column;
  gap: calc(8px * var(--landing-scale));
  align-items: flex-start;
  width: 100%;
}

.landing-legal-risks__title {
  color: #2d3349;
}

.landing-legal-risks__subtitle {
  max-width: 100%;
  margin: 0;
  font-size: calc(24px * var(--landing-font-scale));
  font-weight: 700;
  line-height: 1.4;
  color: #2d3349;
}

.landing-legal-risks__row {
  --bs-gutter-x: calc(32px * var(--landing-scale));
  --bs-gutter-y: calc(24px * var(--landing-scale));
}

.landing-legal-risks__left {
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-legal-risks .landing-num-list.landing-legal-risks__num-list {
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-legal-risks .landing-num-list__row {
  align-items: center;
  padding: calc(16px * var(--landing-scale));
  border: calc(2px * var(--landing-scale)) solid #2d3243;
  border-radius: var(--section-radius);
  background: #fff;
}

.landing-legal-risks .landing-num-list__num {
  flex: 0 0 auto;
  min-width: calc(72px * var(--landing-scale));
  font-size: calc(64px * var(--landing-font-scale));
  font-weight: 700;
  line-height: 1.3;
  color: #ffba08;
  text-align: center;
}

.landing-legal-risks .landing-num-list__body-title {
  margin: 0 0 calc(4px * var(--landing-scale));
  color: #2d3243;
}

.landing-legal-risks .landing-num-list__body-text {
  font-size: calc(20px * var(--landing-font-scale));
  font-weight: 400;
  line-height: 1.4;
  color: #2d3243;
  opacity: 0.8;
}

.landing-legal-risks__note {
  position: relative;
  margin: 0;
  padding: calc(24px * var(--landing-scale));
  border-radius: var(--section-radius);
  background: #2d3243;
  overflow: hidden;
}

/* Ромбы по краям callout — Figma 2016:1297 */
.landing-legal-risks__note-pattern {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--section-pattern-width);
  pointer-events: none;
  z-index: 0;
  background-image: url('/static/images/sections/work-process-romb-tile.svg');
  background-repeat: repeat-y;
  background-size: var(--section-pattern-width) auto;
  opacity: 0.45;
}

.landing-legal-risks__note-pattern--left {
  left: 0;
  background-position: left top;
}

.landing-legal-risks__note-pattern--right {
  right: 0;
  background-position: right top;
  transform: scaleX(-1);
}

.landing-legal-risks__note-inner {
  position: relative;
  z-index: 1;
  max-width: calc(587px * var(--landing-scale));
  margin-left: auto;
  margin-right: auto;
  font-size: calc(28px * var(--landing-font-scale));
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  color: #fff;
}

/* Правая колонка: фото фоном, contain; высота = колонка (нельзя min-height:0 — схлопывает фон) */
.landing-legal-risks__image-panel {
  position: relative;
  width: 100%;
  min-height: calc(280px * var(--landing-scale));
  border-radius: var(--section-radius);
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media (min-width: 992px) {
  .landing-legal-risks__image-panel {
    flex: 1 1 auto;
    align-self: stretch;
  }
}

.landing-legal-risks__image-badge {
  position: absolute;
  left: calc(26px * var(--landing-scale));
  top: calc(120px * var(--landing-scale));
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(10px * var(--landing-scale));
  border-radius: calc(8px * var(--landing-scale));
  background: #ffba08;
  color: #2d3243;
  font-size: calc(28px * var(--landing-scale));
  line-height: 1;
}

@media (max-width: 991.98px) {
  .landing-legal-risks__image-badge {
    top: calc(64px * var(--landing-scale));
    left: calc(16px * var(--landing-scale));
  }
}

/* Feedback form — CTA «Связаться с юристом» (Figma 691:968) */
.landing-feedback-form__row {
  display: flex;
  gap: calc(32px * var(--landing-scale));
  align-items: flex-start;
}

.landing-feedback-form__content {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-feedback-form__title {
  font-weight: 800;
  font-size: calc(40px * var(--landing-font-scale));
  line-height: 1.4;
  color: #2d3349;
  margin: 0;
}

.landing-feedback-form__lead {
  font-weight: 700;
  font-size: calc(24px * var(--landing-font-scale));
  line-height: 1.4;
  color: #2d3349;
  margin: 0;
}

.landing-feedback-form__benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: calc(8px * var(--landing-scale));
}

.landing-feedback-form__benefit {
  display: flex;
  align-items: center;
  gap: calc(16px * var(--landing-scale));
}

.landing-feedback-form__dot {
  flex-shrink: 0;
  width: calc(16px * var(--landing-scale));
  height: calc(16px * var(--landing-scale));
  border-radius: 50%;
  background: var(--section-accent);
}

.landing-feedback-form__benefit-text {
  font-size: calc(24px * var(--landing-font-scale));
  font-weight: 400;
  line-height: 1.4;
  color: var(--section-text);
}

.landing-feedback-form__divider {
  border: none;
  border-top: 1px solid #d9d9d9;
  margin: calc(12px * var(--landing-scale)) 0;
  opacity: 1;
}

.landing-feedback-form__callback-hint {
  font-weight: 700;
  font-size: calc(24px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text);
  margin: 0;
}

.landing-feedback-form__cta-row {
  display: flex;
  margin-top: calc(8px * var(--landing-scale));
}

.landing-feedback-form__cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(12px * var(--landing-scale)) calc(32px * var(--landing-scale));
  background: var(--section-accent);
  border: none;
  border-radius: var(--section-radius-sm);
  font-family: var(--font-manrope);
  font-size: calc(24px * var(--landing-font-scale));
  font-weight: 600;
  line-height: normal;
  color: var(--section-text);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
}

.landing-feedback-form__cta:hover,
.landing-feedback-form__cta:focus {
  background: #e5a807;
  color: var(--section-text);
  text-decoration: none;
}

.landing-feedback-form__media {
  flex: 0 0 calc(661px * var(--landing-scale));
  max-width: calc(661px * var(--landing-scale));
}

.landing-feedback-form__photo {
  display: block;
  width: 100%;
  aspect-ratio: 661 / 585;
  object-fit: cover;
  object-position: center top;
  border-radius: var(--section-radius);
}

@media (max-width: 991.98px) {
  .landing-feedback-form__media {
    flex: 0 0 40%;
    max-width: 40%;
  }
}

@media (max-width: 767.98px) {
  .landing-feedback-form__row {
    flex-direction: column;
  }

  .landing-feedback-form__media {
    flex: none;
    max-width: 100%;
    width: 100%;
  }

  .landing-feedback-form__cta-row {
    justify-content: stretch;
  }

  .landing-feedback-form__cta {
    width: 100%;
  }
}

/* FAQ — Figma 2016:1332 */
.landing-faq {
  background: #fff;
}

.landing-section.landing-faq .landing-section__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.landing-faq__panel {
  position: relative;
  overflow: hidden;
  border-radius: var(--section-radius);
  background: linear-gradient(
    73.29deg,
    var(--section-bg-gradient-start) 0.16%,
    var(--section-bg-gradient-end) 99.84%
  );
  padding: calc(64px * var(--landing-scale)) calc(144px * var(--landing-scale));
}

.landing-faq__panel::before,
.landing-faq__panel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--section-pattern-width);
  z-index: 0;
  pointer-events: none;
  background-image: url('/static/images/sections/work-process-romb-tile.svg');
  background-repeat: repeat-y;
  background-size: var(--section-pattern-width) auto;
}

.landing-faq__panel::before {
  left: 0;
  background-position: left top;
}

.landing-faq__panel::after {
  right: 0;
  background-position: right top;
  transform: scaleX(-1);
}

.landing-faq__title {
  position: relative;
  z-index: 1;
  font-weight: 800;
  font-size: calc(40px * var(--landing-font-scale));
  line-height: 1.4;
  color: #fff;
  margin: 0 0 calc(48px * var(--landing-scale));
}

.landing-faq__list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-faq__item {
  background: #fff;
  border-radius: var(--section-radius);
  padding: calc(24px * var(--landing-scale));
}

.landing-faq__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16px * var(--landing-scale));
  width: 100%;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.landing-faq__btn:focus-visible {
  outline: 2px solid var(--section-accent);
  outline-offset: 2px;
  border-radius: calc(4px * var(--landing-scale));
}

.landing-faq__question {
  font-weight: 600;
  font-size: calc(20px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text);
}

.landing-faq__arrow-wrap {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(40px * var(--landing-scale));
  height: calc(40px * var(--landing-scale));
  border: 1px solid var(--section-text);
  border-radius: var(--section-radius-sm);
  background: #fff;
  color: var(--section-text);
  transition: background 0.2s ease, color 0.2s ease;
}

.landing-faq__btn:not(.collapsed) .landing-faq__arrow-wrap {
  background: var(--section-accent);
}

.landing-faq__arrow-icon {
  width: calc(14px * var(--landing-scale));
  height: auto;
  display: block;
  transition: transform 0.25s ease;
}

.landing-faq__btn:not(.collapsed) .landing-faq__arrow-icon {
  transform: rotate(180deg);
}

.landing-faq__body {
  padding-top: 0;
}

.landing-faq__divider {
  height: 1px;
  background: rgba(45, 50, 67, 0.15);
  margin: calc(16px * var(--landing-scale)) 0;
}

.landing-faq__answer {
  font-size: calc(18px * var(--landing-font-scale));
  line-height: 1.3;
  color: var(--section-text);
  font-weight: 400;
}

.landing-faq__answer p:last-child {
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .landing-faq__panel {
    padding: calc(48px * var(--landing-scale)) calc(48px * var(--landing-scale));
  }
}

@media (max-width: 575.98px) {
  .landing-faq__panel {
    padding: calc(32px * var(--landing-scale)) calc(20px * var(--landing-scale));
  }

  .landing-faq__panel::before,
  .landing-faq__panel::after {
    display: none;
  }
}

/* Стык готовых секций: без дополнительного зазора между фреймами */
.landing-key-benefits + .landing-client-problems {
  margin-top: 0;
}

/* Hero Service - Figma 708:72 */
.hero-service {
  background-color: var(--section-bg-dark);
  color: var(--section-text-light);
  font-family: var(--font-manrope);
  position: relative;
  overflow: hidden;
}

.hero-service__side {
  width: var(--section-pattern-width);
  background-image: url('/static/images/hero/pattern.svg');
  background-repeat: repeat-y;
  background-size: var(--section-pattern-width) auto;
  background-position: left top;
  position: absolute;
  top: 0;
  height: 100%;
  z-index: 1;
}

.hero-service__side--start {
  left: 0;
}

.hero-service__side--end {
  right: 0;
  transform: scaleX(-1);
}

.hero-service__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.hero-service__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(24px * var(--landing-scale));
  padding: calc(48px * var(--landing-scale)) 0;
  width: 100%;
}

@media (min-width: 992px) {
  .hero-service__panel {
    padding: calc(88px * var(--landing-scale)) 0;
    padding-right: calc(48px * var(--landing-scale));
  }
}

.hero-service__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: calc(16px * var(--landing-scale)) calc(24px * var(--landing-scale));
  border: 1px solid var(--section-accent);
  border-radius: calc(12px * var(--landing-scale));
  color: var(--section-accent);
  font-size: calc(32px * var(--landing-font-scale));
  font-weight: 600;
  line-height: normal;
  text-align: center;
}

.hero-service__title {
  margin: 0;
  color: var(--section-text-light);
  font-size: calc(40px * var(--landing-font-scale));
  font-weight: 800;
  line-height: 1.4;
}

.hero-service__divider {
  margin: 0;
  border: 0;
  height: 1px;
  width: 100%;
  background-color: var(--section-accent);
  opacity: 1;
}

.hero-service__subtitle {
  margin: 0;
  color: var(--section-text-light);
  font-size: calc(28px * var(--landing-font-scale));
  font-weight: 600;
  line-height: 1.4;
}

.hero-service__actions {
  display: flex;
}

.hero-service__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(12px * var(--landing-scale)) calc(32px * var(--landing-scale));
  background: var(--section-accent);
  border: none;
  border-radius: var(--section-radius-sm);
  font-family: var(--font-manrope);
  font-size: calc(24px * var(--landing-font-scale));
  font-weight: 600;
  line-height: normal;
  color: var(--section-text);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
}

.hero-service__btn:hover {
  background: #e5a807;
  color: var(--section-text);
}

/* Responsive service/home hero media */
.hero-service__home-media,
.hero-service__service-media {
  position: relative;
  width: 100%;
  height: calc(300px * var(--landing-scale));
}

@media (min-width: 992px) {
  .hero-service__home-media,
  .hero-service__service-media {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
  }
}

.hero-service__poster-picture,
.hero-service__video,
.hero-service__poster {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero-service__poster,
.hero-service__video {
  object-fit: cover;
}

.hero-service__poster {
  z-index: 1;
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}

.hero-service__poster.is-hidden {
  opacity: 0;
}

.hero-service__video {
  z-index: 2;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}

.hero-service__video.is-ready {
  opacity: 1;
}

.hero-service__contacts {
  display: flex;
  flex-direction: column;
  gap: calc(20px * var(--landing-scale));
  width: 100%;
}

.hero-service__contact-row {
  display: flex;
  align-items: center;
  gap: calc(16px * var(--landing-scale));
}

.hero-service__contact-icon {
  flex-shrink: 0;
  color: var(--section-accent);
  font-size: calc(28px * var(--landing-font-scale));
  line-height: 1;
}

.hero-service__contact-text {
  margin: 0;
  color: var(--section-text-light);
  font-size: calc(20px * var(--landing-font-scale));
  font-weight: 500;
  line-height: 1.4;
}

.hero-service__contact-text--link {
  text-decoration: none;
}

.hero-service__contact-text--link:hover {
  color: var(--section-accent);
}

/* Hero Service — page variant (breadcrumbs + badge + title only) */
.hero-service--text-only .hero-service__panel {
  align-items: center;
  text-align: center;
  gap: calc(20px * var(--landing-scale));
  padding: calc(32px * var(--landing-scale)) calc(48px * var(--landing-scale));
}

@media (min-width: 992px) {
  .hero-service--text-only .hero-service__panel {
    padding: calc(48px * var(--landing-scale)) calc(80px * var(--landing-scale));
    padding-right: calc(80px * var(--landing-scale));
  }
}

.hero-service--text-only .hero-service__badge {
  width: auto;
  max-width: 100%;
  align-self: center;
}

.hero-service--text-only .hero-service__title {
  text-align: center;
}

/* Breadcrumbs inside hero (page variant) */
.hero-breadcrumb {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--landing-scale));
  font-family: var(--font-manrope);
  font-size: calc(16px * var(--landing-font-scale));
  font-weight: 500;
  line-height: 1.3;
  flex-wrap: wrap;
  justify-content: center;
}

.hero-breadcrumb__link {
  color: var(--section-text-light);
  text-decoration: none;
  transition: color 0.2s;
}

.hero-breadcrumb__link:hover {
  color: var(--section-accent);
}

.hero-breadcrumb__link--bold {
  font-weight: 700;
}

.hero-breadcrumb__sep {
  color: rgba(255, 255, 255, 0.5);
}

/* Секция «Основные направления» на главной — Figma node 691-354 */
.landing-key-services {
  position: relative;
  overflow: hidden;
  background-color: var(--section-bg-dark);
  color: var(--section-text-light);
}

.landing-key-services .landing-section__title {
  color: var(--section-text-light);
  margin-bottom: calc(24px * var(--landing-scale));
}

.landing-key-services__header {
  gap: calc(16px * var(--landing-scale));
}

.landing-key-services__header .landing-section__title {
  margin-bottom: 0;
}

.landing-key-services__all-link {
  color: var(--section-accent);
  font-size: calc(20px * var(--landing-font-scale));
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

.landing-key-services__all-link:hover {
  text-decoration: underline;
  color: var(--section-text-light);
}

@media (max-width: 575.98px) {
  .landing-key-services__header {
    align-items: flex-start !important;
    flex-direction: column;
  }
}

.landing-key-services__card {
  border: 2px solid var(--section-accent);
  border-radius: var(--section-radius);
  text-decoration: none;
  display: block;
  height: calc(244px * var(--landing-scale));
}

.landing-key-services__img-wrap {
  position: absolute;
  inset: 0;
}

.landing-key-services__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.landing-key-services__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 60%);
  pointer-events: none;
}

.landing-key-services__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: calc(16px * var(--landing-scale));
}

.landing-key-services__title {
  color: var(--section-accent);
  font-size: calc(20px * var(--landing-font-scale));
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.25rem;
}

.landing-key-services__excerpt {
  color: #fff;
  font-size: calc(14px * var(--landing-font-scale));
  line-height: 1.4;
}

.landing-key-services--article {
  background: #fff;
  color: var(--section-text);
}

.landing-key-services--article .landing-section__title {
  color: var(--section-text);
}

.landing-key-services--article .landing-key-services__overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.72) 100%);
}

.landing-key-services--article .landing-key-services__body {
  padding: calc(16px * var(--landing-scale));
}

.landing-key-services--article .landing-key-services__title {
  margin-bottom: calc(4px * var(--landing-scale));
}

.landing-key-services--article .landing-key-services__excerpt {
  max-width: 92%;
}

.landing-key-services--article .landing-key-services__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: calc(224px * var(--landing-scale));
  min-height: calc(54px * var(--landing-scale));
  padding: calc(12px * var(--landing-scale)) calc(28px * var(--landing-scale));
  border-radius: calc(6px * var(--landing-scale));
  background: var(--section-accent);
  color: #2d3243;
  font-size: calc(17px * var(--landing-font-scale));
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.landing-key-services--article .landing-key-services__cta:hover {
  color: #2d3243;
  opacity: 0.88;
}

/* ──────────────────────────────────────────────────────────
 * About (О бюро) — Figma 691:845
 * ────────────────────────────────────────────────────────── */
.landing-about .landing-about__title {
  font-family: var(--font-manrope);
  font-weight: 800;
  font-size: calc(64px * var(--landing-font-scale));
  line-height: 1.35;
  color: var(--section-text);
  margin-bottom: calc(12px * var(--landing-scale));
}

.landing-about .landing-about__subtitle {
  font-family: var(--font-manrope);
  font-weight: 800;
  font-size: calc(40px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text);
  margin-bottom: calc(32px * var(--landing-scale));
}

.landing-about__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: calc(24px * var(--landing-scale));
}

.landing-about__item {
  display: flex;
  align-items: flex-start;
  gap: calc(16px * var(--landing-scale));
}

.landing-about__icon {
  color: var(--section-accent);
  font-size: calc(20px * var(--landing-font-scale));
  line-height: calc(28px * var(--landing-font-scale));
  flex-shrink: 0;
}

.landing-about__text {
  font-size: calc(20px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text);
}

.landing-about__text strong {
  font-weight: 700;
}

.landing-about__photo {
  display: block;
  width: 100%;
  aspect-ratio: 661 / 463;
  object-fit: cover;
  object-position: center;
  border-radius: var(--section-radius);
}

@media (max-width: 991.98px) {
  .landing-about .landing-about__title,
  .landing-about .landing-about__subtitle {
    text-align: center;
  }

  .landing-about .landing-about__title {
    font-size: calc(40px * var(--landing-font-scale));
  }

  .landing-about .landing-about__subtitle {
    font-size: calc(24px * var(--landing-font-scale));
  }
}

/* ──────────────────────────────────────────────────────────
 * Блог адвокатов (главная) — Figma node 691-1122
 * ────────────────────────────────────────────────────────── */
.landing-blog__header {
  margin-bottom: calc(32px * var(--landing-scale));
}

.landing-blog__header-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: calc(16px * var(--landing-scale));
  flex-wrap: wrap;
}

.landing-blog__subtitle {
  margin-top: calc(12px * var(--landing-scale));
}

.landing-blog__all-link {
  color: var(--section-text);
  font-size: calc(20px * var(--landing-font-scale));
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}

.landing-blog__all-link:hover,
.landing-blog__all-link:focus-visible {
  color: var(--section-accent);
  text-decoration: underline;
}

.landing-blog__card {
  display: grid;
  grid-template-columns: 32% 1fr;
  background: var(--section-bg-dark);
  border-radius: var(--section-radius);
  overflow: hidden;
  box-shadow: 0 calc(4px * var(--landing-scale)) calc(16px * var(--landing-scale)) rgba(0, 0, 0, 0.12);
}

.landing-blog__media {
  position: relative;
  display: block;
  min-height: calc(472px * var(--landing-scale));
  overflow: hidden;
  background: #1a1f2d;
}

.landing-blog__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.landing-blog__scales {
  position: absolute;
  top: calc(16px * var(--landing-scale));
  left: calc(16px * var(--landing-scale));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(64px * var(--landing-scale));
  height: calc(64px * var(--landing-scale));
  background: #fff;
  border-radius: var(--section-radius-sm);
  box-shadow: 0 calc(2px * var(--landing-scale)) calc(8px * var(--landing-scale)) rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.landing-blog__scales img {
  width: calc(40px * var(--landing-scale));
  height: calc(40px * var(--landing-scale));
  display: block;
}

.landing-blog__body {
  padding: calc(32px * var(--landing-scale));
  color: var(--section-text-light);
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-blog__author {
  display: flex;
  align-items: center;
  gap: calc(16px * var(--landing-scale));
}

.landing-blog__avatar {
  width: calc(64px * var(--landing-scale));
  height: calc(64px * var(--landing-scale));
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background: rgba(255, 255, 255, 0.15);
}

.landing-blog__avatar--placeholder {
  display: inline-block;
}

.landing-blog__author-name {
  color: var(--section-accent);
  font-size: calc(20px * var(--landing-font-scale));
  font-weight: 600;
  line-height: 1.3;
}

.landing-blog__author-date {
  color: var(--landing-muted-on-dark);
  font-size: calc(18px * var(--landing-font-scale));
  line-height: 1.4;
  margin-top: calc(4px * var(--landing-scale));
}

.landing-blog__post-title {
  margin: 0;
  font-size: calc(22px * var(--landing-font-scale));
  font-weight: 700;
  line-height: 1.4;
  color: var(--section-text-light);
}

.landing-blog__post-title a {
  color: inherit;
  text-decoration: none;
}

.landing-blog__post-title a:hover,
.landing-blog__post-title a:focus-visible {
  color: var(--section-accent);
}

.landing-blog__divider {
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  opacity: 1;
}

.landing-blog__excerpt {
  margin: 0;
  font-size: calc(16px * var(--landing-font-scale));
  line-height: 1.6;
  color: var(--landing-muted-on-dark);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
  line-clamp: 8;
  overflow: hidden;
}

.landing-blog__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
}

.landing-blog__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(14px * var(--landing-scale)) calc(32px * var(--landing-scale));
  background: var(--section-accent);
  color: var(--section-text);
  font-size: calc(18px * var(--landing-font-scale));
  font-weight: 700;
  line-height: 1.2;
  border-radius: var(--section-radius-sm);
  text-decoration: none;
  transition: filter 0.15s ease;
}

.landing-blog__btn:hover,
.landing-blog__btn:focus-visible {
  color: var(--section-text);
  filter: brightness(1.05);
}

@media (max-width: 767.98px) {
  .landing-blog__card {
    grid-template-columns: 1fr;
  }

  .landing-blog__media {
    min-height: calc(260px * var(--landing-scale));
    aspect-ratio: 4 / 3;
  }

  .landing-blog__body {
    padding: calc(20px * var(--landing-scale));
  }

  .landing-blog__footer {
    justify-content: stretch;
  }

  .landing-blog__btn {
    width: 100%;
  }
}

/* Contact info block — Figma 669:1960 (используется на /contacts/ и в модалке) */
.landing-contact-info__grid {
  display: grid;
  grid-template-columns: minmax(0, 523fr) minmax(0, 1076fr);
  gap: calc(32px * var(--landing-scale));
  align-items: stretch;
}

.landing-contact-info__left {
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-contact-info__card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: var(--section-radius);
  padding: calc(24px * var(--landing-scale));
}

.landing-contact-info__card-title {
  font-weight: 800;
  font-size: calc(32px * var(--landing-font-scale));
  line-height: 1.2;
  color: var(--section-text);
  margin: 0;
}

.landing-contact-info__sep {
  border: none;
  border-top: 1px solid #e5e5e5;
  margin: calc(16px * var(--landing-scale)) 0;
  opacity: 1;
}

.landing-contact-info__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--landing-scale));
}

.landing-contact-info__row {
  display: flex;
  align-items: flex-start;
  gap: calc(16px * var(--landing-scale));
}

.landing-contact-info__icon {
  flex-shrink: 0;
  width: var(--section-icon-box);
  height: var(--section-icon-box);
  border-radius: calc(8px * var(--landing-scale));
  background: var(--section-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--section-text);
  font-size: var(--section-icon-inner);
  line-height: 1;
}

.landing-contact-info__icon .bx {
  font-size: var(--section-icon-inner);
}

.landing-contact-info__text {
  display: flex;
  flex-direction: column;
  gap: calc(4px * var(--landing-scale));
  min-width: 0;
}

.landing-contact-info__label {
  font-size: calc(16px * var(--landing-font-scale));
  font-weight: 500;
  color: #6b6f7a;
  line-height: 1.2;
}

.landing-contact-info__value {
  font-size: calc(20px * var(--landing-font-scale));
  font-weight: 700;
  color: var(--section-text);
  line-height: 1.3;
  word-break: break-word;
}

.landing-contact-info__value--link {
  color: var(--section-text);
  text-decoration: none;
}

.landing-contact-info__value--link:hover {
  color: var(--section-accent);
}

.landing-contact-info__phones {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: calc(12px * var(--landing-scale));
}

.landing-contact-info__phone-card {
  display: flex;
  align-items: center;
  gap: calc(16px * var(--landing-scale));
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: var(--section-radius);
  padding: calc(16px * var(--landing-scale)) calc(24px * var(--landing-scale));
  color: var(--section-text);
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.landing-contact-info__phone-card:hover,
.landing-contact-info__phone-card:focus-visible {
  border-color: var(--section-accent);
  box-shadow: 0 4px 18px rgba(45, 50, 67, 0.08);
  color: var(--section-text);
  text-decoration: none;
}

.landing-contact-info__map {
  border-radius: var(--section-radius);
  overflow: hidden;
  min-height: calc(500px * var(--landing-scale));
  background: #eef0f2;
}

.landing-contact-info__map-frame,
.landing-contact-info__map-frame iframe,
.landing-contact-info__map-frame > * {
  width: 100%;
  height: 100%;
  min-height: calc(500px * var(--landing-scale));
  border: 0;
  display: block;
}

/* На /contacts/ задаём общую высоту сетке, чтобы карта растянулась */
.landing-contact-info:not(.landing-contact-info--modal) .landing-contact-info__grid {
  min-height: calc(720px * var(--landing-scale));
}

/* В модалке карты нет, padding секции обнуляется */
.landing-contact-info--modal .landing-section__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.landing-contact-info--modal .landing-contact-info__grid {
  grid-template-columns: 1fr;
  min-height: 0;
}

@media (max-width: 991.98px) {
  .landing-contact-info__grid {
    grid-template-columns: 1fr;
  }

  .landing-contact-info:not(.landing-contact-info--modal) .landing-contact-info__grid {
    min-height: 0;
  }

  .landing-contact-info__map {
    min-height: calc(360px * var(--landing-scale));
  }

  .landing-contact-info__map-frame,
  .landing-contact-info__map-frame iframe,
  .landing-contact-info__map-frame > * {
    min-height: calc(360px * var(--landing-scale));
  }
}

/* Contact modal — обёртка */
.landing-contact-modal .modal-dialog {
  max-width: min(1120px, 94vw);
}

.landing-contact-modal__content {
  position: relative;
  border-radius: var(--section-radius);
  background: #fff;
  padding: calc(32px * var(--landing-scale)) calc(16px * var(--landing-scale));
}

.landing-contact-modal__close {
  position: absolute;
  top: calc(16px * var(--landing-scale));
  right: calc(16px * var(--landing-scale));
  width: calc(40px * var(--landing-scale));
  height: calc(40px * var(--landing-scale));
  border-radius: 50%;
  border: none;
  background: rgba(45, 50, 67, 0.08);
  color: var(--section-text);
  font-size: calc(24px * var(--landing-font-scale));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
  z-index: 2;
}

.landing-contact-modal__close:hover {
  background: rgba(45, 50, 67, 0.15);
}

.landing-contact-modal__body {
  padding: calc(8px * var(--landing-scale)) calc(16px * var(--landing-scale));
}

.landing-contact-modal__title {
  font-weight: 800;
  font-size: calc(32px * var(--landing-font-scale));
  color: var(--section-text);
  margin: 0 0 calc(16px * var(--landing-scale));
  text-align: center;
}

/* ──────────────────────────────────────────────────────────────
   Секция: Список категорий услуг (страница /service/)
   Figma node 691:30
   ────────────────────────────────────────────────────────────── */

.landing-service-categories {
  background: var(--section-bg-dark);
}

.landing-service-categories__title {
  color: var(--section-text-light);
  margin-bottom: calc(32px * var(--landing-scale));
}

.landing-service-categories__row {
  --bs-gutter-x: calc(32px * var(--landing-scale));
  --bs-gutter-y: calc(32px * var(--landing-scale));
}

.landing-service-categories__card {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid var(--section-text-light);
  border-radius: var(--section-radius);
  padding: calc(16px * var(--landing-scale));
  color: var(--section-text-light);
  height: 100%;
}

.landing-service-categories__cat-title {
  font-weight: 700;
  font-size: calc(28px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-accent);
  text-align: center;
  margin: 0;
  padding: 0 0 calc(16px * var(--landing-scale));
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.landing-service-categories__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.landing-service-categories__item {
  padding: calc(16px * var(--landing-scale)) 0;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.landing-service-categories__item:last-child {
  border-bottom: none;
}

.landing-service-categories__link {
  display: inline-block;
  font-weight: 600;
  font-size: calc(20px * var(--landing-font-scale));
  line-height: 1.4;
  color: var(--section-text-light);
  text-decoration: none;
  transition: color 0.2s ease;
}

.landing-service-categories__link:hover,
.landing-service-categories__link:focus {
  color: var(--section-accent);
  text-decoration: none;
}

.landing-service-categories__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: calc(16px * var(--landing-scale));
  padding: calc(12px * var(--landing-scale)) calc(32px * var(--landing-scale));
  background: var(--section-accent);
  color: var(--section-text);
  font-family: inherit;
  font-weight: 600;
  font-size: calc(24px * var(--landing-font-scale));
  line-height: 1.3;
  text-align: center;
  border: none;
  border-radius: var(--section-radius-sm);
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

.landing-service-categories__cta:hover,
.landing-service-categories__cta:focus {
  background: #e6a607;
  outline: none;
}

.landing-service-categories__cta:active {
  transform: translateY(1px);
}

@media (max-width: 767.98px) {
  .landing-service-categories__cat-title {
    font-size: calc(24px * var(--landing-font-scale));
  }

  .landing-service-categories__link {
    font-size: calc(18px * var(--landing-font-scale));
  }

  .landing-service-categories__cta {
    font-size: calc(20px * var(--landing-font-scale));
    padding: calc(10px * var(--landing-scale)) calc(20px * var(--landing-scale));
  }
}


/* ─── Article Cards & Lists ──────────────────────────────────────────────── */

.article-list-section {
  padding-top: 32px;
  padding-bottom: 64px;
}

/* Card */
.article-card {
  background: #fff;
  border-radius: 13px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.12);
  padding: 19px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  height: 100%;
  text-decoration: none;
}

.article-card__image-wrap {
  position: relative;
  height: 147px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}

.article-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.article-card:hover .article-card__img {
  transform: scale(1.03);
}

.article-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #2d3243;
  border: 1px solid #ffba08;
  border-radius: 100px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  line-height: 1.2;
}

.article-card__meta {
  display: flex;
  align-items: center;
  gap: 13px;
}

.article-card__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #2d3243;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.article-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-card__meta-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.article-card__author-name {
  font-size: 14px;
  font-weight: 600;
  color: #ffba08;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.article-card__date {
  font-size: 11px;
  font-weight: 500;
  color: #2d3243;
  opacity: 0.7;
}

.article-card__title {
  font-size: 15px;
  font-weight: 800;
  color: #2d3243;
  line-height: 1.2;
  text-decoration: none;
}

.article-card__title:hover {
  color: #ffba08;
}

/* Pagination */
.article-pagination {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 32px 0 0;
  flex-wrap: wrap;
}

.article-pagination__btn {
  width: 38px;
  height: 38px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid #2d3243;
  background: #fff;
  color: #2d3243;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.article-pagination__btn--active {
  background: #2d3243;
  color: #fff;
  border-color: #2d3243;
}

.article-pagination__btn--arrow {
  background: rgba(255, 186, 8, 0.5);
  border-color: #2d3243;
}

.article-pagination__btn--disabled {
  opacity: 0.4;
  cursor: default;
}

.article-pagination__btn--ellipsis {
  border: none;
  background: transparent;
  cursor: default;
}

.article-pagination__btn:not(.article-pagination__btn--active):not(.article-pagination__btn--arrow):not(.article-pagination__btn--disabled):hover {
  background: #f5f5f5;
}

/* Sidebar "Читайте также" */
.article-sidebar {
  border: 1px solid rgba(45, 50, 67, 0.16);
  border-radius: 13px;
  padding: 19px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  background: #fff;
}

.article-sidebar__heading {
  font-size: 22px;
  font-weight: 800;
  color: #2d3243;
  text-align: center;
  margin: 0;
}

.article-sidebar__item {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.article-sidebar__item .article-card {
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  gap: 10px;
}

.article-sidebar__item .article-card__image-wrap {
  height: 140px;
  border-radius: 10px;
}

.article-sidebar__divider {
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(45, 50, 67, 0.12);
}

.article-sidebar__divider--before-btn {
  margin-top: calc(2px * var(--landing-scale));
  margin-bottom: calc(2px * var(--landing-scale));
}

.article-sidebar__btn {
  display: block;
  background: #ffba08;
  border-radius: 6px;
  text-align: center;
  padding: 10px 24px;
  font-size: 17px;
  font-weight: 600;
  color: #2d3243;
  text-decoration: none;
  transition: opacity 0.2s;
}

.article-sidebar__btn:hover {
  opacity: 0.88;
  color: #2d3243;
}

/* Article detail content box */
.article-breadcrumbs-section {
  padding-top: 32px;
}

.article-breadcrumbs-section .breadcrumb {
  flex-wrap: nowrap;
  overflow-x: auto;
  white-space: nowrap;
}

.article-breadcrumbs-section .breadcrumb-item,
.article-breadcrumbs-section .breadcrumb-item a {
  font-size: 16px;
  line-height: 1.3;
}

.article-breadcrumbs-section .breadcrumb-item.active {
  color: #2d3243;
  font-weight: 700;
}

.article-detail-section {
  padding-top: 32px;
  padding-bottom: 64px;
}

.service-article-layout {
  padding-bottom: 64px;
}

.service-article-layout__row {
  --bs-gutter-x: 32px;
  align-items: flex-start;
}

.service-article-layout__main {
  min-width: 0;
}

.service-article-layout__sidebar {
  flex: 0 0 412px;
  width: 412px;
}

.article-content-box__excerpt--service {
  font-size: 19px;
  line-height: 1.65;
}

.article-content-box__body--service {
  font-size: 18px;
  line-height: 1.8;
}

.service-article-categories {
  position: sticky;
  top: 120px;
  background: #ffffff;
  border-radius: var(--section-radius);
  border: 1px solid #e6e8ef;
  box-shadow: 0 4px 28px rgba(45, 50, 67, 0.09);
  color: var(--section-text);
}

.service-article-categories__header {
  padding: calc(22px * var(--landing-scale)) calc(22px * var(--landing-scale)) calc(16px * var(--landing-scale));
  border-bottom: 1px solid #edf0f5;
}

.service-article-categories__title {
  margin: 0;
  font-weight: 800;
  font-size: calc(26px * var(--landing-font-scale));
  line-height: 1.25;
  color: var(--section-text);
}

.service-article-categories__subtitle {
  margin: 8px 0 0;
  font-size: calc(16px * var(--landing-font-scale));
  line-height: 1.5;
  color: #6b7280;
}

.service-article-categories__list-wrap {
  display: flex;
  flex-direction: column;
  padding: calc(12px * var(--landing-scale)) 0;
}

.service-article-categories__card {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

.service-article-categories__card + .service-article-categories__card {
  margin-top: calc(4px * var(--landing-scale));
  border-top: 1px solid #edf0f5;
  padding-top: calc(4px * var(--landing-scale));
}

.service-article-categories__card-title {
  margin: 0;
  font-weight: 700;
  font-size: calc(14px * var(--landing-font-scale));
  line-height: 1.3;
  color: var(--section-accent);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: calc(12px * var(--landing-scale)) calc(22px * var(--landing-scale)) calc(6px * var(--landing-scale));
}

.service-article-categories__list {
  list-style: none;
  margin: 0;
  padding: 0 calc(10px * var(--landing-scale));
}

.service-article-categories__item {
  margin: 0;
}

.service-article-categories__item + .service-article-categories__item {
  margin-top: 2px;
}

.service-article-categories__link {
  display: block;
  color: #3d4759;
  text-decoration: none;
  font-weight: 500;
  font-size: calc(19px * var(--landing-font-scale));
  line-height: 1.4;
  padding: calc(9px * var(--landing-scale)) calc(12px * var(--landing-scale));
  border-left: 3px solid transparent;
  border-radius: 0 var(--section-radius-sm) var(--section-radius-sm) 0;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.service-article-categories__link:hover,
.service-article-categories__link:focus {
  color: var(--section-text);
  background: #f4f6fa;
  border-left-color: #d0d4e0;
  text-decoration: none;
}

.service-article-categories__link--active {
  color: #8a6400;
  font-weight: 700;
  background: #fff8e0;
  border-left-color: var(--section-accent);
}

.service-article-categories__link--active:hover,
.service-article-categories__link--active:focus {
  color: #8a6400;
  background: #fff3c4;
  border-left-color: var(--section-accent);
}

.article-detail-section + .landing-section--white .landing-section__inner {
  padding-top: 0;
}

@media (min-width: 992px) {
  .article-detail-row {
    flex-wrap: nowrap;
  }
  .article-detail-main {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none !important;
  }
  .article-detail-sidebar {
    flex: 0 0 412px;
    width: 412px;
    max-width: 412px !important;
    padding-left: 24px;
  }
}

.article-content-box {
  background: #fff;
  border-radius: 13px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.12);
  padding: 24px;
}

.article-content-box__featured-media {
  margin: -24px -24px 24px;
  overflow: hidden;
  border-radius: 13px 13px 0 0;
}

.article-content-box__featured-image {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1200 / 630;
  object-fit: cover;
}

.article-content-box__author {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 16px;
}

.article-content-box__avatar {
  width: 51px;
  height: 51px;
  border-radius: 50%;
  background: #2d3243;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.article-content-box__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-content-box__author-name {
  font-size: 19px;
  font-weight: 600;
  color: #ffba08;
}

.article-content-box__date {
  font-size: 15px;
  font-weight: 500;
  color: #2d3243;
  opacity: 0.7;
}

.article-content-box__title {
  font-size: 26px;
  font-weight: 800;
  color: #2d3243;
  line-height: 1.3;
  margin-bottom: 16px;
}

.article-content-box__divider {
  border-color: rgba(45, 50, 67, 0.15);
  margin: 16px 0;
}

.article-content-box__excerpt {
  font-size: 17px;
  font-weight: 500;
  color: #2d3243;
  line-height: 1.5;
}

.article-content-box__body {
  font-size: 17px;
  font-weight: 400;
  color: #2d3243;
  line-height: 1.6;
}

.article-content-box__body h2,
.article-content-box__body h3 {
  font-size: 22px;
  font-weight: 800;
  color: #2d3243;
  line-height: 1.3;
  margin-top: 28px;
  margin-bottom: 12px;
}

@media (max-width: 991.98px) {
  .article-breadcrumbs-section {
    padding-top: 20px;
  }

  .article-detail-section {
    padding-top: 20px;
  }

  .service-article-layout {
    padding-bottom: 40px;
  }

  .service-article-layout__row {
    --bs-gutter-x: 24px;
  }

  .service-article-layout__sidebar {
    flex-basis: auto;
    width: auto;
  }

  .service-article-categories {
    position: static;
    margin-top: 24px;
  }

  .article-detail-sidebar {
    padding-left: calc(var(--bs-gutter-x) * .5);
  }
}

/* Mobile */
@media (max-width: 767px) {
  .article-card__image-wrap {
    height: 200px;
  }

  .article-content-box {
    padding: 16px;
  }

  .article-content-box__featured-media {
    margin: -16px -16px 16px;
  }

  .article-content-box__title {
    font-size: 20px;
  }

  .article-content-box__excerpt--service,
  .article-content-box__body--service {
    font-size: 17px;
  }

  .article-sidebar {
    margin-top: 32px;
  }

  .landing-key-services--article .landing-key-services__card {
    height: calc(188px * var(--landing-scale));
  }
}


.article-content-box__title--service, .article-content-box__excerpt--service {
  display: none;
}

.article-content-box__excerpt--service + .article-content-box__divider {
  display: none;
}
