/* ===== Подключаем RFDewiExtended ===== */
@font-face {
  font-family: "RFDewiExtended";
  src: url("../fonts/RFDewiExtended-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "RFDewiExtended";
  src: url("../fonts/RFDewiExtended-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "RFDewiExtended";
  src: url("../fonts/RFDewiExtended-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "RFDewiExtended";
  src: url("../fonts/RFDewiExtended-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "RFDewiExtended";
  src: url("../fonts/RFDewiExtended-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "RFDewiExtended";
  src: url("../fonts/RFDewiExtended-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* ===== Основной стиль сайта ===== */
:root {
  --font-main: "RFDewiExtended", sans-serif;
  --white: #ffffff;
  --black: #000000;
  --gray-border: #e5e5e5; /* цвет разделительных линий */
  --accent: #913661; /* основной розовый акцент */
  --transition: all 0.3s ease;
}



* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: var(--font-main);
  font-weight: 400;
  background: #fff;
  color: #000;
}


.container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 30px;
}

/* ===== HEADER ===== */
.header {
  width: 100%;
  background: #ffffff; /* чисто белый фон без серого */
  position: fixed;
  top: 0;
  left: 0;
  z-index: 900;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* мягкая тень снизу */
}



/* Тень под хедером, а не внутри */
.header::after {
  content: "";
  position: absolute;
  bottom: -5px; /* чуть под хедером */
  left: 0;
  width: 100%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  pointer-events: none;
  z-index: -1;
}

/* Верхняя полоса */
.header__top {
  font-size: 14px;
  font-weight: 500;
}

.header__top-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 55px;
  border-bottom: 1px solid var(--gray-border); /* теперь линия только в контейнере */
}

.header__top-left {
  display: flex;
  gap: 20px;
}

.header__top-left a {
  text-decoration: none;
  color: #555;
  transition: var(--transition);
}

.header__top-left a:hover {
  color: var(--accent);
}

/* Нижняя полоса */
.header__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 70px;
}

.header__logo {
  display: flex;
  align-items: center;
}

.header__logo img {
  height: 22px;   /* подгонишь при необходимости */
  width: auto;
  display: block;
}

.nav__list {
  list-style: none;
  display: flex;
  gap: 40px;
}

.nav__list a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
  transition: var(--transition);
  position: relative;
}

.nav__list a::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0%;
  height: 2px;
  background: var(--accent);
  transition: var(--transition);
}

.nav__list a:hover::after {
  width: 100%;
}

/* Кнопка */
.btn {
  width: 260px;
  display: inline-block;
  text-decoration: none;
  background: var(--accent); /* фон всегда виден */
  color: var(--white);
  border-radius: 7px;
  padding: 13px 18px;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
  transition: var(--transition);
}

.btn:hover {
  background: #A83E71;
}

/* Телефон */
.header__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 6px 8px 8px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  background: #913661;
  color: #fff;
  border: none;
  transition: all 0.3s ease;
}



.header___cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 17px 11px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  background: #913661;
  color: #fff;
  border: none;
  transition: all 0.3s ease;
  cursor: pointer;
}

.header___cta-btn:hover {
  background: #CA578D;
}



.header__cta-btn img {
  width: 18px;    /* подгонишь при необходимости */
  height: 18px;
  margin-top: 2px;
  object-fit: contain;
  filter: brightness(0) invert(1); /* делает иконку белой */
}

.header__cta-btn:hover {
  background: #CA578D;
}







.header__phone {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #333;
  font-weight: 600;
  font-size: 15px;
  transition: var(--transition);
  white-space: nowrap; /* предотвращаем перенос номера */
}

.header__phone svg {
  width: 18px;
  height: 18px;
  color: var(--accent);
  transition: var(--transition);
}

.header__phone:hover {
  color: var(--accent);
}

.header__phone:hover svg {
  color: var(--accent);
}



.header__phone-box {
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* выравнивание по правому краю */
  gap: 2px;
}

.header__phone-label {
  font-size: 11px;
  color: #ca578d;
  font-weight: 400;
  margin: 0;
  line-height: 1;
}

.phone-icon {
  width: 18px;   /* ← ограничиваем размер */
  height: 18px;
  object-fit: contain;
}


.header__phone:hover {
  color: var(--accent);
}

.header__phone:hover .phone-icon {
  filter: brightness(0) saturate(100%) invert(31%) sepia(11%) saturate(1576%) hue-rotate(163deg) brightness(90%) contrast(91%);
}










.hero.hero--e {
  position: relative;
  height: 100vh;
  padding-top: 120px;
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
}

/* видео + затемнение */
.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.68);
  z-index: 2;
}

/* контейнер hero */
.hero__inner-e {
  position: relative;
  z-index: 5;
  max-width: 1200px;

  display: flex;
  flex-direction: column;
  gap: 24px;

  margin: 0 auto;
  text-align: center;
  align-items: center;
}

/* kicker */
.hero__kicker-e {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  margin-bottom: 6px;
}

/* title */
.hero__title-e {
  font-size: 40px;
  line-height: 1.22;
  font-weight: 700;
  margin: 0;
}

/* lead */
.hero__lead-e {
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255,255,255,0.9);
  max-width: 640px;
  margin: 0 auto 6px;
}

/* chips */
.hero__chips-e {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 14px;
  margin-top: 8px;
}

.chip-e {
  font-size: 13px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.15);
}

/* разделитель */
.hero__divider-e {
  width: 100%;
  height: 1px;
  background: rgba(255,255,255,0.16);
  margin: 4px 0 10px;
}

/* кнопки */
.hero__buttons-e {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 6px;
}

.hero-btn-main-e {
  padding: 14px 32px;
  border-radius: 12px;
  text-align: center;
  background: #913661;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.35s ease;
}

.hero-btn-main-e:hover {
  background: #CA578D;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(145,54,97,0.25),
              0 0 22px rgba(202,87,141,0.35);
}

.hero-btn-sec-e {
  padding: 14px 32px;
  border-radius: 12px;
  border: 2px solid rgba(255,255,255,0.8);
  color: rgba(255,255,255,0.9);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.35s ease;
}

.hero-btn-sec-e:hover {
  background: rgba(255,255,255,0.95);
  color: #913661;
  transform: translateY(-2px);
  box-shadow: 0 0 18px rgba(255,255,255,0.6);
}

/* note */
.hero__note-e {
  margin-top: 6px;
  font-size: 14px;
  color: rgba(255,255,255,0.85);
  max-width: 520px;
  line-height: 1.6;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* ===== ANIMATION ===== */

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* базовая анимация для всех элементов внутри hero */
.hero__inner-e > * {
  opacity: 0;
  animation: fadeUp 0.9s ease forwards;
}

/* задержки по элементам */
.hero__kicker-e  { animation-delay: 0.1s; }
.hero__title-e   { animation-delay: 0.25s; }
.hero__lead-e    { animation-delay: 0.45s; }
.hero__chips-e   { animation-delay: 0.65s; }
.hero__divider-e { animation: fade 0.6s ease forwards; animation-delay: 0.85s; }
.hero__buttons-e { animation-delay: 1.05s; }
.hero__note-e    { animation-delay: 1.25s; }

/* отдельная ступенчатая анимация для чипсов */
.hero__chips-e .chip-e {
  opacity: 0;
  animation: fadeUp 0.7s ease forwards;
}

.hero__chips-e .chip-e:nth-child(1) { animation-delay: 0.7s; }
.hero__chips-e .chip-e:nth-child(2) { animation-delay: 0.85s; }
.hero__chips-e .chip-e:nth-child(3) { animation-delay: 1.0s; }




















/* Выпадающее меню */
.dropdown {
  position: relative;
}

.dropdown__link {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: #333;
  font-weight: 500;
  text-decoration: none;
  transition: var(--transition);
}

/* стрелка */
.dropdown__arrow {
  width: 18px;
  height: 18px;
  color: #172833;
  transition: transform 0.3s ease, color 0.3s ease;
}

/* лёгкий поворот при наведении */
.dropdown:hover .dropdown__arrow {
  transform: rotate(180deg);
  color: var(--accent);
}

/* выпадающий блок */
.dropdown__menu {
  position: absolute;
  top: calc(100% + 15px);
  left: 0;
  min-width: 240px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.29);
  list-style: none;
  padding: 10px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 99;
}

/* показываем при наведении */
.dropdown:hover .dropdown__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* элементы внутри */
.dropdown__menu li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  transition: var(--transition);
}

/* иконки */
.dropdown__icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  opacity: 0.8;
}

/* hover эффект */
.dropdown__menu li a:hover {
  background: rgba(83, 123, 149, 0.08);
  color: var(--accent);
}

.dropdown__menu li a:hover .dropdown__icon {
  opacity: 1;
}






.hero__btn-main {
  position: relative;
  background: var(--accent);
  color: var(--white);
  padding: 14px 34px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  overflow: hidden;
  transition: var(--transition);
}

/* сам блик */
.hero__btn-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  animation: shine 10s infinite ease-in-out;
}

/* лёгкий подъём при ховере */
.hero__btn-main:hover {
  transform: translateY(-3px);
  background: #913661; /* чуть темнее при ховере */
}

@keyframes shine {
  0% {
    left: -75%;
  }
  8% {
    left: 125%;
  }
  100% {
    left: 125%;
  }
}










:root {
  --ink:#172833;
  --muted:#8A8F96;
  --tile:#f2f3f5;
}











/* ===== Блок ситуаций при ДТП — "тикеты" ===== */

.dtp-situations {
  padding: 110px 0 120px;
  background: #ffffff;
}

.dtp-situations__head {
  text-align: center;
  margin-bottom: 40px;
}

.dtp-situations__title {
  font-family: var(--font-main);
  font-size: 36px;
  font-weight: 700;
  color: #172833;
  margin-bottom: 10px;
}

.dtp-situations__sub {
  font-size: 15px;
  color: #666;
}

/* Сетка тикетов */
.dtp-situations-grid {
  counter-reset: dtp-counter;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 26px;
  margin-top: 32px;
  margin-bottom: 40px;
}

/* Тикет */
.dtp-ticket {
  position: relative;
  padding: 18px 22px 18px 22px;
  border-radius: 18px;
  background: #f6f7f9;
  border: 1px solid rgba(0,0,0,0.04);
  display: flex;
  overflow: hidden;
  cursor: default;
  transition:
    background .25s ease,
    box-shadow .25s ease,
    transform .22s ease,
    border-color .22s ease;
}

/* Левая цветная полоса */
.dtp-ticket__line {
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #CA578D, #f39abf);
  margin-right: 14px;
  flex-shrink: 0;
}

/* Контент тикета */
.dtp-ticket__content {
  position: relative;
  z-index: 1;
}

/* Полупрозрачный номер справа */
.dtp-ticket::after {
  counter-increment: dtp-counter;
  content: "0" counter(dtp-counter);
  position: absolute;
  top: 10px;
  right: 14px;
  font-family: var(--font-main);
  font-size: 26px;
  font-weight: 700;
  color: rgba(23, 40, 51, 0.12);
}

/* Тег/лейбл */
.dtp-ticket__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #8A8F96;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(0,0,0,0.04);

  margin-bottom: 6px;
}

/* Заголовок */
.dtp-ticket__title {
  font-size: 16px;
  font-weight: 600;
  color: #172833;
  margin-bottom: 4px;
}

/* Маленькое пояснение */
.dtp-ticket__hint {
  font-size: 13px;
  color: #6b7178;
  line-height: 1.5;
}

/* Ховер */
.dtp-ticket:hover {
  background: #ffffff;
  border-color: rgba(202,87,141,0.26);
  box-shadow: 0 14px 32px rgba(202,87,141,0.16);
  transform: translateY(-3px);
}

/* CTA снизу */
.dtp-situations-cta {
  text-align: center;
}

.dtp-situations-cta p {
  margin-bottom: 30px;
  font-size: 15px;
  color: #555;
}

.dtp-situations-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 13px 26px;
  border-radius: 12px;
  background: #913661;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;

  box-shadow: 0 12px 26px rgba(202,87,141,0.26);
  transition: 0.25s ease;
}

.dtp-situations-btn:hover {
  background: #CA578D;
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(145,54,97,0.3);
}

/* Адаптив */
@media (max-width: 900px) {
  .dtp-situations-grid {
    grid-template-columns: 1fr;
  }
}











/* ===== ЭФФЕКТНАЯ БЕГУЩАЯ СТРОКА ===== */
.marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: radial-gradient(circle at center, #0d1b22 0%, #111a20 100%);
  padding: 5px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.marquee::before,
.marquee::after {
  content: "";
  position: absolute;
  top: 0;
  width: 120px;
  height: 100%;
  z-index: 2;
}

.marquee::before {
  left: 0;
  background: linear-gradient(90deg, #0d1b22 0%, transparent 100%);
}
.marquee::after {
  right: 0;
  background: linear-gradient(270deg, #0d1b22 0%, transparent 100%);
}

.marquee__track {
  display: flex;
  white-space: nowrap;
  animation: scroll 20s linear infinite;
}

.marquee__content {
  display: flex;
  gap: 80px;
  align-items: center;
}

.marquee__content span {
  font-family: "RFDewiExtended", sans-serif;
  font-weight: 700;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #fff;
  text-shadow:
    0 0 8px rgba(83,123,149,0.6),
    0 0 20px rgba(83,123,149,0.3);
  opacity: 0.95;
  transition: opacity 0.3s ease;
}


/* ===== АНИМАЦИЯ ===== */
@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}














/* ===== TEAM SECTION ===== */
/* ===== TEAM SECTION ===== */
/* ===== TEAM SECTION ===== */
.team {
  background:#fff;
  padding:100px 0;
}

/* ВАЖНО: перетираем старый flex-row */
.team__inner{
  display:grid;
  grid-template-areas:
    "head"
    "cards"
    "footer";
  gap:32px;
  align-items:start;
}

.team__head{ grid-area: head; max-width: 820px; }

.team__title {
  font-size:32px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:10px;
}

.team__subtitle {
  font-size:18px;
  color:var(--muted);
  margin-bottom:20px;
}

.team__desc {
  font-size:15px;
  line-height:1.6;
  color:#555;
  margin:0;
}

/* ВАЖНО: делаем 3 в ряд */
.team__cards{
  grid-area: cards;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

/* Кнопка строго под карточками */
.team__footer{
  grid-area: footer;
  display:flex;
  justify-content:center; /* если нужно слева — поменяй на flex-start */
}

.team__btn {
  background: #913661;
  color:#fff;
  padding:12px 26px;
  border-radius:8px;
  font-weight:600;
  text-decoration:none;
  transition:var(--transition);
}
.team__btn:hover {
  background:#CA578D;
  transform:translateY(-2px);
}

/* Карточка */
.team-card {
  background:#f7f8fa;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,0.06);
  transition:transform .3s ease, box-shadow .3s ease;
}
.team-card:hover {
  transform:translateY(-5px);
  box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

.team-card__img {
  width:100%;
  height:260px;
  background-size:cover;
  background-position:center;
  border-radius: 12px;
}

.team-card__body { padding:18px 20px 22px; }

.team-card__name {
  font-size:18px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:6px;
}

.team-card__role {
  font-size:14px;
  color:var(--muted);
  margin-bottom:10px;
}

.team-card__text {
  font-size:14px;
  line-height:1.5;
  color:#555;
}

/* Адаптив */
@media (max-width: 1024px){
  .team__cards{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 640px){
  .team{ padding:70px 0; }
  .team__cards{ grid-template-columns:1fr; }
  .team__footer{ justify-content:stretch; }
  .team__btn{ width:100%; text-align:center; }
}











.cta-banner__link {
  cursor: pointer;
}


.dtp-hero__btn {
  cursor: pointer;
}

dtp-reasons__btn {
  cursor: pointer;
}

over-hero__btn-main {
  cursor: pointer;
}





/* ===== CTA-BANNER ===== */
.cta-banner {
  padding: 100px 0;
}

.cta-banner .container {
  position: relative;
}

/* сама плашка */
.cta-banner__inner {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, #121a23 0%, #233647 60%, #2b4861 100%);
  box-shadow: 0 10px 28px rgba(0,0,0,0.12);
  width: calc(100% + 80px);
  margin-left: -40px;
}

.cta-banner__bg {
  position: absolute;
  inset: 0;
  background: url("../img/cta-bg.svg") right center/cover no-repeat;
  z-index: 1;
  transition: transform 20s ease-in-out;
}

.cta-banner__inner:hover .cta-banner__bg {
  transform: scale(1.05);
}

/* затемнение — теперь тоже со скруглением */
.cta-banner__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 32px; /* добавлено: совпадает с родительским */
  z-index: 2;
  pointer-events: none; /* чтобы не мешало ховеру */
  transition: opacity 0.4s ease;
}


/* контент */
.cta-banner__content {
  position: relative;
  z-index: 3;
  text-align: center;
  padding: 70px 40px;
  max-width: 900px;
  margin: 0 auto;
}

.cta-banner__subtitle {
  font-family: "RFDewiExtended", sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: rgba(255,255,255,0.9);
  margin-bottom: 26px;
}

.cta-banner__title {
  font-family: "RFDewiExtended", sans-serif;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.25;
  color: #fff;
  margin-bottom: 36px;
}

/* ===== КНОПКА "Подробнее" ===== */
.cta-banner__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "RFDewiExtended", sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  text-decoration: none;
  position: relative;
  padding: 10px 22px;
  border-radius: 999px;
  background: none;
  backdrop-filter: none;
  box-shadow: none;
  transition: all 0.3s ease;
}

/* Стрелка */
.cta-banner__link svg {
  width: 22px;
  height: 23px;
  stroke: currentColor;
  transition: all 0.4s ease;
  position: relative;
  z-index: 2;
}

/* Белый квадрат за стрелкой (при ховере появляется) */
.cta-banner__link::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) scale(0);
  width: 32px;  /* было 26px — увеличили */
  height: 32px; /* было 26px — увеличили */
  background: #fff;
  border-radius: 8px; /* чуть мягче углы */
  transition: all 0.35s ease;
  opacity: 0;
  z-index: 1;
  box-shadow: 0 4px 14px rgba(255,255,255,0.25); /* легкая “глубина” */
}

/* Hover */
.cta-banner__link:hover {
  transform: none; /* убрали прыжок */
}

/* при наведении — квадрат появляется, стрелка сдвигается чуть правее */
.cta-banner__link:hover::after {
  transform: translateY(-50%) scale(1);
  opacity: 1;
}

.cta-banner__link:hover svg {
  transform: translateX(6px);
  color: var(--accent);
  stroke: var(--accent);
}











.cta-banner___bg {
  position: absolute;
  inset: 0;
  background: url("../img/cta--bg.svg") right center/cover no-repeat;
  z-index: 1;
  transition: transform 20s ease-in-out;
}






















/* ===== WHY LAWFLOW — обновлённый и выровненный ===== */
.why {
  padding: 250px 0;
  background: #fff;
}

.why__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0px; /* ← было 60px, теперь меньше */
  flex-wrap: wrap;
}

/* левая часть с текстом */
.why__content {
  flex: 1;
  min-width: 300px;
}

.why__title {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 42px;
  font-weight: 700;
  color: #172833;
  margin-bottom: 20px;
}

.why__desc {
  font-size: 18px;
  line-height: 1.7;
  color: #8A8F96;
  max-width: 420px;
}

/* ===== Плитка (2x2, равные карточки) ===== */
.why__grid {
  display: grid;
  grid-template-columns: repeat(2, max-content); /* карточки занимают свою ширину */
  justify-content: center;                      /* центрируем обе колонки */
  column-gap: 30px;
  row-gap: 30px;
  margin-top: -90px;
}

/* эффект появления */
.why-card.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* создаём аккуратную “ступеньку” без лишнего разрыва */
.why-card:nth-child(1),
.why-card:nth-child(3) {
  transform: translateY(40px); /* опускаем левую колонку визуально ниже */
}



/* hover */
.why-card:hover {
  box-shadow: 0 16px 38px rgba(145, 54, 97, 0.55);
  filter: brightness(1.08);
}

/* иконки и текст */
.why-card__icon {
  width: 70px;
  height: 70px;
  margin-bottom: 16px;
  padding: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(8px);

  transition:
    transform 0.4s cubic-bezier(.22,1,.36,1),
    background 0.35s ease,
    box-shadow 0.35s ease;
  
  /* чтобы было чуть «живее» */
  will-change: transform, box-shadow, background;
}

/* небольшая реакция при наведении */
.why-card:hover .why-card__icon {
  transform: scale(1.12) translateY(-4px);
  background: rgba(255, 255, 255, 0.22);
  box-shadow: 0 12px 26px rgba(255,255,255,0.18);
}

.why-card h3 {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}

.why__grid {
  margin-top: -120px; /* подними весь блок с карточками вверх */
}

/* фикс, чтобы левая колонка не прыгала при hover */
.why-card:nth-child(1):hover,
.why-card:nth-child(3):hover {
  transform: translateY(40px); /* сохраняем смещение */
  box-shadow: 0 8px 32px rgba(145, 54, 97, 0.45);
  filter: brightness(1.08);
}

/* Кнопка */
.why__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "RFDewiExtended", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #172833;
  text-decoration: none;
  margin-top: 28px;
  transition: color .3s ease;
}

.why__link:hover { color: #913661; }

/* Слот для стрелки (окошко), чтобы «уходила» и «приходила» */
.why__link .arrow-slot {
  width: 32px;         /* ширина окна */
  height: 16px;        /* высота окна */
  overflow: hidden;    /* прячем, когда уходит за край */
  display: inline-block;
  position: relative;
}

/* Стрелка внутри слота */
.why__link .arrow-icon {
  width: 32px;
  height: 12px;
  will-change: transform, opacity;
  transform: translateX(0);
  opacity: 1;
}

/* Анимация на hover: вправо -> пауза (невидима) -> телепорт влево -> въезд в центр */
.why__link:hover .arrow-icon {
  animation: arrowSwap 1.2s cubic-bezier(.22,.61,.36,1) 1;
}

@keyframes arrowSwap {
  0%   { transform: translateX(0);     opacity: 1; }
  40%  { transform: translateX(160%);  opacity: 0; }  /* ушла быстрее */
  42%  { transform: translateX(-160%); opacity: 0; }  /* почти сразу телепорт влево */
  100% { transform: translateX(0);     opacity: 1; }  /* выехала обратно */
}







/* ===== ДОБАВЛЯЕМ ОПИСАНИЕ В КАРТОЧКИ ===== */

/* карточка */
.why-card {
  background: radial-gradient(circle at 0% 10%, rgba(145, 54, 97, 0.8) 0%, rgba(56, 18, 36, 1) 80%);
  border-radius: 22px;
  padding: 30px 26px 40px;
  text-align: center;
  box-shadow: 0 8px 26px rgba(145, 54, 97, 0.35);

  width: 310px;         /* ← фиксированная аккуратная ширина */
  max-width: 100%;      /* безопасный адаптив */
  min-height: 240px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;

  color: #fff;
  transition:
    transform 0.45s cubic-bezier(.25,1,.5,1),
    box-shadow 0.45s cubic-bezier(.25,1,.5,1),
    filter 0.45s cubic-bezier(.25,1,.5,1);
}


.why-card h3 {
  margin-bottom: 12px;
}


.why-card__desc {
  font-size: 15px;
  line-height: 1.3;
  color: rgba(255,255,255,0.9);
  margin-top: 6px;
  max-width: 260px;
}

/* красиво смещаем левую колонку */
.why-card:nth-child(1):hover,
.why-card:nth-child(3):hover {
  transform: translateY(40px);
}

/* плавная адаптация */
@media (max-width: 860px) {
  .why-card {
    padding: 32px 22px;
    text-align: center;
  }

  .why-card__desc {
    max-width: 100%;
  }

  .why-card:nth-child(1),
  .why-card:nth-child(3) {
    padding-top: 32px;
  }
}

/* АДАПТИВ */
@media (max-width: 840px) {
  .why__grid {
    grid-template-columns: 1fr;
  }

  .why-card {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
  }
}





















/* ===== ABOUT LAWFLOW ===== */
.about {
  padding: 160px 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.about__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 80px;
  position: relative;
}

/* Левая часть (фото-заглушка) */
.about__image {
  flex: 1;
  min-width: 400px;
  height: 500px;
  position: relative;
  overflow: hidden;
  border-top-left-radius: 120px; /* закругление слева */
}

.about__image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* чтобы картинка заполняла блок без искажений */
  border-top-left-radius: 120px; /* повторяем радиус для самой картинки */
  display: block;
}


/* Правая часть */
.about__content {
  flex: 1.1;
  min-width: 420px;
  position: relative;
}

.about__title {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 44px;
  font-weight: 700;
  color: #172833;
  margin-bottom: 28px;
}

.about__desc {
  font-size: 18px;
  line-height: 1.8;
  color: #8A8F96;
  margin-bottom: 90px;
  max-width: 560px;
}

/* ===== Плашка статистики ===== */
.about__stats {
  display: flex;
  gap: 40px;
  background: #f2f2f2;
  border-radius: 16px;
  padding: 22px 42px;
  justify-content: space-between;
  position: absolute;
  bottom: -60px;
  left: -160px; /* ← выдвигаем влево, чтобы наехала на серый блок */
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}

.stat {
  text-align: center;
  min-width: 120px;
}

.stat h3 {
  font-size: 30px;
  font-weight: 700;
  color: #5f333d;
  margin-bottom: 6px;
  font-family: "RFDewiExtended", sans-serif;
}

.stat p {
  font-size: 15px;
  color: #7b8188;
}

/* Разделители между статистическими блоками */
.about__stats .stat:not(:last-child) {
  position: relative;
  padding-right: 40px; /* расстояние до линии справа */
}

.about__stats .stat:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 60%;
  background: rgba(23, 40, 51, 0.15); /* еле заметный серый, прозрачный */
  border-radius: 1px;
}






















.process {
  position: relative;
  height: 500vh; /* ← создаём «зону» для прокрутки 4 шагов */
}

.process__panel {
  background: linear-gradient(135deg, #913661, #381224);
  border-radius: 40px;
  color: #fff;
  width: 100%;
  max-width: 1300px;
  height: 455px;
  padding: 60px 80px;
  overflow: hidden;
  
}

.process__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px;
  align-items: center;
  height: 85%;
}


/* Левая часть */
.process__left {
  align-self: center;
}

.process__title {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 62px;
  font-weight: 800;
  margin-bottom: 20px;
  line-height: 1.1;
}

.process__text {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  max-width: 400px;
  padding-bottom: 35px;
}

/* Правая часть */
.process__right {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Карточки */
.process-step {
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 440px;
  padding: 30px 40px;
  border-radius: 20px;

  /* 👇 стекломорфизм */
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);

  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.process-step {
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.6s ease, transform 0.6s ease;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(12px);
  border-radius: 20px;
  padding: 30px 40px;
  max-width: 440px;
  width: 100%;
}

.process-step{
  position:absolute;
  left:50%; top:20%;
  transform:translate(-50%,-50%);
  width:100%; max-width:440px;
  padding:30px 40px; border-radius:20px;

  /* стекло */
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 32px rgba(0,0,0,.25);

  /* анимируем через JS – CSS-переходы не нужны */
  will-change: transform, opacity;
  opacity:0;
}


.process-step.active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.process-step:not(.active) {
  opacity: 0;
  transform: translate(-50%, -40%) scale(0.98);
  z-index: 1;
}

/* Текст в шагах */
.process-step h3 {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 10px;
}

.process-step p {
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
}


.process__wrapper{
  position:sticky; top:0;
  height:100vh; display:flex;
  align-items:center; justify-content:center;
}

.process__scroll {
  position: absolute;
  right: -30px;      /* можешь подвинуть ближе/дальше к плашкам */
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 200px;     /* длина шкалы */
  background: rgba(255,255,255,0.15);
  border-radius: 2px;
  overflow: hidden;
}

.process__scroll-progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: rgba(255,255,255,0.8);
  transition: height 0.2s linear;
}


















/* ===== CASES SECTION ===== */

.cases {
  padding: 120px 0;
}

.cases__header {
  text-align: left;
  max-width: 700px;
  margin-bottom: 60px;
}

.cases__title {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 56px;
  font-weight: 800;
  color: #111;
  margin-bottom: 20px;
}

.cases__desc {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.65);
}

.cases__slider {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;

  /* ⬇️ Скрыть полосу прокрутки везде */
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* IE/Edge legacy */
  overscroll-behavior-inline: contain;
  touch-action: pan-x;            /* жесты только по X */
}

.cases__track {
  display: flex;
  gap: 24px;
  padding: 0;                     /* ⬅️ убрали нижний паддинг, чтобы не было линии */
  transform: none !important;
}

.cases__slider::-webkit-scrollbar { width:0; height:0; display:none; } /* WebKit */

/* карточка кейса */
.case-card {
  position: relative;
  flex: 0 0 280px;
  height: 360px;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.case-card {
  flex: 0 0 280px;
  scroll-snap-align: start;
}

.case-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, transparent 70%);
}

.case-card__info {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: #fff;
  z-index: 2;
}

.case-card__info h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}

.case-card__info p {
  font-size: 14px;
  opacity: 0.9;
}

/* ===== Кнопка “все кейсы” ===== */
.case-card--more {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 2px solid rgba(0, 0, 0, 0.3);
  color: #111;
  font-weight: 600;
  cursor: pointer;
  /* ⬇️ мягкая анимация “наплыва” */
  transition:
    background-color 0.6s cubic-bezier(.22,.61,.36,1),
    color 0.6s cubic-bezier(.22,.61,.36,1),
    border-color 0.6s cubic-bezier(.22,.61,.36,1),
    box-shadow 0.6s cubic-bezier(.22,.61,.36,1);
}

.case-card--more:hover {
  background: #F9F9F9; /* ← твой розовый */
  color: #111;
  border-color: #DFDFDF;
  box-shadow: 0 6px 18px rgba(250, 207, 227, 0.35);
}

.case-card__btn {
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
  color: #444444;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform 0.25s ease;
}

.case-card__btn::after {
  content: "→";
  transition: transform 0.25s ease;
}

.case-card__btn:hover::after {
  transform: translateX(3px);
}

/* ===== Стрелки навигации ===== */
.cases__nav {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 40px;
}

.cases__arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #fff;
  cursor: pointer;
  font-size: 20px;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  box-shadow: none;
}

.cases__arrow:hover {
  background: #CA578D;
  color: #fff;
  border-color: #913661;
}

.cases__arrow:active {
  filter: brightness(0.9);
}

.cases__arrow svg,
.cases__arrow i,
.cases__arrow span {
  display: inline-block;
  vertical-align: middle;
  transform: translateY(0);
}

.cases {
  position: relative;
}


.cases__slider { position: relative; } /* чтобы позиционировать от него при желании */

.cases__nav {
  bottom: 40px;          /* поднимаем стрелки ближе к кейсам */
  right: 60px;           /* немного отступаем от края блока */
  display: flex;
  gap: 12px;
  z-index: 9;
  pointer-events: none;  /* сам контейнер не кликается */
  flex-wrap: nowrap;
    justify-content: center;
}

.cases__arrow {
  pointer-events: auto;  /* кликабельны только кнопки */
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #fff;
  font-size: 20px;
  color: #000;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}


.cases__arrow:hover {
  background: #CA578D;
  color: #fff;
  border-color: #913661;
}

.cases__arrow:active {
  transform: scale(0.95);
  filter: brightness(0.9);
}





/* БАЗА: ничего не прыгает, фото не трогаем */
.case-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  backface-visibility: hidden;
  will-change: opacity, transform;
}

/* 1) Статичный градиент (остается всегда одинаковым, без transition) */
.case-card__overlay {
  position: absolute;
  inset: 0;
  /* лёгкий верхний градиент, как подсказка, НО без анимации */
  background:
    linear-gradient(to top, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0) 70%);
  z-index: 1;
}

/* 2) Доп. вуаль, которую только плавно меняем opacity (никаких background-анимаций) */
.case-card__overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.28);       /* сколько нужно затемнения при hover */
  opacity: 0;                         /* по умолчанию — почти не видно */
  transition: opacity 420ms cubic-bezier(.22,.61,.36,1);
  will-change: opacity;
}

/* при ховере просто усиливаем вуаль */
.case-card:hover .case-card__overlay::before {
  opacity: 1;                         /* становится темнее плавно */
}

/* 3) Стеклянная (или белая) стрелка — только opacity/transform */
.case-card::after {
  content: "→";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  /* «стекло» (можно сделать чисто белым, см. ниже вариант) */
  background: rgba(255,255,255,0.25);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.45);

  color: #fff;                        /* белая стрелка */
  font-size: 26px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 6px 22px rgba(0,0,0,0.20);

  opacity: 0;
  transform: translate(-50%, -50%) scale(0.9);
  pointer-events: none;
  z-index: 2;
  transition:
    opacity 420ms cubic-bezier(.22,.61,.36,1) 60ms,
    transform 420ms cubic-bezier(.22,.61,.36,1) 60ms;
}

.case-card:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* никаких эффектов у кнопки "все кейсы" */
.case-card--more::after { display: none; }















/* ===== FAQ ===== */
.faq {
  padding: 160px 0 100px;
  background: #EFEFEF;
}

.faq__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.faq__col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Карточка вопроса */
.faq-item {
  background: #fff;
  border: none;
  border-radius: 16px;
  overflow: hidden;
  transition: background 0.25s ease;
}

/* Кнопка вопроса */
.faq-q {
  /* убираем all: unset — он ломает поведение ::before / ::after */
  background: none;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 20px 24px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  text-align: left;
  transition: color 0.3s ease;
  font-family: "RFDewiExtended", sans-serif; /* 👈 вернули твой шрифт */
}

.faq-q:hover {
  color: var(--accent);
}

/* ===== Плюс / Крест ===== */
.faq-icon {
  position: relative;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-left: 12px;
  display: inline-block;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  background-color: #913661; /* ← твой розовый */
  border-radius: 2px;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* вертикальная часть */
.faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* когда открыт — вертикаль убираем, остаётся минус */
.faq-item.open .faq-icon::after {
  opacity: 0;
}

/* ===== Ответ ===== */
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.35s ease;
  padding: 0 24px;
  opacity: 0;
}

.faq-item.open .faq-a {
  opacity: 1;
  padding-bottom: 20px;
}

.faq-a p {
  margin: 0;
  color: rgba(0, 0, 0, 0.75);
  line-height: 1.65;
  font-size: 15px;
}

/* Активная карточка */
.faq-item.open {
  background: #fff;
}

/* ===== Переменные ===== */
:root {
  --accent: #CA578D;
  --ink: #172833;
  --muted: #8A8F96;
  --card: #f5f6f7;
  --card-hover: #fff;
  --stroke: rgba(0, 0, 0, 0.08);
  --shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}



















.reviews-mosaic {
  position: relative;
  padding: 140px 0;
  background: #fff;
  overflow: visible;
}

/* Контейнер с ограничением */
.reviews-mosaic__container {
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: 0 40px;
  box-sizing: border-box;
}

/* Заголовок */
.reviews-mosaic__header {
  text-align: center;
  margin-bottom: 60px;
}
.reviews-mosaic__title {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 46px;
  font-weight: 800;
  color: #172833;
  margin-bottom: 14px;
}
.reviews-mosaic__subtitle {
  font-size: 18px;
  color: rgba(0, 0, 0, 0.55);
}

/* Ряды плиток */
.reviews-mosaic__rows {
  display: flex;
  flex-direction: column;
  gap: 36px;
  position: relative;
  z-index: 2; /* плитки поверх fade */
}

/* Каждый ряд */
.reviews-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  justify-content: flex-start;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

/* Плитки */
.review-tile {
  height: 240px;
  border-radius: 16px;
  flex-shrink: 0;
  cursor: pointer;
  background-size: cover;
  background-position: center;
}
.review-tile:hover {
  transform: none;
  box-shadow: none;
  cursor: default;
}


/* Разные ширины */
.review-tile.narrow { width: var(--tile-narrow); }
.review-tile.medium { width: var(--tile-medium); }
.review-tile.wide   { width: var(--tile-wide); }

/* Белое мощное перекрытие — ВНУТРИ контейнера */
.reviews-mosaic__fade {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 350px;

  /* сделаем fade снова визуально ярким */
  background: linear-gradient(to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.9) 20%,
    #fff 55%,
    #fff 100%);

  z-index: 2; /* ← подняли выше плиток, но ниже кнопки */
  pointer-events: none;
  mix-blend-mode: normal;
}

/* Кнопка */
.reviews-mosaic__footer {
  position: relative;
  z-index: 3;
  text-align: center;
  margin-top: 50px;
}

.reviews-mosaic__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 36px;
  font-weight: 600;
  border-radius: 50px;
  text-decoration: none;
  font-family: "RFDewiExtended", sans-serif;
  transition: all 0.25s ease; /* плавность */
  cursor: pointer;
}


.reviews-mosaic__btn:hover {
  background: #CA578D;
  color: #fff;
  box-shadow: 0 6px 18px rgba(145, 54, 97, 0.35);
}

/* Переменные ширины */
:root {
  --tile-narrow: 240px;
  --tile-medium: 380px;
  --tile-wide: 520px;
}

/* Вторая кнопка — закрашенная */
.reviews-mosaic__btn--filled {
  background: #913661;   /* основной цвет */
  color: #fff;
  border: none;          /* бордер убираем */
  margin-right: 0;
}


.reviews-mosaic__btn--filled:hover {
  background: #CA578D;   /* hover цвет */
  box-shadow: 0 6px 18px rgba(145, 54, 97, 0.35);
}

/* ===== ВТОРАЯ КНОПКА (контур) ===== */
.reviews-mosaic__btn:not(.reviews-mosaic__btn--filled) {
  border: 2px solid #913661;
  color: #913661;
  background: #fff;
}

.reviews-mosaic__btn:not(.reviews-mosaic__btn--filled):hover {
  background: #CA578D;
  border-color: #CA578D;
  color: #fff;
  box-shadow: 0 6px 18px rgba(145, 54, 97, 0.35);
}




















/* ===== CONSULT FORM ===== */
.consult {
  padding: 140px 0;
  background: linear-gradient(135deg, #913661, #381224);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.consult__container {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

.consult__title {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 42px;
  font-weight: 800;
  margin-bottom: 40px;
  color: #fff;
}

.consult__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.consult__fields {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 100%;
}

.consult__fields input {
  flex: 1;
  min-width: 260px;
  padding: 16px 22px;
  border: none;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 16px;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.consult__fields input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

.consult__fields input:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
}

/* Кнопка */
.consult__btn {
  background: #fff;
  color: #913661;
  border: none;
  font-weight: 700;
  font-size: 16px;
  border-radius: 50px;
  padding: 16px 42px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.consult__btn:hover {
  background: #f7d0e6;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(255, 255, 255, 0.25);
}

/* Подпись под формой */
.consult__note {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
  margin-top: 10px;
}

/* Декоративный фон (эффект света) */
.consult::before {
  content: "";
  position: absolute;
  top: -20%;
  left: -20%;
  width: 140%;
  height: 140%;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.15), transparent 70%);
  z-index: 0;
  opacity: 0.8;
}















/* ===== CTA (форма в плашке с фоном) ===== */
.cta {
  padding: 140px 0;
}

.cta__panel{
  position: relative;
  border-radius: 32px;
  padding: 80px 80px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 64px;
  align-items: start;
  overflow: hidden;
  /* никакого фона здесь */
  background: none;
}



.cta__panel.cta--image {
  position: relative;
  background-image: 
    url('../img/consult-bg.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


.cta__panel.cta--image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65); /* просто чёрное мягкое затемнение */
  z-index: 0;
}





.cta__left,
.cta__form {
  position: relative;
  z-index: 1; /* чтобы текст и форма были поверх затемнения */
}

.cta__left {
  align-self: start;
}


/* Текстовая часть */
.cta__title {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 50px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 20px;
}
.cta__desc {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,0.8);
  max-width: 500px;
}

/* Форма */
.cta__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 380px;
  margin-left: auto;
}

.cta__form input {
  height: 56px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.12);
  color: #fff;
  font-size: 16px;
  transition: all 0.3s ease;
}

.cta__form input::placeholder {
  color: rgba(255,255,255,0.7);
}

.cta__form input:focus {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.5);
  box-shadow: 0 0 0 3px rgba(255,255,255,0.2);
}

/* Кнопка */
.cta__btn {
  height: 56px;
  border-radius: 16px;
  border: none;
  background: #fff;
  color: #913661;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.cta__btn:hover {
  background: #f7d3e4;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Подпись */
.cta__legal {
  font-size: 10px;
  color: rgba(255,255,255,0.7);
  line-height: 1.5;
  margin-top: -10px;
  text-align: center;
}

/* адаптив */
@media (max-width: 1024px) {
  .cta__panel {
    grid-template-columns: 1fr;
    padding: 60px 40px;
    text-align: center;
  }

  .cta__form {
    margin: 0 auto;
    width: 100%;
    max-width: 420px;
  }

  .cta__title {
    font-size: 34px;
  }
}












/* Форма */
.cta__form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 380px;
  margin-left: auto;
}

.cta__form label {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
  gap: 8px;
}

/* Поля */
.cta__form input {
  height: 56px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  background: #fff; /* ← стало белым */
  color: #172833;
  font-family: "RFDewiExtended", sans-serif;
  font-weight: 400;
  font-size: 16px;
  outline: none;
  transition: all 0.25s ease;
}

/* Наведение */
.cta__form input:hover {
  border-color: rgba(145, 54, 97, 0.4);
  box-shadow: 0 0 6px rgba(145, 54, 97, 0.15);
}

/* Фокус (при нажатии) */
.cta__form input:focus {
  border-color: #913661;
  box-shadow: 0 0 0 3px rgba(145, 54, 97, 0.25);
  background: #fff; /* ← не становится прозрачным */
}

/* Когда пользователь ввёл данные */
.cta__form input:not(:placeholder-shown) {
  border-color: rgba(145, 54, 97, 0.4);
}

/* Плейсхолдер */
.cta__form input::placeholder {
  color: rgba(0, 0, 0, 0.45);
  font-weight: 400;
  transition: opacity 0.25s ease;
}

/* Плейсхолдер не исчезает, просто слегка тускнеет при фокусе */
.cta__form input:focus::placeholder {
  opacity: 0.5;
}

/* Кнопка */
.cta__btn {
  height: 56px;
  border-radius: 16px;
  border: none;
  background: #CA578D;
  color: #fff;
  font-family: "RFDewiExtended", sans-serif; /* ← фирменный шрифт */
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.cta__btn:hover {
  background: #a94a7a;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.cta__btn:active {
  transform: translateY(0);
  background: #7d2c57;
}











/* ===== Textarea ===== */
.cta__form textarea {
  min-height: 110px;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  background: #fff;
  color: #172833;
  font-family: "RFDewiExtended", sans-serif;
  font-size: 16px;
  line-height: 1.45;
  resize: vertical;
  transition: all 0.25s ease;
}

.cta__form textarea:hover {
  border-color: rgba(145, 54, 97, 0.4);
  box-shadow: 0 0 6px rgba(145, 54, 97, 0.15);
}

.cta__form textarea:focus {
  border-color: #913661;
  box-shadow: 0 0 0 3px rgba(145, 54, 97, 0.25);
}

.cta__form textarea::placeholder {
  color: rgba(0, 0, 0, 0.45);
}

/* ===== File Input ===== */
.cta__file input[type="file"] {
  margin-top: 6px;
  padding: 12px;
  border-radius: 14px;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  background: #fff;
  color: #172833;
  font-family: "RFDewiExtended", sans-serif;
  font-size: 14px;
  cursor: pointer;
}

.cta__file input[type="file"]::-webkit-file-upload-button {
  background: #CA578D;
  color: #fff;
  border: none;
  padding: 10px 16px;
  border-radius: 10px;
  cursor: pointer;
  font-family: "RFDewiExtended", sans-serif;
  transition: 0.25s ease;
}

.cta__file input[type="file"]::-webkit-file-upload-button:hover {
  background: #a94a7a;
}

























.footer {
  background: #fff;
  color: #172833;
  padding: 50px 0 0px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  font-family: "RFDewiExtended", sans-serif;
}

.footer__container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 60px;
  margin-bottom: -10px;
}

.footer__contacts {
  display: flex;
  gap: 60px;
  margin-bottom: 26px; /* ↑ расстояние между контактами и реквизитами */
}

.footer__label {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.55);
  margin-bottom: 4px;
}

.footer__contact-item a {
  color: #172833;
  text-decoration: none;
  transition: color 0.3s ease;
  font-weight: 600;
}

.footer__contact-item a:hover {
  color: #913661;
}

.footer__company {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.55);
  line-height: 1.5;
}

/* ----------- ПРАВАЯ ЧАСТЬ ----------- */
.footer__right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.footer__title {
  font-size: 18px;
  font-weight: 700;
  color: #172833;
  line-height: 1.4;
}

.footer__actions {
  display: flex;
  gap: 14px;
}

.footer__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 40px;
  padding: 12px 28px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.footer__btn--fill {
  background: #913661;
  color: #fff;
}

.footer__btn--fill:hover {
  background: #a94a7a;
  box-shadow: 0 4px 14px rgba(145, 54, 97, 0.3);
}

.footer__btn--line {
  border: 2px solid #913661;
  color: #913661;
}

.footer__btn--line:hover {
  background: #913661;
  color: #fff;
}

/* ----------- НИЖНЯЯ ЛИНИЯ И СОЦСЕТИ ----------- */
.footer__bottom {
  margin-top: 40px;
  /* border-top убрали отсюда */
}

.footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;

  border-top: 1px solid rgba(0, 0, 0, 0.1); /* ← теперь линия только по контейнеру */
  padding-top: 24px;
}

.footer__copy {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
}

/* Соцсети */
.footer__socials {
  display: flex;
  gap: 10px;
  margin-left: auto; /* ← если контейнер сузится, соцсети прилипнут вправо */
}


.social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e9e9e9;
  color: #172833;
  border-radius: 24px;
  padding: 8px 18px;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.3s ease;
}


.social:hover {
  background: #913661;
  color: #fff;
}

/* адаптив */
@media (max-width: 900px) {
  .footer__container {
    flex-direction: column;
    gap: 40px;
  }

  .footer__contacts {
    flex-direction: column;
    gap: 12px;
  }

  .footer__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer__socials {
    flex-wrap: wrap;
  }
}

.footer__bottom {
  padding-top: 24px;
  margin-top: 40px;
}

/* линия внутри контейнера */
.footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;

  border-top: 1px solid rgba(0, 0, 0, 0.15); /* немного темнее */
  padding-top: 24px;
}

/* копирайт */
.footer__copy {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
}

/* соцсети */
.footer__socials {
  display: flex;
  gap: 12px;
}

.social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px; /* расстояние между иконкой и текстом */
  border: 1.8px solid rgba(0, 0, 0, 0.2); /* потемнее */
  border-radius: 28px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 500;
  color: #172833;
  text-decoration: none;
  background: transparent;
  transition: all 0.3s ease;
}

.social:hover {
  background: #EBEBEB;
  border-color: #D3D3D3;
  color: #172833;
}

/* иконки */
.social__icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
}

/* ===== ТРЕТЬЯ ЧАСТЬ ФУТЕРА ===== */
.footer__bottomline {
  background: #913661;
  padding: 14px 0;
  color: #fff;
  margin-top: 30px;       /* небольшой отступ сверху */
}

.footer__bottomline-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 1300px;      /* ограничиваем по контейнеру */
  margin: 0 auto;         /* центрируем по горизонтали */
  padding: 0 20px;        /* внутренние отступы */
}

/* ссылки слева */
.footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.footer__link {
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  opacity: 0.9;
  transition: all 0.3s ease;
}

.footer__link:hover {
  opacity: 1;
  text-decoration: underline;
}

/* адрес справа */
.footer__address {
  font-size: 14px;
  opacity: 0.9;
}

/* адаптив */
@media (max-width: 768px) {
  .footer__bottomline-inner {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
}

.footer__subtitle {
  font-size: 14px;
  font-weight: 400;
  color: rgba(23, 40, 51, 0.7);
}

















.cta__form textarea {
  font-size: 14px;       /* было 16px — уменьшаем */
  line-height: 1.45;
}





/* скрываем стандартный input */
#files {
  display: none;
}

/* контейнер */
.file-upload {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 6px;
}

/* кнопка */
.file-btn {
  background: #fff;
  color: #ca578d;
  border: none;
  padding: 12px 22px;
  border-radius: 14px;
  font-size: 15px;
  font-family: "RFDewiExtended", sans-serif;
  cursor: pointer;
  transition: 0.25s ease;
}

.file-btn:hover {
  background: #F0F0F0;
}

/* текст рядом */
.file-name {
  font-size: 14px;
  color: rgba(255,255,255,0.85);
}
















/* ===== Textarea (Новая нормальная версия в стиле input) ===== */
.cta__form textarea {
  min-height: 110px;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  background: #fff;
  color: #172833;
  font-family: "RFDewiExtended", sans-serif;
  font-size: 14px;
  line-height: 1.45;
  resize: vertical;
  outline: none;
  transition: all 0.25s ease;
  box-sizing: border-box;
  display: block;
  width: 100%;
}

/* Наведение */
.cta__form textarea:hover {
  border-color: rgba(145, 54, 97, 0.4);
  box-shadow: 0 0 6px rgba(145, 54, 97, 0.15);
}

/* Фокус (как у input!) */
.cta__form textarea:focus {
  border-color: #913661;
  box-shadow: 0 0 0 3px rgba(145, 54, 97, 0.25);
  background: #fff;
}

/* Плейсхолдер */
.cta__form textarea::placeholder {
  color: rgba(0, 0, 0, 0.45);
}






































/* ===== OVERLAY ===== */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: .3s ease;
  z-index: 999;
}

/* ===== POPUP WRAPPER ===== */
.popup {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 420px;
  max-width: 92%;
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.22);
  padding: 34px 34px 38px;
  transform: translate(-50%, -50%) scale(.85);
  opacity: 0;
  visibility: hidden;
  transition: .28s ease;
  z-index: 1000;
}

/* ACTIVE */
.popup.active,
.popup-overlay.active {
  opacity: 1;
  visibility: visible;
}
.popup.active {
  transform: translate(-50%, -50%) scale(1);
}

/* ===== CLOSE BUTTON ===== */
.popup__close {
  position: absolute;
  top: 12px;
  right: 14px;
  border: none;
  background: transparent;
  font-size: 26px;
  color: #555;
  cursor: pointer;
  transition: .2s;
}
.popup__close:hover {
  color: #000;
}

/* ===== INNER ===== */
.popup__inner {
  text-align: left;
}

.popup__logo {
  width: 110px;
  margin-bottom: 14px;
  opacity: .8;
}

.popup__title {
  font-family: "RFDewiExtended", sans-serif;
  font-size: 26px;
  font-weight: 800;
  color: #172833;
  margin-bottom: 10px;
}

.popup__subtitle {
  font-size: 14px;
  color: #5c636b;
  line-height: 1.55;
  margin-bottom: 22px;
}

/* ===== FORM ===== */
.popup__form label {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  color: #172833;
  margin-bottom: 12px;
  gap: 8px;
}

.popup__form input,
.popup__form textarea {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #d8dde4;
  background: #f9fafb;
  font-size: 15px;
  transition: .25s ease;
  font-family: inherit;
}

.popup__form input:focus,
.popup__form textarea:focus {
  border-color: #CA578D;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(202,87,141,0.22);
}

.popup__form textarea {
  height: 90px;
  resize: none;
}

.popup__file input {
  padding: 8px 0;
}

/* ===== BUTTON ===== */
.popup__btn {
  width: 100%;
  background: #CA578D;
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 14px 0;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: .28s ease;
}

.popup__btn:hover {
  background: #913661;
  box-shadow: 0 8px 20px rgba(145,54,97,0.25);
}

/* MOBILE */
@media (max-width: 480px) {
  .popup {
    padding: 28px 26px 32px;
  }

  .popup__title {
    font-size: 22px;
  }
}









/* Убираем синий outline браузера */
.popup__form input:focus,
.popup__form textarea:focus {
  outline: none !important;
  border-color: rgba(202,87,141,0.65);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(202,87,141,0.2); 
}

/* Красивая кнопка загрузки */
.file-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #172833;
  background: #f2f3f5;
  border: 1px solid #d8dde4;
  border-radius: 10px;
  cursor: pointer;
  transition: .25s ease;
}

.file-btn:hover {
  background: #e7e9ee;
  border-color: #c4c9d1;
}

.popup__btn {
  font-family: "RFDewiExtended", sans-serif;
  font-weight: 700;
}



/* скрываем реальный input */
.popup__file-input {
  display: none;
}

/* чтобы вся кнопка была кликабельной */
.popup__file {
  display: block;
  cursor: pointer;
}

/* если у тебя уже есть стили .file-btn — оставь их, это доп. */
.file-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* контейнер текста внутри кнопки */
.file-btn__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* основной текст */
.file-btn__text {
  font-size: 15px;
  font-weight: 500;
}

/* имя файла — мелким шрифтом */
.file-btn__name {
  font-size: 12px;
  opacity: 0.8;
  font-weight: 300;
  margin-top: 2px;
}

.popup__file-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.popup__file-label {
  font-weight: 500;
  font-size: 15px;
  color: #172833;
}

.popup__file-hint {
  font-size: 12px;
  color: rgba(0,0,0,0.45);
}










#popup2 .popup__form label {
  margin-bottom: 18px;
}














/* Попап под памятку — те же размеры, но чуть компактнее */
#popup3 .popup__inner {
  padding-top: 20px;
}

#popup3 .popup__title {
  font-size: 28px;
}

#popup3 .popup__subtitle {
  max-width: 420px;
  margin-bottom: 22px;
}

#popup3 .popup__btn {
  margin-top: 10px;
}

















.case-card--linkfull {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
}
































/* ===== Плавающий виджет связи (стекло, финальная версия) ===== */

/* Контейнер */
.contact-fab {
  position: fixed;
  right: 32px;
  bottom: 32px;
  z-index: 9999;                /* поверх почти всего */
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Плашка "Написать нам" */
.contact-fab__tooltip {
  padding: 10px 18px;
  border-radius: 5px;
  background: #913661;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  position: relative;
  white-space: nowrap;
  box-shadow: 0 10px 25px rgba(202, 87, 142, 0.35);
  transition: opacity .25s ease, transform .25s ease;
}

.contact-fab__tooltip::after {
  content: "";
  position: absolute;
  right: -3px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 14px;
  height: 14px;
  background: #913661;
  border-radius: 2px;
}

/* Основная стекло-кнопка */
.contact-fab__toggle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.40),
    0 0 0 1px rgba(255, 255, 255, 0.4) inset;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.25s ease;
  position: relative;
  overflow: hidden;
}

.contact-fab__toggle:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow:
    0 26px 60px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.55) inset;
}

.contact-fab__toggle-icon {
  font-size: 22px;
  color: #172833;
  position: relative;
  z-index: 1;
}

/* Список иконок (жёстко привязываем к кнопке) */
.contact-fab__list {
  position: absolute;
  right: 0;              /* прямо над круглой кнопкой */
  bottom: 80px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
  width: 61px;           /* фиксированная колонка */
}

/* Круглые иконки соцсетей */
.contact-fab__item {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(15, 22, 28, 0.88);
  border: 1px solid rgba(255,255,255,0.25);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45);

  transform: translateY(14px) scale(0.85);
  opacity: 0;

  transition:
    transform .28s cubic-bezier(.22,.61,.36,1),
    opacity .28s ease,
    background .25s ease,
    box-shadow .25s ease;
  pointer-events: none;  /* по умолчанию не кликается */
}

/* ЖЁСТКИЕ размеры для картинок внутри, чтобы их
   не разворачивали глобальные стили img */
.contact-fab__item img {
  display: block;
  width: 26px !important;
  height: 26px !important;
  object-fit: contain;
}

/* Ховеры и цвета */
.contact-fab__item:hover {
  transform: translateY(0) scale(1.05);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6);
}

.contact-fab__item--wa { background: #25d366; }
.contact-fab__item--tg { background: #2aabee; }
.contact-fab__item--vk { background: #0077ff; }
.contact-fab__item--max { background: #9641DA; }
.contact-fab__item--phone { background: rgba(23, 40, 51, 0.95); }

/* Анимация открытия */
.contact-fab--open .contact-fab__tooltip {
  opacity: 0;
  transform: translateX(10px);
}

.contact-fab--open .contact-fab__item {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.contact-fab--open .contact-fab__item:nth-child(1) { transition-delay: .02s; }
.contact-fab--open .contact-fab__item:nth-child(2) { transition-delay: .06s; }
.contact-fab--open .contact-fab__item:nth-child(3) { transition-delay: .10s; }
.contact-fab--open .contact-fab__item:nth-child(4) { transition-delay: .14s; }

/* Иконка-крестик при открытии */
.contact-fab--open .contact-fab__toggle-icon {
  font-size: 0;
}

.contact-fab--open .contact-fab__toggle-icon::before,
.contact-fab--open .contact-fab__toggle-icon::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  background: #172833;
  top: 50%;
  left: 50%;
}

.contact-fab--open .contact-fab__toggle-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.contact-fab--open .contact-fab__toggle-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* ===== Мини-подсказки для соц-сетей ===== */

.contact-fab__item-wrapper {
  position: relative;
}

/* сама подсказка */
.contact-fab__hint {
  position: absolute;
  right: 60px;              /* отступ слева от круга */
  top: 50%;
  transform: translateY(-50%);
  padding: 7px 14px;
  background: rgba(47, 47, 47, 0.9);
  color: #fff;
  font-size: 13px;
  font-weight: 500;

  border-radius: 6px;
  white-space: nowrap;

  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;

  display: flex;
  align-items: center;
}

/* маленькая стрелка справа */
.contact-fab__hint::after {
  content: "";
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);

  width: 10px;
  height: 10px;

  background: rgba(47, 47, 47, 0.9);
  border-radius: 2px;
}

/* показываем подсказку при наведении */
.contact-fab__item-wrapper:hover .contact-fab__hint {
  opacity: 1;
  transform: translateY(-50%) translateX(-4px);
}

























/* ===== Политика конфиденциальности ===== */

.policy {
  padding: 250px 0 130px;
  background: #0f161c; /* если хочешь белый фон — поменяй на #ffffff */
}

.policy__inner {
  max-width: 820px;
  margin: 0 auto;
  color: #f5f7fa;
}

.policy__kicker {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #6e7680;
  margin-bottom: 10px;
}

.policy__title {
  font-family: var(--font-main);
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 6px;
}

.policy__update {
  font-size: 13px;
  color: #8a9199;
  margin-bottom: 30px;
}

.policy__block {
  margin-bottom: 26px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.policy__block h2 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}

.policy__block p {
  font-size: 14px;
  line-height: 1.7;
  color: #d5d7db;
  margin-bottom: 10px;
}

.policy__block ul {
  margin: 0;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.7;
  color: #d5d7db;
}

.policy__block li + li {
  margin-top: 4px;
}

/* На мобильных — чутка компактнее */

@media (max-width: 720px) {
  .policy {
    padding: 90px 0 100px;
  }

  .policy__title {
    font-size: 26px;
  }
}

.policy { background: #ffffff; }
.policy__inner { color: #172833; }
.policy__block p,
.policy__block ul { color: #4b5158; }
.policy__block { border-top: 1px solid rgba(0,0,0,0.06); }






















/* ===== Пользовательское соглашение ===== */

.legal {
  padding: 250px 0 130px;
  background: #ffffff;
}

.legal__inner {
  max-width: 820px;
  margin: 0 auto;
  color: #172833;
}

.legal__kicker {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #8A8F96;
  margin-bottom: 10px;
}

.legal__title {
  font-family: var(--font-main);
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 6px;
  color: #172833;
}

.legal__update {
  font-size: 13px;
  color: #8A8F96;
  margin-bottom: 30px;
}

.legal__block {
  margin-bottom: 26px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,0.06);
}

.legal__block h2 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #172833;
}

.legal__block p {
  font-size: 14px;
  line-height: 1.7;
  color: #4b5158;
  margin-bottom: 10px;
}

.legal__block ul {
  margin: 0;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.7;
  color: #4b5158;
}

.legal__block li + li {
  margin-top: 4px;
}

/* Mobile */
@media (max-width: 720px) {
  .legal {
    padding: 90px 0 100px;
  }

  .legal__title {
    font-size: 26px;
  }
}











.popup-error {
  display: none;
  font-size: 12px;
  color: #e53935;
}

.popup__form label.invalid .popup-error {
  display: block;
}

.popup__form label.invalid input {
  border-color: #e53935;
}











.popup__legal {
  margin-top: 14px;
  font-size: 11px;
  line-height: 1.45;
  color: rgba(0, 0, 0, 0.55);
  text-align: center;
}

.popup__legal a {
  color: rgba(0, 0, 0, 0.65);
  text-decoration: underline;
  transition: color 0.2s ease;
}

.popup__legal a:hover {
  color: #913661;
}

.popup-error {
  display: none;
  font-size: 12px;
  color: #d93025;
}

label.error .popup-error {
  display: block;
}

.input-error {
  border-color: #d93025 !important;
}

.popup___legal {
  font-size: 11px;
  line-height: 1.45;
  color: rgba(0, 0, 0, 0.55);
  text-align: center;
}







/* ===== RATING STARS (FINAL) ===== */

.rating {
  display: inline-flex;
  gap: 6px;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}

.rating span {
  color: #d8dde4;
  transition: color 0.2s ease, transform 0.15s ease;
}

.rating span:hover {
  transform: scale(1.12);
}

/* при наведении */
.rating span.hover {
  color: #CA578D;
}

/* выбранные звёзды */
.rating span.active {
  color: #CA578D;
}

















/* =========================
   MOBILE HEADER & MENU (≤ 768px)
========================= */
@media (max-width: 768px) {

  body.menu-open {
    overflow: hidden;
  }

  /* Верхняя полоска убираем на мобиле */
  .header__top {
    display: none;
  }

  .header__bottom-inner {
    height: 64px;
    gap: 12px;
  }

  /* логотип поменьше */
  .header__logo img {
    height: 16px;
  }

  /* desktop-меню прячем */
  .nav {
    display: none;
  }

  /* ===== БУРГЕР ===== */
  .burger-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.12);
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: box-shadow 0.25s ease, transform 0.2s ease, border-color 0.2s ease;
  }

  .burger-btn span {
    width: 18px;
    height: 2px;
    background: #172833;
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }

  .burger-btn:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    border-color: rgba(0,0,0,0.18);
    transform: translateY(-1px);
  }

  .burger-btn.active span:nth-child(1) {
    transform: translateY(4px) rotate(45deg);
  }

  .burger-btn.active span:nth-child(2) {
    transform: translateY(-4px) rotate(-45deg);
  }

  /* ===== ОВЕРЛЕЙ ===== */
  .mobile-menu {
    position: fixed;
    inset: 0;
    width: 100vw;
    background: rgba(0,0,0,0.35);
    backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    z-index: 1000;
    overflow-x: hidden;
  }

  .mobile-menu.open {
    opacity: 1;
    visibility: visible;
  }

  /* ===== ПАНЕЛЬ МЕНЮ ===== */
  .mobile-nav {
    position: absolute;
    top: 0;
    right: 0;
    box-sizing: border-box;
    width: 86%;
    max-width: 360px;
    height: 100%;
    background: #fff;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(.22,.61,.36,1);
    box-shadow: -8px 0 30px rgba(0,0,0,0.18);
  }

  .mobile-menu.open .mobile-nav {
    transform: translateX(0);
  }

  /* ===== HEADER ВНУТРИ МЕНЮ ===== */
  .mobile-nav__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .mobile-nav__logo {
    height: 18px;
  }

  .mobile-nav__close {
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
    padding: 4px;
  }

  /* ===== СЕКЦИИ МЕНЮ ===== */
  .mobile-nav__section {
    display: flex;
    flex-direction: column;
  }

  .mobile-nav__section--secondary {
    margin-top: 10px;
    padding-top: 12px;
  }

  /* ===== ПУНКТЫ МЕНЮ ===== */
  .mobile-nav__item {
    padding: 16px 0;
    font-size: 18px;
    font-weight: 400;
    color: #172833;
    text-decoration: none;
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }

  .mobile-nav__item.no-border {
    border-bottom: none;
  }

  /* ===== DROPDOWN "УСЛУГИ" ===== */
.mobile-dropdown__toggle {
  width: 100%;
  background: none;
  border: none;
  font-family: "RFDewiExtended", sans-serif; /* ✅ */
  font-size: 18px;
  font-weight: 400;
  color: #172833;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  cursor: pointer;
}

  .mobile-dropdown svg {
    transition: 0.25s;
  }

  .mobile-dropdown.open svg {
    transform: rotate(180deg);
  }

  .mobile-dropdown__content {
    display: none;
    padding-top: 10px;
  }

  .mobile-dropdown.open .mobile-dropdown__content {
    display: block;
  }

  .mobile-dropdown__content a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 10px;
    font-size: 15px;
    color: rgba(0,0,0,0.7);
    text-decoration: none;
  }

  .mobile-dropdown__content img {
    width: 22px;
    height: 22px;
    object-fit: contain;
  }

  /* ===== CTA КНОПКА ВНИЗУ ===== */
  .mobile-nav__cta {
    margin-top: 23px;
    background: #913661;
    color: #fff;
    border-radius: 8px;
    padding: 10px;
    font-size: 16px;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    box-shadow: 0 12px 28px rgba(145,54,97,0.4);
    text-decoration: none;
  }

  .mobile-nav__cta img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  filter: none !important; /* ✅ */
  margin-bottom: -3px;
  }

}

/* =========================
   MOBILE LAYOUT (≤ 480px)
========================= */
@media (max-width: 480px) {

  .container {
    padding: 0 16px;
  }

  h1, h2, h3 {
    word-break: break-word;
  }

  /* ===== HEADER ===== */
  .header__bottom-inner {
    height: 64px;
  }

  .header__cta-btn {
    padding: 6px 14px;
    font-size: 13px;
  }

  /* ===== HERO ===== */
  .hero.hero--e {
    height: auto;
    padding: 140px 0 80px;
  }

  .hero__title-e {
    font-size: 26px;
    line-height: 1.3;
  }

  .hero__lead-e {
    font-size: 15px;
  }

  .hero__chips-e {
    gap: 8px;
  }

  .chip-e {
    font-size: 12px;
    padding: 6px 12px;
  }

  .hero__buttons-e {
    flex-direction: column;
    width: 100%;
  }

  .hero__buttons-e a {
    width: 100%;
    text-align: center;
  }

  /* выключаем анимации в hero */
  .hero__inner-e > * {
    animation: none;
    opacity: 1;
    transform: none;
  }

  /* ===== SITUATIONS ===== */
  .dtp-situations {
    padding: 70px 0;
  }

  .dtp-situations__title {
    font-size: 26px;
  }

  /* ===== WHY ===== */
  .why {
    padding: 120px 0;
  }

  .why__title {
    font-size: 28px;
  }

  .why__grid {
    margin-top: 45px;
  }

  .why-card {
    width: 100%;
    max-width: 100%;
    transform: none !important;
  }

  /* ===== ABOUT ===== */
  .about {
    padding: 100px 0;
  }

  .about__inner {
    gap: 40px;
  }

  .about__image {
    min-width: 100%;
    height: 260px;
    border-radius: 24px;
  }

  .about__image img {
    border-radius: 24px;
  }

  .about__content {
    min-width: 100%;
  }

  .about__title {
    font-size: 28px;
  }

  .about__desc {
    font-size: 15px;
    margin-bottom: 30px;
  }

  .about__stats {
    position: static;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
  }

  .about__stats .stat:not(:last-child)::after {
    display: none;
  }

  /* ===== PROCESS ===== */
  .process {
    height: auto;
  }

  .process__wrapper {
    position: static;
    height: auto;
  }

  .process__panel {
    padding: 40px 24px;
    height: auto;
    border-radius: 24px;
  }

  .process__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .process-step {
    position: static;
    opacity: 1;
    transform: none;
    margin-bottom: 20px;
  }

  .process__scroll {
    display: none;
  }

  /* ===== CASES ===== */
  .cases {
    padding: 80px 0;
  }

  .cases__title {
    font-size: 32px;
  }

  .cases__nav {
    display: none;
  }
  
.mobile-nav__top {
  height: 56px; /* было 52 — маловато */
  padding: 0 20px;
  margin-bottom: 20px;

  display: flex;
  align-items: center;

  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.mobile-nav__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}


.mobile-nav__logo {
  height: 18px;
  display: block;
  position: relative;
  top: 1px; /* ✅ оптическое центрирование */
}

.mobile-nav__close {
  background: none;
  border: none;
  margin-right: -12px;
  width: 36px;
  height: 36px;              /* ✅ нормальная touch-зона */
  border-radius: 10px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 22px;
  line-height: 1;
  cursor: pointer;

  color: #172833;
}


  .case-card {
    flex: 0 0 240px;
    height: 300px;
  }

  /* ===== REVIEWS ===== */
  .reviews-mosaic {
    padding: 80px 0;
  }

  .reviews-mosaic__title {
    font-size: 30px;
  }

  .review-tile {
    height: 180px;
  }

  /* ===== FORMS ===== */
  .consult,
  .cta {
    padding: 90px 0;
  }

  .consult__title,
  .cta__title {
    font-size: 28px;
  }

  .consult__fields input {
    min-width: 100%;
  }

  /* ===== FOOTER ===== */
  .footer__container {
    gap: 30px;
  }

  .footer__actions {
    width: 100%;
  }

  .footer__btn {
    width: 100%;
    justify-content: center;
  }

  .footer__bottom-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  /* ===== FLOAT BUTTON ===== */
  .contact-fab {
    right: 16px;
    bottom: 16px;
  }
  
  /* Когда меню открыто — скрываем плавающую кнопку */
body.menu-open .contact-fab {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(20px);
}

.cta-banner__inner {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, #121a23 0%, #233647 60%, #2b4861 100%);
  box-shadow: 0 10px 28px rgba(0,0,0,0.12);
  width: calc(100% + 0px);
  margin-left: 0px;
}

}






/* ===== DESKTOP ===== */
.burger-btn {
  display: none;
}

.mobile-menu {
  display: none;
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {

  .burger-btn {
    display: flex;
  }

  .mobile-menu {
    display: block;
  }

}




@media (max-width: 480px) {

  .about__stats {
    background: none;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .about__stats .stat {
    background: #f6f4f2;
    border-radius: 20px;
    padding: 22px 16px;
    text-align: center;
  }

  /* убираем вертикальные разделители */
  .about__stats .stat::after {
    display: none;
  }

  .about__stats .stat h3 {
    font-size: 32px;
    margin-bottom: 6px;
  }

  .about__stats .stat p {
    font-size: 14px;
    line-height: 1.4;
  }
}








@media (max-width: 480px) {

  /* ===== TEAM BLOCK ===== */

  .team__inner {
    display: flex;
    flex-direction: column;
  }

  /* текст */
  .team__info {
    order: 1;
  }

  /* ❗ ВОТ ГЛАВНОЕ */
  .team__cards {
    order: 2;

    /* СБРАСЫВАЕМ ДЕСКТОП FLEX */
    flex: 1 1 auto;

    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;
    gap: 16px;

    margin-top: 28px;
  }

  /* карточка */
  .team-card {
    width: 100%;
    max-width: 100%;
    border-radius: 24px;
  }

  /* кнопка */
  .team__btn {
    order: 3;
    margin-top: 24px;
    align-self: flex-start;
  }
}













/* ===== СУПЕР-МОБИЛКА (≈ 320–350px) ===== */
@media (max-width: 360px) {

  /* Чуть меньше боковые отступы контейнера */
  .container {
    padding: 0 12px;
  }

  /* ==== HEADER ==== */
  .header__bottom-inner {
    height: 60px;
  }

  .header__logo img {
    height: 14px;
  }

  .header__cta-btn {
    padding: 4px 10px;
    font-size: 12px;
    gap: 6px;
  }

  .header__cta-btn img {
    width: 16px;
    height: 16px;
  }

  /* ==== HERO ==== */
  .hero.hero--e {
    padding: 130px 0 70px;
  }

  .hero__title-e {
    font-size: 22px;
    line-height: 1.28;
  }

  .hero__lead-e {
    font-size: 14px;
  }

  .chip-e {
    font-size: 11px;
    padding: 5px 10px;
  }

  .hero__buttons-e {
    gap: 10px;
  }

  .hero-btn-main-e,
  .hero-btn-sec-e {
    padding: 12px 20px;
    font-size: 14px;
  }

  .hero__note-e {
    font-size: 13px;
  }

  /* ==== БЛОК СИТУАЦИЙ ПО ДТП ==== */
  .dtp-situations {
    padding: 60px 0;
  }

  .dtp-situations__title {
    font-size: 24px;
  }

  .dtp-ticket {
    padding: 16px 16px 16px 18px;
  }

  .dtp-ticket__title {
    font-size: 14.5px;
  }

  .dtp-ticket__hint {
    font-size: 12.5px;
  }

  /* ==== WHY LAWFLOW ==== */
  .why {
    padding: 100px 0;
  }

  .why__title {
    font-size: 26px;
  }

  .why__desc {
    font-size: 15px;
  }

  .why__grid {
    margin-top: 32px;
  }

  .why-card {
    padding: 24px 18px 30px;
    border-radius: 20px;
  }

  .why-card__icon {
    width: 60px;
    height: 60px;
  }

  /* ==== ABOUT ==== */
  .about {
    padding: 80px 0;
  }

  .about__image {
    height: 230px;
  }

  .about__title {
    font-size: 26px;
  }

  .about__desc {
    font-size: 14.5px;
  }

  /* ==== TEAM ==== */
  .team {
    padding: 80px 0;
  }

  .team__title {
    font-size: 26px;
  }

  .team-card__img {
    height: 220px;
  }

  .team-card__body {
    padding: 14px 16px 18px;
  }

  .team-card__name {
    font-size: 16px;
  }

  .team-card__text {
    font-size: 13px;
  }

  /* ==== PROCESS (ещё компактнее) ==== */
  .process__panel {
    padding: 32px 20px;
  }

  .process__title {
    font-size: 30px;
  }

  .process__text {
    font-size: 14px;
  }

  .process-step h3 {
    font-size: 18px;
  }

  .process-step p {
    font-size: 14px;
  }

  .teammm__btn {
    width: 100%;
    text-align: center;
  }

  /* ==== CASES ==== */
  .cases {
    padding: 70px 0;
  }

  .cases__title {
    font-size: 28px;
  }

  .case-card {
    flex: 0 0 220px;
    height: 280px;
  }

  .case-card__info h3 {
    font-size: 16px;
  }

  .case-card__info p {
    font-size: 13px;
  }

  /* ==== CTA-BANNER ==== */
  .cta-banner {
    padding: 70px 0;
  }

  .cta-banner__content {
    padding: 50px 22px;
  }

  .cta-banner__subtitle {
    font-size: 15px;
  }

  .cta-banner__title {
    font-size: 20px;
  }

  .cta-banner__link {
    font-size: 16px;
  }

  /* ==== CTA-ФОРМА ВНИЗУ ==== */
  .cta {
    padding: 80px 0;
  }

  .cta__panel {
    padding: 40px 22px;
    gap: 32px;
  }

  .cta__title {
    font-size: 26px;
  }

  .cta__desc {
    font-size: 14px;
  }

  .cta__form {
    max-width: 100%;
  }

  /* ==== FAQ ==== */
  .faq {
    padding: 90px 0 70px;
  }

  .faq__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .faq-q {
    font-size: 15px;
  }

  .faq-a p {
    font-size: 14px;
  }

  /* ==== REVIEWS MOSAIC — делаем в один столбец ==== */
  .reviews-mosaic {
    padding: 80px 0;
  }

  .reviews-mosaic__container {
    padding: 0 16px;
  }

  .reviews-row {
    flex-direction: column;
    gap: 16px;
  }

  /* тайлы на всю ширину */
  :root {
    --tile-narrow: 100%;
    --tile-medium: 100%;
    --tile-wide: 100%;
  }

  .review-tile {
    width: 100%;
    height: 170px;
  }

  .reviews-mosaic__fade {
    height: 230px;
  }

  .reviews-mosaic__title {
    font-size: 28px;
  }

  /* ==== ПОПАПЫ ==== */
  .popup {
    width: 100%;
    max-width: 94%;
    padding: 26px 20px 28px;
    border-radius: 18px;
  }

  .popup__title {
    font-size: 20px;
  }

  .popup__subtitle {
    font-size: 13px;
  }

  /* ==== FOOTER ==== */
  .footer {
    padding-top: 40px;
  }

  .footer__contacts {
    gap: 20px;
  }

  .footer__actions {
    width: 114%;
    flex-direction: column;
  }

  .footer__btn {
    width: 100%;
  }

  .footer__bottomline-inner {
    padding: 0 12px;
  }

  .footer__links {
    justify-content: center;
  }

  /* ==== FLOAT BUTTON ==== */
  .contact-fab {
    right: 12px;
    bottom: 12px;
  }

  .contact-fab__toggle {
    width: 56px;
    height: 56px;
  }

 .mobile-nav__cta {
    margin-top: 23px;
    background: #913661;
    color: #fff;
    border-radius: 8px;
    padding: 10px;
    font-size: 14px;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    box-shadow: 0 12px 28px rgba(145,54,97,0.4);
    text-decoration: none;
  }
  
 .mobile-nav__cta img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: none !important; /* ✅ */
  margin-bottom: -1px;
 }

}

.br-desktop {
  display: none;
}

@media (min-width: 768px) {
  .br-desktop {
    display: block;
  }
}





@media (max-width: 480px) {

  /* общий контейнер — колонкой */
  .team__inner {
    display: flex;
    flex-direction: column;
  }

  /* текстовый блок */
  .team__info {
    order: 1;
  }

  /* карточки */
  .team__cards {
    order: 2;
  }

  /* ✅ кнопка — В САМЫЙ НИЗ */
  .team__btn {
    order: 3;
    margin-top: 0px;
    align-self: stretch; /* или center, если хочешь */
    text-align: center;
  }
  
    .team__info {
    display: contents;
  }
}





@media (max-width: 480px) {

  /* убираем наследованные большие отступы */
  .team__title {
    margin-bottom: 10px;
  }

  .team__subtitle {
    margin-bottom: 20px;
  }

  .team__desc {
    margin-bottom: -22px;
  }

  /* карточки ближе к тексту */
  .team__cards {
    margin-top: 0;
  }

}




@media (max-width: 360px) {
  .team__title {
    font-size: 26px;
  }

  .team__subtitle {
    font-size: 16px;
  }

  .team__desc {
    font-size: 14.5px;
    line-height: 1.45;
  }
}











@media (max-width: 480px) {

  .process {
    height: auto !important;
    padding: 40px 0;
  }

  .process__panel {
    position: static !important;
    transform: none !important;
    height: auto !important;
  }

  .process__scroll {
    display: none; /* убираем вертикальный индикатор */
  }

  .process-step {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    margin-bottom: 24px;
    padding: 20px;
    background: rgba(255,255,255,0.08);
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.15);
  }
}

@media (max-width: 480px) {

  .process__left {
    max-width: 320px;
  }

  .process__title {
    max-width: 330px;
    font-size: 28px;
  }

  .process__text {
    max-width: 480px;
    font-size: 14px;
  }

}

@media (max-width: 480px) {

  .process__right {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .process-step {
    width: 100%;
    max-width: 480px;
    margin: 0;
    left: 0 !important;
    transform: none !important;
  }

}

@media (max-width: 360px) {

  .process-step {
    padding: 18px 16px;
  }

  .process-step h3 {
    font-size: 17px;
    line-height: 1.3;
  }

  .process-step p {
    font-size: 14px;
    line-height: 1.45;
  }

}

@media (max-width: 480px) {

  .reviews-mosaic__footer {
    display: flex;
    flex-direction: column;
    gap: 14px; /* расстояние между кнопками */
    align-items: center; /* центрируем */
    width: 100%;
  }

  .reviews-mosaic__btn {
    width: 100%;
    max-width: 320px; /* кнопки одинаковой ширины */
    text-align: center;
    padding: 14px 0;
    font-size: 16px;
    border-radius: 40px;
    box-sizing: border-box;
  }

  .reviews-mosaic__btn--filled {
    color: #fff;
  }
  
  .reviews-mosaic__btn--filled {
  background: #913661;   /* основной цвет */
  color: #fff;
  border: none;          /* бордер убираем */
  margin-right: 0px;
}

}





@media (max-width: 480px) {

  /* ---------- БЛОК CTA ---------- */
  .cta__panel {
    padding: 24px 16px;
  }

  /* ---------- ЛЕЙБЛЫ (заголовки полей) ---------- */
  .cta__form label {
    font-size: 14px;
    margin-bottom: 6px;
    display: block;
    text-align: left;
  }

  /* ---------- INPUT / TEXTAREA ---------- */
  .cta__form input,
  .cta__form textarea {
    width: 100%;
    padding: 12px 14px;
    font-size: 14px;
    border-radius: 12px; /* было огромным, делаем мобильный вариант */
    border-width: 1px; /* маска / рамка более тонкая */
    text-align: left; /* ВСЁ выравниваем слева */
  }

  /* ---------- TEXTAREA ---------- */
  .cta__form textarea {
    min-height: 110px;
    line-height: 1.4;
  }

  /* ---------- ПЛЕЙСХОЛДЕРЫ ПОМЕНЬШЕ ---------- */
  .cta__form input::placeholder,
  .cta__form textarea::placeholder {
    font-size: 13px;
    opacity: 0.7;
  }

  /* ---------- ФАЙЛОВОЕ ПОЛЕ ---------- */
  .popup__file {
    margin-top: 10px;
  }

  .file-btn {
    padding: 12px 14px;
    border-radius: 12px;
  }

  .file-btn__text,
  .file-btn__name {
    font-size: 14px;
  }

  /* ---------- КНОПКА ОТПРАВКИ ---------- */
  .cta__btn {
    margin-top: 14px;
    padding: 14px 18px;
    font-size: 15px; /* уменьшили */
    border-radius: 16px;
  }
}


@media (max-width: 480px) {

  /* ПРИВОДИМ НИЖНИЙ БЛОК ФУТЕРА К МОБИЛЬНОМУ ВИДУ */
  .footer__bottom {
    padding: 20px 0;
    text-align: center;
  }

  .footer__bottom-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px; /* расстояние между © и кнопками */
  }

  /* Копирайт — чуть больше воздуха */
  .footer__copy {
    margin-bottom: 8px;
    font-size: 14px;
    margin-top: 30px;
  }

  /* Центруем кнопки */
  .footer__socials {
    display: flex;
    gap: 12px;
    justify-content: center;
    width: 100%;
  }

  .footer__socials a.social {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    font-size: 14px;
    border-radius: 30px;
  }

}



/* Фикс узкой колонки на мобилке */
@media (max-width: 480px) {

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
  }

  .container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }
  
  	.cta-banner__title {
	 font-family: "RFDewiExtended", sans-serif;
	 font-weight: 700;
 	 font-size: 22px;
 	 line-height: 1.25;
 	 color: #fff;
	 margin-bottom: 36px;
	}

}








@media (max-width: 480px) {

  /* Карточки на всю ширину */
  .team-card {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    border-radius: 18px; /* можно уменьшить, чтобы визуально не выглядело узко */
  }

  /* Контейнер карт — убираем лишние отступы по бокам */
  .team__cards {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    gap: 20px; /* расстояние между карточками */
  }

  /* Картинка внутри карточки тоже должна растягиваться */
  .team-card__img {
    width: 100%;
    border-radius: 18px 18px 0 0; /* чтобы совпадало со всей карточкой */
  }

  .team-card__body {
    padding: 18px 16px;
  }

}






@media (max-width: 480px) {

  /* Уменьшаем заголовок каждого шага */
  .process-step h3 {
    font-size: 18px;
    line-height: 1.25;
  }

  /* Уменьшаем текст */
  .process-step p {
    font-size: 14px;
    line-height: 1.4;
  }

  /* Можно сделать сами карточки чуть компактнее */
  .process-step {
    padding: 18px 16px;
  }
}


/* ============================
   FAQ — MOBILE (до 480px)
   ============================ */
@media (max-width: 480px) {

  /* Заголовок секции */
  .faq__title,
  .faq__heading {
    font-size: 24px;
    line-height: 1.25;
    margin-bottom: 20px;
  }

  /* Текст подзаголовка, если есть */
  .faq__subtitle {
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 24px;
  }

  /* Сетка FAQ → переводим в один столбец */
  .faq__grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }

  /* Каждая плашка вопроса */
  .faq-item,
  .faq-card,
  .faq-q {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;

    padding: 13px 16px;
    border-radius: 16px;

    background: #fff; /* если нужно сохранить белый фон */
    font-size: 15px;
    line-height: 1.35;
  }

  /* Сам текст вопроса (если отдельный класс) */
  .faq-q {
    font-size: 15px;
    line-height: 1.35;
  }

  /* Иконка "+" уменьшается и центрируется */
  .faq__toggle,
  .faq-plus,
  .faq__icon {
    font-size: 20px;
    width: 20px;
    height: 20px;
    right: 16px;
  }

  /* Ответ — тоже адаптивный */
  .faq-a p {
    font-size: 14px;
    line-height: 1.4;
    margin-top: 10px;
  }
}







@media (max-width: 480px) {

  /* Контейнер теперь не ограничиваем и даём 100% ширины */
  .reviews-mosaic__container {
    max-width: 100% !important;
    padding: 0 16px !important;
  }

  /* Каждый ряд — превращаем в колонку */
  .reviews-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  /* Плитки — на всю ширину, никаких narrow/medium/wide */
  .review-tile {
    width: 100% !important;
    height: auto !important;
    min-height: 180px;
    border-radius: 14px;
    background-size: cover;
    background-position: center;
  }

  /* Переменные по нулям, чтобы не ломали ширину */
  :root {
    --tile-narrow: 100% !important;
    --tile-medium: 100% !important;
    --tile-wide: 100% !important;
  }

  /* Сам fade — уменьшаем, чтобы не перекрывал всё */
  .reviews-mosaic__fade {
    height: 180px !important;
  }
}





/* ============================================================
   АДАПТАЦИЯ ДО 767px — ТОЧНО ТАКАЯ ЖЕ, КАК МОБИЛЬНАЯ ДО 480px
   ============================================================ */
@media (max-width: 767px) {

  html, body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
  }

  .container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box;
  }

  /* ===== HEADER ===== */
  .header__bottom-inner {
    height: 64px;
  }

  .header__logo img {
    height: 18px;
  }

  .header__cta-btn {
    padding: 6px 12px;
    font-size: 14px;
  }

  /* ===== HERO ===== */
   .hero__bg-e, 
  .hero-e__bg,
  .hero__bg {
    height: 520px !important; /* было около 350-400, увеличиваем */
    object-fit: cover;
  }

  /* Сам блок hero становится выше */
  .hero.hero--e {
    padding-top: 100px;  /* больше воздуха сверху */
    padding-bottom: 90px;
  }

  /* Заголовок остается компактным */
  .hero__title-e {
    font-size: 25px;
    line-height: 1.25;
    max-width: 90%;
    margin: 0 auto 8px;
  }

  .hero__lead-e {
    font-size: 14px;
    line-height: 1.45;
    max-width: 90%;
    margin: 0 auto -5px;
  }

  /* Статы ближе и компактнее */
  .hero__stats-e {
    margin-bottom: 28px;
  }

  /* Кнопки — по контейнеру */
  .hero__buttons-e {
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
  }

  .hero-btn-main-e,
  .hero-btn-sec-e {
    width: 100%;
  }

  /* КНОПКА "НАПИСАТЬ НАМ" НЕ ДОЛЖНА НАЕЗЖАТЬ */
  .contact-fab {
    bottom: 20px;
    right: 10px;
    transform: scale(0.9);
  }

  /* ===== СИТУАЦИИ ПО ДТП ===== */
  .dtp-situations {
    padding: 70px 0;
  }

  .dtp-situations__title {
    font-size: 28px;
    text-align: center;
  }

  .dtp-ticket {
    padding: 18px 18px 20px 20px;
    border-radius: 18px;
  }

  .dtp-ticket__title {
    font-size: 15px;
  }

  .dtp-ticket__hint {
    font-size: 13px;
  }

  /* ===== WHY ===== */
  .why {
    padding: 80px 0;
  }

  .why__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .why-card {
    padding: 28px 22px;
    border-radius: 20px;
  }

  /* ===== ABOUT ===== */
  .about__image {
    height: 260px;
  }

  .about__title {
    font-size: 28px;
  }

  .about__desc {
    font-size: 15px;
  }

  /* ===== TEAM ===== */
  .team {
    padding: 80px 0;
  }

  .team__inner {
    display: flex;
    flex-direction: column;
  }

  .team__info {
    display: contents;
  }

  .team__cards {
    order: 2;
    margin-top: 0;
  }

  .team__btn {
    order: 3;
    margin-top: 20px;
    align-self: center;
    width: 100%;
    max-width: 360px;
    text-align: center;
  }

  /* карточки команды растягиваем */
  .team-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .team-card__img {
    height: 240px;
  }

  /* ===== PROCESS ===== */
  .process {
    height: auto !important;
    padding: 50px 0;
  }

  .process__panel {
    position: static !important;
    transform: none !important;
    height: auto !important;
    padding: 30px 20px;
  }

  .process-step {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px;
    padding: 22px;
    background: rgba(255,255,255,0.08);
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.15);
  }

  .process-step h3 {
    font-size: 18px;
  }

  .process-step p {
    font-size: 15px;
    line-height: 1.45;
  }

  .process__scroll {
    display: none !important;
  }

  /* ===== FAQ ===== */
  .faq__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .faq-q {
    font-size: 16px;
  }

  .faq-a p {
    font-size: 15px;
  }

  /* ===== REVIEWS ===== */
  .reviews-mosaic__container {
    padding: 0 18px;
  }

  .reviews-row {
    flex-direction: column;
    gap: 16px;
  }

  .review-tile {
    width: 100% !important;
    height: 180px !important;
  }

  :root {
    --tile-narrow: 100%;
    --tile-medium: 100%;
    --tile-wide: 100%;
  }

  /* кнопки */
  .reviews-mosaic__footer {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: center;
  }

  .reviews-mosaic__btn {
    width: 100%;
    max-width: 360px;
    padding: 14px 0;
    border-radius: 40px;
    font-size: 16px;
  }

  /* ===== CTA ФОРМА ===== */
  .cta__panel {
    padding: 30px 20px;
    gap: 28px;
  }

  .cta__title {
    font-size: 28px;
  }

  .cta__desc {
    font-size: 15px;
  }

  .cta__form input,
  .cta__form textarea {
    width: 100%;
    padding: 14px;
    border-radius: 14px;
    font-size: 15px;
  }

  .cta__btn {
    padding: 16px;
    font-size: 16px;
    border-radius: 18px;
  }

  /* ===== FOOTER ===== */
  .footer__bottom-inner {
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center;
  }

  .footer__socials {
    justify-content: center;
    gap: 12px;
  }

  .footer__copy {
    margin-top: 20px;
    font-size: 15px;
  }
  
    	.cta-banner__title {
	 font-family: "RFDewiExtended", sans-serif;
	 font-weight: 700;
 	 font-size: 21px;
 	 line-height: 1.25;
 	 color: #fff;
	 margin-bottom: 36px;
	}
	
	
  .hero-btn-sec-e {
    display: flex;
    align-items: center;   /* вертикальное центрирование */
    justify-content: center; /* горизонтальное центрирование */
    padding: 16px 20px !important; /* одинаковые внутренние отступы */
    line-height: 1.2; /* убираем вытягивание текста */
  }
  
  
  /* Контейнер — выравниваем всё */
  .why {
    padding: 60px 0;
  }

  /* Заголовок */
  .why__title {
    font-size: 30px;
    line-height: 1.2;
    max-width: 93%;
    margin: 0 auto 14px;
    text-align: left;
  }

  /* Подзаголовок */
  .why__desc {
    font-size: 16px;
    line-height: 1.45;
    max-width: 92%;
    margin: 0 auto 25px;
    text-align: left;
  }
  
    .why__more {
    display: block;
    margin-left: 0;            /* убираем смещения */
    padding-left: 0;           /* ровно по контейнеру */
    font-size: 18px;
    margin-top: 24px;
    margin-bottom: 10px;
  }
  
  

  .why__more a {
    text-decoration: none;
    color: #172833;
    font-weight: 600;
  }

  /* Сетка карточек — в один столбец */
  .why__grid {
    display: flex;
    flex-direction: column;
    gap: 70px; /* расстояние между карточками */
    width: 100%;
  }

  /* Карточка — растягиваем */
  .why-card {
    width: 100%;
    padding: 28px 20px 32px;
    border-radius: 20px;
    margin: 0 auto;
    box-sizing: border-box;
  }

  /* Иконка */
  .why-card__icon {
    width: 70px;
    height: 70px;
    margin-bottom: 18px;
  }

  /* Заголовок карточки */
  .why-card__title {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 12px;
  }

  /* Текст карточки */
  .why-card__text {
    font-size: 15px;
    line-height: 1.45;
  }

  /* Чтобы карточки не налезали на текст сверху */
  .why__grid {
    margin-top: 40px;
  }
  
    /* Чтобы карточки не налезали на текст сверху */
  .why__link {
    margin-left: 21px;
  }
  
}


/* ==================================================================
   ABOUT — ФИКС БЛОКА (НЕ ЛОМАЕТСЯ, НЕ ПЕРЕБИВАЕТСЯ)
   Работает при width < 768px
   ================================================================== */
@media (max-width: 767px) {

  /* Полный сброс всех свойств блока */
  .about__stats,
  .about__stats * {
    all: unset;
    display: revert;
  }

  /* Строим новый стиль */
  .about__stats {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    margin-top: 10px !important;
  }

  .about__stats .stat {
    display: block !important;
    width: 100% !important;
    background: #f6f4f2 !important;
    padding: 24px 18px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    position: static !important;
  }

  .about__stats .stat::after {
    display: none !important;
  }

  .about__stats .stat h3 {
    font-size: 26px !important;
    margin-bottom: 6px !important;
    color: #5A1F31 !important;
    font-weight: 700 !important;
  }

  .about__stats .stat p {
    font-size: 15px !important;
    color: #444 !important;
    line-height: 1.4 !important;
  }
}








/* ============================
   TEAM — АДАПТАЦИЯ 481–767px
============================ */
@media (min-width: 481px) and (max-width: 767px) {

  /* Общий контейнер — колонка */
  .team__inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  /* Блок текста */
  .team__info {
    order: 1;
    margin-bottom: 0;
  }

  /* Карточки */
  .team__cards {
    order: 2;
    display: flex;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Каждая карточка на всю ширину */
  .team-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    border-radius: 24px;
  }

  .team-card__img {
    width: 100%;
    border-radius: 24px 24px 0 0;
  }

  /* Кнопка "Познакомиться с командой" + другие */
  .team__btn {
    order: 3;
    margin-top: 10px;
    align-self: center;
    width: 100%;
    max-width: 360px;
    text-align: center;
  }

  /* Уменьшаем расстояния между текстами вверху */
  .team__title {
    margin-bottom: 10px !important;
  }

  .team__subtitle {
    margin-bottom: 10px !important;
  }

  .team__desc {
    margin-bottom: 20px !important;
  }
}





/* =============================================
   PROCESS BLOCK — MOBILE BEHAVIOR FOR 481–767px
   ============================================= */
@media (min-width: 481px) and (max-width: 767px) {

  /* главный контейнер */
  .process {
    height: auto !important;
    padding: 50px 0 !important;
  }

  /* убираем абсолюты/позиционирование */
  .process__wrapper {
    position: static !important;
    height: auto !important;
  }

  .process__panel {
    position: static !important;
    transform: none !important;
    height: auto !important;
    padding: 40px 24px !important;
    border-radius: 28px !important;
    margin-bottom: 28px;
  }

  /* убираем анимации */
  .process-step {
    position: static !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    margin-bottom: 22px !important;
    padding: 22px 18px !important;
    background: rgba(255,255,255,0.08);
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.15);
    width: 100% !important;
    max-width: 100% !important;
  }

  /* грид → один столбец */
  .process__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  /* отключаем вертикальный индикатор */
  .process__scroll {
    display: none !important;
  }

  /* текста поменьше */
  .process-step h3 {
    font-size: 20px !important;
    line-height: 1.25;
  }

  .process-step p {
    font-size: 15px !important;
    line-height: 1.45;
  }

  /* левая часть (заголовок + текст) */
  .process__left {
    max-width: 100% !important;
  }

  .process__title {
    font-size: 32px !important;
    line-height: 1.15;
    margin-bottom: 18px !important;
  }

  .process__text {
    font-size: 16px !important;
    line-height: 1.45;
    margin-bottom: 26px !important;
  }

  /* кнопка */
  .process__btn {
    width: 100%;
    text-align: center;
  }
  
  .process__right {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 18px !important;
  }

  .process-step {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 22px 18px !important;
    box-sizing: border-box;
  }
  
    .process__left {
    max-width: 420px !important;  /* чтобы узкая колонка была как на мобилке */
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }

  .process__title {
    text-align: left !important;
    margin-left: 0 !important;
    max-width: 100% !important;
  }

  .process__text {
    text-align: left !important;
    margin-left: 0 !important;
    max-width: 100% !important;
  }
}


/* Центровка кнопок в блоке отзывов (481–767px) */
@media (min-width: 481px) and (max-width: 767px) {
  .reviews-mosaic__footer {
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px;
    width: 100%;
  }

  .reviews-mosaic__btn {
    margin: 0 auto !important;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 420px; /* чтобы красиво смотрелось */
    width: 100%;
  }
}






@media (min-width: 481px) and (max-width: 767px) {
  .cta__form label {
    text-align: left !important;
  }
}

@media (min-width: 481px) and (max-width: 767px) {

  .footer__socials {
    width: 100%;
    display: flex;
    justify-content: center !important;
    align-items: center;
    gap: 14px; /* расстояние между кнопками */
    margin-top: 10px;
  }

  .footer__socials a.social {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}



















/* ============================
   ADAPT 768–1200px (TABLETS / SMALL LAPTOPS)
============================ */
@media (min-width: 768px) and (max-width: 1200px) {

  /* ===== HERO (шапка) ===== */

  .hero.hero--e {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .hero__title-e {
    font-size: 27px;            /* было ~60px — слишком огромно */
    line-height: 1.22;
    max-width: 85%;
    margin: 0 auto 0px;
  }

  .hero__lead-e {
    font-size: 15px;
    line-height: 1.35;
    max-width: 80%;
    margin: 0 auto 0px;
  }

  /* Чипы со статистикой */
  .hero__stats-e {
    margin-top: 10px;
    margin-bottom: 30px;
    gap: 12px;
  }

  .chip-e {
    font-size: 14px;
    padding: 8px 14px;
  }

  /* Кнопки */
  .hero__buttons-e {
    max-width: 500px;
    width: 100%;
    margin: 0 auto 0px;
    gap: 14px;
  }

  .hero-btn-main-e,
  .hero-btn-sec-e {
    font-size: 16px;
    padding: 16px 22px;
  }

  /* Фон */
  .hero__bg-e,
  .hero-e__bg,
  .hero__bg {
    height: 520px;
    object-fit: cover;
  }

  /* ===== HEADER ===== */
  .header__logo img {
    height: 22px;
  }
  .header__cta-btn {
    font-size: 14px;
    padding: 6px 12px;
  }


  /* ===== WHY BLOCK ===== */
  .why__title {
    font-size: 34px;
  }

  .why__desc {
    font-size: 18px;
    max-width: 80%;
  }

  .why__grid {
    grid-template-columns: 1fr 1fr;
    gap: 26px;
  }

  .why-card {
    padding: 28px 22px;
    border-radius: 22px;
  }

  .why-card__title {
    font-size: 20px;
  }

  .why-card__text {
    font-size: 15px;
  }

  /* ===== TEAM ===== */
  .team-card__img {
    height: 260px;
  }


  /* ===== PROCESS ===== */
  .process__title {
    font-size: 36px;
  }

  .process__text {
    font-size: 17px;
  }

  .process-step h3 {
    font-size: 20px;
  }

  .process-step p {
    font-size: 15px;
  }


  /* ===== CTA FORM ===== */
  .cta__title {
    font-size: 32px;
  }

  .cta__desc {
    font-size: 17px;
  }

  .cta__btn {
    font-size: 17px;
  }

  .cta__form input,
  .cta__form textarea {
    font-size: 16px;
  }

  /* ===== FOOTER ===== */
  .footer__copy {
    font-size: 15px;
  }
}









@media (min-width: 768px) and (max-width: 1200px) {

  /* Исправляем смещение блока WHY */
  .why {
    padding-top: 80px !important;  /* даём воздух */
    padding-bottom: 60px !important;
    position: relative;
    z-index: 1;
  }

  /* Сдвигаем карточки вниз */
  .why__grid {
    margin-top: 40px !important;   /* было слишком мало или минус */
  }

  /* Убираем любые возможные отрицательные отступы от карточек */
  .why-card {
    margin-top: 0 !important;
    transform: none !important;
  }

  /* Заголовок и описание — чтобы не налезали */
  .why__title,
  .why__desc {
    position: relative;
    z-index: 2;
  }
}






@media (min-width: 768px) and (max-width: 1200px) {

  /* Контейнер ABOUT */
  .about {
    position: relative;
  }

  .about__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
  }

  /* Плашка статистики */
  .about__stats {
    position: relative !important; /* сбрасываем абсолют */
    top: auto !important;
    left: auto !important;
    transform: none !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 40px auto 0 !important; /* НОРМАЛЬНЫЙ отступ вниз */
    padding: 40px 30px !important;

    background: #f3f3f3 !important;
    border-radius: 32px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;

    box-shadow: 0 25px 60px rgba(0,0,0,0.08);
  }

  .about__stats .stat {
    flex: 1;
    text-align: center;
    padding: 0 10px;
  }

  .about__stats .stat h3 {
    font-size: 32px;
    margin-bottom: 8px;
  }

  .about__stats .stat p {
    font-size: 17px;
    line-height: 1.4;
  }
}











@media (min-width: 768px) and (max-width: 1200px) {

  /* Контейнер секции */
  .team__inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr;  /* текст слева, карточки справа */
    gap: 40px !important;
    align-items: start;
  }

  /* Левый текстовый блок */
  .team__info {
    order: 1;
  }

  /* Контейнер карточек */
  .team__cards {
    order: 2;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr); /* ДВЕ карточки в ряд */
    gap: 30px !important;
  }

  /* Сами карточки */
  .team-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .team-card__img {
    width: 100%;
    height: 260px; /* норм высота для планшета */
    object-fit: cover;
    border-radius: 20px 20px 0 0;
  }

  /* Кнопка "Познакомиться ближе" — внизу текста */
  .team__btn {
    margin-top: 30px;
    width: 100%;
    max-width: 320px;
    text-align: center;
  }
}

/* TEAM: планшеты 768–1200px
   текст сверху, карточки ниже 2×2
*/
@media (min-width: 768px) and (max-width: 1200px) {

  .team {
    padding: 80px 0;
  }

  /* ВЕСЬ блок — колонкой */
  .team__inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
  }

  /* Текстовый блок — на всю ширину */
  .team__info {
    width: 100% !important;
    max-width: 720px;         /* чтобы не растягивался во всю */
  }

  .team__title {
    font-size: 34px;
    margin-bottom: 12px;
  }

  .team__subtitle {
    font-size: 18px;
    margin-bottom: 16px;
  }

  .team__desc {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 24px;
    max-width: 820px;
  }

  .team__btn {
    align-self: flex-start;
    max-width: 320px;
    width: 100%;
    text-align: center;
  }

  /* Блок карточек — отдельная строка, сетка 2×N */
  .team__cards {
    width: 100% !important;
    margin-top: 0;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 24px;
  }

  .team-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 24px;
  }

  .team-card__img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 24px 24px 0 0;
  }

  .team-card__body {
    padding: 18px 18px 22px;
  }

  .team-card__name {
    font-size: 17px;
  }

  .team-card__text {
    font-size: 14px;
    line-height: 1.5;
  }
}











/* ============================================
   REVIEWS  — фикс для 768–1200px
   ============================================ */
@media (min-width: 768px) and (max-width: 1200px) {

  /* Контейнер — центрируем и задаём ширину */
  .reviews-mosaic__container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
  }

  /* Ряды отзывов — ДЕЛАЕМ КОЛОНКОЙ */
  .reviews-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  /* Плитки — ВЕСЬМА ВАЖНО: единый размер */
  .review-tile {
    width: 100% !important;
    height: auto !important;
    min-height: 260px !important;    /* единая высота */
    border-radius: 18px !important;
    background-size: cover !important;
    background-position: center !important;
  }

  /* Картинки WhatsApp */
  .review-tile img {
    width: 100% !important;
    height: auto !important;
    border-radius: 18px !important;
    object-fit: cover !important;
  }

  /* Гасим ваше кастомное ограничение ширины */
  :root {
    --tile-narrow: 100% !important;
    --tile-medium: 100% !important;
    --tile-wide: 100% !important;
  }

  /* Fade — уменьшаем чтобы не перекрывал */
  .reviews-mosaic__fade {
    height: 160px !important;
  }

  /* Кнопки под отзывами — по центру */
  .reviews-mosaic__footer {
    display: flex !important;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    width: 100%;
    margin-top: 20px;
  }

  .reviews-mosaic__btn {
    width: 100%;
    max-width: 360px;
    text-align: center;
    padding: 14px 0;
    border-radius: 40px;
  }
}






/* Центрируем кнопки "Все отзывы" и "Оставить отзыв" для 768–1200px */
@media (min-width: 768px) and (max-width: 1200px) {

  .reviews-mosaic__footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 18px !important;
    margin-top: 20px !important;
  }

  .reviews-mosaic__btn {
    width: 100%;
    max-width: 480px;       /* ширина кнопок */
    text-align: center;
    margin: 0 auto !important;
    padding: 16px 0;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}



/* Лейблы в CTA-форме — выравниваем влево на 768–1200px */
@media (min-width: 768px) and (max-width: 1200px) {

  .cta__form label {
    text-align: left !important;
    display: block;
    width: 100%;
  }

  .cta__form input,
  .cta__form textarea {
    text-align: left !important;  /* чтобы плейсхолдеры тоже были левыми */
  }
}



/* Правый блок сверху: кнопка + контакты */
.header__top-right{
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Контакты рядом с кнопкой */
.header__contacts{
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.1;
}

.header__contact{
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.header__contact-label{
  font-size: 11px;
  color: var(--gray-text, #8a8a8a); /* серенький */
  font-weight: 400;
}

.header__contact-value{
  font-size: 14px;
  font-weight: 600;
  color: #111; /* телефон и почта по умолчанию */
}

/* Почта чуть спокойнее (серее) и меньше */
.header__contact--email .header__contact-value{
  font-size: 12px;
  font-weight: 500;
  color: var(--gray-text, #777);
}

/* Ховер, чтобы было приятно */
.header__contact:hover .header__contact-value{
  color: var(--accent);
}

@media (max-width: 768px){
  .header__contacts{ display: none; }
}





