/* =========================================================
   Directions вЂ” РѕР±С‰РёР№ Р·Р°РіРѕР»РѕРІРѕРє РЅР°Рґ С‚СЂРµРјСЏ РєР»СЋС‡РµРІС‹РјРё РЅР°РїСЂР°РІР»РµРЅРёСЏРјРё
   (РЅР°Р»РѕРіРё/РїСЂР°РІРѕ В· РїСЂРѕС†РµСЃСЃ В· С„СЂР°РЅС‡Р°Р№Р·РёРЅРі/IP)
   v2 вЂ” СѓСЃРёР»РµРЅРЅР°СЏ РІРёР·СѓР°Р»СЊРЅР°СЏ СЂР°Р·РјРµС‚РєР° С‚СЂС‘С… С‡Р°СЃС‚РµР№
   ========================================================= */
.directions-super-header {
  background: #f2f0ee;
  padding: 60px 0 50px;
  text-align: center;
}
.directions-super-header__title {
  color: #C2A75A !important;
  margin-bottom: 0 !important;
}
.directions-super-header__title::after {
  content: '';
  display: block;
  width: 100px;
  height: 2px;
  background: #C2A75A;
  margin: 18px auto 20px;
  opacity: 0.5;
}
.directions-super-header__sub {
  font-size: 16px;
  color: #222;
  margin: 0 auto;
  max-width: 720px;
  line-height: 1.6;
}

/* Р’Р°СЂРёР°РЅС‚ РѕР±С‰РµРіРѕ Р·Р°РіРѕР»РѕРІРєР° РґР»СЏ Р±Р»РѕРєР° В«РљР»СЋС‡РµРІС‹Рµ РЅР°РїСЂР°РІР»РµРЅРёСЏВ» вЂ”
   РїР»Р°РІРЅС‹Р№ РїРµСЂРµС…РѕРґ РІ РїРµСЂРІСѓСЋ С‡Р°СЃС‚СЊ Р±РµР· СЂРµР·РєРѕРіРѕ РІРёР·СѓР°Р»СЊРЅРѕРіРѕ С€РІР°.
   Р—Р°РіРѕР»РѕРІРѕРє РєСЂСѓРїРЅРµРµ, С‡РµРј Сѓ РїРѕРґСЂР°Р·РґРµР»РѕРІ, С‡С‚РѕР±С‹ РёРµСЂР°СЂС…РёСЏ С‡РёС‚Р°Р»Р°СЃСЊ
   СЃ РїРµСЂРІРѕРіРѕ РІР·РіР»СЏРґР°: Р РђР—Р”Р•Р› в†’ С‚СЂРё С‡Р°СЃС‚Рё. */
.directions-super-header--key {
  background: linear-gradient(180deg, #f2f0ee 0%, #faf8f4 100%);
  padding: 90px 0 64px;
}
.directions-super-header--key .container {
  position: relative;
}
/* Р“Р»Р°РІРЅС‹Р№ Р·Р°РіРѕР»РѕРІРѕРє вЂ” РєСЂСѓРїРЅРµРµ РѕР±С‹С‡РЅРѕРіРѕ .section-title (40 в†’ 56 px) */
.directions-super-header--key .directions-super-header__title {
  font-size: 56px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.005em;
}
.directions-super-header--key .directions-super-header__title::after {
  width: 140px;
  height: 3px;
  margin: 22px auto 24px;
  opacity: 0.85;
}
.directions-super-header--key .directions-super-header__sub {
  font-size: 17px;
  max-width: 760px;
}
@media (width < 1200px) {
  .directions-super-header--key .directions-super-header__title { font-size: 44px; }
}
@media (width < 768px) {
  .directions-super-header--key { padding: 64px 0 44px; }
  .directions-super-header--key .directions-super-header__title {
    font-size: 30px;
    line-height: 1.2;
  }
  .directions-super-header--key .directions-super-header__title::after {
    width: 90px;
    height: 2px;
    margin: 16px auto 18px;
  }
  .directions-super-header--key .directions-super-header__sub { font-size: 14px; }
}

/* =========================================================
   Key directions вЂ” С‚СЂРё РєР»СЋС‡РµРІС‹С… РЅР°РїСЂР°РІР»РµРЅРёСЏ (1: РЅР°Р»РѕРіРё/РїСЂР°РІРѕ,
   2: РїСЂРѕС†РµСЃСЃ СЂР°Р±РѕС‚С‹, 3: С„СЂР°РЅС‡Р°Р№Р·РёРЅРі/IP). Р•РґРёРЅС‹Р№ СЃС‚РёР»СЊ СЃР°Р№С‚Р°,
   СЂР°Р·РґРµР»РµРЅРёРµ С‡РµСЂРµР· РѕС‚СЃС‚СѓРїС‹ Рё С„РѕРЅ РІ РѕРґРЅРѕР№ РїР°Р»РёС‚СЂРµ.
   ========================================================= */

/* РћР±С‰РёР№ РєРѕРЅС‚РµР№РЅРµСЂ вЂ” РёР·РѕР»РёСЂСѓРµС‚ С„РѕРЅ РєР°Р¶РґРѕР№ С‡Р°СЃС‚Рё */
.key-directions {
  position: relative;
}
.key-directions__part {
  position: relative;
}

/* РљР°Р¶РґР°СЏ С‡Р°СЃС‚СЊ РїРѕР»СѓС‡Р°РµС‚ СЃРІРѕР№ С„РѕРЅ вЂ” section-level, С‡С‚РѕР±С‹ РѕРЅ Р±С‹Р»
   РІРёРґРµРЅ Р·Р° РїСЂРµРґРµР»Р°РјРё РєР°СЂС‚РѕС‡РµРє */
.key-directions__part--1,
.key-directions__part--1 > .services {
  background: #faf8f4 !important;
}
.key-directions__part--2,
.key-directions__part--2 > .process {
  background: #ffffff !important;
}
.key-directions__part--3,
.key-directions__part--3 > .services {
  background: #f3efe7 !important;
}

/* Р—Р°РіРѕР»РѕРІРєРё РїРѕРґСЂР°Р·РґРµР»РѕРІ вЂ” С‡СѓС‚СЊ РјРµРЅСЊС€Рµ РѕР±С‰РµРіРѕ, С‡С‚РѕР±С‹ СЂРѕРґРёС‚РµР»СЊ РґРѕРјРёРЅРёСЂРѕРІР°Р».
   Default .section-title = 40px в†’ РїРѕРґСЂР°Р·РґРµР»С‹ 32px (33в†’24px РЅР° РјРѕР±Р°Р№Р»Рµ). */
.key-directions__part--1 .services__title,
.key-directions__part--2 .process__title,
.key-directions__part--3 .services__title {
  font-size: 32px !important;
  line-height: 1.2;
}
@media (width < 1200px) {
  .key-directions__part--1 .services__title,
  .key-directions__part--2 .process__title,
  .key-directions__part--3 .services__title {
    font-size: 28px !important;
  }
}
@media (width < 768px) {
  .key-directions__part--1 .services__title,
  .key-directions__part--2 .process__title,
  .key-directions__part--3 .services__title {
    font-size: 22px !important;
  }
}

/* === РљР°СЂС‚РѕС‡РєРё РІРЅСѓС‚СЂРё РєР»СЋС‡РµРІС‹С… РЅР°РїСЂР°РІР»РµРЅРёР№: РќР• СЂР°СЃС‚СЏРіРёРІР°СЋС‚СЃСЏ РїРѕ РІС‹СЃРѕС‚Рµ
   СЃС‚СЂРѕРєРё. РџСЂРё СЂР°СЃРєСЂС‹С‚РёРё РѕРґРЅРѕР№ РєР°СЂС‚РѕС‡РєРё С‚РѕР»СЊРєРѕ РѕРЅР° СЂР°СЃС‚С‘С‚ вЂ” СЃРѕСЃРµРґРЅРёРµ
   РѕСЃС‚Р°СЋС‚СЃСЏ РЅР° РјРµСЃС‚Рµ. */
.key-directions .services__cards {
  align-items: start !important;
}
/* Р’С‹СЂР°РІРЅРёРІР°РЅРёРµ СЃРѕРґРµСЂР¶РёРјРѕРіРѕ РІРЅСѓС‚СЂРё РєР°СЂС‚РѕС‡РєРё: РІРµСЂС…РЅСЏСЏ С‡Р°СЃС‚СЊ (Р·Р°РіРѕР»РѕРІРѕРє +
   РѕРїРёСЃР°РЅРёРµ) СЂР°СЃС‚СЏРіРёРІР°РµС‚СЃСЏ РЅР° РІСЃСЋ СЃРІРѕР±РѕРґРЅСѓСЋ РІС‹СЃРѕС‚Сѓ, РєРЅРѕРїРєР° В«РЈР·РЅР°С‚СЊ
   РїРѕРґСЂРѕР±РЅРµРµВ» РІСЃРµРіРґР° РїСЂРёР¶РёРјР°РµС‚СЃСЏ Рє РЅРёР·Сѓ РєР°СЂС‚РѕС‡РєРё. */
.key-directions .services__card {
  display: flex !important;
  flex-direction: column !important;
}
.key-directions .services__cards-top {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.key-directions .services__card-bottom {
  margin-top: auto;
}

/* === Р§Р°СЃС‚СЊ 1 вЂ” РЅР°Р»РѕРіРё Рё РїСЂР°РІРѕ: С‚С‘РїР»С‹Р№ РєСЂРµРјРѕРІС‹Р№ С„РѕРЅ, РєР°СЂС‚РѕС‡РЅС‹Р№ С„РѕСЂРјР°С‚ === */
.key-directions__part--1 .services__body {
  padding-top: 70px !important;
  padding-bottom: 90px !important;
}
/* Р¦РІРµС‚ Р·Р°РіРѕР»РѕРІРєРѕРІ вЂ” РµРґРёРЅС‹Р№ РґР»СЏ РІСЃРµРіРѕ СЃР°Р№С‚Р° (Р·РѕР»РѕС‚РѕР№ #c2a75a РёР· --color-primary).
   Р”РµРєРѕСЂР°С‚РёРІРЅС‹Р№ В«С€С‚СЂРёС…В» РїРѕРґ Р·Р°РіРѕР»РѕРІРєРѕРј вЂ” С‚РѕР№ Р¶Рµ РїР°Р»РёС‚СЂС‹ */
.key-directions__part--1 .services__title::after,
.key-directions__part--2 .process__title::after,
.key-directions__part--3 .services__title::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background: #C2A75A;
  margin: 16px auto 18px;
  opacity: 0.55;
}
.key-directions__part--1 .services__card {
  background: #fff;
  box-shadow: 0 10px 25px rgba(4, 37, 75, 0.07);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.key-directions__part--1 .services__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(4, 37, 75, 0.12);
}

/* === Р§Р°СЃС‚СЊ 2 вЂ” РїСЂРѕС†РµСЃСЃ СЂР°Р±РѕС‚С‹: С‡РёСЃС‚С‹Р№ Р±РµР»С‹Р№, Р±РѕР»СЊС€Рµ РІРѕР·РґСѓС…Р° === */
.key-directions__part--2 .process__body {
  padding-top: 110px !important;
  padding-bottom: 120px !important;
}
.key-directions__part--2 .process__title {
  text-align: center;
}
.key-directions__part--2 .process__subtitle {
  text-align: center;
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* РЈР±РёСЂР°РµРј Сѓ С‡Р°СЃС‚Рё 2 Р»СЋР±РѕР№ РІРѕР·РјРѕР¶РЅС‹Р№ РїРѕРґСЉС‘Рј РїРѕРґ "РєР°СЂС‚РѕС‡РЅС‹Р№" РІРёРґ вЂ”
   РґРµР»Р°РµРј РѕС„РѕСЂРјР»РµРЅРёРµ РїРѕР»РЅРѕСЃС‚СЊСЋ РїСЂРѕР·СЂР°С‡РЅС‹Рј Рё РІРѕР·РґСѓС€РЅС‹Рј */
.key-directions__part--2 .process__steps {
  padding-top: 20px;
}

/* === Р§Р°СЃС‚СЊ 3 вЂ” С„СЂР°РЅС‡Р°Р№Р·РёРЅРі Рё IP: С‡СѓС‚СЊ Р±РѕР»РµРµ С‚С‘РїР»С‹Р№ С„РѕРЅ,
   РєР°СЂС‚РѕС‡РЅС‹Р№ С„РѕСЂРјР°С‚, Р·РѕР»РѕС‚С‹Рµ Р°РєС†РµРЅС‚С‹ С‚РµРјС‹ services_dark СЃРѕС…СЂР°РЅСЏСЋС‚СЃСЏ === */
.key-directions__part--3 .services__body {
  padding-top: 90px !important;
  padding-bottom: 100px !important;
}
.key-directions__part--3 .services__card {
  background: #fff;
  box-shadow: 0 10px 25px rgba(4, 37, 75, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.key-directions__part--3 .services__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(4, 37, 75, 0.13);
}

/* РЁРІС‹ РјРµР¶РґСѓ С‡Р°СЃС‚СЏРјРё СѓРґР°Р»РµРЅС‹ РїРѕ РїСЂР°РІРєРµ РѕС‚ 12.05.2026 (Р»РёС€РЅРёРµ Р»РёРЅРёРё РЅР°Рґ Р·Р°РіРѕР»РѕРІРєР°РјРё) */
.key-directions__part + .key-directions__part {
  border-top: 0;
}

/* РђРґР°РїС‚РёРІ: РЅР° РјРѕР±РёР»СЊРЅС‹С… СЃРѕРєСЂР°С‰Р°РµРј РѕС‚СЃС‚СѓРїС‹, С‡С‚РѕР±С‹ РЅРµ РїСѓСЃС‚РѕРІР°Р»Рѕ */
@media (width < 768px) {
  .directions-super-header--key {
    padding: 56px 0 40px;
  }
  .key-directions__part--1 .services__body {
    padding-top: 50px !important;
    padding-bottom: 64px !important;
  }
  .key-directions__part--2 .process__body {
    padding-top: 76px !important;
    padding-bottom: 84px !important;
  }
  .key-directions__part--3 .services__body {
    padding-top: 64px !important;
    padding-bottom: 70px !important;
  }
  .key-directions__part + .key-directions__part--removed-stub::before {
    top: 28px;
    width: 50px;
  }
}

/* =========================================================
   Founder вЂ” СЂР°СЃС€РёСЂРµРЅРЅС‹Р№ Р±Р»РѕРє: РјР°СЂРєРµСЂС‹, РєРЅРёРіР°, С†РёС‚Р°С‚Р°.
   РЎС‚РёР»РёСЃС‚РёРєР° С‚Р° Р¶Рµ, С‡С‚Рѕ Сѓ РѕСЃС‚Р°Р»СЊРЅРѕРіРѕ СЃР°Р№С‚Р°: Р·РѕР»РѕС‚РѕР№ #C2A75A,
   С‚С‘РјРЅРѕ-СЃРёРЅРёР№ #04254b, РєСЂРµРјРѕРІР°СЏ РїР°Р»РёС‚СЂР°.
   Layout: СЃР»РµРІР° РєРѕР»РѕРЅРєР° (С„РѕС‚Рѕ + Р±Р»РѕРє РєРЅРёРіРё),
            СЃРїСЂР°РІР° РєРѕР»РѕРЅРєР° (РёРјСЏ/СЂРѕР»СЊ/С‚РµРєСЃС‚/РјР°СЂРєРµСЂС‹/С†РёС‚Р°С‚Р°).
   ========================================================= */
.founder__left {
  flex: 0 1 50%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  min-width: 0;
  /* Р¤РѕС‚Рѕ РєР°РїРїРёС‚СЃСЏ 500px (max-width Сѓ .founder__image) + 10px РЅР° gold-border
     = 510px РІРЅРµС€РЅРµР№ С€РёСЂРёРЅС‹. РљРѕР»РѕРЅРєР° РѕРіСЂР°РЅРёС‡РµРЅР° С‚РµРј Р¶Рµ Р·РЅР°С‡РµРЅРёРµРј, С‡С‚РѕР±С‹
     Р±Р»РѕРє РєРЅРёРіРё СЂРѕРІРЅРѕ СЃРѕРІРїР°РґР°Р» РїРѕ С€РёСЂРёРЅРµ СЃ С„РѕС‚РѕРіСЂР°С„РёРµР№. */
  max-width: 510px;
}
/* Р’РЅСѓС‚СЂРё .founder__left РѕС‚РјРµРЅСЏРµРј flex: 0 1 50% Сѓ .founder__image,
   С‡С‚РѕР±С‹ РѕРЅ Р·Р°РЅРёРјР°Р» РІСЃСЋ С€РёСЂРёРЅСѓ РєРѕР»РѕРЅРєРё (РєРІР°РґСЂР°С‚ РѕСЃС‚Р°С‘С‚СЃСЏ С‡РµСЂРµР·
   aspect-ratio: 1/1, СѓРЅР°СЃР»РµРґРѕРІР°РЅРЅС‹Р№ РёР· style.min.css). */
.founder__left .founder__image {
  flex: none;
  width: 100%;
  margin: 0;
}
.founder__left .founder__book {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
}
@media (width < 1000px) {
  .founder__left {
    width: 100%;
    max-width: 100%;
    align-items: center;
  }
  .founder__left .founder__image {
    width: 274px;
    margin-bottom: 0;
  }
  .founder__left .founder__book {
    width: 274px;
    max-width: 100%;
  }
}

.founder__role {
  font-size: 16px;
  line-height: 1.55;
  color: #6e7480;
  margin-top: 6px;
  margin-bottom: 22px;
  text-wrap: balance;
}
.founder__markers {
  margin-top: 10px;
  margin-bottom: 22px;
}
.founder__markers li {
  margin-bottom: 8px;
}
.founder__book {
  margin: 0;
  padding: 18px 20px;
  background: #faf8f4;
  border-left: 3px solid #C2A75A;
  border-radius: 6px;
}
.founder__book-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
}
.founder__book-word {
  color: #C2A75A;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(194, 167, 90, 0.4);
  transition: border-color 0.2s ease, color 0.2s ease;
}
.founder__book-word:hover {
  border-bottom-color: #C2A75A;
}
.founder__book-link {
  display: inline-block;
  margin-top: 12px;
  padding: 8px 18px;
  border: 1px solid #C2A75A;
  border-radius: 6px;
  color: #C2A75A;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.founder__book-link:hover {
  background: #C2A75A;
  color: #fff;
}
@media (width < 768px) {
  .founder__book { padding: 14px 16px; }
  .founder__book-text { font-size: 14px; }
}

/* =========================================================
   Cities вЂ” В«Р“РѕСЂРѕРґР°, РІ РєРѕС‚РѕСЂС‹С… СЏ СЂР°Р±РѕС‚Р°СЋВ». РџСЂРµРјРёР°Р»СЊРЅР°СЏ РїРѕРґР°С‡Р°
   РІ РѕР±С‰РµР№ РїР°Р»РёС‚СЂРµ СЃР°Р№С‚Р°: Р·РѕР»РѕС‚Рѕ #C2A75A, С‚С‘РјРЅРѕ-СЃРёРЅРёР№ #04254b,
   РєСЂРµРјРѕРІС‹Р№ #f2f0ee. Eyebrow + Р·Р°РіРѕР»РѕРІРѕРє + РєР°СЂС‚РѕС‡РєР° СЃ Р·РѕР»РѕС‚С‹РјРё
   Р°РєС†РµРЅС‚Р°РјРё + РїРёРЅС‹ + СЃС‡С‘С‚С‡РёРє РІ РїРѕРґРІР°Р»Рµ.
   ========================================================= */
.cities {
  background: #f2f0ee;
  position: relative;
  overflow: hidden;
}
.cities__body {
  padding-top: 90px;
  padding-bottom: 90px;
}

/* РЁР°РїРєР°: eyebrow + title + subtitle */
.cities__header {
  text-align: center;
  margin-bottom: 44px;
}
.cities__eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.32em;
  color: #C2A75A;
  text-transform: uppercase;
  margin-bottom: 14px;
  opacity: 0.9;
}
.cities__title {
  text-align: center;
  margin-bottom: 0 !important;
}
.cities__title::after {
  content: '';
  display: block;
  width: 80px;
  height: 2px;
  background: #C2A75A;
  margin: 20px auto 22px;
  opacity: 0.7;
}
.cities__subtitle {
  font-size: 16px;
  line-height: 1.6;
  color: #6e7480;
  max-width: 640px;
  margin: 0 auto;
  text-wrap: balance;
}

/* РљР°СЂС‚РѕС‡РєР° СЃ РіРѕСЂРѕРґР°РјРё */
.cities__card {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  background: #fff;
  border-radius: 24px;
  padding: 56px 72px 28px;
  box-shadow: 0 18px 44px rgba(4, 37, 75, 0.07);
  overflow: hidden;
}
/* РўРѕРЅРєР°СЏ Р·РѕР»РѕС‚Р°СЏ РїРѕР»РѕСЃР°-Р°РєС†РµРЅС‚ СЃРІРµСЂС…Сѓ РєР°СЂС‚РѕС‡РєРё */
.cities__card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 140px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #C2A75A 50%, transparent);
}

/* РЎРµС‚РєР° РёР· 3 РєРѕР»РѕРЅРѕРє */
.cities__columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px 56px;
}
.cities__col {
  list-style: none;
  padding: 0;
  margin: 0;
}
.cities__col li {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 16px;
  line-height: 1.4;
  color: #04254b;
  padding: 10px 0;
  border-bottom: 1px solid rgba(4, 37, 75, 0.05);
  transition: color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.cities__col li:last-child { border-bottom: 0; }
.cities__col li:hover {
  color: #C2A75A;
  transform: translateX(2px);
  border-bottom-color: rgba(194, 167, 90, 0.25);
}
.cities__col li > span {
  flex: 1;
  letter-spacing: 0.005em;
}
.cities__pin {
  flex-shrink: 0;
  width: 12px;
  height: 16px;
  color: #C2A75A;
  transition: transform 0.2s ease;
}
.cities__col li:hover .cities__pin {
  transform: translateY(-1px);
}

/* РџРѕРґРІР°Р» РєР°СЂС‚РѕС‡РєРё: СЃС‡С‘С‚С‡РёРє В«18 РіРѕСЂРѕРґРѕРІВ» */
.cities__count {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px dashed rgba(194, 167, 90, 0.35);
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.cities__count-num {
  font-size: 38px;
  font-weight: 800;
  color: #C2A75A;
  letter-spacing: -0.015em;
  line-height: 1;
}
.cities__count-text {
  font-size: 13px;
  font-weight: 600;
  color: #6e7480;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* РђРґР°РїС‚РёРІ */
@media (width < 1100px) {
  .cities__card { padding: 50px 50px 24px; }
  .cities__columns { gap: 4px 36px; }
}
@media (width < 900px) {
  .cities__body { padding-top: 70px; padding-bottom: 70px; }
  .cities__card { padding: 40px 32px 22px; max-width: 620px; }
  .cities__columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 32px;
  }
}
@media (width < 560px) {
  .cities__body { padding-top: 56px; padding-bottom: 56px; }
  .cities__header { margin-bottom: 32px; }
  .cities__card { padding: 32px 22px 20px; }
  .cities__columns {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .cities__col li { padding: 9px 0; }
  .cities__count { margin-top: 22px; padding-top: 18px; gap: 8px; }
  .cities__count-num { font-size: 32px; }
  .cities__count-text { font-size: 12px; letter-spacing: 0.04em; }
}

/* =========================================================
   Cases вЂ” РєР°СЂСѓСЃРµР»СЊ СЃ С‚СЂРµРјСЏ РєР°СЂС‚РѕС‡РєР°РјРё РѕРґРЅРѕРІСЂРµРјРµРЅРЅРѕ.
   Р’С‹СЂР°РІРЅРёРІР°РµРј РІСЃРµ РєР°СЂС‚РѕС‡РєРё РїРѕ РІС‹СЃРѕС‚Рµ СЃР°РјРѕР№ РІС‹СЃРѕРєРѕР№ РІ СЃС‚СЂРѕРєРµ. */
.cases__slider--triple .swiper-wrapper {
  align-items: stretch !important;
}
.cases__slider--triple .swiper-slide {
  height: auto !important;
  display: flex !important;
}
.cases__slider--triple .case__slide-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.cases__slider--triple .case__slide-main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* =========================================================
   Laws вЂ” РєР°СЂСѓСЃРµР»СЊ СЃ С‚СЂРµРјСЏ РєР°СЂС‚РѕС‡РєР°РјРё РѕРґРЅРѕРІСЂРµРјРµРЅРЅРѕ.
   Р’СЃРµ РєР°СЂС‚РѕС‡РєРё СЃС‚СЂРѕРєРё РѕРґРёРЅР°РєРѕРІРѕР№ РІС‹СЃРѕС‚С‹ РЅРµР·Р°РІРёСЃРёРјРѕ
   РѕС‚ РґР»РёРЅС‹ С‚РµРєСЃС‚Р°. */
.laws__slider--triple .swiper-wrapper {
  align-items: stretch !important;
}
.laws__slider--triple .swiper-slide {
  height: auto !important;
  display: flex !important;
}
.laws__slider--triple .laws__slide {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.laws__slider--triple .laws__slide-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.laws__slider--triple .laws__slide-text {
  flex: 1;
}

/* РЎС‚РёР»РёР·Р°С†РёСЏ В«Р“Р»Р°РІРЅРѕРµ:В» РІРЅСѓС‚СЂРё post.content РґР»СЏ РєР°СЂС‚РѕС‡РµРє РЅРѕРІРѕСЃС‚РµР№.
   Р•СЃР»Рё РІ Р°РґРјРёРЅРєРµ С‚РµРєСЃС‚ РєР°СЂС‚РѕС‡РєРё РѕС„РѕСЂРјР»РµРЅ РєР°Рє В«<strong>Р“Р»Р°РІРЅРѕРµ:</strong>
   <ul>...</ul>В», РїРѕР»СѓС‡РёРј РІС‹РґРµР»РµРЅРЅС‹Р№ Р±Р»РѕРє РєР»СЋС‡РµРІС‹С… С‚РµР·РёСЃРѕРІ. */
.laws__slide-text strong:first-child,
.laws__slide-text b:first-child {
  display: inline-block;
  color: #C2A75A;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 12px;
  margin-bottom: 6px;
}
.laws__slide-text ul {
  margin: 4px 0 0;
  padding-left: 20px;
  list-style: disc;
}
.laws__slide-text ul li {
  margin-bottom: 6px;
  line-height: 1.5;
}

/* =========================================================
   Founder вЂ” Р°РЅРёРјР°С†РёСЏ РїРѕРґРјРёРіРёРІР°РЅРёСЏ (С„РѕС‚Рѕ РјРµРЅСЏРµС‚СЃСЏ СЂР°Р· РІ 3СЃ,
   РєРѕРіРґР° СЃРµРєС†РёСЏ РІ Р·РѕРЅРµ РІРёРґРёРјРѕСЃС‚Рё). Hover-РєР°СЂС‚РёРЅРєР° РёРґС‘С‚ РєР°Рє
   CSS-С„РѕРЅ <span>, С‡С‚РѕР±С‹ lazy-load РїР»Р°РіРёРЅ РµС‘ РЅРµ РїРµСЂРµС…РІР°С‚С‹РІР°Р».
   .founder__image СЃРѕС…СЂР°РЅСЏРµС‚ СЃРІРѕРё Р±Р°Р·РѕРІС‹Рµ СЃС‚РёР»Рё РёР· style.min.css
   (aspect-ratio: 1/1, overflow: hidden, border-radius: 50px).
   ========================================================= */
.founder__image-hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  background-image: var(--founder-wink-img, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity 0.5s ease;
  border-radius: inherit;
}
.founder__image.is-wink .founder__image-hover {
  opacity: 1;
}

/* =========================================================
   Advantages вЂ” С†РµРЅС‚СЂРёСЂРѕРІР°РЅРёРµ Рё РєСЂСѓРїРЅС‹Рµ С†РёС„СЂС‹
   ========================================================= */
/* РљР°СЂС‚РѕС‡РєРё В«РњРЅРµ РґРѕРІРµСЂСЏСЋС‚В» вЂ” padding Рё С†РµРЅС‚СЂРёСЂРѕРІР°РЅРёРµ РІРЅСѓС‚СЂРё services__card */
#advantages-grid .services__card {
  padding: 32px 24px !important;
  text-align: center !important;
  align-items: center !important;
  justify-content: flex-start !important;
  cursor: default !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
#advantages-grid .services__card:hover {
  transform: none !important;
  box-shadow: none !important;
}
.advantages__item-name {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #333 !important;
}
.advantages__item-name > span {
  font-size: 52px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #C2A75A !important;
  display: block !important;
}
.advantages__item-text {
  font-size: 14px !important;
  color: #666 !important;
  text-align: center !important;
  margin-top: 10px !important;
  line-height: 1.6 !important;
}

/* =========================================================
   Ecosystem вЂ” С‚РµРєСЃС‚ РІ СЂР°СЃРєСЂС‹С‚РѕРј Р±Р»РѕРєРµ (С‡РёС‚Р°РµРјС‹Р№ РЅР° СЃРІРµС‚Р»РѕРј С„РѕРЅРµ)
   ========================================================= */
.ecosystem__subtitle-expand-text {
  color: #444 !important;
}

/* =========================================================
   Ecosystem вЂ” В«+В» СЃС‚СЂРѕРіРѕ РїРѕ С†РµРЅС‚СЂСѓ РІ РєСЂСѓР¶РєРµ
   ========================================================= */
.ecosystem__subtitle-icon {
  display: block !important;
  line-height: 20px !important;
  text-align: center !important;
}

/* =========================================================
   Р‘Р»РѕРє Р¤СЂР°РЅС‡Р°Р№Р·РёРЅРі вЂ” РІС‚РѕСЂРѕРµ РЅР°РїСЂР°РІР»РµРЅРёРµ (РїРѕСЃР»Рµ Solutions)
   РўР° Р¶Рµ СЃС‚СЂСѓРєС‚СѓСЂР°, С‡СѓС‚СЊ С‚С‘РїР»РµРµ С„РѕРЅ РґР»СЏ РІРёР·СѓР°Р»СЊРЅРѕРіРѕ РѕС‚Р»РёС‡РёСЏ
   ========================================================= */
.franchise {
  background: #fff;
}
.franchise__title {
  color: #C2A75A;
}
.franchise__cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 36px;
  margin-top: 40px;
}
@media (width < 1200px) {
  .franchise__cards { grid-template-columns: 1fr; gap: 20px; }
}
.franchise__card {
  background: #f8f6f2;
  border-radius: 20px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
}
.franchise__card-top {
  padding: 25px;
  border-bottom: 3px solid #edeae4;
  flex: 1;
}
.franchise__card-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 25px;
  color: #04254b;
}
.franchise__card-descr {
  color: #555;
  text-wrap: balance;
}
.franchise__card-bottom {
  padding: 25px;
}
.franchise__card-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 20px;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 25px;
}
.franchise__card-text {
  color: #444;
  text-wrap: balance;
}
@media (width < 767px) {
  .franchise__card-top { padding: 20px; }
  .franchise__card-bottom { padding: 20px; }
  .franchise__card-descr { font-size: 12px; }
}
.franchise__button {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}
.franchise__button .btn {
  width: 382px;
  max-width: 100%;
}
@media (width < 768px) {
  .franchise__button { margin-top: 32px; }
  .franchise__button .btn { font-size: 16px; }
}

/* =========================================================
   Solutions вЂ” Р»РµРІРѕРµ РІС‹СЂР°РІРЅРёРІР°РЅРёРµ РЅР° РјРѕР±Р°Р№Р»Рµ
   ========================================================= */
@media (width < 768px) {
  .solutions__card-title,
  .solutions__card-descr,
  .solutions__card-text {
    text-align: left !important;
  }
  .solutions__card-label {
    justify-content: flex-start !important;
  }
}

/* =========================================================
   Solutions + Franchise вЂ” РІС‹СЂР°РІРЅРёРІР°РЅРёРµ Р»РёРЅРёРё В«Р РµС€РµРЅРёРµВ»
   ========================================================= */
.solutions__card {
  display: flex !important;
  flex-direction: column !important;
}
.solutions__card-top {
  flex: 1 !important;
}
.franchise__card-top {
  flex: 1 !important;
}

/* Subgrid вЂ” РІС‹СЂР°РІРЅРёРІР°РµС‚ Р»РёРЅРёСЋ В«Р РµС€РµРЅРёРµВ» РЅР° СѓСЂРѕРІРЅРµ РѕРґРёРЅР°РєРѕРІРѕР№
   РІС‹СЃРѕС‚С‹ РІСЃРµС… РІРµСЂС…РЅРёС… СЃРµРєС†РёР№ РІ СЃС‚СЂРѕРєРµ РєР°СЂС‚РѕС‡РµРє */
.franchise__cards {
  grid-template-rows: auto auto;
  row-gap: 0;
}
.franchise__card {
  grid-row: span 2;
  display: grid !important;
  grid-template-rows: subgrid;
  overflow: hidden;
}
@media (width < 1200px) {
  .franchise__cards {
    grid-template-rows: unset;
    row-gap: 20px;
  }
  .franchise__card {
    grid-row: auto;
    display: flex !important;
    flex-direction: column !important;
  }
}

/* =========================================================
   Trust-Р±РµР№РґР¶ С‚РѕРІР°СЂРЅРѕРіРѕ Р·РЅР°РєР° (РїРѕРґ Р»РѕРіРѕС‚РёРїРѕРј)
   ========================================================= */

/* =========================================================
   Header вЂ” РїСЂРѕР·СЂР°С‡РЅС‹Р№ РЅР° СЃС‚Р°СЂС‚Рµ, С„РѕРЅ РїСЂРё СЃРєСЂРѕР»Р»Рµ
   ========================================================= */
.header {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: background 0.4s ease, backdrop-filter 0.4s ease !important;
}
.header.-bg {
  background: #04254b !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* Desktop в‰Ґ1200px: Р»РѕРіРѕ вЂ” РєРѕР»РѕРЅРєР°, Р±РµР№РґР¶ РїРѕРґ РєР°СЂС‚РёРЅРєРѕР№ */
/* TM РЅР°Рґ Р»РѕРіРѕС‚РёРїРѕРј */
.header__logo {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: auto !important;
  height: auto !important;
  flex-shrink: 0 !important;
  gap: 4px !important;
}

/* Mobile */
@media (width < 1200px) {
  .header__logo {
    gap: 3px !important;
    width: fit-content !important;
  }
}

/* 11 РїСѓРЅРєС‚РѕРІ РјРµРЅСЋ */
@media (width >= 1200px) and (width < 1440px) {
  .menu__body {
    gap: 14px !important;
  }
  .menu__list {
    gap: 10px !important;
  }
  .menu__link {
    font-size: 12px !important;
  }
}
@media (width >= 1440px) {
  .menu__body {
    gap: 20px !important;
  }
  .menu__list {
    gap: 16px !important;
  }
  .menu__link {
    font-size: 13px !important;
  }
}

.header__trademark {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  max-height: 40px;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: max-height 0.35s ease, opacity 0.3s ease, visibility 0.3s ease;
}
.header__trademark svg { flex-shrink: 0; }
.header__trademark-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  line-height: 1.25;
}
.header__trademark-text span {
  display: block;
  font-size: 9px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.02em;
}
.header__trademark-text span:first-child {
  color: #C2A75A;
  font-weight: 500;
}

/* РџСЂРё СЃРєСЂРѕР»Р»Рµ вЂ” TM СЃС…Р»РѕРїС‹РІР°РµС‚СЃСЏ РІРІРµСЂС… Рё РІС‹С†РІРµС‚Р°РµС‚,
   Р»РѕРіРѕ РїР»Р°РІРЅРѕ РѕСЃС‚Р°С‘С‚СЃСЏ РЅР° РјРµСЃС‚Рµ = РёСЃС…РѕРґРЅР°СЏ РїРѕР·РёС†РёСЏ */
.header.-bg .header__trademark {
  max-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Mobile/tablet <1200px: РјРµР»РєРёР№ С€СЂРёС„С‚, СЂР°Р·РјРµСЂ РёРєРѕРЅРєРё */
@media (width < 1200px) {
  .header__logo {
    /* flex-direction: column СѓР¶Рµ РІС‹СЃС‚Р°РІР»РµРЅ РІС‹С€Рµ */
  }
  /* Р‘РµР№РґР¶ РїРѕРґ РєР°СЂС‚РёРЅРєРѕР№ */
  .header__trademark {
    display: flex !important;
    gap: 4px;
  }
  .header__trademark svg {
    width: 10px !important;
    height: 10px !important;
  }
  .header__trademark-text span,
  .header__trademark-text span:first-child {
    font-size: 7px !important;
    letter-spacing: 0;
  }
  /* Р›РѕРіРѕ РїРѕ РІС‹СЃРѕС‚Рµ, С€РёСЂРёРЅР° Р°РІС‚Рѕ (РїСЂРѕРїРѕСЂС†РёРё СЃРѕС…СЂР°РЅСЏСЋС‚СЃСЏ) */
  .header__logo img {
    height: 55px !important;
    width: auto !important;
  }
}

/* =========================================================
   РђРєС‚РёРІРЅРѕРµ РјРµРЅСЋ РїСЂРё СЃРєСЂРѕР»Р»Рµ
   ========================================================= */
.menu__link.is-active {
  color: #C2A75A;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  transition: color 0.25s ease;
}

/* =========================================================
   Ecosystem вЂ” РєСЂРµРјРѕРІС‹Р№ РїСЂРµРјРёСѓРј СЃС‚РёР»СЊ (РєР°Рє Р±Р»РѕРє Solutions)
   РћРўРљРђРў РЅР° С‚С‘РјРЅС‹Р№: СЃРј. РґРѕРєСѓРјРµРЅС‚Р°С†РёСЋ WP /dev-changelog/
   ========================================================= */

#ecosystem {
  background: #f2f0ee;
  position: relative;
  overflow: hidden;
}

/* Р—РѕР»РѕС‚Р°СЏ Р»РёРЅРёСЏ СЃРІРµСЂС…Сѓ */
#ecosystem::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #C2A75A, transparent);
}

/* Р—Р°РіРѕР»РѕРІРѕРє вЂ” Р·РѕР»РѕС‚РѕР№, РїРѕРґР·Р°РіРѕР»РѕРІРѕРє вЂ” С‚С‘РјРЅС‹Р№ */
#ecosystem .services__title {
  color: #C2A75A;
}
#ecosystem .services__subtitle {
  color: #333;
}

/* РљР°СЂС‚РѕС‡РєРё вЂ” Р±РµР»С‹Рµ СЃ С‚РµРЅСЊСЋ, РєР°Рє РІ Solutions */
#ecosystem .services__card {
  background: #fff;
  border: none;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
#ecosystem .services__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.15);
}

/* Р’РµСЂС… РєР°СЂС‚РѕС‡РєРё */
#ecosystem .services__cards-top {
  border-bottom: 3px solid #f2f0ee;
}

/* РќРёР· РєР°СЂС‚РѕС‡РєРё */
#ecosystem .services__card-bottom {
  background: transparent;
}

/* Р—Р°РіРѕР»РѕРІРѕРє РєР°СЂС‚РѕС‡РєРё вЂ” С‚РѕС‚ Р¶Рµ С‚С‘РјРЅРѕ-СЃРёРЅРёР№ С‡С‚Рѕ РІРѕ franchise/solutions */
#ecosystem .services__card-title {
  color: #04254b;
}

/* РћРїРёСЃР°РЅРёРµ */
#ecosystem .services__card-descr {
  color: #555;
}

/* РљРЅРѕРїРєР° В«РЈР·РЅР°С‚СЊ РїРѕРґСЂРѕР±РЅРµРµВ» */
#ecosystem .services__card-toggle {
  color: var(--color-primary);
  font-weight: 600;
  font-size: 20px !important;
}

/* Р Р°СЃРєСЂС‹С‚Р°СЏ РѕР±Р»Р°СЃС‚СЊ */
#ecosystem .services__card-expand-inner {
  border-top: 1px solid #f2f0ee;
}
#ecosystem .services__card-expand-text {
  color: #444;
  font-size: 16px !important;
}

/* РЎСЃС‹Р»РєР° РІРЅСѓС‚СЂРё Р°РєРєРѕСЂРґРµРѕРЅР° */
#ecosystem .services__card-expand-link {
  color: #C2A75A;
  font-size: 20px !important;
}

/* РўРµРєСЃС‚ РІРЅРёР·Сѓ Р±Р»РѕРєР° */
#ecosystem .ecosystem__footer-note {
  color: #888;
}

/* РђРЅРёРјР°С†РёСЏ РїРѕСЏРІР»РµРЅРёСЏ РєР°СЂС‚РѕС‡РµРє РїСЂРё СЃРєСЂРѕР»Р»Рµ */
#ecosystem .services__card {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease, transform 0.5s ease,
              border-color 0.3s ease, box-shadow 0.3s ease;
}
#ecosystem .services__card.is-visible {
  opacity: 1;
  transform: translateY(0);
}
#ecosystem .services__card:hover {
  transform: translateY(-4px);
}
#ecosystem .services__card.is-visible:hover {
  transform: translateY(-4px);
}

/* Р—Р°РґРµСЂР¶РєР° РґР»СЏ РєР°Р¶РґРѕР№ РєР°СЂС‚РѕС‡РєРё (СЌС„С„РµРєС‚ РІРѕР»РЅС‹) */
#ecosystem .services__card:nth-child(1) { transition-delay: 0s; }
#ecosystem .services__card:nth-child(2) { transition-delay: 0.08s; }
#ecosystem .services__card:nth-child(3) { transition-delay: 0.16s; }
#ecosystem .services__card:nth-child(4) { transition-delay: 0.24s; }
#ecosystem .services__card:nth-child(5) { transition-delay: 0.32s; }
#ecosystem .services__card:nth-child(6) { transition-delay: 0.40s; }

/* =========================================================
   Ecosystem вЂ” РїРѕРґР·Р°РіРѕР»РѕРІРѕРє СЃ РєРЅРѕРїРєРѕР№ В«+В»
   ========================================================= */
.ecosystem__subtitle-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  margin-bottom: 36px;
  transition: margin-bottom 0.35s ease;
}
/* aria-expanded РјРµРЅСЏРµС‚СЃСЏ РІ РЅР°С‡Р°Р»Рµ Р°РЅРёРјР°С†РёРё в†’ margin Рё max-height
   Р°РЅРёРјРёСЂСѓСЋС‚СЃСЏ СЃРёРЅС…СЂРѕРЅРЅРѕ РІ РѕР±Рµ СЃС‚РѕСЂРѕРЅС‹, Р±РµР· СЂРµР·РєРѕРіРѕ РїСЂС‹Р¶РєР° */
.ecosystem__subtitle-wrap:has(.ecosystem__subtitle-toggle[aria-expanded="true"]) {
  margin-bottom: 8px;
}
/* РџРѕРґР·Р°РіРѕР»РѕРІРѕРє РЅРµ СЂР°СЃС‚СЏРіРёРІР°РµС‚СЃСЏ РЅР° РІСЃСЋ С€РёСЂРёРЅСѓ вЂ” РєРЅРѕРїРєР° РѕСЃС‚Р°С‘С‚СЃСЏ СЂСЏРґРѕРј */
.ecosystem__subtitle-wrap .services__subtitle {
  width: auto;
  margin: 0;
}
.ecosystem__subtitle-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid #C2A75A;
  background: none;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  transition: background 0.2s ease;
}
.ecosystem__subtitle-toggle:hover {
  background: rgba(194, 167, 90, 0.15);
}
.ecosystem__subtitle-icon {
  color: #C2A75A;
  font-size: 15px;
  line-height: 1;
  font-weight: 400;
}
.ecosystem__subtitle-expand {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
}
.ecosystem__subtitle-expand-text {
  max-width: 720px;
  margin: 8px auto 28px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
  padding: 0 16px;
}

/* =========================================================
   Р•РґРёРЅР°СЏ 3-РєРѕР»РѕРЅРѕС‡РЅР°СЏ СЃРµС‚РєР° вЂ” Р­РєРѕСЃРёСЃС‚РµРјР° Рё В«РњРЅРµ РґРѕРІРµСЂСЏСЋС‚В»
   РћР±Рµ СЃРµРєС†РёРё: РѕРґРёРЅ .container, repeat(3, 1fr), gap 36px
   ========================================================= */
/* РћРґРёРЅР°РєРѕРІС‹Р№ .container РґР»СЏ РѕР±РѕРёС… Р±Р»РѕРєРѕРІ */
#ecosystem > .services__body,
.advantages > .advantages__body {
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* РљР°СЂС‚РѕС‡РєРё СЌРєРѕСЃРёСЃС‚РµРјС‹ РЅРµ СЂР°СЃС‚СЏРіРёРІР°СЋС‚ СЃС‚СЂРѕРєСѓ РїСЂРё СЂР°СЃРєСЂС‹С‚РёРё Р°РєРєРѕСЂРґРµРѕРЅР° */
#ecosystem .services__cards {
  align-items: start !important;
  grid-auto-rows: min-content !important;
}
/* Карточка явно не тянется по высоте строки grid'а: открытие соседа не должно делать
   эту карточку «такого же роста». Также сбрасываем height:100% у верхней части,
   которое из style.min.css растягивает фон до самого низа строки. */
#ecosystem .services__card {
  align-self: start !important;
  height: auto !important;
}
#ecosystem .services__cards-top {
  height: auto !important;
}
#ecosystem .services__cards,
.advantages__items {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 36px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (width < 900px) {
  #ecosystem .services__cards,
  .advantages__items {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (width < 600px) {
  #ecosystem .services__cards,
  .advantages__items {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}


/* РљРЅРѕРїРєР° В«РџРµСЂРµР№С‚Рё Рє РєРЅРёРіРµВ» */
.advantages__item-book-btn {
  display: inline-block;
  margin-top: 12px;
  padding: 8px 16px;
  border: 1px solid #C2A75A;
  border-radius: 4px;
  color: #C2A75A;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.advantages__item-book-btn:hover {
  background: #C2A75A;
  color: #fff;
}

/* РўРµРєСЃС‚ РІРЅРёР·Сѓ Р±Р»РѕРєР° СЌРєРѕСЃРёСЃС‚РµРјС‹ */
.ecosystem__footer-note {
  margin-top: 32px;
  text-align: center;
  font-size: 13px;
  font-style: italic;
  opacity: 0.6;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* #ecosystem .services__cards grid вЂ” РѕРїСЂРµРґРµР»РµРЅРѕ РІС‹С€Рµ РІ Р±Р»РѕРєРµ В«Р•РґРёРЅР°СЏ СЃРµС‚РєР°В» */

/* =========================================================
   Ecosystem cards вЂ” dual-click logic
   ========================================================= */

/* Р’РµСЂС…РЅСЏСЏ С‡Р°СЃС‚СЊ РєР°СЂС‚РѕС‡РєРё вЂ” СЃСЃС‹Р»РєР° РЅР° СЃС‚СЂР°РЅРёС†Сѓ СЃРµСЂРІРёСЃР° */
a.services__cards-top {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
a.services__cards-top:hover {
  opacity: 0.85;
  text-decoration: none;
  color: inherit;
}

/* РљРЅРѕРїРєР°-Р°РєРєРѕСЂРґРµРѕРЅ В«РЈР·РЅР°С‚СЊ РїРѕРґСЂРѕР±РЅРµРµВ» */
.services__card-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  font-size: 20px;
  color: inherit;
  padding: 0;
  width: 100%;
  text-align: left;
  margin-bottom: 10px;
}

/* РРєРѕРЅРєР° В«+В» / В«Г—В» вЂ” С‚РѕР»СЊРєРѕ JS РјРµРЅСЏРµС‚ С‚РµРєСЃС‚, Р±РµР· CSS-СЂРѕС‚Р°С†РёРё */
.services__card-toggle-icon {
  font-size: 22px;
  line-height: 1;
  font-weight: 400;
  flex-shrink: 0;
  transition: none;
}

/* Р Р°СЃРєСЂС‹РІР°СЋС‰Р°СЏСЃСЏ РѕР±Р»Р°СЃС‚СЊ вЂ” С‚РѕР»СЊРєРѕ max-height, СЃРґРІРёРіР° РЅРµС‚ */
.services__card-expand {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
}

/* Р’РЅСѓС‚СЂРµРЅРЅРёР№ РІСЂР°РїРїРµСЂ вЂ” С‚РѕР»СЊРєРѕ padding (margin РѕР±СЂРµР·Р°РµС‚СЃСЏ overflow:hidden) */
.services__card-expand-inner {
  padding-top: 20px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.services__card-expand-text {
  font-size: 16px;
  line-height: 1.6;
  opacity: 0.85;
}

/* РЎСЃС‹Р»РєР° РІРЅСѓС‚СЂРё СЂР°СЃРєСЂС‹С‚РѕР№ РѕР±Р»Р°СЃС‚Рё */
.services__card-expand-link {
  display: inline-block;
  margin-top: 12px;
  color: #C2A75A;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: opacity 0.2s ease;
}
.services__card-expand-link:hover {
  opacity: 0.75;
  text-decoration: underline;
}

/* =========================================================
   Service Modal — премиальное модальное окно подробного описания услуги
   ========================================================= */
.service-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overscroll-behavior: contain;
	transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}
/* hidden-атрибут оставляем для семантики/ARIA, но display:none не используем,
   чтобы position:fixed успел применится до анимации (иначе мерцает). */
.service-modal[hidden] {
	display: flex;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.service-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.25s ease, visibility 0s linear 0s;
}
.service-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4, 18, 37, 0.66);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	cursor: pointer;
}
.service-modal__dialog {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 24px;
	max-width: 720px;
	width: 100%;
	max-height: calc(100vh - 48px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 40px 80px rgba(4, 18, 37, 0.45);
	transform: translateY(16px) scale(0.98);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.service-modal.is-open .service-modal__dialog {
	transform: translateY(0) scale(1);
}
.service-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	border: none;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
	z-index: 3;
}
.service-modal__close svg { width: 18px; height: 18px; }
.service-modal__close:hover {
	background: rgba(255, 255, 255, 0.22);
	transform: rotate(90deg);
}
.service-modal__header {
	background: linear-gradient(135deg, #04254b 0%, #08376d 60%, #0a4080 100%);
	color: #fff;
	padding: 36px 56px 30px 36px;
	display: flex;
	align-items: center;
	gap: 20px;
	position: relative;
}
.service-modal__header::after {
	content: '';
	position: absolute;
	left: 36px;
	right: 36px;
	bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, #C2A75A, transparent);
	opacity: 0.7;
}
.service-modal__icon {
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	background: rgba(194, 167, 90, 0.16);
	border: 1px solid rgba(194, 167, 90, 0.45);
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.service-modal__icon img {
	width: 36px;
	height: 36px;
	filter: brightness(0) saturate(100%) invert(80%) sepia(28%) saturate(528%) hue-rotate(8deg) brightness(94%) contrast(86%);
}
.service-modal__title {
	font-size: 24px;
	font-weight: 700;
	margin: 0;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: #fff;
}
.service-modal__body {
	padding: 32px 36px 12px;
	overflow-y: auto;
	flex: 1 1 auto;
}
.service-modal__lead {
	font-size: 16px;
	line-height: 1.65;
	color: #2a3548;
	margin: 0 0 22px;
}
.service-modal__section { margin-bottom: 22px; }
.service-modal__section:last-of-type { margin-bottom: 4px; }
.service-modal__list-label {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #C2A75A;
	margin: 0 0 14px;
}
.service-modal__list {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
.service-modal__list li {
	position: relative;
	padding: 10px 0 10px 28px;
	font-size: 15px;
	line-height: 1.55;
	color: #34405a;
	border-bottom: 1px dashed rgba(194, 167, 90, 0.22);
}
.service-modal__list li:last-child { border-bottom: none; }
.service-modal__list li::before {
	content: '';
	position: absolute;
	left: 4px;
	top: 17px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #C2A75A;
	box-shadow: 0 0 0 4px rgba(194, 167, 90, 0.12);
}
.service-modal__result {
	background: linear-gradient(180deg, #faf6ec 0%, #f5efde 100%);
	border-left: 3px solid #C2A75A;
	border-radius: 0 12px 12px 0;
	padding: 16px 20px;
	font-size: 15px;
	line-height: 1.6;
	color: #2a3548;
	margin-top: 4px;
}
.service-modal__result-label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #C2A75A;
	margin-bottom: 6px;
}
.service-modal__footer {
	padding: 22px 36px 32px;
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap;
	border-top: 1px solid #f0ece1;
	background: #fbfaf5;
}
.service-modal__cta {
	background: #04254b;
	color: #fff;
	border: none;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 28px;
	border-radius: 12px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	white-space: nowrap;
	box-shadow: 0 8px 20px rgba(4, 37, 75, 0.22);
}
.service-modal__cta:hover {
	background: #08376d;
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(4, 37, 75, 0.3);
}
/* CTA как ссылка (переход в сервис из карточек экосистемы) — тот же вид, что и кнопка */
a.service-modal__cta,
.service-modal__cta--link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
a.service-modal__cta:hover,
.service-modal__cta--link:hover { color: #fff; }
.service-modal__link {
	color: #C2A75A;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: opacity 0.2s ease;
}
.service-modal__link:hover { opacity: 0.75; text-decoration: underline; }

/* JS управляет overflow/padding-right на html и body при открытии модалки;
   этот класс оставлен только как hook для возможных стилей. */
body.has-service-modal-open { overscroll-behavior: contain; }

@media (width < 600px) {
	.service-modal { padding: 12px; }
	.service-modal__dialog { border-radius: 18px; max-height: calc(100vh - 24px); }
	.service-modal__header { padding: 26px 56px 22px 22px; gap: 14px; }
	.service-modal__icon { width: 54px; height: 54px; border-radius: 14px; }
	.service-modal__icon img { width: 30px; height: 30px; }
	.service-modal__title { font-size: 20px; }
	.service-modal__body { padding: 22px 22px 8px; }
	.service-modal__lead { font-size: 15px; }
	.service-modal__list li { font-size: 14px; }
	.service-modal__footer { padding: 18px 22px 24px; flex-direction: column; align-items: stretch; gap: 14px; }
	.service-modal__cta { width: 100%; text-align: center; }
	.service-modal__link { text-align: center; }
	.service-modal__close { top: 12px; right: 12px; width: 36px; height: 36px; }
}

/* =========================================================
   TZ FIXES (11.05.2026) вЂ” РїСЂР°РІРєРё РїРѕ РўР— РѕС‚ Р›РµРѕРЅРёРґР°:
   - Р±Р»РѕРє В«Р Р°Р·РґРµР»В»/В«Р§Р°СЃС‚СЊ 01В» СѓР±СЂР°РЅ (СЃРј. СѓРґР°Р»РµРЅРёРµ РІС‹С€Рµ)
   - ecosystem: РіР°СЂР°РЅС‚РёСЂРѕРІР°РЅРѕ 3 РєРѕР»РѕРЅРєРё Г— 2 СЂСЏРґР° РґР»СЏ 6 РєР°СЂС‚РѕС‡РµРє
   - founder: РїРѕРґР»РѕР¶РєР° РїРѕРґ РєРЅРёРіСѓ + СЂР°СЃС‚СЏР¶РєР° РїРѕ РІС‹СЃРѕС‚Рµ
   - franchise/cases: В«Р РµС€РµРЅРёРµВ» РІС‹СЂР°РІРЅРёРІР°РµС‚СЃСЏ РїРѕ РіРѕСЂРёР·РѕРЅС‚Р°Р»Рё
   ========================================================= */

/* --- 1. ECOSYSTEM: 6 РєР°СЂС‚РѕС‡РµРє РєР°Рє 2Г—3 (РЅР°РґС‘Р¶РЅС‹Р№ override) --- */
.services.services_six .services__cards,
.services.services_four .services__cards,
#ecosystem .services__cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 36px !important;
  align-items: stretch !important;
}
@media (width < 1100px) {
  .services.services_six .services__cards,
  .services.services_four .services__cards,
  #ecosystem .services__cards {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (width < 640px) {
  .services.services_six .services__cards,
  .services.services_four .services__cards,
  #ecosystem .services__cards {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* --- 2. FOUNDER: РЅР° РґРµСЃРєС‚РѕРїРµ body вЂ” CSS Grid СЃ РґРІСѓРјСЏ РєРѕР»РѕРЅРєР°РјРё
   РѕРґРёРЅР°РєРѕРІРѕР№ РІС‹СЃРѕС‚С‹; Р»РµРІР°СЏ РІРЅСѓС‚СЂРё С‚РѕР¶Рµ Grid вЂ” С„РѕС‚Рѕ + РєРЅРёРіР°,
   РєРЅРёРіР° СЂР°СЃС‚СЏРіРёРІР°РµС‚СЃСЏ РїРѕ РѕСЃС‚Р°РІС€РµР№СЃСЏ РІС‹СЃРѕС‚Рµ РґРѕ РЅРёР·Р° РїСЂР°РІРѕР№ РєРѕР»РѕРЅРєРё. --- */
@media (width >= 1000px) {
  .founder__body {
    display: grid !important;
    grid-template-columns: minmax(0, 510px) 1fr !important;
    gap: 112px;
    align-items: stretch !important;
  }
  .founder__left {
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    flex: unset !important;
    max-width: none !important;
    width: 100%;
    height: 100%;
    gap: 24px;
  }
  .founder__left .founder__image {
    align-self: start;
  }
  .founder__info {
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }
  /* В«Р’С‹С‚СЏРіРёРІР°РµРјВ» С†РёС‚Р°С‚Сѓ Рє СЃР°РјРѕРјСѓ РЅРёР·Сѓ РїСЂР°РІРѕР№ РєРѕР»РѕРЅРєРё вЂ”
     С‡С‚РѕР±С‹ РѕРЅР° Р·Р°РєР°РЅС‡РёРІР°Р»Р°СЃСЊ СЂРѕРІРЅРѕ РЅР° СѓСЂРѕРІРЅРµ Р±Р»РѕРєР° В«РљРЅРёРіР°В» СЃР»РµРІР°.
     РЎРїРёСЃРѕРє РјР°СЂРєРµСЂРѕРІ (.founder__markers) СЂР°СЃС‚СЏРіРёРІР°РµС‚СЃСЏ РЅР° СЃРІРѕР±РѕРґРЅСѓСЋ РІС‹СЃРѕС‚Сѓ
     Рё СЂР°СЃРїСЂРµРґРµР»СЏРµС‚ РїСѓРЅРєС‚С‹ СЂР°РІРЅРѕРјРµСЂРЅРѕ, С‡С‚РѕР±С‹ РЅРµ Р±С‹Р»Рѕ РїСѓСЃС‚РѕРіРѕ РјРµСЃС‚Р°. */
  .founder__text {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }
  .founder__text .founder__markers {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 8px 0;
    margin-top: 18px;
    margin-bottom: 18px;
  }
  .founder__text .founder__markers li {
    margin-bottom: 0;
  }
  .founder__text blockquote {
    margin-top: 0 !important;
  }
}
@media (width < 1300px) and (width >= 1000px) {
  .founder__body { gap: 50px; }
}
.founder__book {
  align-self: stretch;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  position: relative;
  background:
    linear-gradient(135deg, rgba(194,167,90,0.08) 0%, rgba(250,248,244,1) 60%),
    #faf8f4;
  border-left-width: 4px;
  box-shadow: 0 8px 22px rgba(4,37,75,0.06);
  min-height: 0;
}
.founder__book::after {
  content: '';
  position: absolute;
  right: 18px;
  bottom: 14px;
  width: 26px;
  height: 26px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C2A75A' opacity='0.45'><path d='M19 3H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11V3zm-2 16H8V5h9v14zM4 7h2v14a2 2 0 0 1-2-2V7z'/></svg>") center/contain no-repeat;
  opacity: 0.55;
  pointer-events: none;
}
@media (width < 1000px) {
  .founder__book { flex: 0 0 auto; }
}

/* Р¦РёС‚Р°С‚Р° РІ РїСЂР°РІРѕР№ РєРѕР»РѕРЅРєРµ вЂ” Р»С‘РіРєР°СЏ РїРѕРґР»РѕР¶РєР°, С‡С‚РѕР±С‹ РґРѕР±Р°РІРёС‚СЊ
   РІРёР·СѓР°Р»СЊРЅРѕРіРѕ РІРµСЃР° Рё Р·СЂРёС‚РµР»СЊРЅРѕ СЃР±Р°Р»Р°РЅСЃРёСЂРѕРІР°С‚СЊ СЃ РєРЅРёРіРѕР№ СЃР»РµРІР° */
.founder__text blockquote {
  background: linear-gradient(135deg, rgba(194,167,90,0.07), rgba(250,248,244,0.6));
  border-radius: 10px;
  padding: 22px 26px 22px 30px;
  box-shadow: inset 3px 0 0 #C2A75A;
  margin-top: 24px;
}

/* --- 3. FRANCHISE: В«Р РµС€РµРЅРёРµВ» РІ РѕРґРЅРѕР№ РіРѕСЂРёР·РѕРЅС‚Р°Р»Рё РґР»СЏ РІСЃРµС… 3 РєР°СЂС‚РѕС‡РµРє
   (РЅР°РґС‘Р¶РЅС‹Р№ non-subgrid РІР°СЂРёР°РЅС‚) --- */
@media (width >= 1200px) {
  .franchise__cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-template-rows: unset !important;
    align-items: stretch !important;
    row-gap: 0 !important;
    column-gap: 36px !important;
  }
  .franchise__card {
    grid-row: auto !important;
    display: grid !important;
    grid-template-rows: 1fr auto !important;
    grid-template-columns: unset !important;
    height: 100%;
    overflow: hidden;
  }
  .franchise__card-top {
    flex: unset !important;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .franchise__card-descr {
    flex: 1 1 auto;
  }
}
/* Р”СѓР±Р»РёСЂСѓСЋС‰Р°СЏ СЃС‚СЂР°С…РѕРІРєР°: РІРЅСѓС‚СЂРё card-top РєР°СЂС‚РѕС‡РєР° СЂР°СЃС‚СЏРіРёРІР°РµС‚СЃСЏ РґРѕ
   РІС‹СЃРѕС‚С‹ СЃР°РјРѕР№ РІС‹СЃРѕРєРѕР№ РІ СЃС‚СЂРѕРєРµ С‡РµСЂРµР· subgrid (РµСЃР»Рё РїРѕРґРґРµСЂР¶РёРІР°РµС‚СЃСЏ) */
@supports (grid-template-rows: subgrid) {
  @media (width >= 1200px) {
    .franchise__cards { grid-template-rows: auto auto; }
    .franchise__card { grid-template-rows: subgrid; }
  }
}

/* --- 4. CASES: В«Р РµС€РµРЅРёРµВ» РІ РѕРґРЅРѕР№ РіРѕСЂРёР·РѕРЅС‚Р°Р»Рё (РІРЅСѓС‚СЂРё swiper-СЃР»Р°Р№РґРѕРІ) --- */
.cases__slider--triple .case__slide-wrapper {
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  height: 100%;
}
.cases__slider--triple .case__slide-main {
  display: grid !important;
  grid-template-rows: 1fr auto auto auto !important;
}
.cases__slider--triple .case__slide-descr {
  align-self: start;
}
.cases__slider--triple .case__slide-solution {
  grid-row: 2;
  margin-top: 18px;
}
.cases__slider--triple .case__slide-text {
  grid-row: 3;
}
.cases__slider--triple .case__slide-label {
  grid-row: 4;
}

/* --- 5. PARTNERS В«РњРЅРµ РґРѕРІРµСЂСЏСЋС‚В» вЂ” Р±РµРіСѓС‰Р°СЏ СЃС‚СЂРѕРєР° РЅР° С‡РёСЃС‚РѕРј CSS.
   Swiper РЅРµ РёСЃРїРѕР»СЊР·СѓРµС‚СЃСЏ (РІ С€Р°Р±Р»РѕРЅРµ РЅРµС‚ .swiper РєР»Р°СЃСЃР°), РІРјРµСЃС‚Рѕ РЅРµРіРѕ
   keyframes-Р°РЅРёРјР°С†РёСЏ translateX 0 в†’ -50%. РЎРѕРґРµСЂР¶РёРјРѕРµ РІ DOM РґРІР°Р¶РґС‹,
   С‚Р°Рє С‡С‚Рѕ РјРѕРјРµРЅС‚ В«СЃР±СЂРѕСЃР°В» РЅРµ РІРёРґРµРЅ. РЎРєРѕСЂРѕСЃС‚СЊ РјРµРґР»РµРЅРЅР°СЏ (90s/С†РёРєР»). --- */
.advantages__partners {
  margin-top: 18px;
  margin-bottom: 44px;
  padding: 14px 0;
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.partners-marquee {
  width: 100%;
  overflow: hidden;
}
.partners-marquee__track {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 0;
  animation: partners-scroll 90s linear infinite;
  will-change: transform;
}
.advantages__partners:hover .partners-marquee__track,
.partners-marquee__track:hover {
  animation-play-state: paused;
}
@keyframes partners-scroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}
.partner-logo {
  height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 44px;
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
}
/* Премиальный разделитель — золотой ромб точно посередине между логотипами.
   Каждый .partner-logo имеет padding 0 52px → стык двух соседей приходится
   ровно на left:0 второго логотипа. Ромб ставим туда. */
.partner-logo::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  background: #C2A75A;
  transform: translate(-50%, -50%) rotate(45deg);
  opacity: 0.55;
  pointer-events: none;
  display: block;
}
.partner-logo:first-child::before { display: none; }
@media (width < 768px) {
  .partner-logo::before { width: 5px; height: 5px; }
}

/* Р‘РѕРєСЃ РїРѕРґ Р»РѕРіРѕС‚РёРї вЂ” С„РёРєСЃРёСЂРѕРІР°РЅРЅР°СЏ РєРѕСЂРѕР±РєР°, РєР°СЂС‚РёРЅРєР° РёРґС‘С‚ С„РѕРЅРѕРј
   (background-image), С‡С‚РѕР±С‹ lazy-load РїР»Р°РіРёРЅ РµС‘ РЅРµ РїРѕРґРјРµРЅСЏР».
   РћРєСЂР°С€РёРІР°РµРј РІ РµРґРёРЅС‹Р№ Р·РѕР»РѕС‚РѕР№ С‚РѕРЅ С‡РµСЂРµР· CSS mask (РіРґРµ РїРѕРґРґРµСЂР¶РёРІР°РµС‚СЃСЏ)
   РёР»Рё С‡РµСЂРµР· filter вЂ” РґР»СЏ SVG С„РѕРЅ СЂРµРЅРґРµСЂРёС‚СЃСЏ СЃ РїСЂРёРјРµРЅРµРЅРёРµРј filter. */
/* Адаптивная ширина каждого партнёра по содержимому — текст и SVG
   определяют ширину сами, а одинаковый горизонтальный padding 40px
   даёт равные интервалы (80px между любыми двумя соседями). Это
   убирает overlap длинных wordmark'ов («ПЕРСПЕКТИВА · 24» и пр.). */
.partner-logo {
  width: auto;
  height: 84px;
  padding: 0 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.partner-logo--img {
  width: auto;
  height: 84px;
  padding: 0 52px;
}
.partner-logo-img {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #b08f3d;
  opacity: 0.95;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.partner-logo-img svg {
  max-width: 280px;
  max-height: 58px;
  width: auto;
  height: auto;
  display: block;
}
/* Cofix — жирная гарнитура, сильнее ограничиваем по высоте */
.partner-logo-img > svg[viewBox="0 0 73 24"] {
  max-height: 44px;
}
.partner-logo--img:hover .partner-logo-img,
.partner-logo--img:focus-visible .partner-logo-img {
  opacity: 1;
  transform: scale(1.06);
}

.partner-wordmark {
  font-family: 'PTSans-Caption', system-ui, sans-serif;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #b08f3d;
  opacity: 0.95;
  white-space: nowrap;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.partner-logo:hover .partner-wordmark {
  opacity: 1;
  transform: scale(1.04);
}
@media (width < 768px) {
  .partner-logo { height: 60px; padding: 0 28px; }
  .partner-logo--img { height: 60px; padding: 0 28px; }
  .partner-logo-img svg { max-width: 160px; max-height: 32px; }
  .partner-logo-img > svg[viewBox="0 0 73 24"] { max-height: 24px; }
  .partner-wordmark { font-size: 20px; letter-spacing: 0.14em; }
  .partners-marquee__track { animation-duration: 60s; }
}
/* РЈРІР°Р¶РµРЅРёРµ Рє prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .partners-marquee__track { animation: none; }
}

/* --- 6. REVIEWS вЂ” РµРґРёРЅС‹Р№ С€Р°Р±Р»РѕРЅ-СЃРєСЂРёРЅС€РѕС‚ РїРµСЂРµРїРёСЃРєРё.
   РљР°Р¶РґС‹Р№ СЃР»Р°Р№Рґ РїРѕРєР°Р·С‹РІР°РµС‚ PNG-СЃРєСЂРёРЅ (РїРѕ СѓРјРѕР»С‡Р°РЅРёСЋ assets/otziv.png),
   РѕР±СЂР°РјР»С‘РЅРЅС‹Р№ РєР°СЂС‚РѕС‡РєРѕР№ СЃРѕ СЃРєСЂСѓРіР»РµРЅРёРµРј Рё С‚РµРЅСЊСЋ РїРѕРґ С‚РµР»РµС„РѕРЅ.
   Р•СЃР»Рё РІ Р°РґРјРёРЅРєРµ Сѓ РєРѕРЅРєСЂРµС‚РЅРѕРіРѕ РѕС‚Р·С‹РІР° Р·Р°РґР°РЅРѕ СЃРІРѕС‘ РёР·РѕР±СЂР°Р¶РµРЅРёРµ вЂ”
   РѕРЅРѕ РїРѕРґСЃС‚Р°РІР»СЏРµС‚СЃСЏ Р°РІС‚РѕРјР°С‚РѕРј РІРјРµСЃС‚Рѕ С€Р°Р±Р»РѕРЅР°. --- */
.reviews--screenshot {
  background: linear-gradient(180deg, #faf8f4 0%, #f2f0ee 100%);
  position: relative;
  overflow: hidden;
}
.reviews--screenshot .reviews__body {
  padding-top: 80px;
  padding-bottom: 90px;
}
.reviews__hint {
  font-size: 13px;
  color: #6e7480;
  text-align: center;
  font-style: italic;
  max-width: 620px;
  margin: 0 auto 38px;
  opacity: 0.85;
  line-height: 1.55;
}
.reviews--screenshot .reviews__slider {
  padding: 12px 0 40px;
}
.reviews--screenshot .review {
  display: flex !important;
  justify-content: center;
  align-items: stretch;
  height: auto !important;
  /* РЈР±РёСЂР°РµРј В«РїРѕРґРєР»Р°РґРєСѓВ» РёР· style.min.css (.review {background, padding, shadow, width:400px}) */
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
.review--screenshot {
  padding: 8px;
}
.review__screenshot {
  margin: 0;
  width: 100%;
  max-width: 320px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.review__screenshot-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 28px;
  box-shadow:
    0 30px 60px -20px rgba(4, 37, 75, 0.4),
    0 14px 28px -8px rgba(4, 37, 75, 0.18),
    0 0 0 1px rgba(0, 0, 0, 0.05);
  background: #fff;
  /* Р›С‘РіРєР°СЏ Р·РѕР»РѕС‚Р°СЏ РїРѕРґСЃРІРµС‚РєР° РїРѕ Р±РѕСЂРґРµСЂСѓ РїСЂРё hover */
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.review__screenshot:hover .review__screenshot-img {
  transform: translateY(-4px);
  box-shadow:
    0 36px 70px -20px rgba(4, 37, 75, 0.45),
    0 18px 32px -8px rgba(4, 37, 75, 0.22),
    0 0 0 1px rgba(194, 167, 90, 0.35);
}
.review__caption {
  text-align: center;
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.review__caption-name {
  font-size: 16px;
  font-weight: 700;
  color: #04254b;
  line-height: 1.2;
}
.review__caption-role {
  font-size: 13px;
  color: #6e7480;
  line-height: 1.3;
}
@media (width < 480px) {
  .review__screenshot { max-width: 260px; }
  .review__screenshot-img { border-radius: 22px; }
}
.reviews--screenshot .reviews__prev,
.reviews--screenshot .reviews__next {
  z-index: 5;
}

/* === Reviews вЂ” РѕС„РѕСЂРјР»РµРЅРёРµ РїРѕРґ РїСЂРёРјРµСЂ: РЇРЅРґРµРєСЃ-Р±РµР№РґР¶, РїР°СѓР·Р°/РїР»РµР№, РґР°С€Рё === */
.reviews__rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 18px 0 26px;
  flex-wrap: wrap;
  font-size: 14px;
  color: #04254b;
}
.reviews__rating-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid rgba(194, 167, 90, 0.35);
  border-radius: 999px;
  padding: 4px 12px 4px 6px;
  box-shadow: 0 4px 12px rgba(4, 37, 75, 0.05);
}
.reviews__rating-value {
  font-weight: 800;
  font-size: 15px;
  color: #04254b;
  letter-spacing: -0.005em;
}
.reviews__rating-stars {
  color: #C2A75A;
  font-size: 18px;
  letter-spacing: 1px;
  line-height: 1;
}
.reviews__rating-label {
  font-size: 13px;
  color: #6e7480;
  letter-spacing: 0.01em;
}
@media (width < 600px) {
  .reviews__rating { gap: 10px; font-size: 13px; }
  .reviews__rating-stars { font-size: 16px; }
  .reviews__rating-label { width: 100%; text-align: center; }
}

/* РљРѕРЅС‚РµР№РЅРµСЂ РєР°СЂСѓСЃРµР»Рё вЂ” РѕС‚РЅРѕСЃРёС‚РµР»СЊРЅС‹Р№ РґР»СЏ Р°Р±СЃ-РїРѕР·РёС†РёРѕРЅРёСЂРѕРІР°РЅРЅС‹С… РєРЅРѕРїРѕРє */
.reviews--screenshot .reviews__content {
  position: relative;
  padding: 0 70px;
}
@media (width < 768px) {
  .reviews--screenshot .reviews__content { padding: 0 16px; }
}

/* ===== РљРЅРѕРїРєР° РїР°СѓР·Р°/РїР»РµР№ вЂ” РїСЂРµРјРёР°Р»СЊРЅС‹Р№ РґРёР·Р°Р№РЅ РІ РїР°Р»РёС‚СЂРµ СЃР°Р№С‚Р° =====
   РЎРѕСЃС‚РѕСЏРЅРёСЏ С‡РµСЂРµР· [data-playing]:
   - true  (РёРіСЂР°РµС‚): С‚С‘РјРЅРѕ-СЃРёРЅРёР№ СЃ Р±РµР»РѕР№ РёРєРѕРЅРєРѕР№ РїР°СѓР·С‹
   - false (РЅР° РїР°СѓР·Рµ): Р·РѕР»РѕС‚РѕР№ СЃ Р±РµР»РѕР№ РёРєРѕРЅРєРѕР№ РїР»РµР№ + Р»С‘РіРєР°СЏ РїСѓР»СЊСЃР°С†РёСЏ
   РРєРѕРЅРєРё РїРµСЂРµРєР»СЋС‡Р°СЋС‚СЃСЏ CSS, РЅРµ Р°С‚СЂРёР±СѓС‚РѕРј hidden. */
.reviews__playpause {
  position: absolute;
  top: 6px;
  right: 14px;
  z-index: 6;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  background: linear-gradient(135deg, #04254b 0%, #0a3163 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 6px 18px rgba(4, 37, 75, 0.25),
    inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  transition:
    background 0.35s ease,
    transform 0.2s cubic-bezier(.34,1.56,.64,1),
    box-shadow 0.35s ease;
}
.reviews__playpause:hover {
  transform: scale(1.08);
  box-shadow:
    0 10px 26px rgba(194, 167, 90, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}
.reviews__playpause:active {
  transform: scale(0.96);
}
.reviews__playpause:focus-visible {
  outline: 2px solid #C2A75A;
  outline-offset: 3px;
}

/* Р”РµРєРѕСЂР°С‚РёРІРЅРѕРµ РєРѕР»СЊС†Рѕ РІРѕРєСЂСѓРі РєРЅРѕРїРєРё */
.reviews__playpause-ring {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid rgba(194, 167, 90, 0.35);
  pointer-events: none;
  transition: border-color 0.35s ease, transform 0.35s ease;
}
.reviews__playpause:hover .reviews__playpause-ring {
  border-color: rgba(194, 167, 90, 0.65);
  transform: scale(1.05);
}

/* РРєРѕРЅРєРё вЂ” РµРґРёРЅС‹Р№ СЂР°Р·РјРµСЂ, РІ С†РµРЅС‚СЂРµ */
.reviews__playpause-icon {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  display: block;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* РЎРѕСЃС‚РѕСЏРЅРёРµ В«РёРіСЂР°РµС‚В» вЂ” РІРёРґРЅР° РїР°СѓР·Р°, СЃРїСЂСЏС‚Р°РЅ РїР»РµР№ */
.reviews__playpause[data-playing="true"] .reviews__playpause-icon--play {
  opacity: 0;
  transform: scale(0.7) rotate(-30deg);
}
.reviews__playpause[data-playing="true"] .reviews__playpause-icon--pause {
  opacity: 1;
  transform: scale(1);
}

/* РЎРѕСЃС‚РѕСЏРЅРёРµ В«РЅР° РїР°СѓР·РµВ» вЂ” Р·РѕР»РѕС‚РѕР№ С„РѕРЅ, РІРёРґРЅР° РёРєРѕРЅРєР° РїР»РµР№ */
.reviews__playpause[data-playing="false"] {
  background: linear-gradient(135deg, #C2A75A 0%, #d4ba6e 100%);
  box-shadow:
    0 6px 22px rgba(194, 167, 90, 0.45),
    inset 0 0 0 1px rgba(255, 255, 255, 0.18);
  animation: playpause-pulse 2.2s ease-in-out infinite;
}
.reviews__playpause[data-playing="false"] .reviews__playpause-icon--pause {
  opacity: 0;
  transform: scale(0.7) rotate(30deg);
}
.reviews__playpause[data-playing="false"] .reviews__playpause-icon--play {
  opacity: 1;
  transform: scale(1) translateX(1px); /* РѕРїС‚РёС‡РµСЃРєРёР№ СЃРґРІРёРі С‚СЂРµСѓРіРѕР»СЊРЅРёРєР° */
}
.reviews__playpause[data-playing="false"] .reviews__playpause-ring {
  border-color: rgba(255, 255, 255, 0.45);
}

@keyframes playpause-pulse {
  0%, 100% { box-shadow: 0 6px 22px rgba(194, 167, 90, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.18); }
  50%      { box-shadow: 0 10px 30px rgba(194, 167, 90, 0.65), inset 0 0 0 1px rgba(255, 255, 255, 0.25); }
}

/* РџРѕРґРїРёСЃСЊ вЂ” РїРѕСЏРІР»СЏРµС‚СЃСЏ РЅР° hover РєР°Рє С‚СѓР»С‚РёРї */
.reviews__playpause-label {
  position: absolute;
  top: 50%;
  right: calc(100% + 12px);
  transform: translateY(-50%) translateX(8px);
  background: #04254b;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
  box-shadow: 0 4px 12px rgba(4, 37, 75, 0.25);
}
.reviews__playpause-label::after {
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 4px solid transparent;
  border-left-color: #04254b;
}
.reviews__playpause:hover .reviews__playpause-label,
.reviews__playpause:focus-visible .reviews__playpause-label {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

@media (width < 600px) {
  .reviews__playpause { top: 2px; right: 10px; width: 38px; height: 38px; }
  .reviews__playpause-icon { width: 14px; height: 14px; }
  .reviews__playpause-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .reviews__playpause[data-playing="false"] { animation: none; }
  .reviews__playpause-icon,
  .reviews__playpause,
  .reviews__playpause-ring { transition: none; }
}

/* РљРЅРѕРїРєРё РЅР°РІРёРіР°С†РёРё prev/next вЂ” РєСЂСѓРїРЅС‹Рµ, РєСЂСѓРіР»С‹Рµ, Р·РѕР»РѕС‚С‹Рµ */
.reviews--screenshot .reviews__prev,
.reviews--screenshot .reviews__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #C2A75A;
  color: #fff;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(4, 37, 75, 0.15);
  transition: background 0.2s ease, transform 0.15s ease;
  z-index: 6;
}
.reviews--screenshot .reviews__prev:hover,
.reviews--screenshot .reviews__next:hover {
  background: #04254b;
  transform: translateY(-50%) scale(1.05);
}
.reviews--screenshot .reviews__prev { left: 0; }
.reviews--screenshot .reviews__next { right: 0; }
.reviews--screenshot .reviews__prev svg,
.reviews--screenshot .reviews__next svg {
  width: 22px;
  height: 22px;
  /* РЎРўР РћР“Рћ: РЅРµ РЅР°СЃР»РµРґРѕРІР°С‚СЊ transform: rotate(180deg) РёР· style.min.css вЂ”
     РІ РЅР°С€РµРј SVG СЃС‚СЂРµР»РєР° СѓР¶Рµ СЃРјРѕС‚СЂРёС‚ РІР»РµРІРѕ, Р»РёС€РЅРёР№ РїРѕРІРѕСЂРѕС‚ РµС‘ Р»РѕРјР°Р» */
  transform: none !important;
}
@media (width < 768px) {
  .reviews--screenshot .reviews__prev,
  .reviews--screenshot .reviews__next {
    width: 42px;
    height: 42px;
  }
}

/* РџР°РіРёРЅР°С†РёСЏ-РґР°С€Рё СЃРЅРёР·Сѓ */
.reviews__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 30px;
  flex-wrap: wrap;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.reviews__dot {
  width: 28px;
  height: 3px;
  border: 0;
  padding: 0;
  background: rgba(4, 37, 75, 0.15);
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.25s ease, width 0.25s ease;
}
.reviews__dot:hover {
  background: rgba(194, 167, 90, 0.5);
}
.reviews__dot.is-active {
  background: #C2A75A;
  width: 40px;
}

/* РџРѕРїСЂР°РІРєРё РґР»СЏ РєР°СЂСѓСЃРµР»СЊРЅРѕРіРѕ СЌС„С„РµРєС‚Р° вЂ” СЃР»Р°Р№РґС‹ РјРѕРіСѓС‚ С‚РѕСЂС‡Р°С‚СЊ Р·Р° РєСЂР°СЏ.
   РЎРєСЂС‹РІР°РµРј С‚Рѕ, С‡С‚Рѕ РІС‹С€Р»Рѕ Р·Р° РїСЂРµРґРµР»С‹ СЃР»Р°Р№РґРµСЂР°. */
.reviews--screenshot .reviews__slider {
  overflow: visible;
  padding: 16px 0 8px;
}
.reviews--screenshot .swiper-wrapper {
  align-items: center;
}
.reviews--screenshot .review {
  width: 320px !important;
  flex-shrink: 0;
}
@media (width < 480px) {
  .reviews--screenshot .review { width: 260px !important; }
}

/* === Phone mockup === */
.phone {
  width: 320px;
  max-width: 100%;
  background: #1a1a1a;
  border-radius: 38px;
  padding: 12px 10px 14px;
  position: relative;
  box-shadow:
    0 30px 60px -20px rgba(4, 37, 75, 0.45),
    0 14px 28px -8px rgba(4, 37, 75, 0.2),
    inset 0 0 0 2px #2b2b2b,
    inset 0 0 0 4px #0c0c0c;
  margin: 0 auto;
}
.phone__notch {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 110px;
  height: 22px;
  background: #1a1a1a;
  border-radius: 0 0 16px 16px;
  z-index: 3;
}
.phone__notch::after {
  content: '';
  position: absolute;
  right: 22px;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2a2a2a;
  box-shadow: inset 1px 1px 2px rgba(255,255,255,0.05);
}
.phone__screen {
  background: #ffffff;
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  min-height: 540px;
  display: flex;
  flex-direction: column;
}
.phone__topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 28px 6px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  letter-spacing: -0.01em;
}
.phone__statusicons {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #000;
}
.phone__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 12px;
  background: rgba(248, 248, 248, 0.92);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
.phone__back {
  background: none;
  border: 0;
  font-size: 28px;
  line-height: 1;
  color: #007aff;
  padding: 0 2px;
  cursor: default;
  font-weight: 300;
  margin-top: -2px;
}
.phone__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg, #C2A75A, #04254b);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  flex-shrink: 0;
}
.phone__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.phone__contact {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
}
.phone__name {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.phone__sub {
  font-size: 10px;
  color: #8a8a8e;
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.phone__call {
  background: none;
  border: 0;
  color: #007aff;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: default;
  flex-shrink: 0;
}
.phone__chat {
  flex: 1;
  padding: 14px 12px 8px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 280px;
}
.phone__date {
  text-align: center;
  font-size: 11px;
  color: #8a8a8e;
  margin: 4px 0 10px;
}
.phone__bubble {
  position: relative;
  max-width: 78%;
  padding: 9px 14px 18px;
  font-size: 13.5px;
  line-height: 1.42;
  color: #000;
  border-radius: 18px;
  word-wrap: break-word;
  align-self: flex-start;
}
.phone__bubble--in {
  background: #e9e9eb;
  border-bottom-left-radius: 6px;
}
.phone__bubble-time {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  color: rgba(0, 0, 0, 0.4);
  font-weight: 500;
  letter-spacing: 0.01em;
  text-align: right;
}
.phone__bubble--rating {
  display: inline-flex !important;
  gap: 2px;
  padding: 6px 10px 6px 10px;
  background: #fff5db;
  border: 1px solid rgba(194, 167, 90, 0.35);
  align-items: center;
  max-width: max-content;
  margin-top: 4px;
}
.phone__bubble--rating img {
  width: 16px;
  height: 16px;
}
.phone__input {
  margin-top: auto;
  padding: 10px 14px 14px;
  background: rgba(248, 248, 248, 0.95);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  gap: 10px;
}
.phone__input-stub {
  flex: 1;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 18px;
  padding: 8px 14px;
  font-size: 13px;
  color: #8a8a8e;
}
.phone__input-mic {
  color: #007aff;
  font-size: 16px;
}

/* РђРґР°РїС‚РёРІ вЂ” РЅР° РјРѕР±РёР»СЊРЅС‹С… РјРѕРєР°Рї С‡СѓС‚СЊ СѓР¶Рµ Рё Р±РµР· С‚СЏР¶С‘Р»РѕР№ С‚РµРЅРё */
@media (width < 480px) {
  .phone { width: 280px; }
  .phone__screen { min-height: 490px; }
  .phone__chat { min-height: 240px; }
  .phone__bubble { font-size: 13px; }
}

/* РљРЅРѕРїРєРё РЅР°РІРёРіР°С†РёРё reviews вЂ” РЅРµ РїРµСЂРµРєСЂС‹РІР°СЋС‚ С‚РµР»РµС„РѕРЅ */
.reviews--phone .reviews__prev,
.reviews--phone .reviews__next {
  z-index: 5;
}

/* --- 7. LAWS В«Р§С‚Рѕ РёР·РјРµРЅСЏРµС‚СЃСЏ РІ Р РѕСЃСЃРёРёВ» вЂ” СЃРІРµС‚Р»Р°СЏ СЃРµРєС†РёСЏ,
   С‚РѕС‚ Р¶Рµ layout СЃ РёРєРѕРЅРєР°РјРё, Р¤Р—-Р±РµР№РґР¶Р°РјРё Рё Р±Р»РѕРєРѕРј В«Р“Р»Р°РІРЅРѕРµ:В».
   Р‘Р°Р·РѕРІС‹Р№ С„РѕРЅ .laws (#efefef) РёР· style.min.css вЂ” РѕСЃС‚Р°РІР»СЏРµРј. --- */

/* РЎРµС‚РєР° РєР°СЂС‚РѕС‡РµРє */
.laws__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}
@media (width < 1100px) {
  .laws__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (width < 700px) {
  .laws__grid { grid-template-columns: 1fr; gap: 18px; }
}

/* РљР°СЂС‚РѕС‡РєР° */
.laws__card {
  background: #fff;
  border: 1px solid rgba(4, 37, 75, 0.06);
  border-radius: 14px;
  padding: 26px 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(4, 37, 75, 0.05);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.laws__card:hover {
  transform: translateY(-3px);
  border-color: rgba(194, 167, 90, 0.4);
  box-shadow: 0 18px 36px rgba(4, 37, 75, 0.1);
}

/* РЁР°РїРєР° РєР°СЂС‚РѕС‡РєРё: РёРєРѕРЅРєР° СЃР»РµРІР°, Р·Р°РіРѕР»РѕРІРѕРє + Р¤Р—-Р±РµР№РґР¶ СЃРїСЂР°РІР° */
.laws__card-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.laws__card-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(194, 167, 90, 0.12);
  border: 1px solid rgba(194, 167, 90, 0.3);
  color: #C2A75A;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.laws__card-icon svg {
  width: 22px;
  height: 22px;
}
.laws__card-headtext {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.laws__card-title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #04254b;
  line-height: 1.3;
  letter-spacing: -0.005em;
}
.laws__card-law {
  display: inline-block;
  align-self: flex-start;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #C2A75A;
  background: rgba(194, 167, 90, 0.1);
  padding: 5px 11px;
  border-radius: 4px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* РћРїРёСЃР°РЅРёРµ */
.laws__card-descr {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #4a5670;
}

/* Р‘Р»РѕРє В«Р“Р»Р°РІРЅРѕРµ:В» */
.laws__card-key {
  background: linear-gradient(180deg, #faf8f4 0%, #f6f3eb 100%);
  border-left: 2px solid #C2A75A;
  border-radius: 0 6px 6px 0;
  padding: 12px 14px 13px;
  margin-top: 2px;
}
.laws__card-key-label {
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #C2A75A;
  margin-bottom: 10px;
}
.laws__card-key-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.laws__card-key-list li {
  position: relative;
  padding-left: 14px;
  font-size: 14.5px;
  line-height: 1.55;
  color: #2a3548;
  margin-bottom: 6px;
}
.laws__card-key-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #C2A75A;
}
.laws__card-key-list li:last-child { margin-bottom: 0; }

/* РЎСЃС‹Р»РєР° РІРЅСѓС‚СЂРё РєР°СЂС‚РѕС‡РєРё */
.laws__card-link {
  margin-top: auto;
  align-self: flex-start;
  font-size: 13px;
  font-weight: 600;
  color: #C2A75A;
  text-decoration: none;
  padding-top: 4px;
  border-bottom: 1px dashed rgba(194, 167, 90, 0.4);
  transition: color 0.2s ease, border-color 0.2s ease;
}
.laws__card-link:hover {
  color: #04254b;
  border-bottom-color: #04254b;
}

/* РљРѕРЅС‚РµРЅС‚ С‚Р°Р±Р° РІРёРґРёРј С‚РѕР»СЊРєРѕ РєРѕРіРґР° .active */
.laws__contents .laws__content { display: none; }
.laws__contents .laws__content.active { display: block; }

@media (width < 768px) {
  .laws__card { padding: 22px 20px 20px; }
  .laws__card-icon { width: 38px; height: 38px; }
  .laws__card-icon svg { width: 18px; height: 18px; }
  .laws__card-title { font-size: 16px; }
  .laws__card-descr { font-size: 13px; }
  .laws__card-key-list li { font-size: 12.5px; }
}

/* =========================================================
   FRANCHISE LANDING (/franchise) — структура по прототипу,
   палитра сайта (золото #C2A75A + navy #04254b + cream).
   ========================================================= */
.fl {
  --fl-gold: #C2A75A;
  --fl-gold-soft: rgba(194, 167, 90, 0.12);
  --fl-navy: #04254b;
  --fl-navy-deep: #062c5a;
  --fl-cream: #faf8f4;
  --fl-light: #f5f2eb;
  --fl-text: #1f2937;
  --fl-muted: #6e7480;
  --fl-border: rgba(4, 37, 75, 0.08);

  color: var(--fl-text);
  background: #fff;
}

/* === Общая типографика === */
.fl-h2 {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--fl-navy);
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  text-wrap: balance;
}
.fl-h2--light { color: #fff; }
@media (width < 768px) { .fl-h2 { font-size: 26px; } }

.fl-sub {
  font-size: 16px;
  line-height: 1.6;
  color: var(--fl-muted);
  margin: 0 0 36px;
  max-width: 760px;
}

.fl-section { padding: 80px 0; background: #fff; }
.fl-section + .fl-section { border-top: 1px solid var(--fl-border); }
@media (width < 768px) { .fl-section { padding: 56px 0; } }

/* === Кнопки === */
.fl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid transparent;
  cursor: pointer;
  font-family: inherit;
  text-align: center;
  line-height: 1.3;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.fl-btn--primary {
  background: var(--fl-gold);
  color: #fff;
  border-color: var(--fl-gold);
}
.fl-btn--primary:hover { background: #b09650; border-color: #b09650; transform: translateY(-1px); }
.fl-btn--ghost {
  background: transparent;
  color: var(--fl-gold);
  border-color: var(--fl-gold);
}
.fl-btn--ghost:hover { background: var(--fl-gold); color: #fff; }
.fl-btn--white {
  background: #fff;
  color: var(--fl-navy);
  border-color: #fff;
  font-weight: 700;
}
.fl-btn--white:hover { background: var(--fl-gold); color: #fff; border-color: var(--fl-gold); }
.fl-btn--full { width: 100%; }

/* === БЛОК 1: HERO (тёмно-синий фон + particles как на главной) === */
.fl-hero {
  text-align: center;
  padding: 120px 0 100px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--fl-navy) 0%, var(--fl-navy-deep) 100%);
  color: #fff;
}
.fl-hero .particles-js {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.fl-hero__body {
  max-width: 880px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.fl-hero__eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fl-gold);
  margin-bottom: 22px;
}
.fl-hero__title {
  font-size: 46px;
  font-weight: 800;
  line-height: 1.15;
  color: #fff;
  letter-spacing: -0.015em;
  margin: 0 0 24px;
  text-wrap: balance;
}
.fl-hero__lead {
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.82);
  margin: 0 auto 36px;
  max-width: 760px;
}
.fl-hero__cta {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Ghost-кнопка для тёмного фона — белая обводка */
.fl-btn--ghost-on-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  text-align: center;
  line-height: 1.3;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.fl-btn--ghost-on-dark:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
  transform: translateY(-1px);
}

@media (width < 768px) {
  .fl-hero { padding: 72px 0 64px; }
  .fl-hero__title { font-size: 30px; }
  .fl-hero__lead { font-size: 15px; }
  .fl-hero__cta .fl-btn,
  .fl-hero__cta .fl-btn--ghost-on-dark { flex: 1 1 auto; min-width: 160px; }
}

/* === БЛОК 2: ПРОБЛЕМА === */
.fl-problem .fl-h2 { max-width: 860px; }
.fl-problem__text { max-width: 860px; }
.fl-problem__text p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--fl-text);
  margin: 0 0 18px;
}
.fl-problem__text p:last-child { margin-bottom: 0; }
@media (width < 768px) {
  .fl-problem__text p { font-size: 15px; line-height: 1.6; }
}

/* === БЛОК 3: ШЕСТЬ СЕРВИСОВ === */
.fl-services { background: var(--fl-light); }
.fl-services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
@media (width < 1000px) { .fl-services__grid { grid-template-columns: repeat(2, 1fr); } }
@media (width < 640px)  { .fl-services__grid { grid-template-columns: 1fr; } }

.fl-service {
  background: #fff;
  border: 1px solid var(--fl-border);
  border-radius: 12px;
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.fl-service:hover {
  border-color: rgba(194, 167, 90, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(4, 37, 75, 0.06);
}
.fl-service__icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--fl-gold-soft);
  color: var(--fl-gold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fl-service__icon svg { width: 22px; height: 22px; display: block; }
.fl-service__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--fl-navy);
  line-height: 1.3;
}
.fl-service__text {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--fl-muted);
}

/* === БЛОК 4: КОМУ ПОДХОДИТ === */
.fl-quals__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  margin-top: 32px;
}
@media (width < 768px) { .fl-quals__cols { grid-template-columns: 1fr; gap: 24px; } }
.fl-quals__col {}
.fl-quals__head {
  font-size: 18px;
  font-weight: 700;
  color: var(--fl-navy);
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--fl-border);
}
.fl-quals__col--yes .fl-quals__head { border-bottom-color: var(--fl-gold); }
.fl-quals__col--no  .fl-quals__head { border-bottom-color: var(--fl-navy); }
.fl-quals__list { list-style: none; margin: 0; padding: 0; }
.fl-quals__list li {
  position: relative;
  padding: 8px 0 8px 28px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--fl-text);
}
.fl-quals__list li::before {
  position: absolute;
  left: 0;
  top: 8px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  border-radius: 50%;
}
.fl-quals__col--yes li::before { content: '✓'; background: var(--fl-gold-soft); color: var(--fl-gold); }
.fl-quals__col--no  li::before { content: '×'; background: rgba(4, 37, 75, 0.08); color: var(--fl-navy); }

/* === БЛОК 5: ТАРИФЫ === */
.fl-tariffs { background: var(--fl-light); }
.fl-tariffs__table-wrap {
  margin-top: 32px;
  overflow-x: auto;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--fl-border);
}
.fl-tariffs__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.5px;
  min-width: 720px;
}
.fl-tariffs__table thead th {
  background: var(--fl-navy);
  color: #fff;
  text-align: left;
  padding: 14px 18px;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.fl-tariffs__table thead th:first-child { border-top-left-radius: 11px; }
.fl-tariffs__table thead th:last-child  { border-top-right-radius: 11px; }
.fl-tariffs__table td {
  padding: 18px;
  border-bottom: 1px solid var(--fl-border);
  vertical-align: top;
  color: var(--fl-text);
}
.fl-tariffs__table tr:last-child td { border-bottom: 0; }
.fl-tariffs__table tr:hover td { background: rgba(194, 167, 90, 0.04); }
.fl-tariffs__table td strong { color: var(--fl-navy); font-weight: 700; }
.fl-tariffs__price { font-weight: 700; color: var(--fl-gold); white-space: nowrap; }
.fl-tariffs__price span { font-weight: 400; font-size: 12px; color: var(--fl-muted); }

@media (width < 720px) {
  .fl-tariffs__table-wrap { background: transparent; border: 0; }
  .fl-tariffs__table { min-width: 0; display: block; }
  .fl-tariffs__table thead { display: none; }
  .fl-tariffs__table tbody, .fl-tariffs__table tr, .fl-tariffs__table td { display: block; }
  .fl-tariffs__table tr {
    background: #fff;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 12px;
    border: 1px solid var(--fl-border);
  }
  .fl-tariffs__table td { padding: 7px 0; border-bottom: 1px dashed var(--fl-border); }
  .fl-tariffs__table tr td:last-child { border-bottom: 0; }
  .fl-tariffs__table td::before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--fl-muted);
    margin-bottom: 4px;
  }
}

.fl-tariffs__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 32px;
}
@media (width < 768px) { .fl-tariffs__cards { grid-template-columns: 1fr; } }
.fl-tariff {
  background: #fff;
  border: 1.5px solid var(--fl-border);
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.fl-tariff:hover {
  border-color: rgba(194, 167, 90, 0.45);
  box-shadow: 0 10px 24px rgba(4, 37, 75, 0.06);
}
.fl-tariff__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fl-muted);
}
.fl-tariff__name {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--fl-navy);
  line-height: 1.3;
}
.fl-tariff__price {
  font-size: 20px;
  font-weight: 800;
  color: var(--fl-gold);
  letter-spacing: -0.01em;
  margin: 4px 0 4px;
}
.fl-tariff__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--fl-muted);
  flex: 1;
}
.fl-tariff .fl-btn { margin-top: 6px; padding: 11px 20px; font-size: 14px; }

/* === БЛОК 6: ПОЛЬЗА === */
.fl-benefits__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 32px;
}
@media (width < 768px) { .fl-benefits__grid { grid-template-columns: 1fr; } }
.fl-benefit {
  padding: 22px 24px;
  background: var(--fl-cream);
  border-left: 3px solid var(--fl-gold);
  border-radius: 0 8px 8px 0;
  transition: transform 0.2s ease, border-left-color 0.2s ease;
}
.fl-benefit:hover { transform: translateY(-2px); border-left-color: var(--fl-navy); }
.fl-benefit__title {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 700;
  color: var(--fl-navy);
}
.fl-benefit__text {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--fl-text);
}

/* === БЛОК 7: ФРАНШИЗА (тёмный) === */
.fl-franchise {
  background: linear-gradient(180deg, var(--fl-navy) 0%, var(--fl-navy-deep) 100%);
  color: #fff;
  padding: 90px 0;
}
.fl-franchise .fl-h2 { margin-bottom: 22px; max-width: 880px; }
.fl-franchise__lead {
  margin: 0 0 30px;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  max-width: 880px;
}
.fl-franchise__lead code {
  background: rgba(194, 167, 90, 0.18);
  padding: 2px 8px;
  border-radius: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  color: var(--fl-gold);
}
.fl-franchise__group { margin-bottom: 24px; }
.fl-franchise__h3 {
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
}
.fl-franchise__list { list-style: none; margin: 0; padding: 0; }
.fl-franchise__list li {
  position: relative;
  padding: 6px 0 6px 22px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
}
.fl-franchise__list li::before {
  content: '—';
  position: absolute;
  left: 0;
  top: 6px;
  color: var(--fl-gold);
  font-weight: 700;
}
.fl-franchise .fl-btn { margin-top: 14px; }
@media (width < 768px) { .fl-franchise { padding: 56px 0; } }

/* === БЛОК 8: О ЛЕОНИДЕ === */
.fl-about__row {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  margin-top: 32px;
  align-items: start;
}
@media (width < 900px) {
  .fl-about__row { grid-template-columns: 1fr; gap: 28px; justify-items: center; }
}
.fl-about__photo { width: 100%; max-width: 280px; }
.fl-about__photo-frame {
  position: relative;
  aspect-ratio: 3/4;
  border-radius: 12px;
  overflow: hidden;
  border: 4px solid var(--fl-gold);
  background: var(--fl-cream);
  box-shadow: 0 20px 40px -16px rgba(4, 37, 75, 0.25);
}
.fl-about__photo-frame img,
.fl-about__photo-base {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fl-about__photo-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fl-muted);
  font-size: 13px;
}
.fl-about__photo-hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  background-image: var(--leonid-wink-img, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity 0.5s ease;
}
.fl-about__photo-frame.is-wink .fl-about__photo-hover { opacity: 1; }

.fl-about__text p {
  margin: 0 0 14px;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--fl-text);
}
.fl-about__text p:last-child { margin-bottom: 0; }
.fl-about__note {
  font-size: 13.5px !important;
  color: var(--fl-muted) !important;
  font-style: italic;
  margin-top: 18px !important;
  padding-left: 14px;
  border-left: 2px solid var(--fl-gold);
}

.fl-about__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 36px;
  padding-top: 32px;
  border-top: 1px solid var(--fl-border);
}
@media (width < 768px) { .fl-about__stats { grid-template-columns: repeat(2, 1fr); gap: 22px; } }
.fl-stat { text-align: center; }
.fl-stat__num {
  font-size: 30px;
  font-weight: 800;
  color: var(--fl-gold);
  line-height: 1;
  letter-spacing: -0.015em;
  font-feature-settings: 'tnum';
  display: block;
}
.fl-stat__label {
  font-size: 13px;
  color: var(--fl-muted);
  margin-top: 6px;
  line-height: 1.4;
}

/* === БЛОК 9: FAQ === */
.fl-faq { background: var(--fl-light); }
.fl-faq__list { margin-top: 24px; max-width: 920px; }
.fl-faq__item {
  border-bottom: 1px solid var(--fl-border);
  padding: 0;
}
.fl-faq__item:last-child { border-bottom: 0; }
.fl-faq__q {
  list-style: none;
  cursor: pointer;
  padding: 20px 40px 20px 36px;
  font-size: 16px;
  font-weight: 600;
  color: var(--fl-navy);
  line-height: 1.4;
  position: relative;
  transition: color 0.2s ease;
}
.fl-faq__q::-webkit-details-marker { display: none; }
.fl-faq__q::before {
  content: '?';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: var(--fl-gold);
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 22px;
  font-size: 13px;
  font-weight: 700;
}
.fl-faq__q::after {
  content: '+';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: 300;
  color: var(--fl-gold);
  line-height: 1;
  transition: transform 0.25s ease;
}
.fl-faq__item[open] .fl-faq__q::after { transform: translateY(-50%) rotate(45deg); }
.fl-faq__q:hover { color: var(--fl-gold); }
.fl-faq__a {
  padding: 0 40px 20px 36px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--fl-text);
}

/* === БЛОК 10: ФОРМА === */
.fl-form-section {
  background: linear-gradient(180deg, var(--fl-navy) 0%, var(--fl-navy-deep) 100%);
  padding: 80px 0 90px;
  text-align: center;
}
.fl-form-section__body { max-width: 560px; }
.fl-form-section__sub {
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.6;
  margin: 0 auto 32px;
}
.fl-form {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (width < 600px) { .fl-form { padding: 22px 18px; } }
.fl-form__field { display: flex; flex-direction: column; gap: 6px; }
.fl-form__field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--fl-navy);
}
.fl-form__field label span {
  font-weight: 400;
  color: var(--fl-muted);
  font-size: 12px;
  margin-left: 4px;
}
.fl-form input[type="text"],
.fl-form select {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid var(--fl-border);
  border-radius: 8px;
  background: #fff;
  font: inherit;
  font-size: 14.5px;
  color: var(--fl-text);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.fl-form input::placeholder { color: #aab1bd; }
.fl-form input:focus,
.fl-form select:focus {
  outline: none;
  border-color: var(--fl-gold);
  box-shadow: 0 0 0 3px rgba(194, 167, 90, 0.15);
}
.fl-form select { cursor: pointer; }
.fl-form .fl-btn { margin-top: 4px; padding: 14px 28px; }
.fl-form__status {
  font-size: 13px;
  text-align: center;
  color: var(--fl-navy);
  min-height: 18px;
}
.fl-form__consent {
  font-size: 12px;
  color: var(--fl-muted);
  text-align: center;
  margin: 8px 0 0;
  line-height: 1.5;
}
.fl-form__consent button {
  background: none;
  border: 0;
  padding: 0;
  color: var(--fl-gold);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  text-decoration: underline;
}

/* =========================================================
   Cookie banner — куки-уведомление
   ========================================================= */
.cookie-banner {
	position: fixed;
	left: 20px;
	right: 20px;
	bottom: 20px;
	max-width: 920px;
	margin: 0 auto;
	background: linear-gradient(135deg, #04254b 0%, #08376d 100%);
	color: #fff;
	padding: 18px 22px;
	border-radius: 16px;
	box-shadow: 0 18px 50px rgba(4, 18, 37, 0.4);
	border: 1px solid rgba(194, 167, 90, 0.35);
	z-index: 9990;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}
.cookie-banner[hidden] { display: none; }
.cookie-banner.is-show { opacity: 1; transform: translateY(0); }
.cookie-banner__inner {
	display: flex;
	align-items: center;
	gap: 18px;
}
.cookie-banner__icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	color: #C2A75A;
	background: rgba(194, 167, 90, 0.14);
	border: 1px solid rgba(194, 167, 90, 0.4);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cookie-banner__icon svg { width: 22px; height: 22px; }
.cookie-banner__text {
	flex: 1;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
}
.cookie-banner__link {
	background: none;
	border: none;
	padding: 0;
	color: #C2A75A;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.cookie-banner__link:hover { color: #d3ba6f; }
.cookie-banner__actions {
	flex-shrink: 0;
}
.cookie-banner__btn {
	background: #C2A75A;
	color: #04254b;
	font-weight: 700;
	font-size: 14px;
	padding: 12px 26px;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 8px 18px rgba(194, 167, 90, 0.25);
	white-space: nowrap;
}
.cookie-banner__btn:hover {
	background: #d3ba6f;
	transform: translateY(-1px);
	box-shadow: 0 12px 22px rgba(194, 167, 90, 0.35);
}
@media (width < 768px) {
	.cookie-banner { left: 12px; right: 12px; bottom: 12px; padding: 16px; border-radius: 14px; }
	.cookie-banner__inner { flex-direction: column; align-items: stretch; gap: 14px; }
	.cookie-banner__icon { width: 36px; height: 36px; align-self: flex-start; }
	.cookie-banner__icon svg { width: 18px; height: 18px; }
	.cookie-banner__text { font-size: 13px; }
	.cookie-banner__btn { width: 100%; padding: 12px; }
}

/* =========================================================
   Cases slider — секция занимает ширину как все остальные блоки
   ========================================================= */
.cases__slider {
	max-width: none !important;
	padding-inline: 0 !important;
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}
@media (width < 767px) {
	.cases__slider {
		width: 100% !important;
		margin-left: 0 !important;
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}
}
.cases__slider .swiper-wrapper {
	align-items: stretch !important;
}
.cases__slider .swiper-slide {
	height: auto;
	display: flex;
}
.cases__slider .swiper-slide > .case__slide-wrapper {
	width: 100%;
	display: flex;
	flex-direction: column;
}
/* Базовый layout — JS-функция equalizeCaseSlides синхронизирует высоты блоков. */
.cases__slider .case__slide-head {
	display: flex;
	align-items: center;
}
.cases__slider .case__slide-main {
	display: flex;
	flex-direction: column;
	flex: 1;
}
.cases__slider .case__slide-label { margin-top: auto; }

/* =========================================================
   FAQ — единая центрированная колонка
   ========================================================= */
.faq__items {
	display: block !important;
	max-width: 920px;
	margin: 0 auto;
}
.faq__items-col {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}
.faq__items-col + .faq__items-col {
	margin-top: 0;
}
.faq__items .faq__item + .faq__item {
	margin-top: 14px;
}

/* =========================================================
   Popup document — политика конфиденциальности / соглашение
   ========================================================= */
.popup--doc .popup__body,
.popup__body--doc {
	max-width: 900px !important;
	max-height: calc(100vh - 60px);
	padding: 0 !important;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border-radius: 20px;
}
.popup-doc {
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 60px);
	background: #fff;
}
.popup-doc__head {
	padding: 32px 40px 22px;
	background: linear-gradient(135deg, #04254b 0%, #08376d 100%);
	color: #fff;
	border-radius: 20px 20px 0 0;
	position: relative;
}
.popup-doc__head::after {
	content: '';
	position: absolute;
	left: 40px;
	right: 40px;
	bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, #C2A75A, transparent);
	opacity: 0.75;
}
.popup-doc__eyebrow {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #C2A75A;
	margin-bottom: 10px;
}
.popup-doc__title {
	font-size: 22px;
	line-height: 1.3;
	font-weight: 700;
	margin: 0;
	color: #fff;
	text-wrap: balance;
}
.popup-doc__body {
	padding: 28px 40px 40px;
	overflow-y: auto;
	color: #2a3548;
	font-size: 14px;
	line-height: 1.6;
	-webkit-overflow-scrolling: touch;
}
.popup-doc__section + .popup-doc__section {
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid #f0ece1;
}
.popup-doc__h3 {
	font-size: 17px;
	font-weight: 700;
	color: #04254b;
	margin: 0 0 14px;
	line-height: 1.35;
}
.popup-doc__body p {
	margin: 0 0 10px;
}
.popup-doc__list {
	margin: 6px 0 14px;
	padding: 0 0 0 22px;
	list-style: none;
}
.popup-doc__list li {
	position: relative;
	padding: 5px 0 5px 16px;
	line-height: 1.55;
}
.popup-doc__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 15px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #C2A75A;
}
.popup-doc__body a {
	color: #04254b;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.popup-doc__body a:hover { color: #08376d; }
.popup-doc__section--requisites {
	background: #faf6ec;
	border-left: 3px solid #C2A75A;
	border-radius: 0 12px 12px 0;
	padding: 20px 22px;
	margin-top: 28px;
}
.popup-doc__section--requisites .popup-doc__h3 {
	color: #C2A75A;
	font-size: 14px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
@media (width < 768px) {
	.popup--doc .popup__body,
	.popup__body--doc { max-width: none !important; max-height: 100vh; border-radius: 0; }
	.popup-doc { max-height: 100vh; }
	.popup-doc__head { padding: 22px 20px 18px; border-radius: 0; }
	.popup-doc__head::after { left: 20px; right: 20px; }
	.popup-doc__title { font-size: 18px; }
	.popup-doc__body { padding: 22px 20px 28px; font-size: 13.5px; }
	.popup-doc__h3 { font-size: 15px; }
}

/* =========================================================
   Экспертный блог — /blog + /blog/{slug}
   Дизайн-система: Playfair Display (заголовки) + Inter (текст),
   палитра сайта #04254b (navy) + #C2A75A (bronze).
   Иконки — inline SVG (см. макросы в twig-шаблонах).
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;700&family=Inter:wght@300;400;500;600&display=swap');

/* ---------- Тёмный HERO блога — как на /franchise ---------- */
.blog-hero-top {
	position: relative;
	background: linear-gradient(180deg, #04254b 0%, #031225 100%);
	color: #fff;
	padding: 140px 0 90px;
	overflow: hidden;
	text-align: center;
}
.blog-hero-top__body { position: relative; z-index: 2; max-width: 920px; margin: 0 auto; }
.blog-hero-top__eyebrow {
	font-family: 'Playfair Display', serif;
	font-size: 14px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
	color: #C2A75A; margin-bottom: 20px;
}
.blog-hero-top__title {
	font-family: 'Playfair Display', serif;
	font-size: 44px; font-weight: 500; line-height: 1.2;
	margin: 0 0 18px; text-wrap: balance; color: #fff;
}
.blog-hero-top__lead {
	font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.65;
	color: rgba(255,255,255,0.82); max-width: 760px; margin: 0 auto 32px;
}
.blog-hero-top__cta {
	display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
}
.blog-hero-top__cta .btn--ghost-on-dark {
	background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.4) !important;
}
.blog-hero-top__cta .btn--ghost-on-dark:hover { background: rgba(255,255,255,0.08) !important; border-color: #C2A75A !important; }
@media (width < 768px) {
	.blog-hero-top { padding: 110px 0 60px; }
	.blog-hero-top__title { font-size: 30px; }
	.blog-hero-top__lead { font-size: 15px; }
	.blog-hero-top__cta { flex-direction: column; }
	.blog-hero-top__cta .btn { width: 100%; }
}

.blog-page {
	background: #fff;
	color: #333;
}
.blog-wrap.container { max-width: 900px; }
.blog-page a { text-decoration: none; color: inherit; }
.blog-page--article { padding-top: 100px; }

/* ---------- Секция-лейбл ---------- */
.blog-section-label {
	font-family: 'Playfair Display', serif;
	font-size: 15px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
	color: #04254b; display: flex; align-items: center; gap: 16px; margin: 50px 0 24px;
}
.blog-section-label::after {
	content: ''; flex: 1; height: 1px;
	background: #C2A75A; opacity: 0.4;
}

/* ---------- Категории — цветовые градиенты ---------- */
.blog-color-tax    { background: linear-gradient(135deg, #04254b, #2A3D66); color: rgba(255,255,255,0.16); }
.blog-color-court  { background: linear-gradient(135deg, #2C1F3D, #3D2E55); color: rgba(255,255,255,0.16); }
.blog-color-law    { background: linear-gradient(135deg, #1A3A2A, #2A5040); color: rgba(255,255,255,0.16); }
.blog-color-ip     { background: linear-gradient(135deg, #3D2A1A, #5A3D28); color: rgba(255,255,255,0.16); }
.blog-color-biz    { background: linear-gradient(135deg, #1A2F3D, #2A4555); color: rgba(255,255,255,0.16); }
.blog-color-crypto { background: linear-gradient(135deg, #2A1A3D, #402B5A); color: rgba(255,255,255,0.16); }
.blog-color-check  { background: linear-gradient(135deg, #3D1A1A, #5A2828); color: rgba(255,255,255,0.16); }
.blog-color-corp   { background: linear-gradient(135deg, #1A3D3D, #285555); color: rgba(255,255,255,0.16); }
.blog-color-fns    { background: linear-gradient(135deg, #2A2A1A, #454528); color: rgba(255,255,255,0.16); }

/* Иконки — inline SVG в шаблонах. Здесь только выравнивание wrapper-ов. */
.blog-article__back-ico,
.blog-article__meta-item svg,
.blog-article__nav-label svg,
.blog-article__share-btn svg,
.blog-info-card__img svg,
.blog-newsletter__icon svg,
.blog-card__icon svg,
.blog-hero__icon svg,
.blog-pick__icon svg,
.blog-article__hero-icon svg { display: inline-block; vertical-align: middle; }
.blog-article__meta-item { display: inline-flex; align-items: center; gap: 6px; }

/* ---------- Герой-статья ---------- */
.blog-hero { display: block; margin-bottom: 40px; cursor: pointer; }
.blog-hero__img {
	width: 100%; aspect-ratio: 16/9; border-radius: 4px;
	position: relative; overflow: hidden;
	display: flex; align-items: center; justify-content: center;
}
.blog-hero__img::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(4,37,75,0.55) 0%, rgba(4,37,75,0.15) 40%, transparent 70%);
	pointer-events: none;
}
.blog-card__thumb::after,
.blog-pick__img::after,
.blog-article__hero::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(4,37,75,0.5) 0%, rgba(4,37,75,0.1) 40%, transparent 70%);
	pointer-events: none;
}
.blog-card__thumb, .blog-pick__img, .blog-article__hero { position: relative; }
.blog-card__thumb .blog-card__badge,
.blog-card__thumb .blog-card__icon,
.blog-pick__img .blog-pick__icon,
.blog-article__hero .blog-article__hero-icon { position: relative; z-index: 1; }
.blog-hero__badge {
	position: absolute; top: 20px; left: 20px; z-index: 1;
	background: #C2A75A; color: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 11px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase;
	padding: 6px 14px; border-radius: 2px;
}
.blog-hero__icon { font-size: 96px; color: rgba(255,255,255,0.15); }
.blog-hero__date {
	font-family: 'Inter', sans-serif; font-size: 12px; color: #999; margin: 16px 0 8px;
}
.blog-hero__title {
	font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 500;
	line-height: 1.3; color: #04254b; margin: 0 0 12px;
}
.blog-hero__excerpt {
	font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.7;
	color: #555; margin: 0 0 14px;
}
.blog-read-more {
	font-family: 'Inter', sans-serif;
	font-size: 11px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase;
	color: #C2A75A;
}
.blog-hero:hover .blog-read-more { opacity: 0.7; }

/* ---------- Сетка карточек ---------- */
.blog-grid {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: 30px 24px; margin-bottom: 20px;
}
.blog-card { display: block; cursor: pointer; }
.blog-card__thumb {
	width: 100%; aspect-ratio: 1/1; border-radius: 3px;
	display: flex; align-items: center; justify-content: center;
	position: relative; overflow: hidden;
}
.blog-card__icon { font-size: 44px; color: rgba(255,255,255,0.18); }
.blog-card__badge {
	position: absolute; bottom: 10px; left: 10px;
	background: rgba(0,0,0,0.6); color: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 10px; font-weight: 500; letter-spacing: 0.5px;
	padding: 4px 9px; border-radius: 2px;
}
.blog-card__date {
	font-family: 'Inter', sans-serif; font-size: 11px; color: #999; margin: 12px 0 6px;
}
.blog-card__title {
	font-family: 'Playfair Display', serif; font-size: 16px; font-weight: 500;
	line-height: 1.35; color: #04254b; margin: 0 0 8px;
}
.blog-card__excerpt {
	font-family: 'Inter', sans-serif; font-size: 12.5px; line-height: 1.55;
	color: #666; margin: 0 0 10px;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.blog-card:hover .blog-card__title { color: #C2A75A; }

/* ---------- Пагинация ---------- */
.blog-pagination {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	margin: 40px 0 20px;
}
.blog-page-num {
	width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
	font-family: 'Inter', sans-serif; font-size: 13px; color: #666;
	border-radius: 2px; cursor: pointer;
}
.blog-page-num.is-active { background: #04254b; color: #fff; }
.blog-page-num:not(.is-active):hover { background: #f4f0e6; color: #04254b; }
.blog-page-next,
.blog-page-prev {
	font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
	letter-spacing: 1px; text-transform: uppercase; color: #C2A75A;
	padding: 8px 12px; border-radius: 2px;
}
.blog-page-prev { margin-right: 6px; }
.blog-page-next { margin-left: 6px; }
.blog-page-next:hover, .blog-page-prev:hover { color: #04254b; }

/* ---------- Инфо-карточки ---------- */
.blog-info-cards {
	display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 60px;
}
.blog-info-card { display: flex; gap: 16px; align-items: flex-start; }
.blog-info-card__img {
	width: 80px; height: 80px; border-radius: 3px; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 32px; color: rgba(255,255,255,0.3);
}
.blog-info-card__title {
	font-family: 'Playfair Display', serif; font-size: 15px; font-weight: 700;
	color: #04254b; margin-bottom: 8px;
}
.blog-info-card__text {
	font-family: 'Inter', sans-serif; font-size: 12.5px; line-height: 1.6; color: #666;
}

/* ---------- Выбор редактора ---------- */
.blog-pick {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: 36px;
	align-items: center;
	cursor: pointer;
}
.blog-pick__img {
	width: 100%; aspect-ratio: 4/3; border-radius: 6px;
	display: flex; align-items: center; justify-content: center;
	font-size: 56px; color: rgba(255,255,255,0.15);
	overflow: hidden;
}
.blog-pick__cat {
	font-family: 'Inter', sans-serif;
	font-size: 10px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase;
	color: #C2A75A; margin-bottom: 10px;
}
.blog-pick__title {
	font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 500;
	line-height: 1.3; color: #04254b; margin: 0 0 14px;
}
.blog-pick__author { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.blog-pick__avatar {
	width: 30px; height: 30px; border-radius: 50%; background: #04254b;
	display: flex; align-items: center; justify-content: center;
	color: rgba(255,255,255,0.7); font-family: 'Inter', sans-serif;
	font-size: 12px; font-weight: 500;
}
.blog-pick__author-info { font-family: 'Inter', sans-serif; font-size: 12px; color: #999; }
.blog-pick__author-info b { color: #04254b; font-weight: 500; }
.blog-pick__excerpt {
	font-family: 'Inter', sans-serif; font-size: 13.5px; line-height: 1.65; color: #555; margin: 0 0 14px;
}

/* ---------- Подписка на рассылку ---------- */
.blog-newsletter {
	background: linear-gradient(135deg, #04254b 0%, #08376d 100%);
	border-radius: 6px; padding: 40px 32px; text-align: center;
	margin-top: 60px; position: relative; overflow: hidden;
}
.blog-newsletter::before {
	content: ''; position: absolute; inset: 0;
	background: radial-gradient(ellipse at 30% 50%, rgba(194,167,90,0.12) 0%, transparent 70%);
}
.blog-newsletter > * { position: relative; }
.blog-newsletter__icon { color: #C2A75A; font-size: 26px; margin-bottom: 12px; }
.blog-newsletter__title {
	font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 500;
	color: #fff; margin-bottom: 8px;
}
.blog-newsletter__sub {
	font-family: 'Inter', sans-serif; font-size: 13px;
	color: rgba(255,255,255,0.65); margin-bottom: 24px; text-wrap: balance;
}
.blog-newsletter__form {
	display: flex; gap: 10px; max-width: 500px; margin: 0 auto;
	flex-wrap: wrap; justify-content: center;
}
.blog-newsletter__form input {
	flex: 1 1 140px; min-width: 0; padding: 12px 16px;
	border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.08);
	color: #fff; font-family: 'Inter', sans-serif; font-size: 13px;
	border-radius: 3px; outline: none;
}
.blog-newsletter__form input::placeholder { color: rgba(255,255,255,0.4); }
.blog-newsletter__form input:focus { border-color: #C2A75A; background: rgba(255,255,255,0.12); }
.blog-newsletter__btn {
	padding: 12px 24px; background: #C2A75A; color: #fff; border: none;
	font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
	letter-spacing: 1px; text-transform: uppercase; cursor: pointer;
	border-radius: 3px; white-space: nowrap;
}
.blog-newsletter__btn:hover { background: #d3ba6f; }
.blog-newsletter__status {
	font-family: 'Inter', sans-serif; font-size: 12px;
	color: rgba(255,255,255,0.85); margin-top: 14px; min-height: 16px;
}

/* =========================================================
   Страница статьи /blog/{slug}
   ========================================================= */
.blog-article { max-width: 720px; }
.blog-article__back {
	display: inline-flex; align-items: center; gap: 6px;
	font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
	color: #999; margin-bottom: 24px;
}
.blog-article__back:hover { color: #C2A75A; }
.blog-article__cat {
	display: inline-block; background: #C2A75A; color: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 10px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase;
	padding: 5px 12px; border-radius: 2px; margin-bottom: 16px;
}
.blog-article__title {
	font-family: 'Playfair Display', serif; font-size: 34px; font-weight: 500;
	line-height: 1.25; color: #04254b; margin: 0 0 20px; text-wrap: balance;
}
.blog-article__meta {
	display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
	margin-bottom: 28px;
}
.blog-article__author-wrap { display: flex; align-items: center; gap: 12px; }
.blog-article__avatar {
	width: 44px; height: 44px; border-radius: 50%; background: #04254b;
	display: flex; align-items: center; justify-content: center;
	color: rgba(255,255,255,0.7); font-family: 'Inter', sans-serif;
	font-size: 13px; font-weight: 500;
}
.blog-article__author-name {
	font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500; color: #04254b;
}
.blog-article__author-sub {
	font-family: 'Inter', sans-serif; font-size: 11.5px; color: #999; margin-top: 2px;
}
.blog-article__meta-sep { width: 1px; height: 28px; background: #e5e5e5; }
.blog-article__meta-item {
	display: flex; align-items: center; gap: 6px;
	font-family: 'Inter', sans-serif; font-size: 12px; color: #999;
}
.blog-article__meta-item i { font-size: 15px; }

.blog-article__hero {
	width: 100%; aspect-ratio: 16/9; border-radius: 4px;
	display: flex; align-items: center; justify-content: center;
	font-size: 84px; color: rgba(255,255,255,0.15);
	margin-bottom: 40px;
}

/* Тело статьи */
.blog-article__body {
	font-family: 'Inter', sans-serif; color: #444;
}
.blog-article__body h3 {
	font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 500;
	color: #04254b; margin: 32px 0 14px; line-height: 1.35;
}
.blog-article__body p {
	font-size: 15px; line-height: 1.75; color: #444; margin: 0 0 16px;
}
.blog-article__body > p:first-of-type::first-letter {
	font-family: 'Playfair Display', serif; font-size: 56px;
	float: left; line-height: 1; margin: 6px 12px 0 0;
	color: #04254b; font-weight: 500;
}
.blog-callout {
	border-left: 3px solid #C2A75A; padding: 18px 22px; margin: 24px 0;
	background: #faf6ec; border-radius: 0 4px 4px 0;
}
.blog-callout__label {
	font-family: 'Inter', sans-serif;
	font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
	color: #C2A75A; margin-bottom: 8px;
}
.blog-callout p { font-size: 14px; line-height: 1.65; color: #555; margin: 0; }

.blog-highlight { background: #f5f2ea; border-radius: 6px; padding: 22px 26px; margin: 24px 0; }
.blog-highlight__title {
	font-family: 'Playfair Display', serif; font-size: 16px; font-weight: 500;
	color: #04254b; margin-bottom: 12px;
}
.blog-highlight ul { list-style: none; padding: 0; margin: 0; }
.blog-highlight li {
	font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.6;
	color: #555; padding: 6px 0 6px 20px; position: relative;
}
.blog-highlight li::before {
	content: ''; width: 6px; height: 6px; background: #C2A75A;
	border-radius: 50%; position: absolute; left: 0; top: 14px;
}

.blog-quote { margin: 30px 0; padding: 26px 30px; position: relative; }
.blog-quote::before {
	content: '\201C'; font-family: 'Playfair Display', serif;
	font-size: 84px; color: #C2A75A; opacity: 0.28;
	position: absolute; top: -12px; left: 10px; line-height: 1;
}
.blog-quote p {
	font-family: 'Playfair Display', serif;
	font-size: 18px; line-height: 1.6; color: #04254b;
	font-style: italic; margin: 0;
}
.blog-quote cite {
	display: block; font-family: 'Inter', sans-serif;
	font-size: 12px; font-style: normal; color: #999; margin-top: 12px;
}

/* Теги */
.blog-article__tags {
	display: flex; flex-wrap: wrap; gap: 8px;
	margin: 40px 0 24px; padding-top: 24px; border-top: 1px solid #eee;
}
.blog-article__tag {
	font-family: 'Inter', sans-serif; font-size: 11px; color: #666;
	padding: 5px 12px; border: 1px solid #ddd; border-radius: 2px; cursor: pointer;
}
.blog-article__tag:hover { border-color: #C2A75A; color: #C2A75A; }

/* Поделиться */
.blog-article__share {
	display: flex; align-items: center; gap: 12px;
	padding: 16px 0; border-bottom: 1px solid #eee;
}
.blog-article__share-label {
	font-family: 'Inter', sans-serif;
	font-size: 11px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase;
	color: #999;
}
.blog-article__share-btn {
	width: 36px; height: 36px; border-radius: 50%; border: 1px solid #ddd;
	display: inline-flex; align-items: center; justify-content: center;
	color: #666; font-size: 16px; background: transparent; cursor: pointer;
}
.blog-article__share-btn:hover { border-color: #C2A75A; color: #C2A75A; }
.blog-article__share-btn.is-copied { border-color: #04254b; color: #04254b; background: #f4f0e6; }

/* Карточка автора */
.blog-author-card {
	display: flex; gap: 20px; padding: 26px;
	margin: 28px 0; background: #f5f2ea; border-radius: 6px; align-items: flex-start;
}
.blog-author-card__avatar {
	width: 60px; height: 60px; border-radius: 50%; background: #04254b;
	display: flex; align-items: center; justify-content: center;
	color: rgba(255,255,255,0.7); font-family: 'Inter', sans-serif;
	font-size: 18px; font-weight: 500; flex-shrink: 0;
}
.blog-author-card__name {
	font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 500;
	color: #04254b; margin-bottom: 6px;
}
.blog-author-card__bio {
	font-family: 'Inter', sans-serif; font-size: 13px; line-height: 1.6;
	color: #555; margin-bottom: 10px;
}
.blog-author-card__link {
	font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 500;
	color: #C2A75A; letter-spacing: 0.5px;
}
.blog-author-card__link:hover { opacity: 0.7; }

/* Читайте также */
.blog-related {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.blog-related .blog-card__title { font-size: 14px; }

/* Prev / Next */
.blog-article__nav {
	display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
	margin-top: 40px; padding-top: 28px; border-top: 1px solid #eee;
}
.blog-article__nav-item { display: block; cursor: pointer; }
.blog-article__nav-item--right { text-align: right; }
.blog-article__nav-label {
	font-family: 'Inter', sans-serif;
	font-size: 10px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase;
	color: #999; margin-bottom: 8px; display: flex; align-items: center; gap: 4px;
}
.blog-article__nav-item--right .blog-article__nav-label { justify-content: flex-end; }
.blog-article__nav-title {
	font-family: 'Playfair Display', serif; font-size: 15px; font-weight: 500;
	line-height: 1.35; color: #04254b;
}
.blog-article__nav-item:hover .blog-article__nav-title { color: #C2A75A; }

/* ---------- Адаптив ---------- */
@media (width < 1024px) {
	.blog-grid, .blog-related { grid-template-columns: repeat(2, 1fr); }
	.blog-pick { grid-template-columns: 1fr; gap: 20px; }
	.blog-pick__img { aspect-ratio: 16/9; max-height: 300px; }
	.blog-info-cards { grid-template-columns: 1fr; }
}
@media (width < 768px) {
	.blog-page { padding-top: 90px; }
	.blog-header__title { font-size: 30px; }
	.blog-hero__title { font-size: 22px; }
	.blog-article__title { font-size: 26px; }
	.blog-grid, .blog-related { grid-template-columns: 1fr; }
	.blog-article__nav { grid-template-columns: 1fr; }
	.blog-article__nav-item--right { text-align: left; }
	.blog-article__nav-item--right .blog-article__nav-label { justify-content: flex-start; }
	.blog-newsletter__form { flex-direction: column; }
	.blog-newsletter__form input,
	.blog-newsletter__btn { width: 100%; }
	.blog-section-label { font-size: 13px; letter-spacing: 1.5px; }
}

/* =========================================================
   Правки 08.07 (глава/меню/блог)
   ========================================================= */

/* 1. Форма — блок «Спасибо» после успешной отправки */
.form-thanks {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	text-align: center; padding: 24px 20px; min-height: 220px;
}
.form-thanks__icon {
	width: 68px; height: 68px; color: #C2A75A; margin-bottom: 18px;
}
.form-thanks__icon svg { width: 100%; height: 100%; }
.form-thanks__title {
	font-size: 24px; font-weight: 700; color: #04254b; margin-bottom: 10px;
	line-height: 1.25; text-wrap: balance;
}
.form-thanks__text {
	font-size: 15px; line-height: 1.55; color: #4a5670;
	max-width: 320px;
}
.hero__request-form.is-thanks { min-height: auto; }

/* 2. Меню — телефон полностью виден. Ключевое решение: на десктопе используется
   ОТДЕЛЬНАЯ версия телефона (.header__phone--desk) — она вынесена из .menu__body
   и является прямым child'ом .header__body, поэтому получает своё flex-место
   и никогда не сжимается за счёт меню. */

/* Скрываем «мобильную» версию телефона на десктопе и наоборот */
.header__phone--desk { display: none; }
@media (min-width: 1200px) {
	.header__phone--desk { display: flex; }
	.header__phone--mob  { display: none !important; }
}

@media (min-width: 1200px) {
	/* Шапка использует ту же ширину контейнера, что и контент сайта
	   (базовый .container = min(100% - 240px, 1680px)) — чтобы логотип
	   был по одной вертикали с левым краем контентных секций. */
	.header .header__body.container {
		width: min(100% - 240px, 1680px) !important;
		max-width: 1680px !important;
		margin-inline: auto !important;
	}
	/* Сдвигаем логотип и меню друг к другу (не space-between).
	   Логотип слева, меню сразу за ним с фиксированным gap, телефон в конце. */
	.header__body {
		gap: 24px !important;
		align-items: center;
		justify-content: flex-start !important;
	}
	.header__logo { flex-shrink: 0; }
	.header__trademark-text { font-size: 9px !important; line-height: 1.3 !important; }

	/* nav — компактный по содержимому, не растягивается */
	.header__menu { flex: 0 0 auto !important; min-width: 0 !important; margin-right: auto; }
	.menu__body {
		width: auto !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		flex-wrap: nowrap !important;
	}
	.menu__list {
		gap: 10px !important;
		flex-shrink: 1 !important;
		min-width: 0 !important;
	}
	.menu__link { font-size: 13px !important; white-space: nowrap; }

	/* Десктопный телефон — просто текст (без плашки/рамки), но с защитой
	   от прозрачных перекрытий сверху через z-index + text-shadow. */
	.header__phone.header__phone--desk {
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
		font-size: 15px !important;
		font-weight: 700;
		color: #fff !important;
		flex-shrink: 0 !important;
		flex-grow: 0 !important;
		flex-basis: max-content !important;
		white-space: nowrap !important;
		text-decoration: none;
		margin-left: auto;
		position: relative;
		z-index: 100;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
	}
	.header__phone.header__phone--desk svg {
		width: 18px !important; height: 18px !important;
		flex-shrink: 0; color: #C2A75A;
	}
	.header__phone.header__phone--desk:hover {
		color: #C2A75A !important;
	}

}
/* Чат-виджет фиксирован в правом-нижнем углу, шапка ограничена по ширине —
   отдельные правые отступы для него больше не нужны. */

/* =========================================================
   Защита от прозрачности телефона + стилизация AI-чата (14.07)
   ========================================================= */
@media (min-width: 1200px) {
	.header__body {
		position: relative;
		z-index: 2;
		isolation: isolate;
	}
	/* particles-js в шапке — строго под контентом */
	.header .particles-js,
	.header #particles-js,
	.header canvas.particles-js-canvas-el {
		position: absolute !important;
		z-index: 0 !important;
		pointer-events: none !important;
	}
	/* Перебиваем любые mask/opacity/градиенты внутри линка телефона */
	body .header .header__body a.header__phone.header__phone--desk,
	body .header .header__body a.header__phone.header__phone--desk * {
		opacity: 1 !important;
		-webkit-mask: none !important;
		mask: none !important;
		-webkit-mask-image: none !important;
		mask-image: none !important;
		-webkit-background-clip: border-box !important;
		background-clip: border-box !important;
		-webkit-text-fill-color: currentColor !important;
		filter: none !important;
	}
	/* Тень для контрастности на любом фоне */
	body .header .header__body a.header__phone.header__phone--desk {
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
	}
}

/* =========================================================
   AI-чат виджет (widget.collectorsandlawyers.ru / n8n) —
   стилизация ХОСТ-элемента под фирменную гамму сайта.
   Внутренности виджета в Shadow DOM, стилизовать нельзя;
   мы работаем только с самим контейнером.
   Позиция: правый нижний угол (штатное место кнопки чата).
   ========================================================= */
body > div[id*="chat"],
body > div[id*="n8n-chat"],
body > div[class*="chat-widget"],
body > div[class*="n8n-chat"],
body > n8n-chat-widget {
	border-radius: 24px !important;
	box-shadow: 0 12px 32px rgba(4, 37, 75, 0.35),
	            0 0 0 1px rgba(194, 167, 90, 0.3) !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}
body > div[id*="chat"]:hover,
body > div[id*="n8n-chat"]:hover,
body > div[class*="chat-widget"]:hover {
	box-shadow: 0 16px 40px rgba(194, 167, 90, 0.4),
	            0 0 0 2px rgba(194, 167, 90, 0.6) !important;
	transform: translateY(-2px);
}

/* Мобильный виджет чата: помещаем в экран, добавляем плавное появление,
   чтобы модалка «Условия и положения» не вылезала за край и не мерцала. */
@media (max-width: 767px) {
	body > div[id*="chat"],
	body > div[id*="n8n-chat"],
	body > div[class*="chat-widget"],
	body > div[class*="n8n-chat"],
	body > n8n-chat-widget {
		max-width: calc(100vw - 24px) !important;
		max-height: calc(100dvh - 24px) !important;
		right: 12px !important;
		left: auto !important;
		bottom: 12px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
		animation: shpChatFadeIn 0.35s ease-out 0.15s both;
	}
	body > div[id*="chat"]:hover,
	body > div[id*="n8n-chat"]:hover,
	body > div[class*="chat-widget"]:hover {
		transform: none !important; /* на тач-устройствах hover-подпрыгивание неуместно */
	}
}

/* Плавное появление виджета, чтобы не было «моргания» при отложенной загрузке */
@keyframes shpChatFadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}
@media (min-width: 1440px) {
	.menu__list { gap: 14px !important; }
	.menu__link { font-size: 14px !important; }
	.header__phone.header__phone--desk { font-size: 16px !important; }
	.header__phone.header__phone--desk svg { width: 20px !important; height: 20px !important; }
}
@media (min-width: 1680px) {
	.menu__list { gap: 22px !important; }
	.menu__link { font-size: 15px !important; }
}

/* 3. Блог — шире контейнер (с 900 до 1200), с адаптивом */
.blog-wrap.container { max-width: 1200px !important; }
@media (max-width: 1300px) {
	.blog-wrap.container { max-width: none !important; }
}

/* 4. Блог — фото Леонида в «Об авторе» и карточке автора */
.blog-info-card__img--photo {
	width: 80px; height: 80px; border-radius: 6px; object-fit: cover;
	flex-shrink: 0; box-shadow: 0 8px 20px rgba(4,37,75,0.12);
}
.blog-author-card {
	background-image: linear-gradient(135deg, rgba(4,37,75,0.02) 0%, rgba(194,167,90,0.05) 100%);
}
.blog-author-card__avatar--photo {
	width: 68px; height: 68px; border-radius: 50%;
	object-fit: cover; flex-shrink: 0;
	box-shadow: 0 8px 20px rgba(4,37,75,0.18);
}

/* 5. Блог — бейдж «Закреплено» */
.blog-card__pin {
	position: absolute; top: 10px; right: 10px; z-index: 2;
	width: 26px; height: 26px; border-radius: 50%;
	background: #C2A75A; color: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 14px rgba(194,167,90,0.35);
}
.blog-card--pinned .blog-card__title { color: #04254b; }
.blog-card--pinned:hover .blog-card__title { color: #C2A75A; }

/* 6. Мобильная — блог */
@media (max-width: 767px) {
	.blog-hero-top { padding: 100px 0 50px; }
	.blog-hero-top__title { font-size: 26px; }
	.blog-hero-top__lead { font-size: 14px; }
	.blog-wrap.container { padding-left: 16px !important; padding-right: 16px !important; }
	.blog-hero__title { font-size: 22px; }
	.blog-hero__excerpt { font-size: 13.5px; }
	.blog-card__title { font-size: 15px; }
	.blog-card__excerpt { font-size: 12.5px; }
	.blog-info-cards { grid-template-columns: 1fr !important; gap: 18px !important; }
	.blog-info-card__img--photo { width: 64px; height: 64px; }
	.blog-info-card__title { font-size: 14px; }
	.blog-info-card__text { font-size: 12px; line-height: 1.55; }
	.blog-article__title { font-size: 22px !important; }
	.blog-article__meta { gap: 12px; font-size: 12px; }
	.blog-article__meta-sep { display: none; }
	.blog-article__body p { font-size: 14.5px; }
	.blog-article__body h3 { font-size: 18px; }
	.blog-newsletter { padding: 32px 20px; }
	.blog-newsletter__title { font-size: 18px; }
	.blog-newsletter__sub { font-size: 12px; }
}

/* Кнопка «Экспертный блог» в шапке hero */
.hero__button { display: flex; gap: 12px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.hero__blog-btn {
	background: transparent !important;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.4) !important;
	text-decoration: none !important;
}
.hero__blog-btn:hover {
	background: rgba(255,255,255,0.08) !important;
	border-color: #C2A75A !important;
	color: #fff !important;
}
@media (max-width: 767px) {
	.hero__blog-btn { display: none; }
}

/* =========================================================
   Блог-тизер на главной странице (partials/blog-teaser.twig)
   ========================================================= */
.blog-teaser {
	background: linear-gradient(180deg, #f8f6f2 0%, #ffffff 100%);
	position: relative;
	overflow: hidden;
}
.blog-teaser::before {
	content: '';
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 220px; height: 4px;
	background: linear-gradient(90deg, transparent, #C2A75A, transparent);
	opacity: 0.6;
}
.blog-teaser__body { max-width: 1200px; }
.blog-teaser__head { text-align: center; margin-bottom: 44px; }
.blog-teaser__eyebrow {
	font-family: 'Playfair Display', serif;
	font-size: 13px; font-weight: 700; letter-spacing: 3px;
	text-transform: uppercase; color: #C2A75A; margin-bottom: 14px;
}
.blog-teaser__title.section-title { margin-bottom: 12px; }
.blog-teaser__sub.section-subtitle { max-width: 700px; margin: 0 auto 20px; }

.blog-teaser__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 40px;
}
.blog-teaser__card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(4, 37, 75, 0.08);
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.blog-teaser__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(4, 37, 75, 0.16);
}
.blog-teaser__thumb {
	width: 100%; aspect-ratio: 16/9;
	background: linear-gradient(135deg, #04254b, #2A3D66);
	position: relative;
}
.blog-teaser__thumb::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(4,37,75,0.55) 0%, transparent 60%);
	pointer-events: none;
}
.blog-teaser__badge {
	position: absolute; top: 14px; left: 14px; z-index: 1;
	background: #C2A75A; color: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 10px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
	padding: 5px 12px; border-radius: 3px;
}
.blog-teaser__date {
	font-family: 'Inter', sans-serif; font-size: 11.5px; color: #999;
	padding: 18px 22px 6px;
}
.blog-teaser__card-title {
	font-family: 'Playfair Display', serif;
	font-size: 18px; font-weight: 500; line-height: 1.35;
	color: #04254b; margin: 0 0 10px;
	padding: 0 22px;
}
.blog-teaser__excerpt {
	font-family: 'Inter', sans-serif; font-size: 13px; line-height: 1.6;
	color: #555; margin: 0 0 16px; padding: 0 22px;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	flex: 1;
}
.blog-teaser__more {
	font-family: 'Inter', sans-serif;
	font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
	color: #C2A75A; padding: 0 22px 20px;
}

.blog-teaser__cta {
	text-align: center;
}
.blog-teaser__btn.btn {
	display: inline-block;
	font-size: 15px;
	padding: 16px 40px;
	background: #04254b !important;
	color: #fff !important;
	border: 1px solid #04254b !important;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 10px 24px rgba(4, 37, 75, 0.22);
}
.blog-teaser__btn.btn:hover {
	background: #C2A75A !important;
	border-color: #C2A75A !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 30px rgba(194, 167, 90, 0.32);
}

@media (max-width: 900px) {
	.blog-teaser__grid { grid-template-columns: 1fr 1fr; gap: 20px; }
	.blog-teaser__grid > *:nth-child(3) { display: none; }
}
@media (max-width: 600px) {
	.blog-teaser__grid { grid-template-columns: 1fr; gap: 18px; }
	.blog-teaser__grid > *:nth-child(3) { display: flex; }
	.blog-teaser__btn.btn { width: 100%; padding: 14px 20px; font-size: 14px; }
}

/* =========================================================
   Премиальный редизайн шапки и меню (14.07.2026)
   Тёмно-синий #04254b + золотой #C2A75A, микроанимации,
   разделители-ромбы, hover glow, active-state с обводкой снизу.
   ========================================================= */

/* Header: плавный переход прозрачности + backdrop-blur при скролле */
.header {
	transition: background-color 0.4s ease, box-shadow 0.4s ease, backdrop-filter 0.4s ease !important;
}
.header.-bg {
	background: rgba(4, 37, 75, 0.94) !important;
	backdrop-filter: blur(10px) saturate(140%);
	-webkit-backdrop-filter: blur(10px) saturate(140%);
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25),
	            0 1px 0 rgba(194, 167, 90, 0.25);
}

/* Логотип — hover-анимация */
.header__logo {
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), filter 0.35s ease !important;
}
.header__logo:hover {
	transform: scale(1.04);
	filter: drop-shadow(0 4px 12px rgba(194, 167, 90, 0.35));
}
.header__trademark svg {
	transition: transform 0.35s ease;
}
.header__logo:hover .header__trademark svg {
	transform: rotate(-6deg);
}

/* Меню на десктопе — премиальные пункты */
@media (min-width: 1200px) {
	/* Разделители-ромбы между пунктами */
	.menu__list {
		align-items: center;
	}
	.menu__item {
		position: relative;
	}
	.menu__item + .menu__item::before {
		content: '';
		position: absolute;
		left: calc(var(--menu-gap, 12px) * -0.5 - 2.5px);
		top: 50%;
		width: 5px;
		height: 5px;
		background: #C2A75A;
		transform: translate(-50%, -50%) rotate(45deg);
		opacity: 0.45;
		pointer-events: none;
		transition: opacity 0.3s ease, transform 0.3s ease;
	}
	.menu__item:hover::before,
	.menu__item + .menu__item:hover::before {
		opacity: 0.9;
		transform: translate(-50%, -50%) rotate(45deg) scale(1.15);
	}

	/* Пункты меню — микроанимация подчёркивания и лёгкое свечение */
	.menu__link {
		position: relative;
		display: inline-block;
		color: rgba(255, 255, 255, 0.9) !important;
		font-weight: 500;
		letter-spacing: 0.015em;
		padding: 8px 4px !important;
		transition: color 0.28s ease, text-shadow 0.28s ease, transform 0.28s ease !important;
	}
	.menu__link::after {
		content: '';
		position: absolute;
		left: 4px;
		right: 4px;
		bottom: 3px;
		height: 2px;
		background: linear-gradient(90deg, transparent, #C2A75A, transparent);
		border-radius: 2px;
		transform: scaleX(0);
		transform-origin: center;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	}
	.menu__link:hover {
		color: #fff !important;
		text-shadow: 0 0 12px rgba(194, 167, 90, 0.55);
		transform: translateY(-1px);
	}
	.menu__link:hover::after {
		transform: scaleX(1);
	}

	/* Активный пункт — одна аккуратная золотая линия, без дублирующих подчёркиваний */
	.menu__link.is-active,
	.menu__item.current-menu-item > .menu__link,
	.menu__item.current_page_item > .menu__link {
		color: #C2A75A !important;
	}
	.menu__link.is-active::after,
	.menu__item.current-menu-item > .menu__link::after,
	.menu__item.current_page_item > .menu__link::after {
		transform: scaleX(1) !important;
		background: linear-gradient(90deg, transparent, #C2A75A 30%, #C2A75A 70%, transparent) !important;
		height: 2px !important;
		box-shadow: none !important;
	}
	/* Гасим любые ДРУГИЕ источники подчёркивания активного пункта
	   (text-decoration от браузера, border-bottom от темы, ::before-полосы) */
	.menu__link,
	.menu__link.is-active,
	.menu__item.current-menu-item > .menu__link,
	.menu__item.current_page_item > .menu__link {
		text-decoration: none !important;
		border-top: none !important;
		border-bottom: none !important;
	}
	.menu__link::before {
		display: none !important;
		content: none !important;
	}
	.menu__item.current-menu-item::after,
	.menu__item.current_page_item::after {
		display: none !important;
		content: none !important;
	}

	/* Кнопки в hero-области шапки (Экспертный блог / Заказать звонок) */
	.hero__button {
		gap: 14px !important;
	}
	.hero__button .btn,
	.hero__blog-btn {
		font-weight: 600;
		letter-spacing: 0.03em;
		padding: 12px 26px !important;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
		position: relative;
		overflow: hidden;
	}
	.hero__button .btn::before {
		content: '';
		position: absolute;
		top: 0; left: -100%;
		width: 100%; height: 100%;
		background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
		transition: left 0.6s ease;
	}
	.hero__button .btn:hover::before {
		left: 100%;
	}
	.hero__button .btn:not(.hero__blog-btn):hover {
		box-shadow: 0 10px 24px rgba(194, 167, 90, 0.35);
		transform: translateY(-1px);
	}

	/* Телефон — премиальный hover с легким свечением */
	body .header .header__body a.header__phone.header__phone--desk {
		position: relative;
		padding: 10px 6px !important;
		transition: color 0.3s ease, text-shadow 0.3s ease, transform 0.3s ease !important;
	}
	body .header .header__body a.header__phone.header__phone--desk::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		height: 1px;
		width: 100%;
		background: linear-gradient(90deg, transparent, #C2A75A, transparent);
		opacity: 0;
		transition: opacity 0.35s ease;
	}
	body .header .header__body a.header__phone.header__phone--desk:hover {
		text-shadow: 0 0 14px rgba(194, 167, 90, 0.5), 0 1px 2px rgba(0, 0, 0, 0.55);
		transform: translateY(-1px);
	}
	body .header .header__body a.header__phone.header__phone--desk:hover::before {
		opacity: 1;
	}
	body .header .header__body a.header__phone.header__phone--desk:hover svg {
		transform: scale(1.15);
	}
	body .header .header__body a.header__phone.header__phone--desk svg {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	}
}

/* =========================================================
   Мобильная версия карточек «Мне доверяют» (17.07.2026)
   На <768px JS заменяет #advantages-grid на .advantages-swiper —
   селекторы через #advantages-grid не срабатывают. Селектим
   .advantages__body/.advantages-swiper — они остаются в DOM.
   ========================================================= */
@media (max-width: 767px) {
	/* Карточка — центрируем содержимое по колонке, оставляем место снизу
	   под кнопку и точки пагинации Swiper. */
	.advantages__body .services__card,
	.advantages-swiper .services__card {
		text-align: center !important;
		align-items: center !important;
		justify-content: flex-start !important;
		padding: 24px 20px 32px !important;
	}

	/* Заголовок с большой цифрой (1+1, 30+, 15+, 10+) + подзаголовок —
	   flex-column чтобы и цифра, и текст ниже жили строго по центру. */
	.advantages__body .services__card .advantages__item-name,
	.advantages-swiper .services__card .advantages__item-name {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		width: 100% !important;
		gap: 6px !important;
	}
	.advantages__body .services__card .advantages__item-name > span,
	.advantages-swiper .services__card .advantages__item-name > span {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
	}

	/* Описание — тоже по центру */
	.advantages__body .services__card .advantages__item-text,
	.advantages-swiper .services__card .advantages__item-text {
		text-align: center !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* Кнопка «Скачать / Перейти к книге» — центрирована и с отступом,
	   чтобы не наезжала на точки Swiper снизу. */
	.advantages__body .services__card .advantages__item-book-btn,
	.advantages-swiper .services__card .advantages__item-book-btn,
	.advantages__items .advantages__item-book-btn {
		display: inline-flex !important;
		align-self: center !important;
		margin: 16px auto 8px !important;
		text-align: center !important;
		justify-content: center !important;
		align-items: center !important;
		float: none !important;
	}

	/* Swiper-пагинация: точки идут ПОД слайдом, а не поверх содержимого.
	   Резервируем место через нижний padding контейнера свайпера. */
	.advantages-swiper {
		padding-bottom: 36px !important;
		overflow: visible !important;
	}
	.advantages-swiper .swiper-pagination {
		position: static !important;
		margin-top: 20px !important;
		bottom: auto !important;
	}
	.advantages-swiper .swiper-pagination-bullet {
		margin: 0 5px !important;
	}
	/* Активная точка — цветом бренда */
	.advantages-swiper .swiper-pagination-bullet-active {
		background: #C2A75A !important;
	}

	/* scroll-margin для фикс-шапки, чтобы якорь на секцию не срезал заголовок */
	.advantages,
	section.advantages,
	#clients,
	section[id] {
		scroll-margin-top: 90px !important;
	}
	.advantages { padding-top: 40px !important; }

	.advantages .section-title,
	.advantages__title {
		padding-top: 12px !important;
		margin-top: 0 !important;
		line-height: 1.2 !important;
	}

	/* Меню-бургер: particles-js не должен ловить тач-эвенты панели */
	.menu.is-open .menu__body,
	.menu__body.is-open {
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}
	.menu__body #particles-js,
	.menu__body .particles-js,
	.menu.is-open #particles-js {
		pointer-events: none !important;
	}
}

@media (max-width: 480px) {
	.advantages__body .services__card,
	.advantages-swiper .services__card {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}
