.hidden {
  display: none;
}
/* @font-face для Source Sans 3 (все веса, woff2 + woff) подключается из
   fonts/sourcesans3.css через wp_enqueue_style('source-sans-3'). Старое
   объявление здесь дублировало Medium и обращалось к assets/fonts/...,
   где файлы не лежат — давало 404. Удалено. */
* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  overflow-x: hidden;
}
body {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: normal;
  color: #3c3c3c;
}
a {
  text-decoration: none;
  color: #272727;
}
p {
  line-height: 120%;
  margin: 10px 0 10px;
}
.main-container > ul {
    padding-left: 20px;
}
.skeleton img {
  width: 100%;
}
.header {
  padding: 20px 0;
  border-bottom: 1px solid rgba(91, 91, 91, 0.5);
}
.header__logo {
  display: flex;
  align-items: center;
}
.header__logo-desc {
  margin-left: 12px;
  color: #3c3c3c;
  font-size: 18px;
  font-weight: 700;
  max-width: 207px;
  transition: color 0.4s;
}
.header__logo-desc:hover {
  color: #0d3060;
}
.header__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__contacts {
  display: flex;
  gap: 0 12px;
}
.header__contacts img {
  height: 40px;
  width: 40px;
  transition: transform 0.4s;
  border-radius: 0 !important;
}
.header__contacts img:hover {
  transform: scale(1.3);
}
.header__etc_mob {
  display: none;
}
.header__burger {
  display: none;
}
.header__burger_back {
  display: none;
}
.header__cities {
  display: flex;
  align-items: center;
  position: relative;
}
.header__cities_mob {
  display: none;
}
.header__cities--button {
  background-image: url('data:image/svg+xml,<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.9648 1.5L6.00189 6.5L1.03894 1.5" stroke="white" stroke-width="2" /></svg>');
  background-repeat: no-repeat;
  background-position: center;
  width: 32px;
  height: 32px;
  background-color: #3c3c3c;
  transition: background-color 0.4s;
}
.header__cities--button:hover {
  background-color: #0d3060;
}
.header__cities--current {
  margin-left: 8px;
  font-size: 18px;
}
.header__cities--current p {
  margin: 0;
  color: #0d3060;
  font-weight: 700;
}
.nav-top__list {
  list-style: none;
  display: flex;
  gap: 0 14px;
}
.nav-top__link {
  color: #3c3c3c;
  font-size: 18px;
  font-weight: 400;
  transition: color 0.4s;
}
.nav-top__link:hover {
  color: #0d3060;
}
.nav-top__contacts {
  display: flex;
  gap: 0 24px;
  font-weight: 500;
  margin-top: 12px;
  font-size: 18px;
}
.nav-top__contacts-phone a {
  color: #0d3060;
  font-weight: 700;
  transition: color 0.4s;
}
.nav-top__contacts-phone a:hover {
  color: #3c3c3c;
}
.nav-top__contacts-email a {
  font-weight: 700;
  transition: color 0.4s;
}
.nav-top__contacts-email a:hover {
  color: #0d3060;
}
.nav-main .container {
  position: relative;
}
.nav-main__loaded {
  display: none;
}
.nav-main__list {
  list-style: none;
  display: flex;
  align-items: center;
}
.nav-main__item {
  width: min-content;
  height: 100%;
  padding: 27px 0;
}
.nav-main__item.active {
  background-color: #0d3060;
  border-radius: 6px;
  border: none;
  pointer-events: none;
  color: #fff;
}
.nav-main__item.active a {
  color: #fff;
}
.nav-main__item:hover .nav-mega {
  opacity: 1;
  z-index: 1;
}
.nav-main__link {
  height: 58px;
  border-right: 1px solid #05192e;
  display: flex;
  align-items: center;
  padding: 0 12px;
  text-transform: uppercase;
  line-height: 100%;
  font-weight: 700;
  font-size: 18px;
  transition: color 0.4s;
}
.nav-main__link:hover {
  color: #0d3060;
}
.nav-main__mobile {
  display: none;
}
.nav-mega {
  opacity: 0;
  z-index: -1;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #fff;
  border: 2px solid rgba(60, 60, 60, 0.2);
  border-radius: 10px;
  transition: all 0.4s;
  padding: 16px 12px 30px;
  box-sizing: border-box;
}
.nav-mega__scroll {
  max-height: 520px;
  overflow-x: hidden;
  overflow-y: auto;
}
.nav-mega__list {
  list-style: none;
  column-width: 165px;
  column-gap: 20px;
  width: 100%;
}
.nav-mega__item {
  font-size: 14px;
  break-inside: avoid;
  display: block;
  max-width: none;
  width: 100%;
}
.nav-mega__item:not(:first-child) {
  margin-top: 6px;
}
.nav-mega__item_letter {
  border: none;
  color: #0d3060;
  font-weight: 700;
  break-after: avoid;
}
.nav-mega__item_letter span {
  padding: 4px;
}
.nav-mega__item_letter:not(:first-child) {
  margin-top: 10px;
}
.nav-mega__cat-link {
  color: #0d3060;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  padding: 4px;
}
.nav-mega__cat-link:hover {
  color: #1a8ef1;
}
.nav-mega__link {
  padding: 2px 2px 1px;
  border-bottom: 0.5px solid rgba(60, 60, 60, 0.2);
  display: inline-block;
  line-height: 100%;
  padding: 8px 5px;
  font-weight: 500;
  transition: background-color 0.4s;
  word-spacing: normal;
  width: 100%;
  height: auto;
}
.nav-mega__link:hover {
  background-color: rgba(26, 142, 241, 0.2);
}
.nav-mega__item_letter {
    font-size: 14px;
}
.input-header {
  max-width: 213px;
  height: 58px;
  border-radius: 10px;
  outline: #0d3060 solid 2px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 50px;
  background-image: url(../images/search.svg);
  background-repeat: no-repeat;
  background-position: 20px;
  font-size: 18px;
  font-weight: 500;
  color: #3c3c3c;
  border: none;
}
.input-header::placeholder {
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
  color: #3c3c3c;
}
.input-header:focus::placeholder {
  color: transparent;
}
@media screen and (max-width: 1330px) {
  .header__wrapper {
    flex-wrap: wrap;
  }
  .nav-top__list {
    flex-wrap: wrap;
  }
  .nav-main__list {
    flex-wrap: wrap;
  }
  .nav-main__link {
    font-size: 14px;
  }
  .nav-mega__list {
    column-width: 140px;
    column-gap: 12px;
  }
  .nav-mega__item {
    font-size: 12px;
  }
}
@media screen and (max-width: 650px) {
  .u-hero__list {
    grid-template-columns: repeat(1, 1fr);
  }
  .nav-mega {
    display: none;
  }
  .header {
    border: none;
  }
  .header .container {
    padding: 0 20px;
  }
  .header__contacts {
    justify-content: center;
  }
  .header__cities {
    display: none;
  }
  .header__cities--current {
    font-weight: 400;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 0 4px;
  }
  .header__cities_mob {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
  }
  .header__cities--button {
    margin-left: 4px;
    width: 24px;
    height: 24px;
  }
  .header__logo img {
    width: 47px;
    height: 47px;
  }
  .header__logo-desc {
    font-size: 12px;
  }
  .header__contacts {
    display: none;
  }
  .header__info {
    width: 100%;
    margin-top: 47px;
    background-color: #0d3060;
    padding: 28px 13px;
  }
  .header__info--item {
    display: flex;
    align-items: center;
  }
  .header__info--item + .header__info--item {
    margin-top: 14px;
  }
  .header__info--image {
    margin-right: 12px;
  }
  .header__info--text {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
  }
  .header__info--text a {
    color: inherit;
  }
  .header__etc_mob.active {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    padding: 0 20px;
  }
  .header__etc_mob--phone {
    font-weight: 700;
    font-size: 18px;
  }
  .header__burger {
    height: 36px;
    width: 36px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px 5px;
    background-color: #0d3060;
  }
  .header__burger div {
    width: 100%;
    height: 2px;
    background-color: #fff;
  }
  .header__burger.active {
    position: relative;
    background-image: url('data:image/svg+xml,<svg width="12" height="15" viewBox="0 0 12 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 1.00488L1 14.0049" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path d="M1 1.00488L11 14.0049" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /></svg>');
    background-repeat: no-repeat;
    background-position: 50% 50%;
  }
  .header__burger.active div {
    display: none;
  }
  .header__burger_back {
    display: none;
  }
  .header__burger_back.active {
    margin-left: auto;
    margin-right: 10px;
    height: 36px;
    width: 36px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px 5px;
    background-color: #0d3060;
    background-image: url('data:image/svg+xml,<svg width="10" height="17" viewBox="0 0 10 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.5 15.4531L1.5 8.50499L8.5 1.55686" stroke="white" stroke-width="2" /></svg>');
    background-repeat: no-repeat;
    background-position: 50% 50%;
  }
  .nav-top {
    display: none;
  }
  .nav-main {
    border: none;
    position: absolute;
    z-index: -1;
    opacity: 0;
    transition: all 0.4s;
  }
  .nav-main .container {
    padding: 0;
  }
  .nav-main.active {
    position: static;
    opacity: 1;
    z-index: 1;
  }
  .nav-main__loaded {
    display: none;
    z-index: 2;
    width: 100%;
    background-color: #fff;
  }
  .nav-main__loaded.active {
    display: block;
  }
  .nav-main__loaded--alphabet {
    padding: 0 7px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 36px;
  }
  .nav-main__loaded--letter {
    font-weight: 700;
    font-size: 16px;
    padding: 6px 10px;
    border: 1px solid #0d3060;
    background-color: #fff;
    border-radius: 5px;
  }
  .nav-main__loaded--letter.active {
    background-color: #0d3060;
    color: #fff;
  }
  .nav-main__mobile {
    display: block;
  }
  .nav-main__mobile .header__contacts {
    display: flex;
    max-height: 50px;
  }
  .nav-main__mobile .header__contacts img {
    height: 50px;
    width: 50px;
  }
  .nav-main__mobile .nav-main__list {
    margin-top: 36px;
  }
  .nav-main__mobile .nav-main__list a::after {
    display: none;
  }
  .nav-main__wrapper {
    background-color: #fff;
    position: static;
    width: 100%;
  }
  .nav-main__list {
    padding: 0 8px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .nav-main__list_hidden {
    display: none;
  }
  .nav-main__item {
    width: 100%;
    word-spacing: unset;
    height: 100%;
    padding: 0;
    border-bottom: 0.5px solid #3c3c3c;
  }
  .nav-main__item_search {
    margin: 24px auto 0;
    border: none;
  }
  .nav-main__item_search .input-header {
    width: 100%;
    max-width: 100%;
  }
  .nav-main__item_feedback {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 8px;
    border: none;
    margin-top: 24px;
  }
  .nav-main__item_feedback .d-form__btn {
    width: 100%;
  }
  .nav-main__link {
    border: none;
    flex: 1;
    min-width: 0;
  }
  /* Стрелка-кнопка в мобильном меню (см. header.php).
     Клик отдельно от .nav-main__link, чтобы тап на пункте вёл в архив,
     а тап на стрелке раскрывал submenu (обработчик в header-new.js). */
  .nav-main__item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  .nav-main__arrow {
    flex: 0 0 auto;
    margin-left: auto;
    width: 25px;
    height: 25px;
    min-width: 25px;
    padding: 0;
    border: none;
    border-radius: 5px;
    background-color: #0d3060;
    background-image: url("../images/header_arrow.svg");
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
  }
}
/* На десктопе стрелка-кнопка скрыта — submenu открывается по hover на .nav-mega */
.nav-main__arrow {
  display: none;
}
@media screen and (max-width: 650px) {
  .nav-main__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
  }
}
/* (Легаси-стили .modal__wrapper / .modal__cities удалены в июле 2026:
   заготовка модалки городов не использовалась, а её absolute-позиционирование
   конфликтовало с новой модалкой выбора города. Актуальные стили — блок
   «ГОРОДА» в конце файла. .modal__wrapper больше нигде не используется.) */

.page-content__text {
  display: none;
}
.page-content__text h1 {
  margin: 0 0 30px;
  line-height: 20px;
}
.page-content__text h2 {
  margin: 20px 0 20px;
  line-height: 25px;
}
.page-content__text ul,
.page-content__text ol {
  list-style-position: inside;
  margin: 20px 0;
}
.page-content__text ol li + li {
  margin-top: 5px;
}
.page-content__text ul li + li {
  margin-top: 5px;
}
.container {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 10px;
}
.mobile {
  display: none;
}
.dekstop {
  display: block;
}
.header-large_mobile,
.footer-mobile {
  display: none;
}
.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  list-style: none;
}
.slick-dots li + li {
  margin-left: 4px;
}
.slick-dots .slick-active button {
  background-color: #0d3060;
}
.slick-dots button {
  width: 9px;
  height: 9px;
  font-size: 0;
  border: 1px solid #828282;
  border-radius: 100%;
}
.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sb {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.ac {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.jc {
  justify-content: center;
}
/* ── Хлебные крошки (глобальный стиль) ─────────────────────────────────
   Применяется на single-постах блога, страницах категорий/тегов, single-
   курсах и других местах, где вызывается custom_breadcrumbs().
   Внутри .hero-breadcrumbs переопределяется ниже — там тёмный фон и
   светлые крошки в hero-блоке. */
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  margin: 20px 0 24px;
  padding: 0;
  font-size: 13px;
  line-height: 1.4;
  color: #64748b;
}

.breadcrumbs > li {
  display: inline-flex;
  align-items: center;
  font-weight: 400;
  white-space: normal;
}

.breadcrumbs a,
.breadcrumbs span {
  font-size: 13px;
  color: #64748b;
  text-decoration: none;
  transition: color 0.18s ease;
}

.breadcrumbs a:hover {
  color: #1e293b;
}

/* Активный (последний) элемент — текущая страница, акцентный цвет */
.breadcrumbs li.active span,
.breadcrumbs li:last-child > span {
  color: #0f172a;
  font-weight: 600;
}

/* Первый элемент — иконка «дом» вместо текста «Главная страница» */
.breadcrumbs li:first-child a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: none;
  font-size: 0;
  color: inherit;
}

.breadcrumbs li:first-child a::before {
  content: "";
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") no-repeat center / contain;
}

.breadcrumbs li:first-child a span {
  display: none;
}

/* Разделитель — шеврон › между элементами */
.breadcrumbs li + li::before {
  content: "›";
  display: inline-flex;
  align-items: center;
  margin: 0 8px;
  color: #cbd5e1;
  font-size: 14px;
  line-height: 1;
}

/* Сброс старой PNG-картинки, если где-то остался <img> в крошках */
.breadcrumbs img {
  display: none;
}
.reviews__block-title {
  display: none;
}
.no-spaces {
  margin: 0 !important;
  padding: 0 !important;
}
.default-space {
  margin: 65px auto;
}
.mt-auto {
  margin-top: auto;
}
.main-container {
  max-width: 1329px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 37px;
  gap: 10px;
  flex-wrap: wrap;
  gap: 10px;
}
.wp-block-heading {
  line-height: 110%;
}
.main-container_r {
  margin-left: auto;
}
.main-container_r .feedback-ask {
  margin-top: 30px;
}
.find__item > a:hover {
  color: #0d3060;
}
.feedback-ask {
  border: 3px solid #e4e4e4;
  border-radius: 10px;
  padding: 34px 14px 47px 14px;
  text-align: center;
  width: 326px;
  color: #fff;
}
.feedback-ask h3 {
  text-transform: uppercase;
  color: #fff;
  font-size: 22px;
  margin-top: 15px;
  line-height: 110%;
}
.feedback-ask .feedback-ask__text {
  margin-top: 15px;
}
.feedback-ask form {
  margin-top: 16px;
  display: grid;
  gap: 15px;
  margin-bottom: 20px;
}
.feedback-ask form .modal-c__label--checkbox span {
  color: #fff;
}
.feedback-ask #faq_form {
  display: grid;
  gap: 15px;
}
.feedback-ask .h-title {
  text-transform: uppercase;
  font-size: 35px;
  line-height: 35px;
  font-weight: bold;
}
.feedback-ask .modal-c__label--checkbox {
  margin-top: 0;
}
.feedback-ask span {
  text-transform: lowercase;
}
.title {
  font-weight: 700;
  text-transform: uppercase;
  color: #3c3c3c;
}
.fs-40 {
  font-size: 40px;
  line-height: 40px;
}
.fs-26 {
  font-weight: 400;
  font-size: 26px;
  line-height: 25px;
}
.fs-25 {
  font-size: 25px;
  line-height: 35px;
}
.fs-35 {
  font-size: 35px;
  line-height: 35px;
}
.fs-18 {
  font-size: 18px;
  line-height: 26px;
}
.lh-18 {
  line-height: 18px;
}
.fs-14 {
  font-size: 14px;
}
.gray-text {
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  line-height: 18px;
  color: #6a87a5;
}
.privacy-text {
  font-weight: 400;
  font-size: 12px;
  line-height: 12px;
  color: #3c3c3c;
}
.privacy-text a {
  color: #6a87a5;
}
.bold {
  font-weight: 700;
}
.text-center {
  text-align: center;
}
.main-blue {
  color: #0d3060;
}
.white {
  color: #fff;
}
.fs-12 {
  font-size: 12px;
  line-height: 12px;
}
.header-small {
  background-color: #0d3060;
}
.header-small__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 60px;
}
.header-small__geo {
  color: #fff;
}
.header-small__geo img {
  margin-right: 8px;
}
.header-small__geo a {
  font-weight: 200;
  color: #fff;
}
.header-small__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin-left: 67px;
}
.header-small__nav a {
  font-size: 18px;
  line-height: 26px;
  color: #ffffff;
}
.header-small__nav a:hover {
  text-shadow: 0 0 0.9px #fff, 0 0 0.9px #fff, 0 0 0.9px #fff;
}
.header-small__nav li + li {
  margin-left: 40px;
}
.header-small__form {
  margin-left: auto;
}
.header-large__title {
  font-size: 20px;
  text-transform: uppercase;
  color: #828282;
  margin-bottom: 13px;
}
.header-large__inner {
  max-width: 1165px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 13px;
  padding-bottom: 7px;
}
.header-large__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 121px;
}
.header__mt {
  margin-top: 15px;
}
.header-large__column-content {
  margin-top: 3px;
}
.header-large__column-content a {
  font-size: 25px;
  color: #3c3c3c;
}
.header-large__column-item > button {
  margin-top: 3px;
}
.header-large__column-item img {
  margin-right: 17px;
  width: 25px;
  height: 25px;
  vertical-align: middle;
}
.header-large__column-text {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.burger {
  width: 28px;
  height: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  cursor: pointer;
  display: none;
}
.burger span {
  height: 2px;
  background-color: #fff;
}
.burger-top {
  width: 100%;
}
.burger-middle {
  width: 20px;
}
.burger-bottom {
  width: 12px;
}
.btn {
  border: none;
  display: inline-block;
  cursor: pointer;
  background: #f2dbb2;
  border-radius: 6px;
  padding: 12px 8px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 26px;
  text-transform: uppercase;
  color: #3c3c3c;
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
}
.btn-w215 {
  width: 215px;
}
.btn-w288 {
  width: 288px;
}
.btn:hover {
  background-color: #aca89d;
}
.btn_footer {
  padding: 0;
  padding-top: 8px;
  padding-bottom: 6px;
  font-size: 18px;
  line-height: 18px;
  text-align: center;
  text-transform: uppercase;
  color: #3c3c3c;
}
.w-355 {
  width: 355px;
}
.w-100 {
  width: 100% !important;
}
.input {
  background: #ffffff;
  border-radius: 9px;
  border: none;
  position: relative;
}
.input__wrapper {
  position: relative;
}
.input__wrapper .input-find {
  border: 1px solid rgba(60, 60, 60, 0.6);
  margin-top: 10px;
  position: relative;
}
.input__reset {
  cursor: pointer;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: none;
  right: 15px;
  width: 10px;
  height: 13px;
  background-image: url(../images/close.svg);
  background-size: 100%;
  background-color: #fff;
}
.input:focus-visible {
  outline: none;
  border: #57a9f2 1px solid;
}
.input:focus-visible::-webkit-input-placeholder {
  color: #57a9f2;
}
.input:focus-visible::-moz-placeholder {
  color: #57a9f2;
}
.input:focus-visible:-ms-input-placeholder {
  color: #57a9f2;
}
.input:focus-visible::-ms-input-placeholder {
  color: #57a9f2;
}
.input:focus-visible::placeholder {
  color: #57a9f2;
}
.input-blog {
  border: 1px solid #aca89d;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 52px;
  background-image: url(../images/search.png);
  background-repeat: no-repeat;
  background-position: 15px;
}
.input-blog::-webkit-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-blog::-moz-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-blog:-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-blog::-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-blog::placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-find {
  width: 100%;
  padding: 10px 20px 10px 52px;
  font-size: 18px;
  background-image: url(../images/search.svg);
  background-repeat: no-repeat;
  background-position: 15px;
  border: 1px solid #aca89d;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  border-radius: 9px;
}
.input-find::-webkit-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-find::-moz-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-find:-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-find::-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-find::placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-footer {
  width: 100%;
  padding-top: 9px;
  padding-bottom: 1px;
  padding-left: 44px;
  background-image: url(../images/search.png);
  background-repeat: no-repeat;
  background-position: 15px;
  border-radius: 15px;
  height: 40px;
}
.input-footer::-webkit-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-footer::-moz-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-footer:-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-footer::-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-footer::placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.input-phone {
  padding: 17px 0 17px 56px;
  background-image: url(../images/phone.png);
  background-repeat: no-repeat;
  background-position: 22px;
  border: 1px solid #f2dbb2;
  border-radius: 6px;
}
.input-name, .input-course {
  padding: 17px 0 17px 56px;
  border: 1px solid #f2dbb2;
  border-radius: 6px;
}
.input-name {
  background-image: url(../images/user-icon.svg);
  background-repeat: no-repeat;
  background-position: 22px;
}
.input-course {
  background-image: url(../images/learn-icon.svg);
  background-repeat: no-repeat;
  background-position: 22px;
}
.input-email {
  padding: 17px 0 17px 56px;
  background-image: url(../images/comment-mail.png);
  background-repeat: no-repeat;
  background-position: 22px;
  border: 1px solid #f2dbb2;
  border-radius: 10px;
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-phone::-webkit-input-placeholder, .input-name::-webkit-input-placeholder, .input-course::-webkit-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-phone::-moz-placeholder, .input-name::-moz-placeholder, .input-course::-moz-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-phone:-ms-input-placeholder, .input-name:-ms-input-placeholder, .input-course:-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-phone::placeholder, .input-name::placeholder, .input-course::placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-user {
  padding: 17px 0 17px 56px;
  background-image: url(../images/user.png);
  background-repeat: no-repeat;
  background-position: 22px;
  border: 1px solid #f2dbb2;
  border-radius: 10px;
  font-size: 18px;
}
.input-user::-webkit-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-user::-moz-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-user:-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-user::-ms-input-placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.input-user::placeholder {
  font-size: 18px;
  line-height: 20px;
  color: #828282;
}
.hero-form-margin {
    margin-top: 20px;
}
.textarea {
  background: #ffffff;
  border: 1px solid #f2dbb2;
  border-radius: 10px;
  height: 350px;
  padding: 18px 18px 18px 43px;
  background-image: url(../images/text.png);
  background-repeat: no-repeat;
  background-position: 20px 20px;
  font-weight: 400;
  font-size: 18px;
  line-height: 20px;
  color: #3c3c3c;
}
.textarea:focus-visible {
  border: #57a9f2 1px solid;
  outline: #57a9f2 1px solid;
}
.textarea:focus-visible::-webkit-input-placeholder {
  color: #828282;
}
.textarea:focus-visible::-moz-placeholder {
  color: #828282;
}
.textarea:focus-visible:-ms-input-placeholder {
  color: #828282;
}
.textarea:focus-visible::-ms-input-placeholder {
  color: #828282;
}
.textarea:focus-visible::placeholder {
  color: #828282;
}
.sort_btn,
.radio {
  border: 1px solid rgba(60, 60, 60, 0.6);
  border-radius: 6px;
  padding: 10px 48px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 144%;
  color: #3c3c3c;
  text-align: left;
  background-color: transparent;
  transition: backround-color 0.3s ease, color 0.3s, border-color 0.3s ease;
  cursor: pointer;
}
.radio {
  display: block;
}
.radio span {
  display: block;
}
.radio input {
  display: none;
}
.radio input:checked ~ span {
  background: #0d3060;
  border: 1px solid #0d3060;
  color: #fff;
}
.sort_btn:hover,
.radio {
  background: #0d3060;
  border: 1px solid #0d3060;
  color: #fff;
}
.checkbox input {
  display: none;
}
.checkbox input:checked ~ span::before {
  background: #0d3060;
}
.checkbox input:checked ~ span {
  color: #0d3060;
}
.checkbox span {
  font-size: 18px;
  color: #3c3c3c;
}
.checkbox span::before {
  content: "";
  width: 16px;
  display: inline-block;
  height: 16px;
  border: 1px solid #828282;
  border-radius: 2px;
  margin-right: 15px;
  -webkit-transform: translateY(3px);
  transform: translateY(3px);
}
.letter_btn {
  width: 36px;
  height: 36px;
  display: inline-block;
}
.letter_btn span {
  cursor: pointer;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  border: 1px solid #828282;
  border-radius: 5px;
  font-size: 18px;
  text-align: center;
  color: #3c3c3c;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.letter_btn span:hover {
  background-color: #0d3060;
  color: #fff;
  border-color: #0d3060;
}
.letter_btn input {
  display: none;
}
.letter_btn span.active {
  color: red;
  font-weight: bold;
}
.license__btn {
  background: #ffffff;
  border: 1px solid #828282;
  border-radius: 10px;
  height: 55px;
  padding: 16px 0 17px 8px;
  font-size: 18px;
  line-height: 20px;
  color: #828282;
  background-image: url(../images/license_arrow.png);
  background-repeat: no-repeat;
  background-position: calc(100% - 21px) 50%;
}
.license__btn:hover {
  border: 1px solid #0d3060;
  color: #0d3060;
}
.reviews__nav-btn {
  background: #ffffff;
  border: 1px solid #828282;
  border-radius: 9px;
  padding: 16px 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  width: 213px;
  cursor: pointer;
  font-size: 18px;
  text-align: center;
  color: #3c3c3c;
}
.reviews__nav-btn:hover,
.reviews__nav-btn.active {
  background: #0d3060;
  border: 1px solid transparent;
  color: #fff;
}
/* ─── Hero tokens ───────────────────────────────── */
:root {
  --hero-blue:   #0d3060;
  --hero-cream:  #f2dbb2;
  --hero-glass:  rgba(255, 255, 255, 0.08);
  --hero-border: rgba(255, 255, 255, 0.15);
}

.hero {
  background: #05192e;
  border-top: none;
  border-bottom: none;
  position: relative;
  overflow: hidden;
  padding-bottom: 90px; /* space for wave */
}
/* Decorative rings for .hero (post-type, post-type-child) */
.hero__bg-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.hero__bg-ring--1 {
  width: 560px;
  height: 560px;
  right: -120px;
  top: -120px;
  border: 1px solid rgba(26, 142, 241, 0.18);
}
.hero__bg-ring--2 {
  width: 340px;
  height: 340px;
  right: 60px;
  top: -20px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 75% 60%, rgba(26, 142, 241, 0.28) 0%, transparent 65%),
    radial-gradient(ellipse 55% 55% at 5% 80%, rgba(10, 61, 110, 0.55) 0%, transparent 60%),
    linear-gradient(150deg, #05192e 0%, #0b2540 55%, #0d3060 100%);
  pointer-events: none;
  z-index: 0;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.065) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
  mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
}
.hero .container {
  position: relative;
  z-index: 1;
}
.hero h1,
.hero h2 {
  color: #fff;
}
.hero .title__profs {
  color: rgba(255, 255, 255, 0.82);
  font-size: 18px;
  margin-top: 8px;
}
.hero__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 18px;
}
.hero__form .input,
.hero__form .btn {
  height: 54px;
}
.hero__form .hero__privacy-wrapper {
  margin-left: 12px;
}
.hero__form .hero__privacy-wrapper .privacy-text {
  margin-top: 7px;
}
.hero__img img {
  object-fit: contain;
}
.prof__image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 15px;
  border: 3px solid #0d3060;
}
.hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 36px;
  padding-bottom: 60px;
  -webkit-column-gap: 32px;
  -moz-column-gap: 32px;
  column-gap: 32px;
  align-items: center;
}
.hero__inner .title {
  max-width: 730px;
}
.hero__inner .fs-26 {
  margin-top: 20px;
}
.hero__inner .gray-text {
  margin-top: 20px;
  color: rgba(255, 255, 255, 0.7);
}
.hero__info {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 18px 28px;
  margin-bottom: 24px;
  background: var(--hero-glass);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 16px;
  border: 1px solid var(--hero-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.hero__info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  align-items: center;
}
.hero__info-desc {
  font-size: 16px;
  line-height: 1.3;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}
.hero__info-desc .bold {
  font-size: 22px;
  font-weight: 800;
  color: var(--hero-cream);
}
.hero__info-item img,
.hero__info-item svg {
  filter: brightness(0) invert(1);
  opacity: 0.85;
}
.hero__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: space-between;
  animation: hero-fadeUp 0.6s ease both;
}
.hero__img {
  animation: hero-fadeRight 0.6s 0.15s ease both;
}
.hero__img img {
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
}
.hero__content .input {
  margin: 0;
  width: 100%;
}
@keyframes hero-fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes hero-fadeRight {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}
.hero-small {
  margin-bottom: 50px;
  background: #05192e;
  border: none;
  padding: 50px 0;
  position: relative;
  overflow: hidden;
}
.hero-small::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 75% 60%, rgba(26, 142, 241, 0.28) 0%, transparent 65%),
    radial-gradient(ellipse 55% 55% at 5% 80%, rgba(10, 61, 110, 0.55) 0%, transparent 60%),
    linear-gradient(150deg, #05192e 0%, #0b2540 55%, #0d3060 100%);
  pointer-events: none;
  z-index: 0;
}
.hero-small::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.065) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
  z-index: 0;
  mask-image: linear-gradient(to right, transparent 0%, black 20%, black 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 20%, black 100%);
}
.hero-small .container {
  position: relative;
  z-index: 1;
}
/* Decorative rings for hero-small (added in PHP) */
.hero-small__bg-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  right: -100px;
  top: -120px;
}
.hero-small__bg-ring--1 {
  width: 520px;
  height: 520px;
  border: 1px solid rgba(26, 142, 241, 0.2);
}
.hero-small__bg-ring--2 {
  width: 340px;
  height: 340px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  right: -20px;
  top: -50px;
}
/* Label above title */
.hero-small__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 10px;
}
.hero-small__label-line {
  display: inline-block;
  width: 28px;
  height: 2px;
  background: var(--hero-cream);
  border-radius: 2px;
}
.hero-small h1,
.hero-small h2 {
  color: #fff;
}
.hero-small .title.fs-18 {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
}
.hero-small .second-text {
  color: rgba(255, 255, 255, 0.62);
  font-size: 15px;
  margin-top: 6px;
  display: block;
}
.hero-small .hero__inner {
  padding-top: 16px;
  padding-bottom: 16px;
  min-height: 260px;
  align-items: center;
  gap: 32px;
}
.hero-small .hero__inner .gray-text {
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.7);
}
.hero-small .hero__inner .hero__content {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  animation: hero-fadeUp 0.6s ease both;
}
.hero-small .hero__inner .hero__content h3 {
  margin-bottom: auto;
}
.hero-small h1 {
  margin-bottom: 10px;
  line-height: 1.15;
}
/* Image frame for hero-small */
.hero-small__img-frame {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  animation: hero-fadeRight 0.6s 0.15s ease both;
}
.hero-small__img-frame::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 18px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
  z-index: 1;
  pointer-events: none;
}
.hero-small__img-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}
.price-block {
  background: #0d3060;
  border-radius: 10px;
  font-weight: 400;
  font-size: 15px;
  color: #ffffff;
  padding: 9px 20px;
  width: 214px;
  margin-top: 52px;
}
.find {
  padding-top: 48px;
  padding-bottom: 60px;
}
.find__inner {
  margin-top: 43px;
  display: grid;
  -webkit-box-pack: justify;
  justify-content: space-between;
  grid-template-columns: 1fr 3fr;
  gap: 30px;
}
.find__alphabet {
  display: flex;
  gap: 3px;
  flex-wrap: wrap;
}
.find__sort > * + * {
  margin-top: 17px;
}
.find__sort .title img {
  margin-right: 10px;
  -webkit-transform: translateY(-25%);
  transform: translateY(-25%);
}
.find__sort-form {
  margin-top: 9px;
}
.find__sort-form .input {
  margin-bottom: 15px;
}
.find__sort-privacy-wrapper button {
  margin-bottom: 6px;
}
.find__sort-privacy-wrapper a {
  color: #0d3060;
}
.find__sort-feedback {
  margin-top: 28px;
  display: none;
}
.find__sort-feedback > * + * {
  margin-top: 17px;
}
.find__sort-help {
  font-size: 18px;
  line-height: 18px;
  color: #0d3060;
}
.find__sort-fbtext {
  margin-top: 13px;
  font-size: 15px;
  color: #3c3c3c;
}
.find__sort-items {
  margin-top: 34px;
  margin-bottom: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.find__results {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 20px;
}
.find__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.find__list a {
  font-family: var(--third-family);
  font-weight: 400;
  font-size: clamp(16px, 1vw, 18px);
  color: #000;
  text-decoration: none;
  transition: color 0.3s ease;
  font-size: 18px;
}
.find__list li {
  max-width: 360px;
  list-style: none;
}
.find__list_dashed {
  border-left: 1px dashed #e4e4e4;
  padding-left: 20px;
}
.find-firstLetter {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 27px;
  text-transform: uppercase;
  color: #0d3060;
  border-bottom: 1px solid #e4e4e4;
  padding: 0 10px 2px 10px;
  margin-bottom: 10px;
  line-height: normal;
}
.header__bottom {
  background: #0d3060;
  padding: 9px 0;
}
.header__bottom .input__wrapper .input__reset {
  top: 50%;
}
.find__wrapper .input__wrapper .input__reset {
  top: 40%;
}
.find__wrapper .pagination {
  margin-top: 45px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 5px;
}
.find__page .find__results {
  max-height: 100%;
}
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
}
.pagination_left,
.pagination_right {
  cursor: pointer;
  background: #0d3060;
  border-radius: 5px;
  -webkit-transform: matrix(-1, 0, 0, 1, 0, 0);
  transform: matrix(-1, 0, 0, 1, 0, 0);
  width: 37px;
  height: 37px;
  background-image: url(../images/pagination-arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  border: none;
}
.pagination_left {
  margin-right: 47px;
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
.page-numbers {
  border: 1px solid rgba(60, 60, 60, 0.6);
  border-radius: 6px;
  padding: 4px 10px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 20px;
  line-height: 130%;
  text-transform: uppercase;
  color: #3c3c3c;
  text-decoration: none;
  transition: 0.3s ease;
}
.page-numbers.prev,
.page-numbers.next {
  font-size: 0;
  cursor: pointer;
  background: #1a8ef1;
  border-radius: 5px;
  -webkit-transform: matrix(-1, 0, 0, 1, 0, 0);
  transform: matrix(-1, 0, 0, 1, 0, 0);
  width: 48px;
  height: 48px;
  background-image: url(../images/pagination-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  border: none;
}
.page-numbers.prev {
  margin-right: 10px;
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
.page-numbers.next {
  margin-left: 10px;
}
.page-numbers.current {
  color: #0d3060;
}
.advantages__inner {
  padding-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.advantages__blocks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 32px;
  max-width: 1330px;
  margin-left: auto;
}
.advantages__blocks .slick-slide {
  margin: 0 5px;
}
.advantages__blocks-item {
  cursor: pointer;
  height: 280px !important;
  padding: 23px 21px 24px 13px;
  background: #ffffff;
  position: relative;
  width: 213px;
  border: 3px solid #e4e4e4;
  border-radius: 20px;
}
.advantages__blocks-item .main-blue {
  margin-top: 18px;
}
.advantages.desktop {
  padding-bottom: 147px;
  background-image: url('/wp-content/uploads/2026/02/advantages_bg.webp');
  background-size: 60% 100%;
  background-position: 75%top;
  background-repeat: no-repeat;
  margin-top: 90px;
  margin-bottom: 90px;
}
.pay__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 38px;
  gap: 10px;
}
.pay__inner .advantages__blocks-item {
  transition: 0.4s;
}
.pay__inner .advantages__blocks-item:hover {
  box-shadow: 1px 4px 4px rgba(0, 0, 0, 0.15);
}
.advantages__blocks-text {
  margin-top: 15px;
  font-size: 18px;
  line-height: 18px;
  color: #3c3c3c;
}
.advantages__blocks-number {
  position: absolute;
  top: 17px;
  right: 9px;
  font-weight: 700;
  font-size: 18px;
  color: #aca89d;
}
.advantages__blocks-column + .advantages__blocks-column {
  margin-left: 14px;
}
.advantages__blocks-column div + div {
  margin-top: 10px;
}
.feedback__inner {
  max-width: 1106px;
  margin: 0 auto;
  min-height: 252px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.feedback__title {
  font-weight: 700;
  font-size: 40px;
  line-height: 40px;
  text-transform: uppercase;
  color: #ffffff;
  text-align: center;
}
.feedback__subtitle {
  font-weight: 400;
  font-size: 18px;
  line-height: 18px;
  text-align: center;
  color: #ffffff;
  margin-top: 10px;
}
.feedback__block {
  padding: 28px 48px;
  background: #1a8ef1;
  border-radius: 30px;
  width: 820px;
}
.feedback__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 25px;
  gap: 10px;
}
.feedback__form > * {
  flex-basis: 50%;
}
.feedback__privacy-wrapper .privacy-text {
  color: #fff;
  margin-top: 7px;
  text-align: center;
}
.feedback__privacy-wrapper .privacy-text a {
  color: #fff;
}
.feedback__privacy-wrapper .privacy-text span {
  color: #fff;
  font-size: 12px;
}
.feedback_mt {
  margin-top: 42px;
}
.feedback-owner {
  margin-top: 45px;
  background-color: #d5eaff;
  padding: 48px 0;
}
.feedback-owner__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.feedback-owner__content {
  max-width: 530px;
}
.feedback-owner__text {
  margin-top: 40px;
}
.feedback-owner-form {
  margin-top: 57px;
}
.feedback-owner-privacy-wrapper {
  margin-top: 10px;
}
.feedback-owner-privacy-wrapper .privacy-text {
  color: #fff;
}
.feedback-owner-privacy-wrapper .privacy-text a {
  color: inherit;
}
.feedback-owner__window-img {
  margin-left: -15px;
  margin-left: -60px;
  -ms-flex-item-align: end;
  align-self: flex-end;
}
.feedback-owner__window {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.feedback-owner__window-form {
  background: #1a8ef1;
  border-radius: 30px;
  max-width: 439px;
  padding: 62px 17px 62px 49px;
}
.feedback-owner__window-form .window-title {
  font-weight: 700;
  font-size: 40px;
  line-height: 40px;
  text-transform: uppercase;
  color: #ffffff;
}
.feedback-owner__window-form .window-subtitle {
  margin-top: 16px;
  font-size: 18px;
  line-height: 18px;
  color: #ffffff;
}
.documents {
  margin-top: 34px;
  padding-top: 39px;
  padding-bottom: 56px;
  background-color: #f4f4f4;
  margin-bottom: 90px;
}
.documents__subtitle {
  font-size: 18px;
  line-height: 18px;
  text-align: center;
  color: #3c3c3c;
}
.documents__inner {
  max-width: 1106px;
  margin: 0 auto;
  margin-top: 38px;
  display: grid;
  grid-template-columns: 454px 365px;
  grid-template-rows: repeat(1, 1fr);
  margin-top: 39px;
  -webkit-column-gap: 39px;
  -moz-column-gap: 39px;
  column-gap: 39px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  row-gap: 15px;
}
.documents__block:nth-child(1) {
  grid-row: 1/1;
}
.documents__block:nth-child(1) img {
  width: 454px;
  height: 166px;
}
.documents__block:nth-child(2) img {
  width: 454px;
  height: 301px;
}
.documents__block:nth-child(3) {
  grid-row: 1/3;
}
.documents__block:nth-child(3) img {
  width: 365px;
  height: 521px;
}
.documents__block-img img {
  box-shadow: -11px 11px 11px -4px rgba(0, 0, 0, 0.4);
}
.documents__text {
  margin: 18px auto 0;
}
.licenses {
  padding-top: 65px;
}
.licenses__inner {
  margin-top: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  row-gap: 15px;
}
.licenses__info {
  width: 437px;
}
.licenses__info-subtitle {
  margin-top: 21px;
}
.licenses__links {
  margin-top: 36px;
  list-style: none;
}
.licenses__links a {
  display: block;
}
.licenses__links a + a {
  margin-top: 6px;
}
.licenses__slider {
  position: relative;
  max-width: 800px;
}
.licenses__slider-item a,
.licenses__slider-item img {
  width: 271px;
  height: auto;
  object-fit: contain;
}
.licenses__slider-btns #license-left,
.licenses__slider-btns #license-left_second {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -5%;
}
.licenses__slider-btns #license-right,
.licenses__slider-btns #license-right_second {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%), rotate(380deg);
  transform: translateY(-50%), rotate(380deg);
  right: -5%;
}
.benefits {
  padding-top: 65px;
  max-width: 1328px;
  margin: 0 auto;
}
.benefits__inner {
  margin-top: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  row-gap: 15px;
}
.benefits__content {
  max-width: 204px;
}
.benefits__content h2 {
  line-height: 18px;
}
.benefits__content .h2.title {
  line-height: 18px;
  font-size: 18px;
}
.benefits__content-img {
  margin-top: 33%;
}
.benefits__grid {
  display: grid;
  grid-template-columns: repeat(5, 213px);
  gap: 4px 10px;
}
.benefits__grid-item img {
  border: 2px solid transparent;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 20px;
  width: 213px;
  height: 213px;
  -o-object-fit: contain;
  object-fit: contain;
}
.benefits__grid-item__text {
  margin-top: 15px;
  font-size: 18px;
  line-height: 18px;
  color: #3c3c3c;
}
.benefits__grid-item:hover img {
  border: 2px solid #0d3060;
}
.benefits__grid-item:hover .benefits__grid-item__text {
  color: #0d3060;
}
.clients {
  padding-top: 90px;
}
.clients__head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.clients__desktop-nav {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.prev-clients,
.next-clients,
.prev-clients-mob,
.next-clients-mob {
  position: static !important;
  font-size: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}
.prev-clients::before,
.prev-clients-mob::before {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url('../images/custom-rev_arrow.svg') center / contain no-repeat;
}
.next-clients::before,
.next-clients-mob::before {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url('../images/custom-rev_arrow.svg') center / contain no-repeat;
  transform: rotate(180deg);
}
.clients__nav-mobile {
  display: none;
}
.clients__inner {
  margin-top: 0;
}
.clients__item {
  margin: 0 5px;
}
.clients__item img {
  width: 90px;
  height: auto;
  margin: 0 auto;
  display: block;
}
.readus {
  padding-top: 75px;
}
.readus__head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.readus__desktop-nav {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
  position: relative;
}
.prev-readus,
.next-readus,
.prev-readus-mob,
.next-readus-mob {
  font-size: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}
.prev-readus::before,
.prev-readus-mob::before {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url('../images/custom-rev_arrow.svg') center / contain no-repeat;
}
.next-readus::before,
.next-readus-mob::before {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url('../images/custom-rev_arrow.svg') center / contain no-repeat;
  transform: rotate(180deg);
}
.readus__nav-mobile {
  display: none;
}
.readus__slider {
  position: relative;
  z-index: 0;
  overflow: hidden;
  margin-top: 35px;
}
.readus__inner {
  margin-top: 0;
}
.readus__inner .slick-prev,
.readus__inner .slick-next {
  display: none !important;
}
.readus__inner .slick-slide {
  margin: 0 10px;
  height: auto;
  display: flex !important;
}
.readus__inner .slick-slide > div {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.readus__inner .slick-track {
  display: flex;
  align-items: stretch;
}
.readus__inner .slick-list {
  margin: 0 -10px;
}
.readus__post {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 10px;
  width: 324px;
}
.readus__post div + div {
  margin-top: 12px;
}
.readus__post-img img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 223px;
  border-radius: 20px;
}
.readus__post-category {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px 5px 10px;
  margin-top: 10px !important;
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
  background: rgba(13, 48, 96, 0.07);
  color: #0d3060;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.readus__post-category-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #1a8ef1;
}
.readus__post-category-icon svg {
  display: block;
}
.readus__post-category-label {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.readus__post-text {
  font-weight: 400;
  font-size: 14px;
  line-height: 14px;
  color: #3c3c3c;
  word-wrap: break-word;
}
.readus__post-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-direction: row !important;
}
.readus__date {
  margin-left: auto;
}
.readus__date img {
  margin-right: 5px;
  vertical-align: middle;
}
.readus__link {
    background: #f2dbb2;
    border: 1px solid #f2dbb2;
    border-radius: 10px;
    font-weight: 400;
    font-size: 18px;
    text-align: center;
    text-decoration: none;
    color: #3c3c3c;
    padding: 10px 20px;
    cursor: pointer;
}
.readus__link:hover {
    background-color: #0d3060;
    color: #fff !important;
}
.readus__date {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}
.map {
  padding-top: 65px;
}
.map > iframe {
  width: 100%;
  vertical-align: bottom;
  height: 300px;
}
.footer {
  background-color: #0d3060;
  padding-bottom: 26px;
  color: #fff;
  background: #0d3060;
  padding-top: 40px;
  padding-bottom: 20px;
}
.footer__inner {
  max-width: 1230px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 220px auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  column-gap: 20px;
}
.footer__list-subtitle {
  margin-bottom: 5px;
  font-size: 10px;
  line-height: 14px;
  text-transform: uppercase;
  color: #3c3c3c;
}
.footer__list {
  list-style: none;
}
.footer__list a {
  font-weight: 400;
  font-size: 18px;
  line-height: 26px;
  color: #ffffff;
}
.footer__list a:hover {
  text-shadow: 0 0 0.9px #fff, 0 0 0.9px #fff, 0 0 0.9px #fff;
}
.footer__list .footer-privacy a {
  font-size: 14px;
}
.footer__list li + li {
  margin-top: 6px;
}
.footer__list li > a img {
  margin-right: 7px;
}
.footer__list li > .btn {
  margin-top: 19px;
  margin-bottom: 15px;
  height: 50px;
}
.footer__list .footer-payments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.footer__list .footer-payments img + img {
  margin-left: 6px;
}
.footer__list-title {
  font-weight: 700;
  font-size: 18px;
  line-height: 18px;
  margin-bottom: 36px;
}
.footer__list-search {
  margin-top: 17px;
}
.footer__list_contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
}
.footer__list_contacts ul {
  list-style: none;
}
.footer__list_contacts ul:nth-child(2) {
  margin-left: 50px;
  margin-right: 9px;
}
.footer__list-socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer__list-socials a {
  display: unset;
}
.footer__list-socials a + a {
  margin-left: 7px;
}
.footer__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.footer__icon img {
  margin-right: 7px;
}
.reviews__inner {
  margin-top: 34px;
  max-width: 1106px;
  margin: 0 auto;
}
.reviews__nav {
  margin-top: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
}
.reviews__nav button + button {
  margin-left: 10px;
}
.reviews__content_audio-wrapp {
  display: grid;
  grid-template-columns: repeat(3, auto);
  row-gap: 26px;
  justify-content: space-between;
}
.reviews__content_company-item_audio {
  flex-basis: auto;
  padding: 13px 20px;
  border: 2px solid #828282;
  border-radius: 9px;
}
.reviews__content_company-item_audio p {
  font-weight: 400;
  font-size: 18px;
  line-height: 18px;
  color: #3c3c3c;
  margin-bottom: 10px;
}
.reviews__content_company-item:nth-child(even) > audio {
  display: block;
  margin-left: auto;
}
.contacts__info-title {
  font-weight: 400;
  font-size: 18px;
  line-height: 18px;
  color: #828282;
}
.contacts__info-content {
  font-weight: 700;
  font-size: 25px;
  line-height: 36px;
}
.reviews__content_company,
.reviews__content_other {
  display: none;
}
.reviews__content_company.active,
.reviews__content_other.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 38px 50px;
}
.reviews__content_company-img,
.reviews__content_other-img {
  padding: 14px 5px;
  border: 2px solid #828282;
  border-radius: 9px;
  margin-top: 9px;
}
.reviews__content_company-img img {
  display: block;
  margin: 0 auto;
  width: 100%;
}
.reviews__content_company-item,
.reviews__content_other-item {
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
}
.reviews__content_users,
.reviews__content_audio {
  display: none;
}
.reviews__content_users.active {
  display: block;
}
.reviews__content_audio.active {
  display: block;
}
.reviews__content_audio.active > .reviews__content_audio-wrapp {
  display: grid;
}
.reviews__content_users-wrapp {
  margin-top: 32px;
}
.reviews__content_users-wrapp
  .reviews__content_users-item
  + .reviews__content_users-item {
  margin-top: 29px;
}
.reviews__content_users-item {
  position: relative;
  background: #eff7fc;
  border-radius: 9px;
  padding: 20px 117px 75px 20px;
}
.reviews__content-subtitle {
  margin-top: 47px;
}
.reviews-text {
  margin-top: 28px;
  font-size: 18px;
  line-height: 18px;
  color: #3c3c3c;
}
.reviews-spec {
  font-size: 14px;
  line-height: 14px;
  color: #3c3c3c;
}
.reviews-stars {
  display: flex;
  position: absolute;
  top: 20px;
  right: 20px;
}
.director {
  max-width: 881px;
  border: 1px solid #828282;
  border-radius: 15px;
  padding: 21px 20px;
  margin: 0 auto;
  height: 288px;
  margin-top: 57px;
}
.director__inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.director__inner .director__text {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.director__inner .director__text-title {
  font-weight: 700;
  font-size: 25px;
  text-transform: uppercase;
  color: #0d3060;
}
.director__inner .director__text-desc {
  font-size: 18px;
  line-height: 18px;
  color: #3c3c3c;
}
.director__inner .director__text-img {
  border-radius: 10px;
  width: 267px;
  height: 247px;
  -o-object-fit: contain;
  object-fit: contain;
}
.blog__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 56px 67px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1108px;
  margin: 0 auto;
  margin-top: 64px;
}
.blog .pagination {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.faq__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1107px;
  margin: 0 auto;
  margin-top: 37px;
}
.faq__inner .feedback-ask {
  -ms-flex-item-align: start;
  align-self: flex-start;
}
.faq .faq__question,
.faq .faq__answer {
  padding: 16px 9px;
  border: 1px solid #828282;
  border-radius: 9px;
}
.faq .faq__list {
  width: 771px;
}
.faq .faq__answer {
  display: none;
  margin-top: 9px;
}
.faq .faq__item {
  cursor: pointer;
}
.faq__question:hover,
.faq__item.active > .faq__question {
  background-color: #0d3060;
  color: #fff;
}
.faq__list > .faq__item + .faq__item {
  margin-top: 10px;
}
.contacts .contacts__text {
  max-width: 660px;
}
.contacts .contacts__text hr {
  margin-top: 30px;
  margin-bottom: 37px;
}
.contacts .feedback-ask {
  width: 436px;
}
.contacts .feedback-ask button {
  margin: 0 auto;
  margin-top: 13px;
}
.contacts .btn {
  display: block;
}
.contacts .contacts__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 34px;
}
.contacts .contacts__info * {
  -ms-flex-preferred-size: 45%;
  flex-basis: 45%;
}
.contacts__info a:hover {
  color: #0d3060;
  text-decoration: underline;
}
.page-content .page-content__text {
  max-width: 752px;
}
.page-content .interesting {
  margin-top: 30px;
}
.page-content .interesting .sort_btn {
  margin-top: 17px;
  border: 3px solid #e4e4e4;
  border-radius: 6px;
}
.page-content .interesting .sort_btn:hover {
  border: 3px solid transparent;
}
.interesting h2 {
  font-weight: 700;
  font-size: 20px;
  line-height: 20px;
  color: #3c3c3c;
}
.interesting .h-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 20px;
  color: #3c3c3c;
}
.programms .programms__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  row-gap: 28px;
}
.programms h2 {
  max-width: 769px;
}
.programms .programms__wrapper {
  display: grid;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 882px;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px 10px;
}
.programms .programms__item {
  align-self: flex-start;
  font-size: 15px;
  background: #ffffff;
  border: 3px solid #e4e4e4;
  border-radius: 10px;
  padding: 51px 13px 17px;
  background-image: url(../images/program.png);
  background-repeat: no-repeat;
  background-position: 16px 14px;
  width: 211px;
  height: 213px;
  display: flex;
  flex-direction: column;
}
.programms .programms__cost {
  margin-top: 20px;
}
.programms .feedback-ask {
  -ms-flex-item-align: start;
  align-self: flex-start;
}
.programms__inner {
  margin-bottom: 46px;
}
.programms__item__name {
  font-weight: 700;
  font-size: 15px;
  line-height: 15px;
  color: #3c3c3c;
}
.programms__item a {
  display: block;
  margin-top: auto;
  border-radius: 5px;
  font-size: 12px;
  line-height: 17px;
  color: #3c3c3c;
}
.w-268 {
  width: 268px;
}
.quiz {
  background: #fff;
}
.quiz__inner {
  max-width: 1332px;
  margin: 0 auto;
  padding: 0 0 39px;
  display: flex;
  justify-content: space-between;
}
.quiz__content {
  width: 100%;
  position: relative;
}
.quiz__content input[type="radio"] {
  display: none;
}
.quiz__content label > span {
  cursor: pointer;
  display: inline-block;
  background: #ffffff;
  border: 3px solid #e4e4e4;
  border-radius: 10px;
  padding-top: 20px;
  padding-bottom: 19px;
  width: 100%;
  text-align: center;
  transition: 0.4s;
  color: #000;
  font-size: 18px;
  min-width: 100px;
  padding-left: 20px;
  padding-right: 20px;
}
.quiz__content label > span:hover,
.quiz__content input:checked ~ span {
  background: #0e5797;
  border: 3px solid transparent;
  color: #fff;
}
.quiz__content div {
  font-weight: 400;
  font-size: 12px;
  line-height: 12px;
  color: #fff;
}
.quiz__content form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.quiz__content-title {
  margin-top: 35px;
  text-transform: uppercase;
  margin-bottom: 25px;
}
.quiz__step-content {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.quiz__step-content > label + label {
  margin-left: 10px;
}
.quiz__content_last {
  display: flex;
  align-items: flex-start;
}
.quiz__content_last button {
  padding: 12px 0;
  margin: 0;
  margin-bottom: 5px;
}
.quiz__content > label + label {
  margin-left: 10px;
}
.quiz__btn {
  cursor: pointer;
  display: inline-block;
  background: #f2dbb2;
  border: 1px solid #f2dbb2;
  border-radius: 10px;
  padding-top: 20px;
  padding-bottom: 19px;
  width: 213px;
  text-align: center;
  transition: 0.4s;
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 18px;
  color: #3c3c3c;
}
.quiz__btn:hover {
  border: 1px solid transparent;
  background-color: #aca89d;
}
.quiz__form {
  position: relative;
  width: 100%;
}
.quiz_step {
  display: none;
  transition: 0.4s;
  width: 100%;
}
.quiz_step.active {
  display: block;
}
.quiz__bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 35px;
  width: 100%;
}
.quiz__pagination {
  align-self: flex-end;
  visibility: hidden;
  opacity: 0;
}
.quiz__pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 2px solid #e4e4e4;
  border-radius: 6px;
}
.quiz__pagination img {
  margin: 0 7px;
}
.quiz__pagination.active {
  visibility: visible;
  opacity: 1;
}
.quiz__pagination.active > span.active {
  background: #d5eaff;
  border: 2px solid transparent;
  color: #000;
}
.hiden_find {
  display: none;
}
.hiden_find > * {
  margin-top: 17px;
}
.documents__center {
  display: flex;
  align-items: center;
}
a[data-lightbox] {
  position: relative;
  display: block;
  margin: auto;
}
a[data-lightbox]::before {
  position: absolute;
  width: 41px;
  display: inline-block;
  height: 41px;
  content: url(../images/look-full.svg);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  visibility: hidden;
}
a[data-lightbox]:hover::before {
  visibility: visible;
  opacity: 1;
}
.second-text {
  font-weight: 400;
  font-size: 18px;
  line-height: 18px;
  color: #3c3c3c;
}
.with-second {
  display: flex;
  flex-direction: column;
  column-gap: 10px;
  row-gap: 10px;
}
.with-second .second-text {
  color: rgba(255, 255, 255, 0.75);
}
.delivery__inner {
  margin-bottom: 38px;
}
.readus__post-first {
  flex-basis: 100%;
  margin: 0 auto;
  height: 300px;
  display: flex;
}
.readus__post-first .readus__post-img img {
  width: 436px;
  height: 300px !important;
  object-fit: cover;
}
.readus__post-first__content {
  margin-left: 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
.prof_type-main {
  display: flex;
  column-gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.prof_type-main span {
  width: 213px;
  text-align: center;
  height: 50px;
  padding: 7px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  font-size: 18px;
  line-height: 18px;
}
.close::before {
  cursor: pointer;
  content: "x";
  color: #fff;
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 30px;
  z-index: 1;
}
.mobile_menu {
  display: none;
}
.header__phone {
  font-weight: 700;
  font-size: 30px;
  color: #3c3c3c;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 20px;
  line-height: 111%;
  color: #3c3c3c;
  text-decoration: none;
  transition: color 0.3s ease;
}
.readmore__button {
  display: none;
}
@media (max-width: 1000px) {
  #modal-c .modal-c__container {
    flex-direction: column;
  }
  .modal-c__left {
    display: none;
  }
  .hero__inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    row-gap: 15px;
  }
  .hero__inner .gray-text {
    display: none;
  }
  .mobile {
    display: block;
  }
  .desktop {
    display: none !important;
  }
  .hero__info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 15px;
    row-gap: 14px;
    padding-bottom: 0;
  }
  .container {
    padding: 0 5px;
    max-width: 100%;
  }
  .header-large_mobile {
    display: block;
  }
  .hero__content {
    text-align: center;
  }
  .hero__content .price-block {
    width: 100%;
  }
  .header-large_mobile__inner {
    padding: 10px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 15px;
    justify-content: center;
  }
  .header-large_mobile__inner > * {
    margin: 0 5px;
  }
  .hero__img img {
    width: 100%;
    height: auto;
  }
  .hero__form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 6px;
  }
  .hero__form .btn {
    width: 100%;
  }
  .hero__form .hero__privacy-wrapper {
    margin: 0;
  }
  .hero__info-img {
    width: 20px;
    height: 20px;
    margin-right: 10px;
  }
  .hero__info-img img {
    vertical-align: middle;
  }
  .hero__info-item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .find__inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 12px;
  }
  .find__sort-items {
    margin: 0;
  }
  .find {
    padding-top: 33px;
  }
  .fs-35,
  .fs-40 {
    font-size: 25px;
    line-height: 25px;
  }
  .advantages {
    overflow: hidden;
    background: none;
  }
  .advantages__inner {
    display: block;
    padding-top: 33px;
    padding-bottom: 25px;
    background-image: none;
  }
  .advantages__inner .title {
    text-align: center;
    max-width: 100%;
    margin-bottom: 26px;
  }
  .advantages__blocks {
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  .advantages__blocks .slick-track > .advantages__blocks-item {
    height: 200px !important;
    margin-bottom: 10px;
  }
  .feedback__block {
    width: 100%;
    padding: 26px 33px 26px;
  }
  .feedback__block .btn {
    width: 100%;
  }
  .feedback__img {
    display: none;
  }
  .feedback__title {
    font-size: 25px;
    line-height: 25px;
  }
  .feedback__inner {
    height: auto;
  }
  .feedback__inner .input {
    width: 100%;
    margin-top: 16px;
    margin-bottom: 6px;
  }
  .documents__inner {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .documents__inner img {
    width: 319px !important;
    height: auto !important;
  }
  .documents__inner > * + * {
    margin-top: 10px !important;
  }
  .documents__block-img a {
    height: 100%;
  }
  .documents__block-img img {
    width: 80%;
    height: 100%;
  }
  .licenses {
    padding-top: 29px;
  }
  .licenses__inner {
    display: block;
    position: relative;
  }
  .licenses__slider-btns {
    display: none;
  }
  .licenses__slider-item {
    margin: 0;
    max-width: 100%;
  }
  .licenses__slider-item a,
  .licenses__slider-item img {
    height: 200px;
    width: auto;
    margin: auto;
  }
  .licenses__info {
    width: auto;
    text-align: center;
    margin-bottom: 18px;
  }
  .feedback-owner__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .feedback-owner__window {
    width: 100%;
    margin-top: 27px;
  }
  .feedback-owner__window-img {
    display: none;
  }
  .feedback-owner__window-form {
    text-align: center;
    padding: 22px 27px 33px 39px;
    max-width: 100%;
  }
  .feedback-owner__window-form .window-title {
    font-size: 25px;
  }
  .feedback-owner__window-form .feedback-owner-form {
    margin-top: 17px;
  }
  .feedback-owner__window-form .feedback-owner-form .input,
  .feedback-owner__window-form .feedback-owner-form .btn {
    width: 100%;
  }
  .feedback-owner__content {
    max-width: 100%;
  }
  .benefits {
    padding-top: 33px;
  }
  .benefits .benefits__content {
    display: none;
  }
  .benefits .benefits__grid {
    display: block;
    gap: 0;
    margin: 0 auto;
    width: 100%;
  }
  .benefits .slick-slide {
    margin: 0 6px;
  }
  .benefits .benefits__grid-item__text {
    max-width: 213px;
  }
  .benefits__grid-item {
    width: 213px !important;
    margin-right: -50px;
  }
  .clients__inner .slick-track {
    display: flex;
    align-items: center;
  }
  .clients__item img {
    max-width: 100%;
  }
  .readus__post-img img {
    width: 100%;
    height: 200px;
  }
  .readus__post {
    max-width: 100%;
  }
  .readus__post-first {
    width: 324px;
    height: auto;
    align-items: center;
    flex-direction: column;
    flex-basis: auto;
  }
  .readus__post-first .readus__post-img img {
    width: 100%;
  }
  .readus__post-first__content {
    flex-direction: column;
    margin-left: 0;
  }
  .readus__date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .left {
    margin-left: auto;
  }
  .feedback__form {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .feedback__form .input {
    margin: 0;
  }
  .footer-mobile {
    display: block;
  }
  .footer__list {
    padding-top: 13px;
    color: #fff;
  }
  .footer-mobile__blue {
    background-color: #0d3060;
  }
  .footer__list_contacts-mobile ul {
    list-style: none;
  }
  .footer__list_contacts-mobile .btn {
    max-width: 162px;
    margin: 0;
  }
  .footer__list-subtitle {
    margin-top: 10px;
  }
  .footer-mobile__white .footer__list {
    color: #000;
  }
  .footer-mobile__white .footer__list a {
    color: #000;
  }
  .footer__list-title {
    margin-bottom: 10px;
  }
  .footer-privacy {
    margin-top: 14px;
  }
  .footer-privacy a {
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: #3c3c3c;
  }
  .footer-payments {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 18px;
  }
  .footer-payments img + img {
    margin-left: 10px;
  }
  .btn-w215 {
    max-width: 198px;
  }
  .input-header {
    max-width: 271px;
  }
  .license__btn {
    background-position: calc(100% - 5px) 50%;
  }
  .feedback-owner {
    margin-top: 32px;
  }
  .feedback-owner .title {
    text-align: center;
  }
  .footer__icon {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .footer__icon .footer__list-subtitle {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  .director {
    height: auto;
    margin: 0 10px;
    margin-top: 33px;
  }
  .director__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .director__text {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-top: 14px;
  }
  .director__text-desc {
    margin-top: 17px;
  }
  .director__text-name {
    margin-top: 10px;
  }
  .feedback_mt {
    margin-top: 26px;
  }
  .reviews__nav {
    display: none;
  }
  .reviews__content_company.active,
  .reviews__content_other.active {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .reviews__content_company-item,
  .reviews__content_other-item {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  .reviews__content_company-item img,
  .reviews__content_other-item img {
    display: block;
    margin: 0 auto;
  }
  .reviews__block-title {
    display: block;
    font-size: 18px;
    color: #0d3060;
    margin-top: 20px;
  }
  .reviews__content {
    margin-top: 12px;
  }
  .reviews__content_users.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .reviews__content_users .btn {
    margin: 0 auto;
    margin-top: 26px;
  }
  .default-space {
    margin: 28px auto;
  }
  .blog__inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .hero-small .hero__inner {
    height: auto;
  }
  .faq .faq__list {
    width: 100%;
  }
  .faq .faq__feedback {
    display: none;
  }
  .contacts__info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .find__alphabet {
    display: flex;
    gap: 6px 2px;
    flex-wrap: wrap;
  }
  .main-container {
    padding: 0 8px;
    flex-wrap: wrap;
  }
  .programms .programms__inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
  }
  .programms .programms__wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px 0;
  }
  .programms .programms__wrapper > .programms__item {
    width: 161px;
    font-size: 14px;
    padding: 39px 9px 13px;
    background-position: 9px 12px;
    height: 185px;
  }
  .programms .programms__cost {
    margin-top: 9px;
  }
  .find__list_dashed {
    border-left: none;
    padding-left: 0;
  }
  .find__results {
    flex-direction: column;
    gap: 10px;
  }
  .comment-form > input {
    grid-column: 1/4;
    width: 100%;
    max-width: 100% !important;
  }
  .comment-respond {
    padding: 10px !important;
  }
  .comment-form {
    row-gap: 10px;
  }
  .commentratingbox {
    white-space: nowrap;
  }
  .popup__review {
    width: 95%;
  }
  .header-large__logo img {
    width: 99px;
    height: 110px;
  }
  .reviews__content_users-item {
    padding: 13px 7px 22px;
    margin: 10px;
  }
  .reviews__content_users-wrapp
    .reviews__content_users-item
    + .reviews__content_users-item {
    margin: 10px;
  }
  .reviews__content_company-item {
    margin: 0 10px;
  }
  .feedback__form > * {
    flex-basis: 100%;
  }
  .second-text {
    display: none;
  }
  .pay__inner .advantages__blocks-item {
    padding: 16px 16px 18px 10px;
    width: 166px;
    height: 156px;
    font-size: 16px;
  }
  .pay__inner .advantages__blocks-item > .main-blue {
    margin-top: 10px;
  }
  .pay__inner .advantages__blocks-item > .advantages__blocks-text {
    font-size: 12px;
  }
  .pay__inner > * {
    flex-basis: 45%;
  }
  .quiz__inner {
    flex-wrap: wrap;
  }
  .quiz__bottom {
    flex-wrap: wrap;
    row-gap: 17px;
    justify-content: center;
  }
  .quiz__content_last {
    flex-direction: column;
    align-items: center;
  }
  .quiz__content_last div {
    margin-left: 0;
    max-width: 250px;
    width: 100%;
  }
  .quiz__image {
    order: 1;
  }
  .quiz__image img {
    width: 100%;
    height: auto;
    margin-top: 21px;
  }
  .quiz__content {
    order: 2;
    text-align: center;
    margin-top: 34px;
  }
  .quiz__content label > span {
    padding: 20px 0;
    width: 250px;
  }
  .quiz__content-title {
    margin-top: 10px;
  }
  .quiz__step-content > label + label {
    margin-left: 0;
  }
  .quiz__btn {
    width: 250px;
    margin-left: 0;
  }
  .quiz__step-content > label {
    display: block;
  }
  .prof_type-main span {
    width: 166px;
    font-size: 12px;
  }
  .prof_type-main > * {
    flex-basis: 45%;
  }
  .mobile_menu {
    top: 0;
    left: -9999px;
    position: fixed;
    transition: 0.4s;
  }
  .mobile_menu.active {
    left: 0;
    background-color: #0d3060;
    width: 100%;
    display: block;
    z-index: 999999;
    padding: 20px;
    height: 100%;
  }
  .mobile_menu-nav {
    list-style: none;
  }
  .mobile_menu-nav > .menu-item {
    margin-top: 10px;
  }
  .mobile_menu > * + * {
    margin-top: 10px;
  }
  .mobile_menu-soc > * {
    margin-right: 10px;
  }
  .programms__item a {
    margin-top: 16px;
    text-align: center;
    height: 26px;
    padding: 6px 8px;
  }
  .programms__item__name {
    font-size: 14px;
  }
  .reviews__content_users,
  .reviews__content_other {
    display: block;
  }
  .map > iframe {
    height: 158px;
  }
  .reviews__content_audio-wrapp {
    grid-template-columns: 1fr;
  }
  .header-large__title {
    font-size: 10px;
    line-height: 14px;
  }
  .header-large__column-content a {
    font-size: 18px;
    line-height: 26px;
    color: #3c3c3c;
  }
  .header-large__column-item img {
    width: 15px;
    height: 15px;
    margin-right: 7px;
  }
  .main-container_r {
    margin: 0 auto;
  }
  .quiz__content_last > input {
    width: 251px;
  }
  .readmore {
    display: none;
  }
  .readmore.active {
    display: block;
  }
  .readmore__button {
    display: block;
    margin: 10px 0;
    font-weight: 700;
    font-size: 18px;
    color: #0d3060;
  }
  .readmore__button.remove {
    display: none;
  }
}
.test {
  color: red;
}
.main-unique-single img {
  object-fit: contain;
}
.main-unique-single .documents {
  margin-top: 50px;
  padding: 90px 0;
}
.main-unique-single .licenses {
  margin-bottom: 90px;
}
.main-unique-single .quiz {
  margin-top: 90px;
  margin-bottom: 90px;
}
.main-unique-single .quiz .title {
  font-weight: 700;
}
.main-unique-single .quiz__inner {
  background-color: #1a8ef1;
  border-radius: 30px;
  padding: 32px 45px;
}
.main-unique-single .title {
  font-size: 35px;
  line-height: normal;
  height: auto;
}
.main-unique-single .quiz__content-title {
  color: #fff;
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
}
.main-unique-single .modify-title {
  color: #3c3c3c;
  margin-bottom: 15px;
}
.main-unique-single .readus__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.main-unique-single .readus__post-img > a > img {
  height: 223px;
  object-position: top;
  object-fit: cover;
}
.main-unique-single .benefits__grid {
  grid-template-columns: repeat(5, 200px);
}
@media (min-width: 1141px) {
  .main-unique-single .hero-d__right {
    align-self: stretch;
    display: flex;
  }
  .main-unique-single .hero-d__img-wrap {
    height: 100%;
  }
  .main-unique-single .hero-d__img {
    height: 100%;
  }
  .main-unique-single .hero-d__img img {
    height: 100%;
    object-fit: cover !important;
  }
}
.u-content__left {
  grid-column: 7 span;
}
.u-content__left h2 {
  margin: 15px 0;
}
.u-title-section {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(28px, 2vw, 35px);
  text-transform: uppercase;
  color: #3c3c3c;
  line-height: 120%;
}
.u-proff__head-left {
  margin-bottom: 10px;
}
.u-hero {
  padding: 60px 0 90px;
  background: #05192e;
  margin-bottom: 50px;
  border-bottom: none;
  position: relative;
  overflow: hidden;
}
.u-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 75% 60%, rgba(26, 142, 241, 0.28) 0%, transparent 65%),
    radial-gradient(ellipse 55% 55% at 5% 80%, rgba(10, 61, 110, 0.55) 0%, transparent 60%),
    linear-gradient(150deg, #05192e 0%, #0b2540 55%, #0d3060 100%);
  pointer-events: none;
  z-index: 0;
}
.u-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.065) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
  z-index: 0;
  mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
}
/* Decorative rings (из PHP) */
.u-hero__bg-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.u-hero__bg-ring--1 {
  width: 560px;
  height: 560px;
  right: -120px;
  top: -120px;
  border: 1px solid rgba(26, 142, 241, 0.18);
}
.u-hero__bg-ring--2 {
  width: 340px;
  height: 340px;
  right: 60px;
  top: -20px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.u-hero__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  position: relative;
  z-index: 1;
}
@media (max-width: 992px) {
  .u-hero__container {
    grid-template-columns: 1fr;
  }
  .u-hero__title {
      margin-top: 20px;
  }
  .u-hero__img {
    padding: 0;
    min-height: 220px;
  }
  .u-hero__cols {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  /* На мобиле: правая колонка форма скрыта, показывается форма в контенте */
  .u-hero__form-right {
    display: none;
  }
  .u-hero__form-mobile {
    display: block;
  }
  .u-content__container {
    grid-template-columns: 1fr;
  }
  .u-content__right {
    display: none;
  }
  .u-faq__row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .n-obuch-title {
    margin-bottom: 25px;
  }
  .n-docs {
    margin-top: 45px;
    padding-bottom: 45px;
  }
  .n-docs-item {
    flex-direction: column;
    align-items: flex-start;
  }
  .n-spec {
    margin-top: 45px;
  }
  .n-spec-item {
    grid-template-columns: 1fr;
  }
  .finder-d__inner {
    grid-template-columns: 1fr;
  }
  .searcher__items {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .searcher__block:nth-child(2) {
    border: none;
    padding: 0;
  }
}
.u-hero__img {
  position: relative;
  height: 100%;
}
.u-hero__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 15px;
}
.u-hero__content {
  max-width: 700px;
}
.u-hero__title {
  font-family: var(--font-family);
  font-weight: 800;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 110%;
  text-transform: uppercase;
  color: #fff;
  max-width: 560px;
  margin-bottom: 36px;
  letter-spacing: -0.5px;
}
.u-hero__title span {
  color: #f2dbb2;
}
.u-hero__title span#user-city {
  color: rgba(255, 255, 255, 0.9);
}
.u-hero__cols {
  max-width: 680px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 40px;
}
@media (max-width: 768px) {
  .u-hero__cols {
    grid-template-columns: 1fr;
  }
  .find__inner {
    grid-template-columns: 1fr;
  }
  .find__sort .radio span {
    width: 100%;
  }
  .find .find__sort-feedback {
    max-width: 100%;
  }
  .blog__post-content.default-space img {
    max-width: 100%;
  }
  .find,
  .hero__info {
    margin: 10px;
  }
  .licenses__slider .licenses__inner {
    display: flex;
  }
  .u-education__items {
    grid-template-columns: 1fr;
  }
  .header__bottom-block {
    height: 100vh;
    top: 135px;
  }
  .header {
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 999;
  }
  .header__callback-phone {
    display: block;
    color: #333;
    font-size: 16px;
    font-weight: 600;
  }
  .header__btn {
    display: none;
    font-size: 14px;
    padding: 9px 28px;
  }
  .header__bottom-block--active > .header__action-mail {
    display: block;
    padding-left: 20px;
    margin-top: 20px;
  }
  .header__bottom-block--active > .header__action-phone {
    display: block;
    padding-left: 20px;
    margin-top: 20px;
  }
  .header__actions {
    flex-direction: row-reverse;
    gap: 20px;
  }
  .footer__container {
    flex-direction: column;
  }
  .fooer__col--nav {
    flex-direction: column;
    gap: 20px;
  }
  .n-spec-left {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .n-spec-item {
    padding: 20px;
  }
  .n-spec-text-accent {
    font-size: 16px;
  }
  .n-spec-mid {
    text-align: center;
  }
  .n-spec-price {
    align-items: center;
    flex-direction: column;
  }
}
.u-hero__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
}
.u-hero__list-item {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-top: 2px;
  padding-bottom: 2px;
}
.u-hero__list-item .hero-d__badge-dot {
  margin-top: 7px;
  flex-shrink: 0;
}
.u-hero__list-item b {
  color: #f2dbb2;
  font-weight: 700;
}
.u-hero__form {
  background: rgba(255, 255, 255, 0.97);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.25);
  position: relative;
}
.u-hero__form::before {
  content: 'Бесплатная консультация';
  display: inline-block;
  background: #48c95f;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.u-hero__form .hero__form {
  display: flex;
  flex-direction: column;
  margin: 0;
  gap: 14px;
}
.u-hero__form .form__block {
  display: flex;
  flex-direction: column-reverse;
  gap: 8px;
}
.u-hero__form .hero__privacy-wrapper {
  margin: 0;
}
.u-hero__form .btn {
  width: 100%;
  background: #f2dbb2 !important;
  color: #3c3c3c !important;
  border: none !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 20px rgba(26, 142, 241, 0.2);
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  animation: hero-btn-pulse 2.8s ease-in-out infinite;
}
.u-hero__form .btn:hover {
  background: #aca89d !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(26, 142, 241, 0.3) !important;
  animation: none;
}
.u-hero__form .input {
  max-width: 100%;
  border-radius: 10px;
  border-width: 2px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.u-hero__form .input:focus {
  border-color: #0d3060;
  box-shadow: 0 0 0 3px rgba(26, 142, 241, 0.12);
  outline: none;
}
.u-hero__info {
  width: 100%;
  border-radius: 16px;
  padding: 20px 32px;
  background: var(--hero-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--hero-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  color: #fff;
  position: relative;
  z-index: 1;
}
.u-hero__info-list {
  list-style: none;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  align-items: flex-start;
}
.u-hero__info-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 20px;
  row-gap: 4px;
  max-width: 270px;
}
.u-hero__info-text {
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  line-height: 130%;
  text-transform: uppercase;
  color: #fff;
}
.u-hero__info-text:nth-child(2) {
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  color: #fff;
  text-transform: none;
}
.u-futures {
  margin-top: 50px;
  margin-bottom: 90px;
}
.u-futures__items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
}
.u-futures__item {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
  text-align: center;
}
.u-futures__item-title {
  font-weight: 700;
  font-size: 27px;
  text-align: center;
  color: #3c3c3c;
  line-height: 120%;
}
.u-futures__item-desc {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  text-align: center;
  color: #3c3c3c;
}
.u-content {
  background-color: #f4f4f4;
  padding: 90px 0;
}
.u-content__container {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 40px;
  align-items: flex-start;
}
.u-content__header {
  margin-bottom: 50px;
}
.u-content__header h3 {
  font-weight: 700;
  font-size: clamp(18px, 2.5vw, 27px);
  color: #3c3c3c;
  margin: 0;
  margin-bottom: 20px;
  line-height: 120%;
}
.u-content__header h4 {
  font-size: clamp(16px, 2vw, 20px);
  color: #3c3c3c;
  margin-bottom: 20px;
  font-weight: 700;
}
.u-content__header ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 15px;
}
.u-content__header li {
  position: relative;
  display: grid;
  align-items: center;
  gap: 8px;
  grid-template-columns: auto 1fr;
}
.u-content__header li:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #0d3060;
  border-radius: 50px;
}
.u-content__info {
  display: flex;
  flex-direction: column;
  gap: clamp(25px, 2.5vw, 50px);
}
.u-content__text {
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  color: #000;
}
.u-content__right {
  position: sticky !important;
  top: 34px !important;
  grid-column: 5 span;
  width: 550px !important;
  border-radius: 30px;
  padding: 50px;
  background-color: #0d3060;
}
.u-content__right .feedback-ask {
  margin-top: 0;
  width: 100%;
  padding: 0;
  text-align: start;
  border: none;
}
.u-content__right .h-title {
  font-weight: 700;
  font-size: 27px;
  line-height: 130%;
  color: #fff;
  margin: 0;
  margin-bottom: 10px;
  text-transform: none;
}
.u-content__right .feedback-ask__text {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 120%;
  color: #fff;
}
.u-content__right .privacy-text {
  font-weight: 400;
  font-size: 12px;
  line-height: 100%;
  color: #fff;
}
.u-content__right .privacy-text a {
  color: #a9c3de;
  font-weight: 400;
  font-size: 12px;
  line-height: 120%;
}
.u-education {
  margin: 90px 0;
}
.u-education__title {
  text-align: center;
  margin-bottom: 40px;
}
.u-education__items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(412px, 1fr));
  gap: 44px;
}
.u-education__item-title {
  font-weight: 700;
  font-size: 27px;
  text-align: center;
  color: #3c3c3c;
  margin-top: 20px;
}
.u-education__img {
  display: flex;
}
.u-education__img img {
  margin: 0 auto;
}
.u-services {
  background-color: #f4f4f4;
  padding: 90px 0;
}
.u-services__cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 40px;
}
.u-services__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  row-gap: 20px;
  column-gap: 20px;
}
.u-services__link {
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  color: #000;
  padding-bottom: 5px;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.u-services__link:after {
  content: "";
  width: 30px;
  height: 9px;
  background: url(../images/arrow-u-s.svg) center/cover no-repeat;
}
.u-proff {
    margin-top: 90px;
}
.u-proff__item {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  border-radius: 30px;
  background: #f4f4f4;
  padding: 24px;
  height: auto !important;
}
.u-education__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.u-proff__img {
  margin-bottom: 20px;
}
.u-proff__img img {
  object-fit: cover;
  height: 250px;
  width: 100%;
  max-width: 100%;
  border-radius: 20px;
  max-height: 300px;
  width: 100%;
}
.u-proff__content {
  flex: 1 1 auto;
  margin-bottom: 20px;
}
.u-proff__content a:hover div {
  color: #0d3060;
}
.u-proff__title {
  font-weight: 700;
  font-size: clamp(26px, 2.5vw, 25px);
  line-height: 120%;
  text-align: center;
  color: #3c3c3c;
  margin-bottom: 40px;
  margin-top: 20px;
  text-transform: uppercase;
}
.u-proff__info {
  max-width: 650px;
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}
.u-proff__text {
  flex: 1 1 auto;
  font-weight: 400;
  font-size: 18px;
  color: #3c3c3c;
  position: relative;
  flex-basis: 270px;
  padding-left: 45px;
  align-content: center;
}
.u-proff__text:nth-child(1):before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: url(../images/proff-ic-1.svg) center/cover no-repeat;
}
.u-proff__text:nth-child(2):before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: url(../images/proff-ic-2.svg) center/cover no-repeat;
}
.u-proff__text:nth-child(3):before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: url(../images/proff-ic-3.svg) center/cover no-repeat;
}
.u-proff__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  justify-content: center;
}
.u-proff__prices {
  display: flex;
  align-items: center;
  gap: 5px;
}
.u-proff__btn {
  background: #f2dbb2;
  border: 1px solid #f2dbb2;
  border-radius: 10px;
  font-weight: 400;
  font-size: 18px;
  text-align: center;
  color: #3c3c3c;
  padding: 17px 100px;
  cursor: pointer;
}
.u-proff__before {
  font-weight: 400;
  font-size: 18px;
  text-decoration: line-through;
  text-align: center;
  color: #3c3c3c;
}
.u-proff__price {
  font-weight: 700;
  font-size: 27px;
  text-align: center;
  color: #3c3c3c;
}
.u-reviews {
  margin-bottom: 90px;
}
.u-reviews__title {
  text-align: center;
}
.swiper-reviews .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav-btn {
  cursor: pointer;
  box-shadow: 0 4px 8px 0 #f4f4f4;
  border-radius: 6px;
  background: #f4f4f4;
  border: none;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s ease;
}
.nav-btn svg {
  pointer-events: none;
}
.u-reviews__slider-nav {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
  margin-top: 20px;
  margin-right: 20px;
}
.u-proff__slider-nav {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
  margin-bottom: 20px;
  margin-right: 20px;
}

/* Шапка секции: заголовок слева, стрелки справа */
.u-proff__head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.u-proff__desktop-nav {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

/* Базовые стили стрелок (десктоп и мобайл) */
.prev-proff,
.next-proff,
.u-proff__prev-mob,
.u-proff__next-mob {
  font-size: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}
.prev-proff::before,
.u-proff__prev-mob::before {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url('../images/custom-rev_arrow.svg') center / contain no-repeat;
}
.next-proff::before,
.u-proff__next-mob::before {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url('../images/custom-rev_arrow.svg') center / contain no-repeat;
  transform: rotate(180deg);
}

/* Slick перемещает кнопки внутрь — скрываем их там, они уже в шапке */
.u-proff__slick .slick-prev,
.u-proff__slick .slick-next {
  display: none !important;
}

/* Отступы между слайдами */
.u-proff__slick .slick-slide {
  margin: 0 10px;
  height: auto;
  display: flex !important;
}
.u-proff__slick .slick-slide > div {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1;
}
.u-proff__slick .slick-track {
  display: flex;
  align-items: stretch;
}
.u-proff--archive .u-proff__slick .slick-slide,
.bsf-related--card .u-proff__slick .slick-slide {
  height: inherit;
}
.u-proff--archive .u-proff__slick .u-proff__item,
.bsf-related--card .u-proff__slick .u-proff__item {
  height: 100%;
}
.u-proff__slick .slick-list {
  margin: 0 -10px;
}
.u-proff__item {
  flex: 1;
}
.u-proff__bottom {
  margin-top: auto;
}

/* Мобильные стрелки под слайдером */
.u-proff__nav-mobile {
  display: none;
}
.u-proff__prev-mob,
.u-proff__next-mob {
  display: block;
}

@media (max-width: 767px) {
  /* Прячем десктопную навигацию */
  .u-proff__desktop-nav {
    display: none;
  }
  /* Показываем мобильные стрелки под слайдером */
  .u-proff__nav-mobile {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
  }
  /* readus — аналогично u-proff */
  .readus__desktop-nav {
    display: none;
  }
  .readus__nav-mobile {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
  }
  /* clients — аналогично readus */
  .clients__desktop-nav {
    display: none;
  }
  .clients__nav-mobile {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
  }
}
.u-reviews__audio {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  margin-top: 40px;
}
.u-reviews__audio-block {
  padding-bottom: 15px;
}
.u-proff__slider {
  z-index: 0;
  position: relative;
  overflow: hidden;
}
.u-reviews__audio::-webkit-scrollbar {
  height: 10px;
  width: 100px;
}
.u-reviews__audio::-webkit-scrollbar-track {
  background: #e0e0e0;
  border-radius: 4px;
}
.u-reviews__audio::-webkit-scrollbar-thumb {
  background: #0d3060;
  border-radius: 4px;
}
.u-faq__title {
  text-align: center;
  margin-bottom: 50px;
}
.u-faq__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.u-faq__col {
  display: flex;
  gap: 10px;
  flex-direction: column;
}
.u-faq__item {
  background-color: #f4f4f4;
  border-radius: 30px;
  padding: 14px 40px;
}
.u-faq__header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.u-faq__toggler {
  cursor: pointer;
}
.u-faq__toggler svg {
  pointer-events: none;
}
.u-faq__header-title {
  font-weight: 700;
  font-size: 27px;
  color: #3c3c3c;
  line-height: 110%;
}
.u-faq__bottom {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: 0.3s ease;
}
.u-faq__content {
  font-weight: 400;
  font-size: 18px;
  color: #3c3c3c;
  overflow: hidden;
}
.u-faq__bottom--active {
  grid-template-rows: 1fr;
}
.rotate svg {
  transform: rotate(180deg);
}
.u-faq__links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}
.u-faq__link {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 18px;
  text-align: center;
  color: #3c3c3c;
  padding: 16px 51px;
  border: 1px solid #f2dbb2;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.u-faq__link:nth-child(1):after {
  content: "";
  width: 40px;
  height: 40px;
  background: url(../images/u-tg.svg) center/cover no-repeat;
}
.u-faq__link:nth-child(2):after {
  content: "";
  width: 40px;
  height: 40px;
  background: url(../images/u-wh.svg) center/cover no-repeat;
}
.u-rec {
  margin-bottom: 90px;
}
.u-rec__title {
  text-align: center;
}
.u-rec__slider-nav {
  display: flex;
  gap: 20px;
  justify-content: end;
  margin-top: 20px;
}
.modal-c {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 99999999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  scale: 0;
  transition: opacity 0.3s ease, scale 0.3s ease;
}
.modal-c--active {
  opacity: 1;
  visibility: visible;
  scale: 1;
}
.modal-c__container {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 20px;
  max-width: 1095px;
  width: 100%;
  position: relative;
}
.modal-c__close {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  padding: 20px;
}
.modal-c__close svg {
  pointer-events: none;
}
.modal-c__left {
  position: relative;
  padding: 25%;
}
.modal-c__left img {
  border-radius: 20px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modal-c__right {
  padding: 60px;
}
.modal-c__title {
  font-weight: 700;
  font-size: 32px;
  line-height: 150%;
  text-transform: uppercase;
  color: #000;
  margin-bottom: 10px;
  font-family: inherit;
}
.modal-c__subtitle {
  font-weight: 400;
  font-size: 20px;
  line-height: 150%;
  color: #000;
  margin-bottom: 36px;
}
.modal-c__form {
  display: flex;
  gap: 10px;
  flex-direction: column;
}
.modal-c__input {
  background-color: #f2f2f2;
  border-radius: 10px;
  padding: 18px 20px;
  width: 100%;
  border: none;
  font-family: inherit;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #7a7a7a;
  outline: none;
  padding-left: 40px;
}
.modal-c__input.wpcf7-not-valid {
  border: 1px solid red;
}
.modal-c__input:focus {
  border: 1px solid #0d3060;
}
.modal-c__label--checkbox {
  margin-top: 20px;
  display: flex;
  gap: 10px;
}
.modal-c__label--checkbox span {
  font-weight: 400;
  font-size: 14px;
  color: #000;
}
.modal-c__checkbox {
  border: none;
  border-radius: 1px;
  width: 20px;
  height: 20px;
  accent-color: #0d3060;
}
.modal-c__btn {
  font-weight: 700;
  font-size: 20px;
  line-height: 150%;
  color: #fff;
  padding: 15px;
  border-radius: 10px;
  padding: 12px 41px;
  background-color: #0d3060;
  border: none;
  margin-top: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.button-fix {
  position: fixed;
  bottom: 40px;
  right: 20px;
  cursor: pointer;
  animation: scaling 3s infinite;
}
.button-fix img {
  pointer-events: none;
}
.modal-c__label--checkbox > p {
  margin: 0;
}
@media (max-width: 1001px) {
  .burger {
    display: flex;
  }
}
.modal-c__input.input-phone {
  background-image: none;
}
.wpcf7-spinner {
  display: none !important;
}
.popup__feedback .popup__container form {
  display: grid;
  gap: 15px;
}
.wpcf7-response-output {
  display: none;
}
.wpcf7-not-valid-tip {
  display: none !important;
}
.wpcf7-not-valid {
  border-color: red;
}
#modal-c form {
  display: grid;
  gap: 15px;
}
.hidden {
  display: none;
}
.page-template-contacts .feedback-ask form .modal-c__label--checkbox span {
  color: #fff;
}
.letter_btn--disabled {
  display: none;
}
.letter_btn.active span {
  background-color: #0d3060;
  color: #fff;
  border-color: #0d3060;
}
@media (any-hover: hover) {
  .header__check:hover {
    color: #f2dbb2;
    border-color: #f2dbb2;
  }
  .header__vis:hover {
    color: #f2dbb2;
  }
  .header__mail:hover {
    color: #0d3060;
  }
  .header__phone:hover {
    color: #0d3060;
  }
  .header__social:hover > svg > rect {
    fill: #e29001;
  }
  .header__btn:hover {
    color: #fff;
    background: #3c3c3c;
  }
  .nav__link:hover {
    color: #f2dbb2;
  }
  .footer__nav-item > a:hover {
    color: #f2dbb2;
  }
  .footer__btn:hover {
    background-color: #242424;
    color: #fff;
  }
  .n-spec-btn:hover {
    color: #fff;
    background-color: #ebba67;
  }
  .searcher__nav-btn:hover {
    background-color: #0d3060;
  }
  .searcher__nav-btn:hover svg path {
    stroke: #fff;
  }
  .searcher__value:hover {
    background-color: #0d3060;
    color: #fff;
    border-color: #0d3060;
  }
  .finder-d__reset:hover {
    background-color: #0d3060;
    color: #fff;
  }
  .finder-d__reset:hover svg {
    transform: rotate(360deg);
  }
  .finder-d__reset:hover svg path {
    stroke: #fff;
  }
  .finder-d__option:hover {
    color: #fff;
    background-color: #0d3060;
    border-color: #0d3060;
  }
  .offers-d__item:hover .offers-d__item-img img {
    scale: 1.1;
  }
  .offers-d__item:hover .offers-d__item-text {
    background-color: #0d3060;
    color: #fff;
  }
  .d-form__btn:hover {
    background: #aca89d;
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(26, 142, 241, 0.3);
    animation: none;
  }
  .d-form__policy a:hover {
    color: rgba(255, 255, 255, 0.9);
  }
  .hero-d__action-link:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.8);
    transform: translateY(-1px);
  }
}
.header__licens {
  font-weight: 400;
  font-size: 14px;
  color: #fff;
  max-width: 290px;
}
.header__check {
  border-bottom: 1px dashed #fff;
  padding: 0 0 2px 0;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  line-height: 144%;
  text-transform: uppercase;
  color: #fff;
  transition: 0.3s ease;
}
.header__vis {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 14px;
  line-height: 143%;
  color: #fff;
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: color 0.3s ease;
}
.header__middle {
  padding-top: 10px;
  padding-bottom: 10px;
}
.header__middle-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.header__actions {
  display: flex;
  align-items: center;
  gap: 40px;
}
.header__action-text {
  font-weight: 400;
  font-size: 14px;
  color: #3c3c3c;
  margin-bottom: 5px;
}
.header__mail {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 400;
  font-size: 18px;
  line-height: 111%;
  color: #3c3c3c;
  text-decoration: none;
  transition: color 0.3s ease;
}
.header__socials {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header__social > svg > rect {
  transition: 0.3s ease;
}
.header__social-phone {
  display: none;
}
.header__btn {
  font-weight: 700;
  font-size: 16px;
  line-height: 144%;
  text-transform: uppercase;
  text-align: center;
  color: #3c3c3c;
  border-radius: 6px;
  background: #f2dbb2;
  border: none;
  cursor: pointer;
  background: #f2dbb2;
  padding: 12px 40px;
  min-width: 270px;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.nav {
  list-style: none;
  display: flex;
  align-items: center;
  gap: clamp(20px, 4vw, 40px);
}
.nav__link {
  font-weight: 400;
  font-size: 18px;
  line-height: 144%;
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}
.header__bottom-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
#header-search:focus {
  border: none;
}
.footer__container {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.input-footer:focus {
  border: none;
}
.footer__logo {
  display: flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  margin-bottom: 20px;
}
.footer__logo-desc {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 13px;
  color: #fff;
  max-width: 117px;
  line-height: 120%;
}
.footer__licens {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 13px;
  color: #fff;
  max-width: 230px;
}
.footer__map {
  margin-top: 70px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  text-decoration: none;
}
.footer__map-text {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 13px;
  line-height: 140%;
  text-transform: uppercase;
  color: #fff;
}
.footer__map-link {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 18px;
  color: #fff;
}
.fooer__col--nav {
  display: flex;
  gap: 117px;
}
.footer__sbtitle {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 24px;
  line-height: 75%;
  color: #fff;
  margin-bottom: 20px;
}
.footer__nav-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer__nav-item > a {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 18px;
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer__phone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.footer__phone-link {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 24px;
  line-height: 83%;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer__phone-text {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 14px;
  text-align: center;
  color: #fff;
}
.footer__btn {
  font-weight: 700;
  font-size: 16px;
  line-height: 144%;
  text-transform: uppercase;
  text-align: center;
  color: #3c3c3c;
  border-radius: 6px;
  background: #f2dbb2;
  border: none;
  cursor: pointer;
  background: #f2dbb2;
  padding: 12px 40px;
  transition: background-color 0.3s ease, color 0.3s ease;
  min-width: 270px;
  width: 100%;
}
.footer__socials {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  gap: 15px;
  margin-bottom: 20px;
}
.footer__time {
  font-weight: 400;
  font-size: 14px;
  text-align: center;
  color: #fff;
}
.footer__mail {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 111%;
  color: #fff;
  margin-top: 10px;
  text-decoration: none;
}
.footer__bottom {
  margin-top: 40px;
  padding-top: 21px;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  padding-bottom: 30px;
}
.footer__bottom-wrapper {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}
.footer__bvi {
  display: block;
  margin-top: 20px;
  color: #fff;
}
.footer__bottom-link {
  font-weight: 400;
  font-size: clamp(14px, 2vw, 18px);
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
}
.burger-menu {
  display: none;
  flex-direction: column;
  gap: 10px;
  cursor: pointer;
  color: white;
  border: none;
  z-index: 1000;
  width: 40px;
  height: 30px;
}
.burger-menu-bar {
  width: 40px;
  height: 3px;
  background-color: white;
  transition: 0.3s ease;
}

.map-container {
  width: 100%;
  height: 500px;
}
.burger--active .menu {
  transform: translateX(0);
}
.burger--active .burger-menu-bar:nth-child(1) {
  transform: translateY(16px) rotate(45deg);
}
.burger--active .burger-menu-bar:nth-child(2) {
  opacity: 0;
}
.burger--active .burger-menu-bar:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}
.header__callback-phone {
  display: none;
}
.header__middle-burger {
  width: 40px;
  height: 35px;
  background-color: #0d3060;
  padding: 5px;
  border-radius: 3px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  cursor: pointer;
  margin-right: 20px;
  display: none;
  justify-content: center;
}
.header__middle-burger > span {
  width: 100%;
  height: 3px;
  border-radius: 3px;
  background-color: #fff;
  pointer-events: none;
}
.fixed--header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 9999;
}
.fixed--header .header__middle-burger {
  display: flex;
}
.fixed--header--menu {
  position: fixed;
  left: 0;
  top: 90px;
  transition: 0.2s ease;
  width: 100%;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
}
.fixed--header--menu--active {
  top: 105px;
  opacity: 1;
  visibility: visible;
}
@media (max-width: 1280px) {
  .header__action-mail {
    display: none;
  }
  .header__licens {
    display: none;
  }
}
@media (max-width: 1140px) {
  .footer__col-contacts {
    align-items: flex-start;
  }
  .footer__phone {
    align-items: flex-start;
  }
  .footer__socials {
    align-items: flex-start;
    justify-content: flex-start;
  }
  .footer__time {
    text-align: left;
  }
  .footer__mail {
    justify-content: flex-start;
  }
  .footer__map {
    margin-top: 30px;
  }
  .hero-d__content {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
  }
  .hero-d__right { order: -1; }
  .hero-d__img-card--1 { left: 0; top: -10px; }
  .hero-d__img-card--2 { right: 0; top: -10px; }
  .hero-d__img-card--3 { right: -10px; top: 50%; transform: translateY(-50%); }
  .hero-d__img-card--4 { left: 0; bottom: -10px; }
  .hero-d__img-card--5 { right: 0; bottom: -10px; }
  .hero-d__img {
    display: flex;
    justify-content: center;
  }
  .hero-d__img img {
    max-width: 100%;
    height: auto;
  }
  .offers-d {
    margin-top: 45px;
  }
  .offers-d__item-text {
    left: 10px;
    right: 10px;
  }
  .finder-d {
    margin-top: 45px;
  }
  .students-d,
  .u-faq {
    margin: 45px auto;
  }
}
@media (max-width: 1024px) {
  .footer {
      padding-top: 40px;
  }
  .fooer__col--nav {
    gap: 40px;
  }
  .footer__col {
      padding: 20px 0;
  }
  .burger-menu {
    display: flex;
  }
  .burger-menu > span {
    pointer-events: none;
  }
  .header__action-phone {
    display: none;
  }
  .header__social-phone {
    display: flex;
  }
  .header__bottom-block {
    position: absolute;
    top: 160px;
    width: 100%;
    height: 100%;
    left: -100%;
    background: #fff;
    transition: 0.3s ease;
    z-index: 9999;
    overflow: auto;
    padding-bottom: 400px;
  }
  .header__bottom-block--active {
    left: 0;
  }
  .nav {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 30px;
    padding-left: 20px;
    gap: 20px;
    z-index: 999;
  }
  .nav__link {
    color: #000;
  }
  .header__licens {
    color: #3c3c3c;
    display: flex;
  }
  .header__check {
    color: #3c3c3c;
    border-color: #3c3c3c;
  }
  .header__vis {
    color: #3c3c3c;
  }
  .header__vis > svg > path {
    stroke: #3c3c3c;
  }
  .footer__bvi {
    color: #fff;
  }
}

@media (max-width: 767px) {
    .u-content {
        background-color: #f4f4f4;
        padding: 15px 0;
    }
    .n-docs-title, .n-spec-title {
        text-align: center !important;
    }
    .u-proff {
        margin-top: 50px;
    }
}
@media (max-width: 375px) {
  .header__social {
    max-width: 25px;
    height: 44px;
  }
  .header__social > svg {
    width: 100%;
  }
}
.dis--scroll {
  position: fixed;
  left: 0;
  top: 0;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  overscroll-behavior: none;
}
.popup__wrapper.active {
  z-index: 9999999 !important;
}
.button-fix::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #d0e4ff;
  border-radius: 100%;
  animation: scalingBorder 3s linear infinite;
  z-index: -1;
}
.header__middle-burger--active {
  position: relative;
}
.header__middle-burger--active > * {
  transition: 0.3s ease;
}
.header__middle-burger--active > span:nth-child(1) {
  transform: rotate(45deg);
  bottom: -10px;
  position: relative;
}
.header__middle-burger--active > span:nth-child(2) {
  opacity: 0;
}
.header__middle-burger--active > span:nth-child(3) {
  transform: rotate(-45deg);
  bottom: 10px;
  position: relative;
}
.blog__inner.default-space a:hover {
  color: #0d3060;
}
.readus__post-title a:hover {
  color: #0d3060;
}
.u-proff__btn:hover {
  background: #0d3060;
  border-color: #0d3060;
  color: #fff;
}
/* ── Карточки в стиле bsf-archive__item:
   используется в u-proff--archive (архивы курсов)
   и bsf-related--card (single-bezopasnost похожие курсы) ── */
.u-proff--archive .u-proff__item,
.bsf-related--card .u-proff__item {
    display: flex;
    flex-direction: column;
    border: 1px solid #e8edf8;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow .25s, transform .25s;
    height: auto;
}
.u-proff--archive .u-proff__item:hover,
.bsf-related--card .u-proff__item:hover {
    box-shadow: 0 8px 30px rgba(13,48,96,.12);
    transform: translateY(-2px);
}
.u-proff--archive .u-proff__img,
.bsf-related--card .u-proff__img {
    display: block;
    height: 190px;
    overflow: hidden;
    border-radius: 0;
}
.u-proff--archive .u-proff__img img,
.bsf-related--card .u-proff__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}
.u-proff--archive .u-proff__item:hover .u-proff__img img,
.bsf-related--card .u-proff__item:hover .u-proff__img img {
    transform: scale(1.04);
}
.u-proff--archive .u-proff__content,
.bsf-related--card .u-proff__content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
    margin-bottom: 0;
    flex: 1;
}
.u-proff--archive .u-proff__title,
.bsf-related--card .u-proff__title {
    font-weight: 700;
    font-size: 16px;
    color: #0d3060;
    line-height: 1.4;
    text-decoration: none;
    transition: color .2s;
    margin: 0;
}
.u-proff--archive .u-proff__title:hover,
.bsf-related--card .u-proff__title:hover {
    color: #1a8ef1;
}
.u-proff--archive .u-proff__info,
.bsf-related--card .u-proff__info {
    display: none;
}
.u-proff--archive .u-proff__bottom,
.bsf-related--card .u-proff__bottom {
    padding: 10px 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.u-proff--archive .u-proff__prices,
.bsf-related--card .u-proff__prices {
    display: flex;
    align-items: center;
    gap: 10px;
}
.u-proff--archive .u-proff__before,
.bsf-related--card .u-proff__before {
    font-size: 14px;
    color: #aaa;
    text-decoration: line-through;
}
.u-proff--archive .u-proff__price,
.bsf-related--card .u-proff__price {
    font-size: 20px;
    font-weight: 700;
    color: #0d3060;
}
.u-proff--archive .u-proff__btn,
.bsf-related--card .u-proff__btn {
    background: var(--dh-gold, #f2dbb2);
    color: var(--dh-dark, #1b2838);
    border: none;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 700;
    border-radius: var(--dh-radius, 10px);
    position: relative;
    overflow: hidden;
    transition: all .3s cubic-bezier(.4,0,.2,1);
    width: 100%;
    cursor: pointer;
}
.u-proff--archive .u-proff__btn::before,
.bsf-related--card .u-proff__btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.25);
    transform: translateX(-100%);
    transition: transform .6s ease;
}
.u-proff--archive .u-proff__btn:hover,
.bsf-related--card .u-proff__btn:hover {
    background: #0d3060;
    border-color: #0d3060;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(13,48,96,.25);
}
.u-proff--archive .u-proff__btn:hover::before,
.bsf-related--card .u-proff__btn:hover::before {
    transform: translateX(100%);
}
.fixed-mobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
section.n-obuch {
  margin-bottom: 90px;
}
.n-obuch-title {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(28px, 2vw, 35px);
  text-transform: uppercase;
  color: #3c3c3c;
  margin: 0;
  margin-bottom: 50px;
}
.n-obuch-info {
  border-radius: 6px;
  padding: 12px 60px;
  background: #d5eaff;
  margin-bottom: 20px;
}
.n-obuch-text {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 18px;
  color: #3c3c3c;
  margin-bottom: 14px;
}
.n-obuch-plan {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(22px, 2vw, 27px);
  color: #3c3c3c;
}
.n-obuch-table {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
}
.n-obuch-table table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 12px;
  overflow: hidden;
}
.n-obuch-table table .t-head {
  background-color: #2e87eb;
  color: white;
  font-weight: bold;
  padding: 12px 10px;
  border-radius: 12px 12px 0 0;
}
.n-obuch-table table .t-head th {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(18px, 3vw, 27px);
  line-height: 130%;
}
.n-obuch-table table .t-head th:first-child {
  border-right: 1px solid #fff;
}
.n-obuch-table table .t-body td {
  padding: 12px 10px;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: clamp(14px, 2vw, 18px);
  color: #3c3c3c;
}
.n-obuch-table table .t-body tr:not(:last-child) {
  border-bottom: 1px solid #f4f4f4;
}
.n-obuch-table table .t-body tr > td:first-child {
  border-right: 1px solid #f4f4f4;
}
.n-obuch-table table .t-body tr td:has(strong) {
  background-color: #f4f4f4;
}
.n-obuch-table th,
.n-obuch-table td {
  padding: 10px 15px;
  text-align: left;
}
.n-obuch-table thead th {
  background-color: #2e87eb;
  color: white;
  font-weight: bold;
}
.n-obuch-table td strong {
  font-weight: bold;
}
.n-obuch-table tbody tr:first-child td {
  font-weight: bold;
}
.n-docs {
  margin-top: 90px;
  padding-bottom: 90px;
}
.n-docs-title {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(28px, 2vw, 35px);
  text-transform: uppercase;
  color: #3c3c3c;
  margin: 0;
  margin-bottom: clamp(25px, 3vw, 50px);
}
.n-docs-items {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(clamp(320px, 30vw, 660px), 1fr)
  );
  gap: 20px;
}
.n-docs-item {
  border: 1px solid #f4f4f4;
  border-radius: 30px;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.n-docs-item-title {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(18px, 2vw, 27px);
  color: #3c3c3c;
  margin-bottom: 14px;
}
.n-docs-item-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.n-docs-item-list > li {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: clamp(14px, 2vw, 18px);
  line-height: 100%;
  color: #000;
  position: relative;
  padding-left: 16px;
}
.n-docs-item-list > li:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #0d3060;
  border-radius: 50%;
}
.n-docs-item-content {
  max-width: 380px;
}
@media (max-width: 475px) {
  .n-docs-item {
    align-items: center;
    justify-content: center;
  }
  .n-docs-item-title {
    text-align: center;
  }
  .n-docs-item-list {
    align-items: center;
    text-align: center;
  }
  .n-docs-item-list li {
    padding-left: 0;
  }
  .n-docs-item-list li:before {
    display: none;
  }
}

/* ===== n-docs--attestaciya: двухколоночный макет (используется
   в sections/n-docs-attestaciya.php). На десктопе две колонки
   с разделительной вертикалью; на ≤900px стек. ===== */
.n-docs--attestaciya .n-docs-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  position: relative;
}
.n-docs--attestaciya .n-docs-cols::before {
  content: "";
  position: absolute;
  top: 56px;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: #e4e4e4;
}
.n-docs--attestaciya .n-docs-col-title {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(16px, 1.6vw, 18px);
  color: #0d3060;
  margin: 0 0 18px;
  line-height: 1.35;
}
.n-docs--attestaciya .n-docs-items {
  display: flex;
  flex-direction: column;
  gap: 20px;
  grid-template-columns: none;
}
@media (max-width: 900px) {
  .n-docs--attestaciya .n-docs-cols {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .n-docs--attestaciya .n-docs-cols::before {
    display: none;
  }
}

.n-spec {
  margin-top: 90px;
}
.n-spec-title {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(28px, 2vw, 35px);
  text-transform: uppercase;
  color: #3c3c3c;
  margin: 0;
  margin-bottom: clamp(25px, 3vw, 50px);
}
.n-spec-items {
  max-height: 760px;
  overflow-y: auto;
}
[data-simplebar] {
  max-height: 760px;
}
[data-simplebar] .simplebar-track.simplebar-vertical {
  width: 12px;
  border-radius: 4px;
  border: 1px solid #0d3060;
  padding: 0;
  right: -20px;
}
[data-simplebar] .simplebar-scrollbar:before {
  background-color: #0d3060;
  border-radius: 4px;
  opacity: 1;
}
.n-spec-item {
  display: grid;
  grid-template-columns: 5fr 3fr 2fr;;
  gap: 20px;
  align-items: center;
  border-radius: 10px;
  padding: 20px 40px;
  background: #f4f4f4;
  margin-bottom: 20px;
}
.n-spec-block {
  display: flex;
  flex-direction: column;
}
.n-spec-left {
  flex-direction: row;
  gap: 40px;
}
.n-spec-name {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(24px, 2vw, 27px);
  line-height: 130%;
  text-transform: uppercase;
  color: #3c3c3c;
  margin-bottom: 20px;
}
.n-spec-text {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  color: #3c3c3c;
  margin-bottom: 11px;
}
.n-spec-text > span {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 20px;
  line-height: 130%;
  text-transform: uppercase;
  color: #3c3c3c;
}
.n-spec-price {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 10px;
}
.n-spec-prices {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.n-spec-prices .bold {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(24px, 2vw, 20px);
  line-height: 130%;
  text-transform: uppercase;
  color: #3c3c3c;
}
.n-spec-prices .small {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: clamp(14px, 2vw, 18px);
  line-height: 130%;
  text-decoration: line-through;
  color: #3c3c3c;
}
.n-spec-sale {
  border-radius: 8px;
  padding: 4px 14px;
  background: #0d3060;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  color: #fff;
}
.n-spec-text-accent {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 20px;
  line-height: 130%;
  text-transform: uppercase;
  color: #3c3c3c;
}
.n-spec-btn {
  border: 1px solid #f2dbb2;
  border-radius: 10px;
  padding: 20px 48px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 100%;
  text-align: center;
  color: #3c3c3c;
  background: #f2dbb2;
  max-width: 185px;
  display: flex;
  justify-content: center;
  margin-left: auto;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 1220px) {
.n-spec-item {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;  /* добавить */
  }
  .n-spec-right {
    grid-column: 1 / -1;  /* добавить целый блок */
  }
  .n-spec-btn {
    margin-left: 0;
    width: 100%;
    max-width: 100%;
  }
}
.hero-d {
  background: #05192e;
  border-bottom: none;
  border-top: none;
  padding: 64px 0 90px;
  position: relative;
  overflow: hidden;
}
.hero-d--small {
  margin-bottom: 50px;
}
.hero-d--small.hero-d--wide-left {
  margin-bottom: 0;
}
.hero-d::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 75% 60%, rgba(26, 142, 241, 0.28) 0%, transparent 65%),
    radial-gradient(ellipse 55% 55% at 5% 80%, rgba(10, 61, 110, 0.55) 0%, transparent 60%),
    linear-gradient(150deg, #05192e 0%, #0b2540 55%, #0d3060 100%);
  pointer-events: none;
  z-index: 0;
}
.hero-d::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.065) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
  mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
}
/* Decorative rings (добавлены в PHP) */
.hero-d__bg-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.hero-d__bg-ring--1 {
  width: 560px;
  height: 560px;
  right: -120px;
  top: -120px;
  border: 1px solid rgba(255, 255, 255, 0.4);
}
.hero-d__bg-ring--2 {
  width: 340px;
  height: 340px;
  right: 60px;
  top: -20px;
  border: 1px solid rgba(255, 255, 255, 0.25);
}
/* Dot grid (добавлен в PHP) */
.hero-d__bg-dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.35) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
  mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
}
.hero-d .container {
  position: relative;
  z-index: 1;
}
/* Badge */
.hero-d__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(26, 142, 241, 0.15);
  border: 1px solid rgba(26, 142, 241, 0.35);
  border-radius: 100px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.4px;
  width: fit-content;
  margin-bottom: 4px;
}
.hero-d__badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25);
  animation: hero-pulse-dot 2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes hero-pulse-dot {
  0%, 100% { box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25); }
  50%       { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.08); }
}
.hero-d__title {
  font-family: var(--font-family);
  font-weight: 800;
  font-size: clamp(22px, 2.8vw, 40px);
  line-height: 1.12;
  text-transform: uppercase;
  color: #fff;
  max-width: 100%;
  margin-bottom: 0;
  letter-spacing: -0.4px;
}
.hero-d__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 4vw, 64px);
  align-items: center;
}
.hero-d__left {
  display: flex;
  flex-direction: column;
  gap: 24px;
  animation: hero-fadeUp 0.65s ease both;
}
.hero-d__right {
  animation: hero-fadeRight 0.65s 0.15s ease both;
}
.hero-d__subtitle {
  font-family: var(--second-family);
  font-weight: 600;
  font-size: clamp(14px, 1.5vw, 18px);
  line-height: 1.45;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 0;
  padding-left: 14px;
  border-left: 3px solid var(--hero-cream);
}
.hero-d__subtitle--prose {
  font-size: clamp(14px, 1.2vw, 16px);
  text-transform: none;
  font-weight: 400;
}
/* single-new: title span color */
.hero-d--single .hero-d__title span {
  color: #f2dbb2;
}
/* single-new: 2-row grid — form col1 row2, info col2 row2 */
.hero-d--single .hero-d__content {
  grid-template-rows: auto auto;
  align-items: start;
}

.hero-d--wide-left .hero-d__content {
  grid-template-columns: 3fr 2fr;
}
.hero-d__form-clue {
  font-family: var(--second-family);
  font-weight: 500;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.82);
  margin-bottom: 16px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
}
.hero-d__form-clue::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25);
  flex-shrink: 0;
  margin-top: 4px;
  animation: hero-pulse-dot 2s ease-in-out infinite;
}
.hero-d__form {
  background: var(--hero-glass);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--hero-border);
  border-radius: 18px;
  padding: 24px 26px 20px;
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
/* Image wrapper */
.hero-d__img-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-d__img-glow {
  position: absolute;
  inset: -30px;
  background: radial-gradient(ellipse 80% 60% at 50% 55%, rgba(26, 142, 241, 0.3) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(20px);
}
.hero-d__img {
  position: relative;
  z-index: 1;
  border-radius: 0;
  overflow: visible;
}
.hero-d__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 18px;
}
.main-unique-single .hero-d__img img {
    border-radius: 18px;
}
/* Floating stat cards */
.hero-d__img-card {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(10, 40, 100, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  border-radius: 14px;
  padding: 12px 18px;
  color: #fff;
  box-shadow: 0 8px 32px rgba(10, 40, 100, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  white-space: nowrap;
}
.hero-d__img-card svg {
  color: var(--hero-cream);
  flex-shrink: 0;
}
.hero-d__img-card div {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.hero-d__img-card strong {
  font-size: 22px;
  font-weight: 800;
  color: var(--hero-cream);
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.hero-d__img-card span {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.hero-d__img-card--1 {
  top: -14px;
  left: 10px;
  animation: hero-float 4s ease-in-out infinite;
}
.hero-d__img-card--2 {
  top: -14px;
  right: 10px;
  animation: hero-float 4s 0.8s ease-in-out infinite;
}
.hero-d__img-card--3 {
  top: 40%;
  right: -20px;
  transform: translateY(-40%);
  animation: hero-float 4s 1.6s ease-in-out infinite;
}
.hero-d__img-card--4 {
  bottom: -14px;
  left: 10px;
  animation: hero-float 4s 2.4s ease-in-out infinite;
}
.hero-d__img-card--5 {
  bottom: -14px;
  right: 10px;
  animation: hero-float 4s 3.2s ease-in-out infinite;
}
@keyframes hero-float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-6px); }
}
/* Info bar below hero image (home-hero.php) */
.hero-d__info-bar {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  background: var(--hero-glass);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 16px 20px;
  margin-top: 55px;
}
.hero-d__info-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #fff;
}
.hero-d__info-item svg {
  color: #f2dbb2;
  flex-shrink: 0;
  margin-top: 3px;
}
.hero-d__info-item div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.hero-d__info-item strong {
  font-size: 16px;
  font-weight: 700;
  color: #f2dbb2;
  line-height: 1.2;
}
.hero-d__info-item span {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.3;
}
@media (max-width: 480px) {
  .hero-d__info-bar {
    grid-template-columns: 1fr 1fr;
    padding: 14px 16px;
    gap: 12px;
  }
}
/* Bottom wave — shared by all hero blocks */
.hero-wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  line-height: 0;
  z-index: 2;
  pointer-events: none;
}
.hero-wave svg {
  width: 100%;
  height: 56px;
  display: block;
}
/* Keep old hero-d__bottom-wave for backward compat */
.hero-d__bottom-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  line-height: 0;
  z-index: 2;
}
.hero-d__bottom-wave svg {
  width: 100%;
  height: 56px;
  display: block;
}
.d-form__row {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
}
.d-form__row:not(:first-child) {
  flex-wrap: wrap;
}
.d-form__input {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}
.d-form__input input {
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  border-radius: 12px;
  padding: 15px 14px 15px 50px;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 16px;
  color: #3c3c3c;
  height: 54px;
  outline: none;
  width: 100%;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 2px 12px rgba(26, 142, 241, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}
.d-form__input input:hover {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(26, 142, 241, 0.5);
}
.d-form__input input:focus {
  background: #fff;
  border-color: #0d3060;
  box-shadow: 0 0 0 3px rgba(26, 142, 241, 0.18), 0 2px 12px rgba(26, 142, 241, 0.1);
}
.d-form__input input::placeholder {
  color: #8fa4b8;
  font-weight: 400;
}
.d-form__input-phone::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../images/phone-input.svg) center/contain no-repeat;
  opacity: 0.55;
  z-index: 1;
  pointer-events: none;
}
.d-form__input-name::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../images/user-icon.svg) center/contain no-repeat;
  opacity: 0.55;
  z-index: 1;
  pointer-events: none;
}
.d-form__input-course::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../images/learn-icon.svg) center/contain no-repeat;
  opacity: 0.55;
  z-index: 1;
  pointer-events: none;
}
.d-form__block {
  flex: 1 1 300px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.d-form__btn {
  border-radius: 10px;
  background: var(--hero-cream);
  font-family: var(--second-family);
  font-weight: 800;
  font-size: clamp(14px, 2vw, 17px);
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  color: #3c3c3c;
  border: none;
  padding: 14px;
  height: 54px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(26, 142, 241, 0.2);
  animation: hero-btn-pulse 2.8s ease-in-out infinite;
}
@keyframes hero-btn-pulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(26, 142, 241, 0.2); }
  50% { box-shadow: 0 4px 28px rgba(26, 142, 241, 0.4), 0 0 0 6px rgba(26, 142, 241, 0.1); }
}
.d-form__policy {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 11px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.7);
}
.hero-d__action {
  display: grid;
  grid-template-columns: 150px 1fr;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
}
.hero-d__action-text {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.9);
}
.hero-d__action-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  padding: 8px 48px;
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 600;
  font-size: clamp(14px, 2vw, 17px);
  text-align: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}
.adv-d {
  margin-top: 40px;
}
.adv-d__items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}
.adv-d__item {
  background: #f4f4f4;
  padding: 25px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 15px;
}
.adv-d__item-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.adv-d__item-info > .number {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(24px, 3vw, 35px);
  color: #3c3c3c;
}
.adv-d__item-info > .text {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: clamp(16px, 2vw, 18px);
  color: #3c3c3c;
}
.offers-d {
  margin-top: 40px;
}
.offers-d__items {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.offers-d__item {
  flex: 1 1 435px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border-radius: 6px;
}
.offers-d__item-img {
  height: 100%;
}
.offers-d__item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.3s ease;
  display: block;
}
.offer-s__item-link {
  position: absolute;
  inset: 0;
  cursor: pointer;
  z-index: 1;
}
.offers-d__item:nth-child(2) {
  flex: 1 1 66%;
}
.offers-d__item:nth-child(3) {
  flex: 1 1 66%;
}
.offers-d__item-text {
  position: absolute;
  bottom: 30px;
  left: 20px;
  border-radius: 1000px;
  padding: 10px 48px;
  background: #f4f4f4;
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(22px, 2vw, 27px);
  color: #3c3c3c;
  transition: 0.3s ease;
}
.finder-d {
  margin-top: 90px;
}
.finder-d__title {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(28px, 3vw, 35px);
  text-transform: uppercase;
  text-align: center;
  color: #3c3c3c;
  max-width: 785px;
  margin: 0 auto;
  margin-bottom: clamp(25px, 3vw, 50px);
}
.finder-d__inner {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: clamp(20px, 2vw, 40px);
}
.finder-d__filter-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
  color: #3c3c3c;
  margin-bottom: 20px;
}
.finder-d__options {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}
.finder-d__option {
  border: 1px solid rgba(60, 60, 60, 0.6);
  border-radius: 6px;
  padding: 10px 48px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 144%;
  color: #3c3c3c;
  text-align: left;
  background-color: transparent;
  transition: backround-color 0.3s ease, color 0.3s, border-color 0.3s ease;
  cursor: pointer;
}
.finder-d__option.active {
  color: #fff;
  background-color: #0d3060;
  border-color: #0d3060;
}
.finder-d__reset {
  border: 1px dashed rgba(26, 142, 241, 0.6);
  border-radius: 6px;
  padding: 10px 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: transparent;
  cursor: pointer;
  gap: 15px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  color: #3c3c3c;
  transition: 0.3s ease;
}
.finder-d__reset svg {
  transition: 0.3s ease;
  pointer-events: none;
}
.finder-d__reset svg path {
  transition: 0.3s ease;
}
.finder-d__form {
  margin-top: 40px;
  border-radius: 16px;
  padding: 20px;
  background: #0d3060;
}
.finder-d__form-title {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(22px, 2vw, 27px);
  color: #fff;
  margin-bottom: 10px;
}
.finder-d__form-text {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 16px;
  color: #fff;
  margin-bottom: 20px;
}
.finder-form .d-form__input input {
  padding: 16px 10px 16px 45px;
}
.finder-form .d-form__input:before {
  left: 20px;
}
.finder-form .d-form__row {
  gap: 10px;
}
.finder-form .d-form__policy {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 12px;
  line-height: 100%;
  color: #fff;
}
.finder-form .d-form__policy a {
  color: rgba(255, 255, 255, 0.6);
}
.finder-d__action {
  margin-top: 30px;
}
.finder-d__action-title {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  margin-bottom: 10px;
}
.finder-d__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  text-align: center;
  color: #fff;
  border: 1px solid #d5eaff;
  border-radius: 10px;
  padding: 8px 48px;
  text-decoration: none;
}
.searcher__alphabet {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.searcher__value {
  position: relative;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  padding: 4px 10px;
  border: 1px solid rgba(60, 60, 60, 0.6);
  transition: background-color 0.3s ease;
  color: #3c3c3c;
}
.searcher__value > input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.searcher__value > span {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 20px;
  line-height: 130%;
  text-transform: uppercase;
  color: inherit;
  transition: color 0.3s ease;
}
.searcher__value:has(input:checked) {
  background: #0d3060;
  border-color: #0d3060;
}
.searcher__value:has(input:checked).searcher__value > span {
  color: #fff;
}
.searcher__field {
  border: 1px solid rgba(60, 60, 60, 0.6);
  border-radius: 9px;
  margin-top: 10px;
  position: relative;
}
.searcher__field input {
  padding: 10px 20px 10px 52px;
  border: none;
  background-color: transparent;
  width: 100%;
  border-radius: 9px;
  font-family: var(--third-family);
  font-weight: 400;
  font-size: 18px;
  color: #3c3c3c;
}
.searcher__field input:focus {
  outline: 1px solid rgba(26, 142, 241, 0.6);
}
.searcher__field:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(./img/search.svg) center/cover no-repeat;
}
.searcher__btn {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  background-color: transparent;
  border: none;
}
.searcher__items {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.searcher__letter {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 27px;
  text-transform: uppercase;
  color: #0d3060;
  border-bottom: 1px solid #e4e4e4;
  padding: 0 10px 2px 10px;
  margin-bottom: 20px;
}
.searcher__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.searcher__list-item a {
  font-family: var(--third-family);
  font-weight: 400;
  font-size: clamp(16px, 1vw, 18px);
  color: #000;
  text-decoration: none;
  transition: color 0.3s ease;
}
.searcher__list-item a:hover {
  color: #0d3060;
}
.searcher__block:nth-child(2) {
  border-left: 1px dashed #e4e4e4;
  padding-left: 20px;
}
.searcher__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
}
.searcher__nav-btn {
  box-shadow: 0 4px 8px 0 #f4f4f4;
  border-radius: 6px;
  background: #f4f4f4;
  border: none;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s ease;
}
.searcher__nav-btn svg {
  pointer-events: none;
}
.searcher__nav-pagin {
  display: flex;
  align-items: center;
  gap: 5px;
}
.searcher__nav-pagin .pagin-link {
  border: 1px solid rgba(60, 60, 60, 0.6);
  border-radius: 6px;
  padding: 4px 10px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 20px;
  line-height: 130%;
  text-transform: uppercase;
  color: #3c3c3c;
  text-decoration: none;
  transition: 0.3s ease;
}
.searcher__nav-pagin .pagin-link.active {
  background-color: #0d3060;
  border-color: #0d3060;
  color: #fff;
}
.searcher__nav-pagin .pagin-link:hover {
  background-color: #0d3060;
  border-color: #0d3060;
  color: #fff;
}
.students-d,
.u-faq {
  margin: 90px auto;
}
.students-d__title {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(27px, 3vw, 35px);
  text-transform: uppercase;
  text-align: center;
  color: #3c3c3c;
  margin-bottom: clamp(25px, 3vw, 50px);
}
.students-d__items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  row-gap: 30px;
}
.students-d__item-img {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 10px;
  padding: 50%;
  padding-top: 60%;
}
.students-d__item-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.students-d__item-title {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: clamp(16px, 2vw, 18px);
  text-align: center;
  color: #3c3c3c;
}
@media (max-width: 1366px) {
  .d-form__input input {
    width: 100%;
  }
  .offers-d__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 767px) {
  .offers-d__item-text {
    padding: 12px;
    font-size: 16px;
    text-align: center;
  }
  .map-container {
      height: 300px;
  }
}
@media (max-width: 640px) {
  .offers-d__items {
    grid-template-columns: 1fr;
  }
  .hero-d__action {
    grid-template-columns: 1fr;
  }
  .offers-d__item {
    height: 240px;
  }
}
.nav-btn:hover {
  background-color: #0d3060;
  border-color: #0d3060;
}
.nav-btn:hover svg path {
  stroke: #fff;
}
.nav-btn.slick-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
.main .u-reviews {
  margin-top: 90px;
}
.students-d__item.hidden {
  display: none;
}
.students-d__load-more {
  margin: 20px auto;
  padding: 14px 24px;
  border-radius: 10px;
  cursor: pointer;
  background: #fff;
  border: 1px solid #f2dbb2;
  color: #343434;
  font-size: 18px;
  display: block;
}
.students-d__load-more:hover {
  background-color: #eee;
}
.feedback_links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px 0 0 0;
}
.feedback_links .u-faq__link {
  background: #f2dbb2;
  border-radius: 6px;
  padding: 7px 40px;
}
.sort_btn_single {
  background: #fff;
  padding: 3px 10px;
  border-radius: 10px;
  margin: 10px 0;
}
.policy {
  line-height: 2em;
}
.policy ul {
  margin: 10px 20px;
}
.policy table {
  border: 1px solid #999;
}
.modal-c__label--checkbox.privacy-text-new {
  margin-top: 16px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}
.privacy-text-new .wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}
.privacy-text-new .wpcf7-list-item .modal-c__checkbox {
  flex-shrink: 0;
  margin-top: 2px;
  width: 16px;
  height: 16px;
  accent-color: #0d3060;
}
.modal-c__label--checkbox.privacy-text-new span {
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
}
.modal-c__label--checkbox.privacy-text-new span a {
  text-decoration: underline;
  color: #fff;
}
.modal-c__label--checkbox.privacy-text-new span a:hover {
  text-decoration: none;
  color: var(--hero-cream);
}
.privacy-text,
.d-form__policy {
  display: none;
}
/* hero-d, hero-small, hero, u-hero: тёмный фон — белый текст */
.hero-d .modal-c__label--checkbox.privacy-text-new span,
.hero-small .modal-c__label--checkbox.privacy-text-new span,
.hero__content .modal-c__label--checkbox.privacy-text-new span,
.u-hero .modal-c__label--checkbox.privacy-text-new span {
  color: rgba(255, 255, 255, 0.75);
  font-size: 12px;
  line-height: 1.5;
}
.hero-d .modal-c__label--checkbox.privacy-text-new span a,
.hero-small .modal-c__label--checkbox.privacy-text-new span a,
.hero__content .modal-c__label--checkbox.privacy-text-new span a,
.u-hero .modal-c__label--checkbox.privacy-text-new span a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: underline;
}
.hero-d .modal-c__label--checkbox.privacy-text-new span a:hover,
.hero-small .modal-c__label--checkbox.privacy-text-new span a:hover,
.hero__content .modal-c__label--checkbox.privacy-text-new span a:hover,
.u-hero .modal-c__label--checkbox.privacy-text-new span a:hover {
  color: var(--hero-cream);
  text-decoration: none;
}
/* d-form privacy text (внутри .hero-d__form стеклянная карточка) */
.hero-d__form .privacy-text-new .wpcf7-list-item span,
.hero-d__form .modal-c__label--checkbox.privacy-text-new span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}
.cookie-alert {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  background: #fff;
  padding: 20px;
  text-align: center;
  max-width: 100vw;
}
.cookie-alert p {
  display: block;
  float: left;
  text-align: center;
  width: 100%;
}
.cookie-alert a.accept-cookie {
  display: inline-block;
  max-width: 200px;
  background: #0d3060;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
}
.footer__nav-item:has(a[href*="/liczenzii/"]) {
  display: none;
}
.u-content__text li:has(strong) {
  display: block;
}
.u-content__text li:has(strong):before,
.u-content__text li:has(b):before {
  content: none;
}
/*.u-content__text li strong:before,
.u-content__text li b:first-child:before {
  content: "";
  width: 8px;
  min-width: 8px;
  height: 8px;
  display: block;
  background-color: #0d3060;
  border-radius: 50px;
}*/

.u-content__text li:has(strong) strong,
.u-content__text li b {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.u-content__text li:not(:last-child) {
  margin-bottom: 10px;
}

.blog__post-content img,
.u-content__text img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 1024px) {
  .hero-d__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .hero-d__right { order: -1; }
  /* single-new mobile order: img → content → info → form */
  .hero-d--single .hero-d__right  { order: -1; }
  .hero-d--single .hero-d__left   { order: 0; }
  .hero-d--single .hero-d__form   { order: 2; }
  .hero-d--single .u-hero__info   { order: 1; }
  .hero-d--single .hero-info-wrap { order: 1; width: 100%; }
  .hero-d { padding: 48px 0 80px; }
  .u-content__text {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .hero-d { padding: 36px 0 70px; }
  .hero-d__img-card { display: none; }
  .hero-d__bg-ring { display: none; }
  .hero-small__bg-ring--1,
  .hero-small__bg-ring--2 { display: none; }
  .d-form__row {
    flex-wrap: wrap;
  }
  .d-form__row:first-child {
    flex-wrap: wrap;
  }
  .hero-breadcrumbs {
    padding-top: 12px;
  }
  .u-hero__info-item {
      max-width: none;
  }
}

.profile__container {
  max-width: 808px;
  margin-left: auto;
  margin-right: auto;
  padding: 4rem 0;
}

.profile__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.profile__avatar {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  overflow: hidden;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .profile__avatar {
    width: 80px;
    height: 80px;
  }
}

@media (min-width: 1024px) {
  .profile__avatar {
    width: 120px;
    height: 120px;
  }
}

.profile__name {
  font-weight: 600;
  font-size: 1.125rem;
  margin: 0;
}

@media (min-width: 768px) {
  .profile__name {
    font-size: 2rem;
  }
}

.profile__description {
  color: #3c3c3c;
  margin-bottom: 1.5rem;
  line-height: 1.2;
  font-size: 1rem;
}

.profile__stats {
  font-size: 0.875rem;
  color: #6b7280;
  margin-bottom: 1rem;
  border-bottom: 1px solid #d1d5db;
  padding-bottom: 0.5rem;
}

.profile__posts > div + div {
  margin-top: 0.75rem;
}

.profile__posts a {
  color: #000;
  text-decoration: none;
  transition: color 0.15s ease-in-out;
}

.profile__posts a:hover {
  color: #0d3060;
}

.profile__load-more-wrapper {
  text-align: center;
  margin-top: 1.5rem;
}

.profile__load-more-btn {
  background-color: #0d3060;
  color: #fff;
  border: none;
  padding: 0.5rem 1.5rem;
  font-size: 1rem;
  cursor: pointer;
  border-radius: 0.375rem;
  transition: background-color 0.3s ease;
}

.profile__load-more-btn:hover {
  background-color: #0e6cbc;
}

@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.author-link {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}

.author-link__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  transition: opacity 0.2s ease-in-out;
}

.author-link__inner:hover {
  opacity: 0.8;
}

.author-link__avatar {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  overflow: hidden;
  flex-shrink: 0;
}

.profile__avatar img,
.author-link__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-link__name {
  color: #1f2937;
  font-weight: 500;
  font-size: 1rem;
}

.profile-card {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 1rem;
  background-color: #fdfdfd;
  border: 1px solid #ddd;
  border-radius: 12px;
  max-width: 1000px;
  margin: 0 auto;
}

.profile-card--with-photo {
  align-items: stretch;
  flex-direction: column-reverse;
  margin-bottom: 50px;
}

.profile-card__content {
  flex: 1;
}

.profile-card__header {
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}

.profile-card__header--bordered {
  border-bottom: 1px solid #ccc;
}

.profile-card__top-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}

.profile-card__info-block {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.profile-card__info-label {
  font-size: 0.875rem;
  color: #888;
  text-transform: uppercase;
}

.profile-card__position {
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
}

.profile-card__main-section {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.profile-card__contacts-section {
  display: flex;
  flex-direction: column;
}

.contact-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.contact-list--spacing-lg {
  gap: 2rem;
}

.contact-list__item {
  display: flex;
  flex-direction: column;
}

.contact-list__label {
  font-size: 0.875rem;
  color: #666;
  margin-bottom: 0.25rem;
}

.contact-list__value a {
  font-size: 1rem;
  color: #0073aa;
  text-decoration: none;
}

.contact-list__value a:hover {
  text-decoration: underline;
}

.profile-card__bio-section {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #333;
}

.profile-card__bio p {
  margin-bottom: 1rem;
}

.profile-card__photo {
  width: 100%;
}

.profile-card__photo-wrapper {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  background-color: #eaeaea;
}

.profile-card__photo-inner {
  width: 100%;
  height: 100%;
}

.profile-card__photo-inner > img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

@media (min-width: 768px) {

  .profile-card--with-photo {
    flex-direction: row;
  }

  .profile-card {
    flex-direction: row;
    padding: 2rem;
  }

  .profile-card__content {
    width: 66%;
    padding-right: 2rem;
  }

  .profile-card__photo {
    width: 34%;
  }

  .contact-list {
    flex-direction: row;
  }

  .profile-card__photo-wrapper {
    position: sticky;
    top: 50px;
  }

  /* .profile-card__main-section {
                    flex-direction: row;
                    gap: 2rem;
                } */

  /* .profile-card__contacts-section {
                    width: 40%;
                } */

  .profile-card__bio-section {
    font-size: 1rem;
  }
}

@media (min-width: 1151px) {
  .profile-card__photo-wrapper {
    top: 190px;
  }
}

.d-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-wrap: wrap;
}


.clients__inner .slick-prev, .custom-reviews .slick-prev {
    transform: translateX(-100%);
}
.review-redesign {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 75px;
}
.reviews-yandex {
    height: 100%;
    width: 100%;
    min-height: 600px;
}
/* Блок со ссылками на внешние отзывы */
.reviews-external {
  margin: 40px 0;
  padding: 30px;
  background: #f4f4f4;
  border-radius: 20px;
}

.reviews-external__title {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(20px, 2.5vw, 27px);
  text-align: center;
  color: #3c3c3c;
  margin: 0 0 25px 0;
  line-height: 130%;
}

.reviews-external__links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
  max-width: 1000px;
  margin: 0 auto;
}

.reviews-external__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 24px;
  background: #fff;
  border: 2px solid #0d3060;
  border-radius: 10px;
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  color: #3c3c3c;
  transition: all 0.3s ease;
}

.reviews-external__link svg {
  width: 24px;
  height: 24px;
  color: #0d3060;
  transition: transform 0.3s ease;
}

.reviews-external__link:hover {
  background: #0d3060;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(26, 142, 241, 0.3);
}

.reviews-external__link:hover svg {
  color: #fff;
  transform: scale(1.1);
}
/* Стили для социальных сетей и мессенджеров на странице контактов */
.contacts__info-socials,
.contacts__info-messengers {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}

.contacts__social-link,
.contacts__messenger-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #f4f4f4;
  border: 2px solid transparent;
  border-radius: 8px;
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 16px;
  color: #3c3c3c;
  transition: all 0.3s ease;
}

.contacts__social-link svg,
.contacts__messenger-link svg {
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.contacts__social-link:hover,
.contacts__messenger-link:hover {
  border-color: #0d3060;
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(26, 142, 241, 0.2);
}

.contacts__social-link:hover svg,
.contacts__messenger-link:hover svg {
  transform: scale(1.1);
}

/* Специфичные цвета для каждой соц. сети при ховере */
.contacts__social-link:hover:nth-child(1) {
  border-color: #0077FF;
}

.contacts__social-link:hover:nth-child(2) {
  border-color: #000000;
}

.contacts__social-link:hover:nth-child(3) {
  border-color: #0A0A0A;
}

.contacts__messenger-link:hover:nth-child(1) {
  border-color: #25D366;
}

.contacts__messenger-link:hover:nth-child(2) {
  border-color: #229ED9;
}
.contacts .contacts__info-socials, .contacts .contacts__info-item-socials {
    flex-basis: 100%;
}
.contacts .contacts__info-item-socials a:hover {
    text-decoration: none;
}
.contacts .contacts__info-item-socials .contacts__info-title {
    margin-bottom: 5px;
}
/* Кнопка "Загрузить ещё" для блога */
.blog__load-more-wrapper {
  text-align: center;
  margin: 30px 0 20px;
}

.blog__load-more-btn {
  background-color: #0d3060;
  color: #fff;
  border: 2px solid #0d3060;
  border-radius: 10px;
  padding: 14px 40px;
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 18px;
  line-height: 144%;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 250px;
}

.blog__load-more-btn:hover:not(:disabled) {
  background-color: #0e6cbc;
  border-color: #0e6cbc;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(26, 142, 241, 0.3);
}

.blog__load-more-btn:disabled {
  background-color: #aca89d;
  border-color: #aca89d;
  cursor: not-allowed;
  opacity: 0.7;
}

.blog__load-more-btn:active:not(:disabled) {
  transform: translateY(0);
}
.advantages__navigation_new {
    position: relative;
}

@media (max-width: 1000px) {
    .pay-methods {
        padding-bottom: 70px;
    }
    .review-redesign {
        grid-template-columns: repeat(1, 1fr);
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    .u-proff__head-row {
        justify-content: center;
    }
    .u-proff__btn {
      padding: 17px 60px;
  }
   .hero-d__title {
    text-align: center;
   }
    .fs-26 {
        font-weight: 400;
        font-size: 20px;
        line-height: 25px;
    }
    .u-proff__slider-nav {
        justify-content: end;
    }
    .advantages__blocks {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .advantages__blocks-item {
        padding: 20px;
        background: #ffffff;
        position: relative;
        border: 3px solid #e4e4e4;
        border-radius: 20px;
    }
    .reviews-external {
        margin: 25px 0;
        padding: 20px 15px;
      }
  
  .reviews-external__title {
    font-size: 18px;
    margin-bottom: 20px;
  }
  
  .reviews-external__links {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  
  .reviews-external__link {
    padding: 14px 20px;
    font-size: 16px;
  }
  .contacts__info-socials,
  .contacts__info-messengers {
    flex-direction: column;
    width: 100%;
  }
  
  .contacts__social-link,
  .contacts__messenger-link {
    width: 100%;
    justify-content: flex-start;
    padding: 12px 16px;
  }
  .blog__load-more-btn {
    padding: 12px 30px;
    font-size: 16px;
    min-width: 200px;
  }
  .u-hero__list {
    grid-template-columns: repeat(1, 1fr);
    padding: 0 10px;
  }
  .u-futures .u-futures__title {
      text-align: center;
  }
  .u-education__items {
      display: grid;
      grid-template-columns: auto;
      gap: 44px;
    }
}

@media (max-width: 480px) {
  .reviews-external__link span {
    font-size: 15px;
  }
  .contacts__social-link span,
  .contacts__messenger-link span {
    font-size: 18px;
    line-height: 20px;
    color: #3c3c3c;
    font-weight: bold;
  }
  .blog__load-more-wrapper {
    margin: 20px 0 15px;
  }

  .blog__load-more-btn {
    width: 100%;
    max-width: 300px;
  }
  .u-futures__item {
    max-width: 300px;
    margin: auto;
  }
}


/* ===================================
   УЛУЧШЕННАЯ ТИПОГРАФИКА ДЛЯ КОНТЕНТА
   =================================== */

.u-content__text {
  font-size: 18px;
  line-height: 1.7;
  color: #3c3c3c;
}

/* Заголовки в контенте */
.u-content__text h1,
.u-content__text h2,
.u-content__text h3,
.u-content__text h4,
.u-content__text h5,
.u-content__text h6 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #3c3c3c;
  line-height: 1.3;
  margin-top: 40px;
  margin-bottom: 20px;
}

.u-content__text h1 {
  font-size: clamp(28px, 4vw, 35px);
  margin-top: 0;
}

.u-content__text h2 {
  font-size: clamp(24px, 3vw, 30px);
  text-transform: uppercase;
}

.u-content__text h3 {
  font-size: clamp(20px, 2.5vw, 25px);
}

.u-content__text h4 {
  font-size: clamp(18px, 2vw, 22px);
  color: #0d3060;
}

.u-content__text h5,
.u-content__text h6 {
  font-size: clamp(16px, 1.8vw, 20px);
}

/* Параграфы */
.u-content__text p {
  margin: 0 0 20px 0;
  line-height: 1.7;
}

.u-content__text p:last-child {
  margin-bottom: 0;
}

/* Жирный текст */
.u-content__text strong,
.u-content__text b {
  font-weight: 700;
  color: #0d3060;
}

/* Курсив */
.u-content__text em,
.u-content__text i {
  font-style: italic;
}

/* Ссылки */
.u-content__text a {
  color: #0d3060;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.u-content__text a:hover {
  color: #0e6cbc;
  text-decoration: none;
}

/* Списки */
.u-content__text ul,
.u-content__text ol {
  margin: 20px 0 30px 0;
  padding-left: 0;
  list-style: none;
}

.u-content__text ul li,
.u-content__text ol li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 12px;
  line-height: 1.6;
}

.u-content__text ul li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background-color: #0d3060;
  border-radius: 50%;
}

.u-content__text ol {
  counter-reset: item;
}

.u-content__text ol li {
  counter-increment: item;
}

.u-content__text ol li:before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: #0d3060;
  background: none;
  width: auto;
  height: auto;
}

/* Вложенные списки */
.u-content__text ul ul,
.u-content__text ol ul,
.u-content__text ul ol,
.u-content__text ol ol {
  margin: 10px 0 10px 20px;
}

/* Таблицы */
.u-content__text table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.u-content__text table thead {
  background: #0d3060;
}

.u-content__text table thead th {
  color: #fff;
  font-weight: 700;
  text-align: left;
  padding: 15px 20px;
  font-size: 18px;
}

.u-content__text table tbody tr {
  border-bottom: 1px solid #f4f4f4;
}

.u-content__text table tbody tr:last-child {
  border-bottom: none;
}

.u-content__text table tbody tr:nth-child(even) {
  background: #f9f9f9;
}

.u-content__text table tbody td {
  padding: 15px 20px;
  font-size: 16px;
  color: #3c3c3c;
  line-height: 1.5;
}

.u-content__text table tbody td strong,
.u-content__text table tbody td b {
  font-weight: 700;
  color: #3c3c3c;
}

/* Адаптивные таблицы */
@media (max-width: 768px) {
  .u-content__text table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .u-content__text table thead th,
  .u-content__text table tbody td {
    padding: 12px 15px;
    font-size: 14px;
  }
}

/* Изображения */
.u-content__text img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  margin: 30px 0;
  display: block;
}

.u-content__text .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.u-content__text .alignleft {
  float: left;
  margin: 10px 30px 20px 0;
}

.u-content__text .alignright {
  float: right;
  margin: 10px 0 20px 30px;
}

/* Цитаты */
.u-content__text blockquote {
  position: relative;
  margin: 30px 0;
  padding: 25px 25px 25px 60px;
  background: #f4f4f4;
  border-left: 5px solid #0d3060;
  border-radius: 10px;
  font-style: italic;
  color: #3c3c3c;
}

.u-content__text blockquote:before {
  content: "";
  position: absolute;
  left: 15px;
  top: 15px;
  font-size: 60px;
  color: #0d3060;
  line-height: 1;
  font-family: Georgia, serif;
}

.u-content__text blockquote p {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
}

.u-content__text blockquote p:last-child {
  margin-bottom: 0;
}

/* Код */
.u-content__text code {
  background: #f4f4f4;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Courier New', monospace;
  font-size: 14px;
  color: #d63384;
}

.u-content__text pre {
  background: #f4f4f4;
  padding: 20px;
  border-radius: 10px;
  overflow-x: auto;
  margin: 30px 0;
}

.u-content__text pre code {
  background: none;
  padding: 0;
  color: #3c3c3c;
}

/* Горизонтальная линия */
.u-content__text hr {
  border: none;
  border-top: 2px solid #e4e4e4;
  margin: 40px 0;
}

/* Специальные блоки с классами WordPress */
.u-content__text .wp-block-quote {
  margin: 30px 0;
  padding: 25px;
  background: #f4f4f4;
  border-left: 5px solid #0d3060;
  border-radius: 10px;
}

.u-content__text .wp-block-image {
  margin: 30px 0;
}

.u-content__text .wp-block-image figcaption {
  text-align: center;
  font-size: 14px;
  color: #6b7280;
  margin-top: 10px;
  font-style: italic;
}

/* Кнопки в контенте */
.u-content__text .wp-block-button__link,
.u-content__text .btn-content {
  display: inline-block;
  background: #0d3060;
  color: #fff;
  padding: 12px 30px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  transition: all 0.3s ease;
  margin: 10px 0;
}

.u-content__text .wp-block-button__link:hover,
.u-content__text .btn-content:hover {
  background: #0e6cbc;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(26, 142, 241, 0.3);
}

/* Видео */
.u-content__text iframe,
.u-content__text video {
  max-width: 100%;
  border-radius: 10px;
  margin: 30px 0;
}

/* Очистка float */
.u-content__text:after {
  content: "";
  display: table;
  clear: both;
}

/* Особые стили для элементов с маркерами в виде галочек */
.u-content__text .checklist li:before {
  content: "✓";
  background: none;
  width: auto;
  height: auto;
  color: #48c95f;
  font-weight: 700;
  font-size: 18px;
  top: 0;
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
  .u-content__text {
    font-size: 16px;
  }
  
  .u-content__text h1 {
    font-size: 24px;
  }
  
  .u-content__text h2 {
    font-size: 22px;
    margin-top: 30px;
  }
  
  .u-content__text h3 {
    font-size: 20px;
  }
  
  .u-content__text h4 {
    font-size: 18px;
  }
  
  .u-content__text blockquote {
    padding: 20px 20px 20px 50px;
  }
  
  .u-content__text blockquote:before {
    font-size: 40px;
    left: 10px;
    top: 10px;
  }
  
  .u-content__text .alignleft,
  .u-content__text .alignright {
    float: none;
    margin: 20px 0;
  }
  
  .u-content__text img {
    margin: 20px 0;
  }
}

/* Дополнительные улучшения для page-content__text */
.page-content__text {
  display: block;
}

.page-content__text > * {
  animation: fadeIn 0.5s ease-in;
}

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

/* Стили для маркированных списков с иконкой галочки */
.u-content__text ul.check-list li:before {
  content: "";
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2348c95f"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>') center/contain no-repeat;
  width: 16px;
  height: 16px;
  border-radius: 0;
  top: 4px;
}

/* Стили для markdown контента */
.markdown-main-panel {
  max-width: 100%;
}

/* Улучшение отображения таблиц с ценами/характеристиками */
.u-content__text table td:first-child {
  font-weight: 500;
}

/* Стили для блоков с важной информацией */
.u-content__text .info-block {
  background: #d5eaff;
  border-left: 5px solid #0d3060;
  padding: 20px 25px;
  margin: 30px 0;
  border-radius: 10px;
}

.u-content__text .info-block p:last-child {
  margin-bottom: 0;
}

/* Стили для FAQ в контенте */
.u-content__text .faq-item {
  margin-bottom: 20px;
  padding: 20px;
  background: #f9f9f9;
  border-radius: 10px;
  border-left: 3px solid #0d3060;
}

.u-content__text .faq-question {
  font-weight: 700;
  font-size: 18px;
  color: #3c3c3c;
  margin-bottom: 10px;
}

.u-content__text .faq-answer {
  color: #3c3c3c;
  line-height: 1.6;
}

/* Стили для выделенных блоков */
.u-content__text .highlight-box {
  background: #fff9e6;
  border: 2px solid #f2dbb2;
  padding: 25px;
  margin: 30px 0;
  border-radius: 10px;
}

/* Улучшение читаемости длинных текстов */
.u-content__text {
  text-align: left;
  hyphens: auto;
}

@media (max-width: 768px) {
   .clients {
        padding-top: 50px;
    }
  .advantages__blocks-item {
      width: auto;
  }
  .u-content__text {
    text-align: left;
    hyphens: none;
  }
  .quiz__step-content > label {
        width: 100%;
    }
    .quiz__content label > span {
        padding: 20px 0;
        width: 100%;
    }
    .quiz__btn {
        width: 100%;
        margin-left: 0;
    }
    .main-unique-single .quiz__content .title {
        font-size: 22px;
        line-height: normal;
        height: auto;
    }
    .main-unique-single .quiz__content .title br {
        display: none;
    }
    .n-spec-item {
        grid-template-columns: 1fr;
    }
    .n-spec-left {
        flex-direction: column;
        gap: 40px;
    }
    .n-spec-items {
        max-height: none !important;
    }
    .n-spec-prices {
        margin: auto;
    }
    .u-education__img img {
        max-width: 100%;
    }
    .feedback__form {
      margin-top: 10px;
    }
    .clients__item img {
        width: 125px;
        height: auto;
    }
    .hero__info {
        padding: 20px;
        row-gap: 25px;
    }
    .breadcrumbs {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 5px;
        margin-top: 20px;
        padding: 0 15px;
    }
    
    .breadcrumbs li {
        display: inline-flex;
        align-items: center;
    }
    
    /* Все элементы кроме активного */
    .breadcrumbs li:not(.active) {
        flex-shrink: 0;
    }
    
    .breadcrumbs li:not(.active) a {
        white-space: nowrap;
        font-size: 13px;
    }
    
    /* Активный элемент (последний) */
    .breadcrumbs li.active {
        flex-basis: 100%;
        justify-content: center;
        margin-top: 8px;
    }
    
    .breadcrumbs li.active::before {
        content: none !important; /* Убираем стрелку перед активным элементом */
    }
    
    .breadcrumbs li.active span {
        white-space: normal;
        word-break: break-word;
        text-align: center;
        color: #0d3060;
        font-weight: 600;
        display: block;
        padding-top: 5px;
    }
    
    /* Стрелки между элементами */
    .breadcrumbs li + li:not(.active)::before {
        margin: 0 5px;
        flex-shrink: 0;
    }
    .feedback__block .wpcf7-form {
        margin-top: 30px;
    }
    .u-hero__cols {
        gap: 15px;
    }
}
.hero__img {
  margin: auto;
}
.hero__img img {
  border-radius: 16px;
  filter: drop-shadow(0 8px 28px rgba(0, 0, 0, 0.3));
}

/* ========================================================
   HERO — дополнительные переопределения (продающий стиль)
   ======================================================== */

/* Кнопка отправки формы в .hero и .hero-small контекстах */
.hero .btn,
.hero-small .btn {
  background: #f2dbb2 !important;
  color: #3c3c3c !important;
  border-color: transparent !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 20px rgba(26, 142, 241, 0.2);
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  animation: hero-btn-pulse 2.8s ease-in-out infinite;
}
.hero .btn:hover,
.hero-small .btn:hover {
  background: #aca89d !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(26, 142, 241, 0.3) !important;
  animation: none;
}

/* Инпуты внутри hero / hero-small — скруглённые, с фокус-кольцом */
.hero .input,
.hero-small .input {
  border-radius: 10px !important;
  border: 2px solid rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}
.hero .input:focus,
.hero-small .input:focus {
  border-color: #f2dbb2 !important;
  box-shadow: 0 0 0 3px rgba(26, 142, 241, 0.2) !important;
  outline: none;
}

/* u-hero img — тень и скругление */
.u-hero__img img {
  border-radius: 18px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

/* hero-d img */
.hero-d__img img {
  border-radius: 0;
  box-shadow: none;
}

/* ─── Breadcrumbs inside hero blocks ────────────── */
.hero-breadcrumbs {
  position: relative;
  z-index: 2;
  padding-top: 22px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 24px;
}
.hero-breadcrumbs .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.hero-breadcrumbs .breadcrumbs li {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
}
.hero-breadcrumbs .breadcrumbs li a,
.hero-breadcrumbs .breadcrumbs li span {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  transition: color 0.2s ease;
}
.hero-breadcrumbs .breadcrumbs li:last-child span {
  color: rgba(255, 255, 255, 0.85);
  font-weight: 600;
}
.hero-breadcrumbs .breadcrumbs li a:hover {
  color: rgba(255, 255, 255, 0.9);
}
/* first item — home icon */
.hero-breadcrumbs .breadcrumbs li:first-child a {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: auto;
  font-size: 13px;
  background: none;
}
.hero-breadcrumbs .breadcrumbs li:first-child a span {
  display: inline;
}
/* В hero показываем текстовую «Главная», а не SVG-иконку дома из глобальных
   .breadcrumbs li:first-child a::before — иначе они слипаются. */
.hero-breadcrumbs .breadcrumbs li:first-child a::before {
  display: none;
}
/* separator */
.hero-breadcrumbs .breadcrumbs li + li::before {
  content: '›';
  color: rgba(255, 255, 255, 0.3);
  margin: 0 6px;
  font-size: 15px;
  line-height: 1;
  background: none;
}
.hero-breadcrumbs .breadcrumbs img {
  display: none;
}

/* ─── u-hero cols: list stacked above form ─── */
.u-hero__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  position: relative;
  z-index: 1;
  max-width: 680px;
}

/* ─── u-hero form: glass card ─── */
.u-hero__form {
  background: var(--hero-glass);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--hero-border);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  position: relative;
}
.u-hero__form::before {
  content: 'Бесплатная консультация';
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #22c55e;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.u-hero__form .hero__form {
  display: flex;
  flex-direction: column;
  margin: 0;
  gap: 10px;
}
.u-hero__form .form__block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.u-hero__form .hero__privacy-wrapper {
  margin: 0;
}
.u-hero__form .btn {
  width: 100%;
  background: var(--hero-cream) !important;
  color: #3c3c3c !important;
  border: none !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 20px rgba(26, 142, 241, 0.2);
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  animation: hero-btn-pulse 2.8s ease-in-out infinite;
}
.u-hero__form .btn:hover {
  background: #e8cf9f !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(26, 142, 241, 0.3) !important;
  animation: none;
}
.u-hero__form .input {
  max-width: 100%;
  border-radius: 10px;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  padding: 14px 14px;
  height: 50px;
  font-size: 15px;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}
.u-hero__form .input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}
.u-hero__form .input:focus {
  border-color: rgba(26, 142, 241, 0.8);
  background: rgba(255, 255, 255, 0.18);
  box-shadow: 0 0 0 3px rgba(26, 142, 241, 0.18);
  outline: none;
}

/* ─── u-hero image ─── */
.u-hero__right {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  z-index: 1;
}
.u-hero__img {
  position: relative;
  width: 100%;
  height: 400px;
  border-radius: 18px;
  overflow: hidden;
}
.u-hero__img img {
  border-radius: 0;
  filter: drop-shadow(0 16px 40px rgba(0,0,0,0.3));
}
/* Form in right column — desktop only */
.u-hero__form-right {
  display: block;
}
/* Form in content col — mobile only (hidden on desktop) */
.u-hero__form-mobile {
  display: none;
}

/* hero-d контент z-index выше декоративных кругов */
.hero-d .container,
.hero .container,
.hero-small .container,
.u-hero .container {
  position: relative;
  z-index: 1;
}
.page-template .clients {
    margin-bottom: 50px;
}
.page-template-default .container > nav {
    margin-bottom: 30px;
}

/* =============================================================
   FIND V2 — Premium поисковый блок
   ============================================================= */

.find-v2 {
  padding: 64px 0 40px;
  background: linear-gradient(160deg, #f0f5ff 0%, #f8faff 50%, #eef4ff 100%);
  position: relative;
  overflow: hidden;
}

.find-v2::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -120px;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(26, 142, 241, 0.06) 0%, transparent 70%);
  pointer-events: none;
}

.find-v2::after {
  content: '';
  position: absolute;
  bottom: -80px;
  left: -80px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(26, 142, 241, 0.04) 0%, transparent 70%);
  pointer-events: none;
}

.find-v2 .container {
  position: relative;
  z-index: 1;
}

.find-v2__title {
  text-transform: uppercase;
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 800;
  color: #0f1728;
  margin-bottom: 32px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: -0.5px;
}

.find-v2__title::after {
  content: '';
  display: block;
  width: 52px;
  height: 3px;
  background: linear-gradient(90deg, #05192e, #5bb8ff);
  border-radius: 2px;
  margin: 12px auto 0;
}

/* ---- Строка: вкладки + кнопка сброса ---- */
.find-v2__tabs-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

/* ---- Вкладки направлений ---- */
.find-v2__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 1;
}

.find-v2__tab {
  cursor: pointer;
}

.find-v2__tab input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.find-v2__tab span {
  display: inline-block;
  padding: 9px 20px;
  border-radius: 24px;
  border: 1.5px solid #d4daf0;
  font-size: 14px;
  font-weight: 500;
  color: #5a5f7a;
  background: rgba(255,255,255,0.85);
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.15s;
  white-space: nowrap;
  user-select: none;
  line-height: normal;
}

.find-v2__tab input[type="radio"]:checked + span {
  background: linear-gradient(135deg, #05192e 0%, #0d72d6 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 16px rgba(26, 142, 241, 0.35);
  transform: translateY(-1px);
}

.find-v2__tab:hover span {
  border-color: #0d3060;
  color: #0d3060;
  background: #fff;
}

.find-v2__tab input[type="radio"]:checked + span:hover {
  color: #fff;
  transform: translateY(-1px);
}

/* ---- Поиск ---- */
.find-v2__search-wrap {
  position: relative;
  margin-bottom: 14px;
}

.find-v2__search-input {
  width: 100%;
  padding: 14px 90px 14px 20px;
  border: 1.5px solid #d4daf0;
  border-radius: 12px;
  font-size: 16px;
  font-family: inherit;
  color: #0f1728;
  background: rgba(255,255,255,0.9);
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(26,100,200,0.04);
}

.find-v2__search-input::placeholder {
  color: #aab0c4;
}

.find-v2__search-input:focus {
  border-color: #0d3060;
  box-shadow: 0 0 0 4px rgba(26, 142, 241, 0.12), 0 2px 8px rgba(26,100,200,0.06);
  background: #fff;
}

.find-v2__search-icon {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  display: flex;
  opacity: 0.5;
  transition: opacity 0.2s;
}

.find-v2__search-clear {
  position: absolute;
  right: 48px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  color: #aab0c4;
  padding: 5px;
  line-height: 1;
  transition: color 0.15s;
}

.find-v2__search-clear:hover {
  color: #0d3060;
}

.find-v2__search-clear.is-visible {
  display: flex;
}

/* ---- Алфавит ---- */
.find-v2__alphabet {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 14px 18px;
  background: rgba(255,255,255,0.92);
  border: 1.5px solid #d4daf0;
  border-radius: 12px;
  margin-bottom: 16px;
  box-shadow: 0 2px 12px rgba(26,100,200,0.05);
}

.find-v2__letter {
  cursor: pointer;
}

.find-v2__letter input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.find-v2__letter span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  border-radius: 7px;
  font-size: 14px;
  font-weight: 500;
  color: #3a4060;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, transform 0.12s, box-shadow 0.15s;
  user-select: none;
  padding: 0 4px;
}

.find-v2__letter--all span {
  padding: 0 10px;
  color: #05192e;
  font-weight: 700;
}

.find-v2__letter input[type="radio"]:checked + span {
  background: linear-gradient(135deg, #05192e 0%, #0d72d6 100%);
  color: #fff;
  box-shadow: 0 2px 10px rgba(26, 142, 241, 0.35);
  transform: scale(1.08);
}

.find-v2__letter--all input[type="radio"]:checked + span {
  background: linear-gradient(135deg, #05192e 0%, #0d72d6 100%);
  color: #fff;
}

.find-v2__letter--disabled span {
  color: #ccd0de;
  cursor: default;
}

.find-v2__letter:not(.find-v2__letter--disabled):hover span {
  background: #e0eeff;
  color: #0d3060;
  transform: scale(1.1);
}

.find-v2__letter input[type="radio"]:checked + span:hover {
  background: linear-gradient(135deg, #0d3060 0%, #0d72d6 100%);
  color: #fff;
  transform: scale(1.08);
}

/* ---- Кнопка сброса ---- */
.find-v2__reset {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.8);
  border: 1.5px solid #d4daf0;
  border-radius: 24px;
  padding: 9px 16px;
  font-size: 13px;
  font-family: inherit;
  color: #7a7f9a;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s, background 0.2s, box-shadow 0.2s;
  line-height: normal;
  white-space: nowrap;
  flex-shrink: 0;
}

.find-v2__reset:hover {
  border-color: #ff0055;
  color: #ff0055;
  background: rgba(255,0,85,0.04);
  box-shadow: 0 2px 8px rgba(255,0,85,0.10);
}

/* ---- Кнопка «Получить консультацию» под формой find-v2 ---- */
.find-v2__cta {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}
.find-v2__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--dh-gold, #f2dbb2);
  color: var(--dh-dark, #1b2838);
  border: none;
  padding: 14px 32px;
  font-family: var(--font-family);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  border-radius: var(--dh-radius, 10px);
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: all .3s cubic-bezier(.4,0,.2,1);
}
.find-v2__cta-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transform: translateX(-100%);
  transition: transform .6s ease;
}
.find-v2__cta-btn:hover {
  background: #0d3060;
  border-color: #0d3060;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(13,48,96,.25);
}
.find-v2__cta-btn:hover::before {
  transform: translateX(100%);
}
.find-v2__cta-btn svg {
  transition: transform .3s ease;
  flex-shrink: 0;
}
.find-v2__cta-btn:hover svg {
  transform: translateX(3px);
}

/* ---- Блок «Все виды аттестации» (sections/types-attestaciya.php) ---- */
.types-att {
  padding: 60px 0;
}
.types-att__title {
  margin: 0 0 30px;
}
.types-att__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.types-att__card {
  background: #fff;
  border-radius: 16px;
  padding: 30px 26px 32px;
  box-shadow: 0 4px 24px rgba(13, 48, 96, 0.06);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.types-att__icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0d3060; /* для SVG с currentColor */
}
.types-att__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.types-att__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.types-att__card-title {
  font-family: var(--font-family);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #0d3060;
  margin-top: 6px;
  line-height: 1.25;
}
.types-att__card-desc {
  font-family: var(--font-family);
  font-size: 15px;
  line-height: 1.5;
  color: #6b7da0;
}
@media (max-width: 1024px) {
  .types-att__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .types-att {
    padding: 40px 0;
  }
  .types-att__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .types-att__card {
    padding: 24px 22px 26px;
  }
}

/* ---- SEO-блоки на архивах CPT (sections/seo-block.php) ---- */
.seo-block {
  padding: 50px 0;
}
.seo-block__inner {
  margin: 0 auto;
}
/* Head зеркалит about-process__head: центровка, eyebrow-пилюлька, H2, lead. */
.seo-block__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 40px;
}
.seo-block__eyebrow {
  display: inline-block;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1a8ef1;
  padding: 8px 16px;
  background: rgba(26, 142, 241, 0.08);
  border-radius: 100px;
  margin-bottom: 18px;
}
.seo-block__title {
  margin: 0 0 16px;
}
.u-content__text .seo-block__head .seo-block__title {
  margin-top: 0;
}
.seo-block__lead {
  font-family: var(--font-family);
  font-size: 17px;
  line-height: 1.6;
  color: #5f6b7c;
  margin: 0;
}
.seo-block__content {
  font-size: 17px;
  line-height: 1.7;
}
/* Изображения, вставленные в WYSIWYG, не должны растягиваться на всю ширину блока.
   Сбрасываем width:100% из .u-content__text — оставляем естественный размер,
   но кепаем на ширину контейнера. */
.seo-block .u-content__text img,
.seo-block__content img {
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.seo-block + .seo-block {
  padding-top: 0;
}
@media (max-width: 768px) {
  .seo-block {
    padding: 30px 0;
  }
}

/* ---- Блок результатов ---- */
.find-v2__results-wrap {
  background: rgba(255,255,255,0.97);
  border: 1.5px solid #d4daf0;
  border-radius: 16px;
  padding: 28px 32px 32px;
  box-shadow: 0 4px 32px rgba(26,100,200,0.08), 0 1px 4px rgba(26,100,200,0.04);
}

.find-v2__results-wrap .find__results {
  transition: opacity 0.3s ease;
  min-height: 100px;
}

.find-v2__results-wrap .find__results.is-loading {
  opacity: 0.35;
  pointer-events: none;
}

.find-v2__results-wrap .find__list {
  gap: 0;
}

.find-v2__results-wrap .find__list .find__item {
  transition: background 0.18s, padding-left 0.18s;
  border-radius: 8px;
  padding-left: 6px;
}

.find-v2__results-wrap .find__list .find__item:hover {
  background: #f0f6ff;
  padding-left: 14px;
}

.find-v2__results-wrap .find__list a {
  font-size: 15.5px;
  color: #1e2340;
  text-decoration: none;
  transition: color 0.18s;
  line-height: 1.55;
  display: block;
  padding: 5px 0;
}

.find-v2__results-wrap .find__list a:hover {
  color: #0d3060;
}

.find-v2__results-wrap .find-firstLetter {
  font-size: 18px;
  font-weight: 800;
  color: #05192e;
  border-bottom: 2px solid #e8f0fe;
  padding: 14px 0 6px;
  margin-top: 6px;
  margin-bottom: 2px;
  line-height: normal;
  letter-spacing: 0.5px;
}

.find-v2__results-wrap .find__list > .find-firstLetter:first-child {
  margin-top: 0;
  padding-top: 0;
}

/* пустой результат */
.find-v2__empty {
  padding: 56px 0;
  text-align: center;
  color: #aab0c4;
  font-size: 16px;
}

/* ---- Пагинация внутри find-v2 ---- */
.find-v2__results-wrap .find-pagination {
  margin-top: 40px;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
}

.find-v2__results-wrap .find-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1.5px solid #d4daf0;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #3a4060;
  background: #fff;
  text-decoration: none;
  line-height: 1;
  transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.15s;
  text-transform: none;
  box-shadow: 0 1px 4px rgba(26,100,200,0.05);
}

.find-v2__results-wrap .find-pagination .page-numbers.current {
  background: linear-gradient(135deg, #05192e 0%, #0d72d6 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 16px rgba(26, 142, 241, 0.40);
  transform: translateY(-1px);
}

.find-v2__results-wrap .find-pagination a.page-numbers:hover {
  border-color: #0d3060;
  color: #0d3060;
  background: #e8f3fe;
  box-shadow: 0 4px 14px rgba(26,142,241,0.15);
  transform: translateY(-2px);
}

/* Стрелки prev/next — чистый CSS, без SVG-файла */
.find-v2__results-wrap .find-pagination .page-numbers.prev,
.find-v2__results-wrap .find-pagination .page-numbers.next {
  font-size: 0;
  width: 42px;
  padding: 0;
  background-image: none;
  transform: none;
}

.find-v2__results-wrap .find-pagination .page-numbers.prev::before,
.find-v2__results-wrap .find-pagination .page-numbers.next::before {
  content: '';
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-radius: 1px;
}

.find-v2__results-wrap .find-pagination .page-numbers.prev::before {
  border-left: 2px solid currentColor;
  transform: rotate(-45deg) translate(1px, -1px);
}

.find-v2__results-wrap .find-pagination .page-numbers.next::before {
  border-right: 2px solid currentColor;
  transform: rotate(45deg) translate(-1px, -1px);
}

.find-v2__results-wrap .find-pagination a.page-numbers.prev:hover,
.find-v2__results-wrap .find-pagination a.page-numbers.next:hover {
  transform: translateY(-2px);
}

.find-v2__results-wrap .find-pagination .page-numbers.dots {
  border-color: transparent;
  background: none;
  color: #aab0c4;
  box-shadow: none;
  min-width: auto;
  padding: 0 4px;
  letter-spacing: 1px;
  transform: none !important;
}

/* ---- Адаптив ---- */
@media (max-width: 900px) {
  .find-v2__results-wrap {
    padding: 20px 18px 24px;
  }
}

@media (max-width: 600px) {
  .find-v2 {
    padding: 40px 0 52px;
  }

  .find-v2__tabs-row {
    gap: 6px;
  }

  .find-v2__tabs {
    gap: 6px;
  }

  .find-v2__tab span {
    padding: 7px 14px;
    font-size: 13px;
  }

  .find-v2__reset {
    padding: 7px 12px;
    font-size: 12px;
  }

  .find-v2__alphabet {
    padding: 10px 12px;
    gap: 3px;
  }

  .find-v2__letter span {
    min-width: 28px;
    height: 28px;
    font-size: 13px;
  }

  .find-v2__letter--all span {
    padding: 0 8px;
  }

  .find-v2__results-wrap .find-pagination .page-numbers {
    min-width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .find-v2__results-wrap .find-pagination .page-numbers.prev,
  .find-v2__results-wrap .find-pagination .page-numbers.next {
    width: 36px;
  }
}

@media (max-width: 992px) {
    .hero-small {
        margin-bottom: 50px;
    }
}

/* ============================================================
   БЕЗОПАСНОСТЬ — шаблоны + find-v2 + главная
   ============================================================ */

/* --- Архив раздела: сетка категорий --- */
.bsf-cats {
    padding: 60px 0 80px;
    background: #f8faff;
}
.bsf-cats__title {
    margin-bottom: 40px;
}
.bsf-cats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.bsf-cats__item {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e8edf8;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .25s, transform .25s;
}
.bsf-cats__item:hover {
    box-shadow: 0 8px 30px rgba(13,48,96,.14);
    transform: translateY(-3px);
}
.bsf-cats__item:hover .bsf-cats__item-name {
  color: #1a8ef1;
}
.bsf-cats__item-img {
    position: relative;
    height: 175px;
    overflow: hidden;
    background: #dde8f8;
}
.bsf-cats__item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.bsf-cats__item:hover .bsf-cats__item-img img {
    transform: scale(1.05);
}
.bsf-cats__item-count {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(0, 0, 0, 0.52);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 6px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    line-height: 1;
}
.bsf-cats__item-name {
    padding: 14px 16px;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.35;
    color: #1a1a2e;
}
.bsf-cats__empty {
    color: #666;
    font-size: 16px;
    text-align: center;
    padding: 40px 0;
}

/* --- Архив категории: список курсов --- */
.bsf-archive {
    padding: 60px 0 80px;
}
.bsf-archive__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 60px;
    margin-bottom: 40px;
}
.bsf-archive__item {
    display: flex;
    flex-direction: column;
    border: 1px solid #e8edf8;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow .25s, transform .25s;
}
.bsf-archive__item:hover {
    box-shadow: 0 8px 30px rgba(13,48,96,.12);
    transform: translateY(-2px);
}
.bsf-archive__img {
    display: block;
    height: 190px;
    overflow: hidden;
    background: #dde8f8;
}
.bsf-archive__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    display: block;
}
.bsf-archive__item:hover .bsf-archive__img img {
    transform: scale(1.04);
}
.bsf-archive__content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px 20px 20px;
    flex: 1;
}
.bsf-archive__title {
    text-align: left;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.45;
    color: #0d3060;
    text-decoration: none;
    transition: color .2s;
}
.bsf-archive__title:hover {
    color: #1a8ef1;
}
.bsf-archive__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.bsf-archive__meta-item {
    font-size: 12px;
    font-weight: 500;
    color: #4a6080;
    background: #eef4ff;
    border: 1px solid #d8e8ff;
    padding: 3px 10px;
    border-radius: 100px;
    line-height: 1.5;
}
.bsf-archive__prices {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 6px;
}
.bsf-archive__price-old {
    font-size: 14px;
    color: #aaa;
    text-decoration: line-through;
}
.bsf-archive__price-now {
    font-size: 20px;
    font-weight: 700;
    color: #0d3060;
}
.bsf-archive__btn {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 10px;
    padding: 12px 0;
    font-size: 15px;
}
.bsf-archive__empty {
    text-align: center;
    color: #666;
    font-size: 16px;
    padding: 40px 0;
}

/* --- Карусель похожих курсов (single-bezopasnost.php) --- */
.bsf-related {
    padding: 60px 0 80px;
    background: #eef4ff;
}
.bsf-related__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
}
.bsf-related__title {
    margin-bottom: 0;
}
.bsf-related__nav {
    display: flex;
    gap: 12px;
}
.bsf-related__prev,
.bsf-related__next {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    line-height: 0;
}
.bsf-related__prev:hover path:last-child,
.bsf-related__next:hover path:last-child {
    stroke: #1a8ef1;
}
/* overflow: hidden на самом слайдере критичен — иначе negative-margin -10px
   у .slick-list (нужен чтобы компенсировать margin: 0 10px на u-proff__item)
   вылезает за края, а .container без overflow → горизонтальный скролл
   страницы на мобилке. Стрелки лежат вне .bsf-related__slider в .bsf-related__nav,
   так что клип их не задевает. */
.bsf-related__slider {
    overflow: hidden;
}
.bsf-related__slider .slick-list {
    margin: 0 -10px;
}
.bsf-related__slider .u-proff__item {
    margin: 0 10px;
}
/* Equal-height slides for bsf-related__slider */
.bsf-related__slider .slick-track {
    display: flex;
    align-items: stretch;
}
.bsf-related__slider .slick-slide {
    height: inherit;
    display: flex !important;
}
.bsf-related__slider .slick-slide > div {
    display: flex;
    flex-direction: column;
    width: 100%;
    flex: 1;
}
.bsf-related__slider .slick-slide .u-proff__item {
    height: 100%;
    flex: 1;
}

/* --- Блок «Безопасность» на главной --- */
.home-bsf {
    padding: 80px 0;
}
.home-bsf.home-bsf--attestaciya {
  padding-top: 0;
}
.home-bsf__head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 20px;
}
.home-bsf__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #1a8ef1;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 12px;
}
.home-bsf__title {
    margin-bottom: 12px;
}
.home-bsf__desc {
    font-size: 16px;
    color: #555;
    line-height: 1.6;
    max-width: 540px;
}
.home-bsf__all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 16px;
    color: #1a8ef1;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}
.home-bsf__all-link:hover {
    text-decoration: underline;
}
.home-bsf__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 40px;
}
.home-bsf__item {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e8edf8;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .25s, transform .25s;
}
.home-bsf__item:hover {
    box-shadow: 0 8px 30px rgba(13,48,96,.14);
    transform: translateY(-3px);
}
.home-bsf__item-img {
    position: relative;
    height: 160px;
    overflow: hidden;
    background: #dde8f8;
}
.home-bsf__item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.home-bsf__item:hover .home-bsf__item-img img {
    transform: scale(1.05);
}
.home-bsf__item-count {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(0, 0, 0, 0.52);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 6px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    line-height: 1;
}
.home-bsf__item-name {
    padding: 13px 15px;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.35;
    color: #1a1a2e;
}
.home-bsf__footer {
    text-align: center;
}
.home-bsf__btn {
    display: inline-block;
}
.home-bsf__footer .btn {
    text-transform: none;
}
.home-bsf__item:hover .home-bsf__item-name {
    color: #1a8ef1;
}

/* --- Адаптив --- */
@media (max-width: 768px) {
    .bsf-cats__grid {
        grid-template-columns: 1fr 1fr;
    }
    .bsf-archive__grid {
        grid-template-columns: 1fr 1fr;
    }
    .home-bsf__head {
        flex-direction: column;
        align-items: flex-start;
    }
    .home-bsf__grid {
        grid-template-columns: 1fr 1fr;
    }
    .home-bsf__item-img {
        height: 220px;
    }
    .bsf-related__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .bsf-archive__title {
      font-size: 16px;
  }
    .bsf-archive__grid {
      margin-top: 30px;
  }
}
@media (max-width: 480px) {
    .bsf-cats__grid,
    .home-bsf__grid {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════
   OCHNO PRACTICE BLOCK (toggle/tab version)
   ═══════════════════════════════════════════════════════════ */
.ochno-block {
    background: #fff;
    padding: 64px 0 72px;
}
.ochno-block__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 40px;
    gap: 16px;
}
/* Toggle pill switcher */
.ochno-block__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #1a8ef1;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 12px;
}
.ochno-block__toggle {
    display: inline-flex;
    background: #f1f5fd;
    border: 1px solid #dce8ff;
    border-radius: 50px;
    padding: 4px;
    gap: 2px;
}
.ochno-block__toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 22px;
    border-radius: 50px;
    border: none;
    background: transparent;
    color: #6b7280;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    white-space: nowrap;
}
.ochno-block__toggle-btn--active {
    background: #fff;
    color: #0d3060;
    box-shadow: 0 2px 12px rgba(13,48,96,0.12);
}
.ochno-block__toggle-btn:not(.ochno-block__toggle-btn--active):hover {
    color: #0d3060;
    background: rgba(255,255,255,0.5);
}

/* Tab panels */
.ochno-block__tab {
    display: none;
}
.ochno-block__tab--active {
    display: block;
}

/* Tab header */
.ochno-block__tab-head {
    text-align: center;
    margin-bottom: 40px;
}
.ochno-block__tab-sub {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #3b82f6;
    margin-bottom: 12px;
}
.ochno-block__tab-title {
    font-size: 32px;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.25;
    margin-bottom: 14px;
}
.ochno-block__tab-desc {
    font-size: 16px;
    color: #6b7280;
    line-height: 1.65;
    max-width: 580px;
    margin: 0 auto;
}

/* Cards grid */
.ochno-block__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 40px;
}
.ochno-block__card {
    background: #f4f4f4;
    border: 1px solid #f4f4f4;
    border-radius: 16px;
    padding: 28px 24px;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.ochno-block__card:hover {
    background: #fff;
    border-color: #c5d5f5;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(13,48,96,0.08);
}
.ochno-block__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    flex-shrink: 0;
}
.ochno-block__icon--blue   { background: rgba(59,130,246,0.1);  color: #3b82f6; }
.ochno-block__icon--teal   { background: rgba(20,184,166,0.1);  color: #14b8a6; }
.ochno-block__icon--pink   { background: rgba(236,72,153,0.1);  color: #ec4899; }
.ochno-block__icon--orange { background: rgba(249,115,22,0.1);  color: #f97316; }
.ochno-block__icon--green  { background: rgba(34,197,94,0.1);   color: #22c55e; }
.ochno-block__icon--purple { background: rgba(139,92,246,0.1);  color: #8b5cf6; }
.ochno-block__card-title {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.35;
    margin-bottom: 10px;
}
.ochno-block__card-text {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.65;
    margin: 0;
}

/* CTA button — matches dh-mid__cta gold style */
.ochno-block__cta {
    text-align: center;
}
.ochno-block__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--dh-gold, #f2dbb2);
    color: var(--dh-dark, #1b2838);
    border: none;
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 700;
    border-radius: var(--dh-radius, 10px);
    cursor: pointer;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    transition: all .3s cubic-bezier(.4,0,.2,1);
}
.ochno-block__cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
    transform: translateX(-100%);
    transition: transform .6s ease;
}
.ochno-block__cta-btn:hover {
    background: #0d3060;
    border-color: #0d3060;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(13,48,96,.25);
}
.ochno-block__cta-btn:hover::before {
    transform: translateX(100%);
}
.ochno-block__cta-btn svg {
    transition: transform .3s ease;
    flex-shrink: 0;
}
.ochno-block__cta-btn:hover svg {
    transform: translateX(3px);
}

/* Hero info wrapper (grid cell for col2 row2 in hero-d--single) */
.hero-info-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
    justify-content: flex-start;
}

/* Hero format toggle — standalone card below u-hero__info */
.hero-format-toggle {
    margin-bottom: 30px;
    background: var(--hero-glass, rgba(255,255,255,0.06));
    border: 1px solid var(--hero-border, rgba(255,255,255,0.12));
    border-radius: 16px;
    padding: 16px 22px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.hero-format-toggle__label {
    display: block;
    font-size: clamp(20px, 1.5vw, 24px);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.85);
    margin-bottom: 10px;
    text-align: center;
}
.hero-format-toggle__btns {
    display: flex;
    gap: 0;
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 50px;
    overflow: hidden;
}
.hero-format-toggle__btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 16px;
    border: none;
    border-radius: 0;
    background: transparent;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}
.hero-format-toggle__btn:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,0.18);
}
.hero-format-toggle__btn--active {
    background: rgba(255,255,255,0.18);
    color: #fff;
}
.hero-format-toggle__btn:not(.hero-format-toggle__btn--active):hover {
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.85);
}

@media (max-width: 640px) {
    .hero-format-toggle__btns {
        flex-direction: column;
        border-radius: 16px;
    }
    .hero-format-toggle__btn:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.18);
    }
    .nav-main__loaded--content--bsf .nav-main__item a {
        white-space: break-spaces !important;
    }
    .nav-main__loaded--content--bsf .nav-main__item .nav-mega__cat-link {
        font-size: 18px !important;
    }
    .nav-main__loaded--content--bsf .nav-main__item a::after {
      display: none;
    }
    /*.nav-main__loaded--content--bsf .nav-main__item_letter .nav-mega__cat-link::after {
        content: url('../images/header_arrow.svg');
        border-radius: 5px;
        margin-left: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 25px;
        height: 25px;
        min-width: 25px;
        background-color: #0d3060;
    }*/
}

@media (max-width: 900px) {
    .ochno-block__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ochno-block__tab-title {
        font-size: 26px;
    }
    .hero-format-toggle {
      margin-bottom: 40px;
    }
    .home-bsf {
      padding: 40px 0;
    }
}
@media (max-width: 640px) {
    .ochno-block {
        padding: 48px 0 56px;
    }
    .ochno-block__toggle {
        flex-direction: column;
        width: 100%;
        border-radius: 16px;
    }
    .ochno-block__toggle-btn {
        justify-content: center;
        border-radius: 12px;
        padding: 12px 16px;
    }
    .ochno-block__tab-title {
        font-size: 22px;
    }
    .ochno-block__grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    .ochno-block__card {
        padding: 20px 16px;
    }
    .ochno-block__cta-btn {
        width: 100%;
        justify-content: center;
    }
}

.single .u-futures__title {
    margin-bottom: 40px;
}

/* ═══════════════════════════════════════════════
   sf-faq — Premium FAQ для single страниц
═══════════════════════════════════════════════ */
.sf-faq {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #05192e 0%, #0a2347 55%, #0d3060 100%);
  padding: 90px 0;
}
.sf-faq__bg-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.sf-faq__bg-ring--1 {
  width: 700px;
  height: 700px;
  right: -200px;
  top: -200px;
  border: 1px solid rgba(26, 142, 241, 0.12);
}
.sf-faq__bg-ring--2 {
  width: 420px;
  height: 420px;
  right: -40px;
  top: -40px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

/* Head */
.sf-faq__head {
  text-align: center;
  margin-bottom: 56px;
}
.sf-faq__label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #1a8ef1;
  margin-bottom: 16px;
}
.sf-faq__title {
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin: 0 0 14px;
}
.sf-faq__subtitle {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}

/* List */
.sf-faq__list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Item */
.sf-faq__item {
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  overflow: hidden;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.sf-faq__item--open {
  background: rgba(26, 142, 241, 0.08);
  border-color: rgba(26, 142, 241, 0.4);
}

/* Trigger */
.sf-faq__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0;
  padding: 24px 24px 24px 28px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.2s ease;
}
.sf-faq__trigger:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* Номер с вертикальным разделителем */
.sf-faq__num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  color: rgba(26, 142, 241, 0.75);
  flex-shrink: 0;
  line-height: 1;
  padding-right: 20px;
  margin-right: 20px;
  position: relative;
  transition: color 0.3s ease;
}
.sf-faq__num::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 22px;
  background: rgba(255, 255, 255, 0.12);
}
.sf-faq__item--open .sf-faq__num {
  color: #1a8ef1;
}

/* Вопрос */
.sf-faq__question {
  flex: 1;
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 600;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.4;
  padding-right: 20px;
  transition: color 0.2s ease;
}
.sf-faq__item--open .sf-faq__question,
.sf-faq__trigger:hover .sf-faq__question {
  color: #fff;
}

/* Иконка-круг */
.sf-faq__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(26, 142, 241, 0.1);
  border: 1px solid rgba(26, 142, 241, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #1a8ef1;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.35s ease, color 0.3s ease;
}
.sf-faq__trigger:hover .sf-faq__icon {
  background: rgba(26, 142, 241, 0.18);
  border-color: rgba(26, 142, 241, 0.5);
}
.sf-faq__item--open .sf-faq__icon {
  background: #1a8ef1;
  border-color: #1a8ef1;
  color: #fff;
  transform: rotate(45deg);
}

/* Body accordion — max-height через JS */
.sf-faq__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease;
}

.sf-faq__answer {
  padding: 0 24px 0 88px;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.62);
}
.sf-faq__item--open .sf-faq__answer {
  padding-bottom: 26px;
}

/* WYSIWYG content styles */
.sf-faq__answer p {
  margin: 0 0 10px;
}
.sf-faq__answer p:last-child {
  margin-bottom: 0;
}
.sf-faq__answer h2,
.sf-faq__answer h3,
.sf-faq__answer h4,
.sf-faq__answer h5,
.sf-faq__answer h6 {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 700;
  line-height: 1.3;
  margin: 16px 0 8px;
}
.sf-faq__answer h2 { font-size: 20px; }
.sf-faq__answer h3 { font-size: 18px; }
.sf-faq__answer h4,
.sf-faq__answer h5,
.sf-faq__answer h6 { font-size: 16px; }
.sf-faq__answer a {
  color: #5bb8ff;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.sf-faq__answer a:hover {
  color: #fff;
}
.sf-faq__answer ul,
.sf-faq__answer ol {
  padding-left: 22px;
  margin: 8px 0 12px;
}
.sf-faq__answer li {
  margin-bottom: 6px;
  line-height: 1.65;
}
.sf-faq__answer ul > li {
  list-style: disc;
}
.sf-faq__answer ol > li {
  list-style: decimal;
}
.sf-faq__answer strong,
.sf-faq__answer b {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 700;
}
.sf-faq__answer em,
.sf-faq__answer i {
  font-style: italic;
}
.sf-faq__answer blockquote {
  border-left: 3px solid #1a8ef1;
  padding-left: 16px;
  margin: 12px 0;
  color: rgba(255, 255, 255, 0.5);
  font-style: italic;
}

/* Mobile */
@media (max-width: 768px) {
  .sf-faq {
    padding: 60px 0;
  }
  .sf-faq__head {
    margin-bottom: 36px;
  }
  .sf-faq__trigger {
    padding: 18px 16px 18px 20px;
  }
  .sf-faq__num {
    padding-right: 14px;
    margin-right: 14px;
  }
  .sf-faq__answer {
    padding: 0 16px 0 20px;
  }
  .sf-faq__item--open .sf-faq__answer {
    padding-bottom: 18px;
  }
  .sf-faq__bg-ring--1 {
    width: 350px;
    height: 350px;
    right: -100px;
    top: -100px;
  }
  .sf-faq__bg-ring--2 {
    display: none;
  }
}

/* ─── About page ─────────────────────────────────── */
.about-intro {
  padding: 60px 0 0;
}
.about-intro__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 32px;
  padding: 32px 40px;
  background: linear-gradient(135deg, #0d3060 0%, #1a8ef1 100%);
  border-radius: 20px;
  color: #fff;
}
.about-intro__years {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-shrink: 0;
  position: relative;
  padding-right: 40px;
}
.about-intro__years::after {
  content: '';
  position: absolute;
  right: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background: rgba(255, 255, 255, 0.25);
}
.about-intro__years-num {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(56px, 7vw, 96px);
  line-height: 1;
}
.about-intro__years-label {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: clamp(16px, 1.5vw, 20px);
  opacity: 0.92;
}
.about-intro__founded {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: clamp(16px, 1.6vw, 22px);
  line-height: 1.4;
  opacity: 0.95;
  margin-left: auto;
  max-width: 480px;
  text-align: right;
}
@media (max-width: 600px) {
  .about-intro__row {
    padding: 24px 20px;
    gap: 16px;
  }
  .about-intro__years {
    padding-right: 0;
  }
  .about-intro__years::after {
    display: none;
  }
  .about-intro__founded {
    margin-left: 0;
    max-width: 100%;
    text-align: left;
  }
}

.about-mission {
  padding: 60px 0;
}
.about-mission__title {
  text-align: center;
  margin-bottom: 28px;
}
.about-mission__text {
  max-width: 880px;
  margin: 0 auto;
  font-family: var(--font-family);
  font-size: 18px;
  line-height: 1.6;
  color: #3c3c3c;
}
.about-mission__text p {
  margin-bottom: 1em;
}

.about-counters {
  padding: 50px 0;
}
.about-counters__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}
.about-counters__item {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.about-counters__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(13, 48, 96, 0.12);
}
.about-counters__num {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1;
  color: #0d3060;
  margin-bottom: 12px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 6px 4px;
}
.about-counters__prefix {
  flex-basis: 100%;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #1a8ef1;
  line-height: 1;
  margin-bottom: 4px;
}
.about-counters__suffix {
  font-size: 0.65em;
  font-weight: 600;
  color: #1a8ef1;
}
.about-counters__label {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  color: #3c3c3c;
}

.about-timeline {
  padding: 60px 0;
}
.about-timeline__title {
  text-align: center;
  margin-bottom: 40px;
}
.about-timeline__list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
}
.about-timeline__list::before {
  content: "";
  position: absolute;
  left: 80px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: #e6e6e6;
}
.about-timeline__item {
  position: relative;
  padding-left: 120px;
  padding-bottom: 32px;
}
.about-timeline__item:last-child {
  padding-bottom: 0;
}
.about-timeline__item::before {
  content: "";
  position: absolute;
  left: 73px;
  top: 6px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #0d3060;
  border: 4px solid #fff;
  box-shadow: 0 0 0 2px #0d3060;
}
.about-timeline__year {
  position: absolute;
  left: 0;
  top: 0;
  width: 64px;
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 18px;
  color: #0d3060;
  text-align: right;
}
.about-timeline__heading {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 20px;
  color: #272727;
  margin-bottom: 6px;
}
.about-timeline__desc {
  font-family: var(--font-family);
  font-size: 16px;
  line-height: 1.5;
  color: #3c3c3c;
}
@media (max-width: 600px) {
  .about-timeline__list::before {
    left: 8px;
  }
  .about-timeline__item {
    padding-left: 36px;
  }
  .about-timeline__item::before {
    left: 1px;
  }
  .about-timeline__year {
    position: static;
    width: auto;
    text-align: left;
    margin-bottom: 4px;
    display: block;
  }
}

.about-management {
  padding: 60px 0;
  background: #f6f8fb;
}
.about-management__title {
  text-align: center;
  margin-bottom: 36px;
}
.about-management__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.about-management__card {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  box-shadow: 0 4px 16px rgba(13, 48, 96, 0.06);
}
.about-management__photo {
  flex-shrink: 0;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  overflow: hidden;
  background: #e6e6e6;
}
.about-management__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about-management__info {
  flex: 1;
  min-width: 0;
}
.about-management__name {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 18px;
  color: #272727;
  margin-bottom: 4px;
}
.about-management__position {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 14px;
  color: #1a8ef1;
  margin-bottom: 12px;
}
.about-management__bio {
  font-family: var(--font-family);
  font-size: 15px;
  line-height: 1.5;
  color: #3c3c3c;
}
@media (max-width: 600px) {
  .about-management__card {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

.about-team {
  padding: 60px 0;
}
.about-team__title {
  text-align: center;
  margin-bottom: 36px;
}
.about-team__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
}
.about-team__card {
  text-align: center;
  padding: 20px;
  border-radius: 14px;
  border: 1px solid #e6e6e6;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
.about-team__card:hover {
  border-color: #1a8ef1;
  transform: translateY(-3px);
}
.about-team__photo {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 16px;
  background: #e6e6e6;
}
.about-team__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about-team__name {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 16px;
  color: #272727;
  margin-bottom: 4px;
}
.about-team__position {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 14px;
  color: #1a8ef1;
  margin-bottom: 6px;
}
.about-team__spec {
  font-family: var(--font-family);
  font-size: 13px;
  line-height: 1.4;
  color: #666;
}

.about-partners {
  padding: 60px 0;
  background: #f6f8fb;
}
.about-partners__title {
  text-align: center;
  margin-bottom: 36px;
}
.about-partners__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
  align-items: center;
}
.about-partners__item {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  min-height: 100px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
a.about-partners__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(13, 48, 96, 0.1);
}
.about-partners__item img {
  max-width: 100%;
  max-height: 60px;
  width: auto;
  height: auto;
  display: block;
  filter: grayscale(0.4);
  opacity: 0.85;
  transition: filter 0.25s ease, opacity 0.25s ease;
}
.about-partners__item:hover img {
  filter: grayscale(0);
  opacity: 1;
}

.about-extra {
  padding: 60px 0;
}
.about-extra__inner {
  max-width: 880px;
  margin: 0 auto;
  font-family: var(--font-family);
  font-size: 17px;
  line-height: 1.6;
  color: #3c3c3c;
}
.about-extra__inner h2,
.about-extra__inner h3 {
  font-weight: 700;
  margin: 1.2em 0 0.5em;
  color: #0d3060;
}
.about-extra__inner p {
  margin-bottom: 1em;
}
.about-extra__inner ul,
.about-extra__inner ol {
  margin: 0 0 1em 1.4em;
}

/* ─── About: Принципы (преимущества) ─────────────── */
.about-principles {
  position: relative;
  padding: 90px 0 80px;
  background: #f7f9fc;
  overflow: hidden;
}
.about-principles__bg {
  position: absolute;
  top: -200px;
  right: -250px;
  width: 700px;
  height: 700px;
  border: 1px solid rgba(26, 142, 241, 0.1);
  border-radius: 50%;
  pointer-events: none;
}
.about-principles__bg::after {
  content: '';
  position: absolute;
  inset: 80px;
  border: 1px solid rgba(26, 142, 241, 0.07);
  border-radius: 50%;
}
.about-principles .container {
  position: relative;
  z-index: 1;
}
.about-principles__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 56px;
}
.about-principles__eyebrow {
  display: inline-block;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1a8ef1;
  padding: 8px 16px;
  background: rgba(26, 142, 241, 0.08);
  border-radius: 100px;
  margin-bottom: 18px;
}
.about-principles__title {
  margin-bottom: 16px;
}
.about-principles__lead {
  font-family: var(--font-family);
  font-size: 17px;
  line-height: 1.6;
  color: #5f6b7c;
  margin: 0;
}
.about-principles__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.about-principles__card {
  position: relative;
  padding: 32px 28px;
  background: #fff;
  border: 1px solid #e6eaf2;
  border-radius: 18px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.about-principles__card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #0d3060 0%, #1a8ef1 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.4s ease;
}
.about-principles__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 48px rgba(13, 48, 96, 0.12);
  border-color: rgba(26, 142, 241, 0.35);
}
.about-principles__card:hover::before {
  transform: scaleX(1);
}
.about-principles__num {
  position: absolute;
  top: 18px;
  right: 24px;
  font-family: var(--font-family);
  font-size: 56px;
  font-weight: 800;
  color: #eef2f7;
  line-height: 1;
  letter-spacing: -2px;
  user-select: none;
  transition: color 0.3s ease;
}
.about-principles__card:hover .about-principles__num {
  color: rgba(26, 142, 241, 0.18);
}
.about-principles__icon {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(26, 142, 241, 0.12) 0%, rgba(26, 142, 241, 0.04) 100%);
  border-radius: 14px;
  color: #1a8ef1;
  margin-bottom: 22px;
  transition: background 0.3s ease, color 0.3s ease;
}
.about-principles__icon svg {
  width: 28px;
  height: 28px;
}
.about-principles__card:hover .about-principles__icon {
  background: linear-gradient(135deg, #0d3060 0%, #1a8ef1 100%);
  color: #fff;
}
.about-principles__heading {
  position: relative;
  z-index: 1;
  font-family: var(--font-family);
  font-size: 19px;
  font-weight: 700;
  color: #0d3060;
  line-height: 1.3;
  margin: 0 0 10px;
}
.about-principles__desc {
  position: relative;
  z-index: 1;
  font-family: var(--font-family);
  font-size: 15px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0;
}
@media (max-width: 600px) {
  .about-principles {
    padding: 60px 0 50px;
  }
  .about-principles__head {
    margin-bottom: 36px;
  }
  .about-principles__card {
    padding: 26px 22px;
  }
  .about-principles__num {
    font-size: 44px;
    top: 14px;
    right: 18px;
  }
}

/* ─── About: Лицензия и документы ────────────────── */
.about-license {
  position: relative;
  padding: 90px 0 80px;
  background: linear-gradient(135deg, #0a2550 0%, #0d3060 50%, #163d7a 100%);
  color: #fff;
  overflow: hidden;
}
.about-license__bg-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.06);
  pointer-events: none;
}
.about-license__bg-ring--1 {
  width: 900px;
  height: 900px;
  top: -350px;
  left: -250px;
}
.about-license__bg-ring--2 {
  width: 600px;
  height: 600px;
  bottom: -200px;
  right: -150px;
  border-color: rgba(26, 142, 241, 0.12);
}
.about-license__bg-glow {
  position: absolute;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(26, 142, 241, 0.18) 0%, transparent 65%);
  top: -100px;
  right: -200px;
  pointer-events: none;
}
.about-license .container {
  position: relative;
  z-index: 1;
}
.about-license__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 56px;
}
.about-license__eyebrow {
  display: inline-block;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #7cc0ff;
  padding: 8px 16px;
  background: rgba(26, 142, 241, 0.18);
  border: 1px solid rgba(26, 142, 241, 0.35);
  border-radius: 100px;
  margin-bottom: 18px;
}
.about-license__title {
  color: #fff;
  margin-bottom: 16px;
}
.about-license__lead {
  font-family: var(--font-family);
  font-size: 17px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
}

.about-license__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
  margin-bottom: 56px;
}
.about-license__preview-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  perspective: 1200px;
}
.about-license__preview {
  position: relative;
  width: 100%;
  max-width: 440px;
  padding: 36px 36px 32px;
  background: linear-gradient(135deg, #fefefe 0%, #f3f6fb 100%);
  color: #0d3060;
  border-radius: 14px;
  box-shadow:
    0 30px 60px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  transform: rotate(-2.5deg);
  transition: transform 0.5s ease;
}
.about-license__preview:hover {
  transform: rotate(0deg) scale(1.02);
}
.about-license__preview-corner {
  position: absolute;
  width: 14px;
  height: 14px;
  border-color: #0d3060;
}
.about-license__preview-corner--tl { top: 14px;    left: 14px;    border-top: 2px solid; border-left: 2px solid; }
.about-license__preview-corner--tr { top: 14px;    right: 14px;   border-top: 2px solid; border-right: 2px solid; }
.about-license__preview-corner--bl { bottom: 14px; left: 14px;    border-bottom: 2px solid; border-left: 2px solid; }
.about-license__preview-corner--br { bottom: 14px; right: 14px;   border-bottom: 2px solid; border-right: 2px solid; }

.about-license__preview-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 18px;
  margin-bottom: 22px;
  border-bottom: 1px solid rgba(13, 48, 96, 0.15);
}
.about-license__preview-emblem {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}
.about-license__preview-emblem svg {
  width: 100%;
  height: 100%;
}
.about-license__preview-meta {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 11px;
  line-height: 1.4;
  color: #4b5563;
  text-align: right;
}
.about-license__preview-name {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 8px;
  text-transform: uppercase;
  color: #0d3060;
  margin-bottom: 6px;
}
.about-license__preview-num {
  font-family: var(--font-family);
  font-size: 64px;
  font-weight: 900;
  line-height: 1;
  color: #1a8ef1;
  letter-spacing: -3px;
  margin-bottom: 14px;
}
.about-license__preview-issuer {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 14px;
  line-height: 1.45;
  color: #3c3c3c;
  margin-bottom: 28px;
  font-style: italic;
}
.about-license__preview-footer {
  display: flex;
  gap: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(13, 48, 96, 0.15);
}
.about-license__preview-date,
.about-license__preview-term {
  flex: 1;
}
.about-license__preview-date span,
.about-license__preview-term span {
  display: block;
  font-family: var(--font-family);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 4px;
}
.about-license__preview-date strong,
.about-license__preview-term strong {
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 700;
  color: #0d3060;
}
.about-license__preview-stamp {
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 92px;
  height: 92px;
  border: 2px solid #1a8ef1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family);
  font-size: 8px;
  font-weight: 700;
  color: #1a8ef1;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  transform: rotate(-12deg);
  opacity: 0.78;
  line-height: 1.4;
  background: rgba(26, 142, 241, 0.04);
}
.about-license__preview-stamp::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid #1a8ef1;
  border-radius: 50%;
}
.about-license__preview-stamp-strong {
  font-size: 12px;
  letter-spacing: 1.5px;
  margin: 2px 0;
}

.about-license__info-title {
  font-family: var(--font-family);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.25;
  color: #fff;
  margin: 0 0 24px;
}
.about-license__info-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
}
.about-license__info-list li {
  position: relative;
  padding: 14px 0 14px 32px;
  font-family: var(--font-family);
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.85);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.about-license__info-list li:last-child {
  border-bottom: none;
}
.about-license__info-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18px;
  width: 22px;
  height: 22px;
  background: rgba(26, 142, 241, 0.22);
  border-radius: 50%;
  border-radius: 7px;
}
.about-license__info-list li::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 24px;
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
.about-license__info-list li strong {
  color: #fff;
  font-weight: 700;
}
.about-license__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 28px;
  background: #1a8ef1;
  color: #fff;
  border-radius: 12px;
  font-family: var(--font-family);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 8px 20px rgba(26, 142, 241, 0.3);
}
.about-license__cta svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}
.about-license__cta:hover {
  background: #fff;
  color: #0d3060;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
}
.about-license__cta:hover svg {
  transform: translateX(4px);
}

.about-license__docs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.about-license__doc {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.about-license__doc:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(124, 192, 255, 0.4);
  transform: translateY(-3px);
}
.about-license__doc-icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(26, 142, 241, 0.22);
  color: #fff;
  border-radius: 10px;
}
.about-license__doc-icon svg {
  width: 22px;
  height: 22px;
}
.about-license__doc-text {
  flex: 1;
  min-width: 0;
}
.about-license__doc-name {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  margin-bottom: 4px;
}
.about-license__doc-desc {
  font-family: var(--font-family);
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.7);
}
@media (max-width: 900px) {
  .about-license__main {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .about-license__preview {
    transform: rotate(-1.5deg);
    max-width: 380px;
  }
  .about-license__info-title {
    font-size: 24px;
  }
}
@media (max-width: 600px) {
  .about-license {
    padding: 60px 0 50px;
  }
  .about-license__head {
    margin-bottom: 36px;
  }
  .about-license__preview {
    transform: none;
    padding: 28px 26px 26px;
  }
  .about-license__preview-num {
    font-size: 52px;
  }
  .about-license__preview-stamp {
    width: 72px;
    height: 72px;
    font-size: 7px;
  }
  .about-license__preview-stamp-strong {
    font-size: 10px;
  }
}

/* ─── About: Как мы работаем ─────────────────────── */
.about-process {
  position: relative;
  padding: 90px 0 80px;
  background: #fff;
  overflow: hidden;
}
.about-process__bg-grid {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(13, 48, 96, 0.06) 1px, transparent 0);
  background-size: 32px 32px;
  opacity: 0.7;
  pointer-events: none;
  mask-image: radial-gradient(ellipse at center, #000 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 0%, transparent 70%);
}
.about-process .container {
  position: relative;
  z-index: 1;
}
.about-process__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 64px;
}
.about-process__eyebrow {
  display: inline-block;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1a8ef1;
  padding: 8px 16px;
  background: rgba(26, 142, 241, 0.08);
  border-radius: 100px;
  margin-bottom: 18px;
}
.about-process__title {
  margin-bottom: 16px;
}
.about-process__lead {
  font-family: var(--font-family);
  font-size: 17px;
  line-height: 1.6;
  color: #5f6b7c;
  margin: 0;
}
.about-process__steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  position: relative;
  counter-reset: process-step;
}
.about-process__steps::before {
  content: '';
  position: absolute;
  top: 36px;
  left: 10%;
  width: 80%;
  height: 2px;
  background-image: linear-gradient(90deg, #cbd5e1 50%, transparent 50%);
  background-size: 14px 2px;
  background-repeat: repeat-x;
  z-index: 0;
}
.about-process__step {
  position: relative;
  z-index: 1;
  padding: 0 8px;
  text-align: center;
}
.about-process__step-top {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}
.about-process__num {
  position: relative;
  z-index: 2;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0d3060 0%, #1a8ef1 100%);
  color: #fff;
  border-radius: 50%;
  font-family: var(--font-family);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -1px;
  box-shadow: 0 12px 28px rgba(13, 48, 96, 0.25);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.about-process__num::after {
  content: '';
  position: absolute;
  inset: -8px;
  border: 2px solid rgba(26, 142, 241, 0.18);
  border-radius: 50%;
  transition: inset 0.3s ease, border-color 0.3s ease;
}
.about-process__icon {
  position: absolute;
  bottom: -4px;
  right: -10px;
  z-index: 3;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 2px solid #f1f5f9;
  color: #0d3060;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(13, 48, 96, 0.12);
}
.about-process__icon svg {
  width: 18px;
  height: 18px;
}
.about-process__step:hover .about-process__num {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(13, 48, 96, 0.35);
}
.about-process__step:hover .about-process__num::after {
  inset: -12px;
  border-color: rgba(26, 142, 241, 0.4);
}
.about-process__step-title {
  font-family: var(--font-family);
  font-size: 18px;
  font-weight: 700;
  color: #0d3060;
  margin: 0 0 6px;
  line-height: 1.3;
}
.about-process__step-meta {
  display: inline-block;
  font-family: var(--font-family);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #1a8ef1;
  background: rgba(26, 142, 241, 0.1);
  padding: 4px 10px;
  border-radius: 6px;
  margin-bottom: 12px;
}
.about-process__step-desc {
  font-family: var(--font-family);
  font-size: 14px;
  line-height: 1.55;
  color: #4b5563;
  margin: 0;
}
@media (max-width: 1100px) {
  .about-process__steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 24px;
  }
  .about-process__steps::before {
    display: none;
  }
}
@media (max-width: 600px) {
  .about-process {
    padding: 60px 0 50px;
  }
  .about-process__head {
    margin-bottom: 40px;
  }
  .about-process__steps {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .about-process__num {
    width: 60px;
    height: 60px;
    font-size: 18px;
  }
}

/* ─── Video reviews ──────────────────────────────── */
.video-reviews {
  padding: 70px 0;
}
.video-reviews--home {
  padding: 80px 0 72px;
}
.video-reviews__head {
  text-align: center;
  margin-bottom: 36px;
}
.video-reviews__title {
  margin-bottom: 12px;
}
.video-reviews__subtitle {
  font-family: var(--font-family);
  font-size: 16px;
  line-height: 1.5;
  color: #666;
  max-width: 720px;
  margin: 0 auto;
}
.video-reviews__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.video-reviews--home .video-reviews__grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.video-reviews__card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 3px rgba(13, 48, 96, 0.08);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  margin: 0px 10px;
}
.video-reviews__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 1px 15px rgba(13, 48, 96, 0.14);
}
.video-reviews__player {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  background: #0a1a30;
  overflow: hidden;
}
.video-reviews__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* cover вместо contain — убирает тёмные letterbox-полосы по краям
     при несовпадении aspect source/container. Возможна лёгкая обрезка,
     но визуально лучше пустых полей. Per-вариант override ниже. */
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* ── Team / teachers slider ─────────────────────────────────────────────
   Источник фото — 295×393 (≈3:4). Карточку капаем по max-width источника,
   чтобы slick не апскейлил картинку (получается блюр). Слайды slick
   шире — внутри центрируем. aspect-ratio контейнера держим = source,
   так что cover/contain визуально одинаковы — без обрезки. */
/* .team-slider__card — ширину НЕ форсим. Slick сам выставляет inline width
   (container/slidesToShow), что идентично между «Команда» и «Преподаватели»
   при одинаковом slick-init. Единообразие размеров держим через aspect-ratio
   фото + min-height инфо-блока (см. ниже). Гаттер 0 10px унаследован
   из .video-reviews__card — не переопределяем. */
.team-slider__photo {
  aspect-ratio: 295 / 393;
  background: transparent;
  width: 100%;
}
.team-slider__photo .video-reviews__poster {
  object-fit: cover;
  object-position: center top;
}
/* Инфо-блок с фиксированной мин-высотой — длинные/короткие ФИО и должности
   не должны влиять на общую высоту карточки между двумя слайдерами. */
.team-slider .video-reviews__info {
  min-height: 96px;
  justify-content: center;
}
/* Имена/должности — не больше 2 / 1 строки, чтобы не «выстреливали» по высоте. */
.team-slider .video-reviews__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.25;
}
.team-slider .video-reviews__profession {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.3;
}

/* ── Video reviews (CPT video_review) ───────────────────────────────────
   Sources разные (например 9:16 портрет 576×1024). Контейнер 3:4, cover
   crops верх/низ; object-position: center даёт мягкую обрезку по краям. */
.video-reviews__card:not(.team-slider__card) .video-reviews__poster {
  object-position: center;
}
.video-reviews__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(13, 48, 96, 0.25);
  border: 0;
  cursor: pointer;
  color: #fff;
  transition: background 0.25s ease;
  padding: 0;
}
.video-reviews__play:hover,
.video-reviews__play:focus {
  background: rgba(13, 48, 96, 0.45);
  outline: none;
}
.video-reviews__play::before {
  content: "";
  position: absolute;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  transition: transform 0.25s ease, background 0.25s ease;
}
.video-reviews__play:hover::before,
.video-reviews__play:focus::before {
  transform: scale(1.06);
  background: #fff;
}
.video-reviews__play svg {
  position: relative;
  z-index: 1;
  color: #0d3060;
  margin-left: 4px;
  transition: transform 0.25s ease;
}
.video-reviews__play:hover svg {
  transform: scale(1.05);
}
.video-reviews__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #000;
}
.video-reviews__info {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.video-reviews__name-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.video-reviews__name {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 17px;
  color: #272727;
}
.video-reviews__profession {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 14px;
  color: #1a8ef1;
}
.video-reviews__quote {
  margin: 0;
  padding: 0 0 0 14px;
  border-left: 3px solid #1a8ef1;
  font-family: var(--font-family);
  font-style: italic;
  font-size: 15px;
  line-height: 1.5;
  color: #3c3c3c;
}
.video-reviews__course {
  align-self: flex-start;
  margin-top: 4px;
  font-family: var(--font-family);
  font-size: 13px;
  color: #0d3060;
  text-decoration: none;
  border-bottom: 1px dashed rgba(13, 48, 96, 0.3);
  padding-bottom: 1px;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.video-reviews__course:hover {
  color: #1a8ef1;
  border-color: #1a8ef1;
}
.video-reviews__more {
  text-align: center;
  margin-top: 32px;
}
.video-reviews__more-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--dh-gold, #f2dbb2);
  color: var(--dh-dark, #1b2838);
  border: none;
  padding: 14px 32px;
  font-family: var(--font-family);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  border-radius: var(--dh-radius, 10px);
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: all .3s cubic-bezier(.4,0,.2,1);
}
.video-reviews__more-link::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transform: translateX(-100%);
  transition: transform .6s ease;
}
.video-reviews__more-link:hover {
  background: #0d3060;
  border-color: #0d3060;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(13,48,96,.25);
}
.video-reviews__more-link:hover::before {
  transform: translateX(100%);
}
.video-reviews__more-link svg {
  transition: transform .3s ease;
  flex-shrink: 0;
}
.video-reviews__more-link:hover svg {
  transform: translateX(3px);
}
@media (max-width: 600px) {
  .video-reviews {
    padding: 48px 0;
  }
  .video-reviews--home {
    padding: 36px 0;
  }
  .video-reviews__play::before {
    width: 56px;
    height: 56px;
  }
  .video-reviews__info {
    padding: 16px 18px 18px;
  }
}

/* ============================================================
   Страница «О центре» — раздел дополнен после рефакторинга:
   - .about-mission двухколоночная раскладка (изображение + WYSIWYG)
   - .about-license__previews (две реальные лицензии с лайтбоксом)
   - .about-director (блок «Обращение директора»: видео + текст)
   ============================================================ */

/* ---- about-mission: двухколоночная раскладка ---- */
.about-mission__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 48px;
  align-items: center;
}
.about-mission__image {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px -28px rgba(13, 48, 96, 0.35);
}
.about-mission__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 20px;
}
.about-mission__body .about-mission__title {
  text-align: left;
  margin-bottom: 20px;
}
.about-mission__body .about-mission__text {
  max-width: none;
  margin: 0;
}
/* Гармоничная типографика WYSIWYG-контента */
.about-mission__text h2,
.about-mission__text h3,
.about-mission__text h4 {
  margin: 1.4em 0 0.5em;
  color: #0d3060;
  font-weight: 700;
  line-height: 1.25;
}
.about-mission__text h2 { font-size: 26px; }
.about-mission__text h3 { font-size: 22px; }
.about-mission__text h4 { font-size: 19px; }
.about-mission__text h2:first-child,
.about-mission__text h3:first-child,
.about-mission__text h4:first-child { margin-top: 0; }
.about-mission__text ul,
.about-mission__text ol {
  margin: 0 0 1em;
  padding-left: 1.4em;
}
.about-mission__text ul li,
.about-mission__text ol li {
  margin-bottom: 0.4em;
}
.about-mission__text ul { list-style: disc; }
.about-mission__text ol { list-style: decimal; }
.about-mission__text strong { color: #0d3060; }
.about-mission__text a {
  color: #1656a4;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.about-mission__text a:hover { color: #0d3060; }
.about-mission__text blockquote {
  margin: 1.2em 0;
  padding: 14px 22px;
  border-left: 3px solid #1656a4;
  background: #f3f7fc;
  border-radius: 0 12px 12px 0;
  color: #2c3a4f;
  font-style: italic;
}

@media (max-width: 900px) {
  .about-mission__cols {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .about-mission__body .about-mission__title {
    text-align: center;
  }
}

/* ---- about-license: две миниатюры реальных документов ---- */
.about-license__previews {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.about-license__preview-link {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  padding: 18px 18px 14px;
  box-shadow: 0 18px 48px -28px rgba(13, 48, 96, 0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  text-decoration: none;
  color: inherit;
}
.about-license__preview-link:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 64px -28px rgba(13, 48, 96, 0.55);
}
.about-license__preview-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid #e6ecf4;
  cursor: zoom-in;
}
.about-license__preview-caption {
  display: block;
  margin-top: 14px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
  text-align: center;
}

@media (max-width: 720px) {
  .about-license__previews {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* ---- about-director: блок «Обращение директора» ---- */
.about-director {
  position: relative;
  padding: 80px 0;
  background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
  overflow: hidden;
}
.about-director__bg-glow {
  position: absolute;
  width: 720px;
  height: 720px;
  top: -240px;
  right: -240px;
  background: radial-gradient(closest-side, rgba(22, 86, 164, 0.18), transparent);
  pointer-events: none;
  z-index: 0;
}
.about-director .container { position: relative; z-index: 1; }
.about-director__cols {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
}
.about-director__media {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: #0d3060;
  box-shadow: 0 32px 80px -36px rgba(13, 48, 96, 0.55);
  aspect-ratio: 16 / 9;
}
.about-director__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #0d3060;
}
.about-director__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
  gap: 14px;
  padding: 24px;
}
.about-director__placeholder svg {
  width: 72px;
  height: 72px;
}
.about-director__placeholder span {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
.about-director__placeholder small {
  display: inline-block;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.65);
}
.about-director__title {
  text-align: left;
  margin-bottom: 20px;
}
.about-director__text {
  font-size: 17px;
  line-height: 1.65;
  color: #2c3a4f;
}
.about-director__text p { margin-bottom: 0.9em; }
.about-director__text p:last-child { margin-bottom: 0; }
.about-director__text strong { color: #0d3060; }
.about-director__text ul,
.about-director__text ol {
  margin: 0.4em 0 1em;
  padding-left: 1.4em;
}
.about-director__text ul { list-style: disc; }
.about-director__text ol { list-style: decimal; }
.about-director__sign {
  margin-top: 28px;
  padding: 18px 22px;
  border-left: 3px solid #1656a4;
  background: #ffffff;
  border-radius: 0 12px 12px 0;
  box-shadow: 0 12px 36px -22px rgba(13, 48, 96, 0.35);
}
.about-director__sign-name {
  font-size: 17px;
  font-weight: 700;
  color: #0d3060;
}
.about-director__sign-position {
  margin-top: 4px;
  font-size: 14px;
  color: #5a6877;
}

@media (max-width: 980px) {
  .about-director__cols {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .about-director__title { text-align: center; }
}
@media (max-width: 600px) {
  .about-director { padding: 56px 0; }
  .about-director__placeholder svg { width: 56px; height: 56px; }
}

/* Плейсхолдеры для демо-шаблона (about-management/about-team) */
.about-management__photo--placeholder,
.about-team__photo--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eef3fa;
  color: #94a4b8;
  border-radius: 12px;
}
.about-management__photo--placeholder { width: 200px; height: 200px; }
.about-team__photo--placeholder { aspect-ratio: 1 / 1; }
.about-management__photo--placeholder svg,
.about-team__photo--placeholder svg {
  width: 56px;
  height: 56px;
}

/* ============================================================
   Слайдер видео-отзывов — стили навигации (как у .clients custom-button).
   Структура: .video-reviews--slider > .container >
     .video-reviews__head-row (h2 + .video-reviews__desktop-nav)
     .video-reviews__slider > .video-reviews__inner (slick) + .video-reviews__nav-mobile
   ============================================================ */

.video-reviews--slider .video-reviews__head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 16px;
}
.video-reviews--slider .video-reviews__title {
  margin-bottom: 0;
  text-align: left;
}
.video-reviews__desktop-nav {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.prev-video-reviews,
.next-video-reviews,
.prev-video-reviews-mob,
.next-video-reviews-mob {
  position: static !important;
  font-size: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}
.prev-video-reviews::before,
.prev-video-reviews-mob::before {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url('../images/custom-rev_arrow.svg') center / contain no-repeat;
}
.next-video-reviews::before,
.next-video-reviews-mob::before {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url('../images/custom-rev_arrow.svg') center / contain no-repeat;
  transform: rotate(180deg);
}

.video-reviews__nav-mobile {
  display: none;
}

/* Slick навешивает .slick-slide прямо на .video-reviews__card —
   карточка и есть флекс-элемент трека (обёртки .slick-slide > div нет).
   Равная высота: align-items:stretch у флекс-трека растягивает карточки
   до самой высокой. ВАЖНО: высота карточки должна остаться auto —
   height:100%/фикс. высота отключают stretch. Gutter — padding слайда
   (без отрицательных margin → нет горизонтального скролла на мобильных). */
.video-reviews__inner .slick-list {
  padding: 6px 0; /* запас под hover translateY(-3px), чтобы тень не обрезалась */
}
.video-reviews__inner .slick-track {
  display: flex;
  align-items: stretch;
}
.video-reviews__inner .slick-slide {
  height: auto;
}

@media (max-width: 900px) {
  .video-reviews--slider .video-reviews__desktop-nav {
    display: none;
  }
  .video-reviews__nav-mobile {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
  }
  .video-reviews--slider .video-reviews__head-row {
    justify-content: center;
    text-align: center;
  }
  .video-reviews--slider .video-reviews__title {
    text-align: center;
  }
}

/* =================================================================
   ABOUT-MISSION — editorial brand spread (refined design pass).
   Двухколоночная композиция: paper-frame картинка с decorative
   слоями (concentric ring, cream offset stack, glass-card),
   типографика с cream-маркерами, trust-strip снизу.
   Палитра брендовая: navy #0d3060, accent blue #1a8ef1, cream #f2dbb2.
   ================================================================= */

.about-mission {
  position: relative;
  overflow: hidden;
  padding: 88px 0 96px;
  background: linear-gradient(165deg, #fbfcff 0%, #eef3fa 100%);
}
.about-mission__bg-dots {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 380px;
  height: 380px;
  background-image: radial-gradient(rgba(13, 48, 96, 0.12) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
  z-index: 0;
  mask-image: radial-gradient(ellipse at top right, #000 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at top right, #000 0%, transparent 70%);
}
.about-mission .container {
  position: relative;
  z-index: 1;
}

.about-mission .about-mission__cols {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: 72px;
  align-items: start;
}

/* ── Media column — paper frame с layered decoration ── */
.about-mission__media {
  position: relative;
  padding: 22px 22px 22px 0;
  animation: hero-fadeUp 0.7s ease both;
}
.about-mission__media-ring {
  position: absolute;
  width: 360px;
  height: 360px;
  left: -120px;
  top: -60px;
  border: 1px solid rgba(26, 142, 241, 0.22);
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;
}
.about-mission__media-ring::after {
  content: '';
  position: absolute;
  inset: 50px;
  border: 1px solid rgba(13, 48, 96, 0.1);
  border-radius: 50%;
}
.about-mission__media-stack {
  position: absolute;
  inset: 22px 0 22px 22px;
  background: #f2dbb2;
  border-radius: 18px;
  transform: translate(18px, 18px);
  z-index: 1;
  pointer-events: none;
}
.about-mission__media-frame {
  position: relative;
  z-index: 2;
  padding: 12px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 32px 70px -34px rgba(13, 48, 96, 0.45);
}
.about-mission__media-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 10px;
}

/* Glass-card overlay — «X лет работы / лицензия №128 с YYYY» */
.about-mission__media-card {
  position: absolute;
  left: 24px;
  bottom: 36px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 22px 14px 18px;
  background: rgba(13, 48, 96, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 48px -22px rgba(13, 48, 96, 0.55);
  color: #fff;
  max-width: calc(100% - 60px);
}
.about-mission__media-card-num {
  font-family: var(--font-family);
  font-size: 44px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -1px;
  color: #f2dbb2;
}
.about-mission__media-card-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
}
.about-mission__media-card-text strong {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #fff;
}
.about-mission__media-card-text span {
  font-size: 12px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.72);
}

/* ── Body column ─────────────────────────────────────── */
.about-mission__body {
  animation: hero-fadeUp 0.7s 0.1s ease both;
  padding-top: 8px;
}
.about-mission__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: #0d3060;
  margin-bottom: 18px;
}
.about-mission__eyebrow-bar {
  display: inline-block;
  width: 38px;
  height: 2px;
  background: #f2dbb2;
  border-radius: 2px;
}
.about-mission .about-mission__title {
  text-align: left;
  font-family: var(--font-family);
  font-weight: 800;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.1;
  letter-spacing: -0.5px;
  color: #0d3060;
  margin: 0 0 24px;
  text-transform: none;
}

/* WYSIWYG body */
.about-mission .about-mission__text {
  max-width: none;
  margin: 0;
  font-family: var(--font-family);
  font-size: 17px;
  line-height: 1.72;
  color: #2c3a4f;
}
/* Lede — первый абзац после H2-заголовка крупнее и весомее */
.about-mission__text > h2:first-child + p {
  font-size: 19px;
  line-height: 1.6;
  font-weight: 500;
  color: #1a2540;
  margin-bottom: 1.1em;
}
.about-mission__text h2 {
  position: relative;
  font-family: var(--font-family);
  font-weight: 800;
  font-size: 22px;
  line-height: 1.3;
  color: #0d3060;
  margin: 1.4em 0 0.7em;
  padding-left: 18px;
  text-transform: none;
}
.about-mission__text h2:first-child {
  margin-top: 0;
}
.about-mission__text h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.18em;
  bottom: 0.18em;
  width: 4px;
  border-radius: 2px;
  background: linear-gradient(180deg, #f2dbb2 0%, #d8b97f 100%);
}
.about-mission__text h3 {
  position: relative;
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.35;
  color: #0d3060;
  margin: 1.4em 0 0.6em;
  padding-left: 18px;
  text-transform: none;
}
.about-mission__text h3::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.2em;
  bottom: 0.2em;
  width: 3px;
  border-radius: 2px;
  background: #1a8ef1;
}
.about-mission__text p {
  margin: 0 0 1em;
}
/* Custom bullet — повёрнутый cream-square с navy-обводкой */
.about-mission__text ul {
  list-style: none;
  margin: 0 0 1.2em;
  padding: 0;
}
.about-mission__text ul li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 0.55em;
}
.about-mission__text ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 10px;
  height: 10px;
  background: #f2dbb2;
  border: 2px solid #0d3060;
  border-radius: 2px;
  transform: rotate(45deg);
}
.about-mission__text ol {
  margin: 0 0 1.2em 1.4em;
  padding: 0;
}
.about-mission__text ol li {
  margin-bottom: 0.55em;
  padding-left: 6px;
}
.about-mission__text ol li::marker {
  color: #1a8ef1;
  font-weight: 700;
}
.about-mission__text strong {
  color: #0d3060;
  font-weight: 700;
}
.about-mission__text a {
  color: #1656a4;
  text-decoration: none;
  border-bottom: 1px solid rgba(22, 86, 164, 0.3);
  transition: border-color 0.2s ease, color 0.2s ease;
}
.about-mission__text a:hover {
  color: #0d3060;
  border-bottom-color: #0d3060;
}
.about-mission__text blockquote {
  position: relative;
  margin: 1.4em 0;
  padding: 16px 20px 16px 28px;
  background: rgba(242, 219, 178, 0.18);
  border-left: 3px solid #f2dbb2;
  border-radius: 0 12px 12px 0;
  color: #2c3a4f;
  font-style: italic;
}

/* ── Адаптив ─────────────────────────────────────────── */
@media (max-width: 1100px) {
  .about-mission .about-mission__cols {
    gap: 48px;
  }
  .about-mission__media-ring {
    width: 280px;
    height: 280px;
    left: -90px;
  }
}
@media (max-width: 900px) {
  .about-mission {
    padding: 60px 0 70px;
  }
  .about-mission .about-mission__cols {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .about-mission__media {
    max-width: 520px;
    margin: 0 auto;
    padding: 18px 18px 18px 0;
  }
  .about-mission__media-ring {
    width: 240px;
    height: 240px;
    left: -60px;
    top: -40px;
  }
  .about-mission__media-stack {
    inset: 18px 0 18px 18px;
    transform: translate(14px, 14px);
  }
  .about-mission__media-card {
    left: 18px;
    bottom: 28px;
    padding: 12px 18px 12px 14px;
    gap: 12px;
  }
  .about-mission__media-card-num {
    font-size: 36px;
  }
  .about-mission .about-mission__title {
    text-align: left;
  }
  .about-mission__bg-dots {
    width: 240px;
    height: 240px;
    top: -20px;
    right: -20px;
  }
}
@media (max-width: 480px) {
  .about-mission__media {
    padding: 14px 14px 14px 0;
  }
  .about-mission__media-stack {
    transform: translate(10px, 10px);
  }
  .about-mission__media-card {
    left: 14px;
    bottom: 22px;
    padding: 10px 14px 10px 12px;
  }
  .about-mission__media-card-num {
    font-size: 30px;
  }
  .about-mission__media-card-text strong {
    font-size: 12px;
  }
  .about-mission__media-card-text span {
    font-size: 11px;
  }
}

/* ============================================================
   ABOUT-TIMELINE — hover на каждой вехе.
   Брендовые цвета: navy → light-blue (heading/year), navy → cream (dot).
   Без сдвигов по горизонтали — это вертикальная хронология,
   item не должен «прыгать» относительно линии.
   ============================================================ */
.about-timeline__item {
  transition: padding-left 0.25s ease;
}
.about-timeline__item::before {
  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.about-timeline__year,
.about-timeline__heading,
.about-timeline__desc {
  transition: color 0.25s ease;
}
.about-timeline__item:hover::before {
  background: #1a8ef1;
  box-shadow: 0 0 0 2px #0d3060, 0 0 0 8px rgba(26, 142, 241, 0.28);
  transform: scale(1.15);
}
.about-timeline__item:hover .about-timeline__year {
  color: #1a8ef1;
}
.about-timeline__item:hover .about-timeline__heading {
  color: #1a8ef1;
}
.about-timeline__item:hover .about-timeline__desc {
  color: #2c3a4f;
}

/* Кликабельный body — наследует цвет, без подчёркивания, курсор pointer */
a.about-timeline__body {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
a.about-timeline__body:hover,
a.about-timeline__body:focus {
  text-decoration: none;
  color: inherit;
  outline: none;
}
/* На кликабельной вехе сильнее меняется heading при hover */
.about-timeline__item--linked:hover .about-timeline__heading {
  color: #1a8ef1;
}

/* Eyebrow для блока хронологии — единый стиль с .about-process / .about-license / .about-principles */
.about-timeline__eyebrow {
  display: block;
  width: fit-content;
  margin: 0 auto 14px;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1a8ef1;
  padding: 8px 16px;
  background: rgba(26, 142, 241, 0.08);
  border-radius: 100px;
}

/* ============================================================
   ABOUT-LICENSE — мобильная перестановка порядка элементов.
   На ≤900px: cta-кнопка вверху, потом превью лицензий, потом
   info-title и info-list. На десктопе порядок без изменений.
   Реализация через display:contents на __info (дочерние элементы
   поднимаются на уровень __main flex-контейнера) + order.
   ============================================================ */
@media (max-width: 900px) {
  .about-license__main {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    gap: 32px;
  }
  .about-license__info {
    display: contents;
  }
  .about-license__cta        { order: 1; }
  .about-license__previews   { order: 2; }
  .about-license__info-title { order: 3; }
  .about-license__info-list  { order: 4; }
}

/* ╔══════════════════════════════════════════════════════════
   ║ ABOUT-GEO — карта присутствия + chip-grid городов.
   ║ Отдельный неймспейс (про .dpo-geo-* — стили /contacts/, не трогаем).
   ║ Семья: pill-eyebrow, dot-pattern, brand navy/cream — те же приёмы,
   ║ что у about-license / about-process / about-mission.
   ╚══════════════════════════════════════════════════════════ */
.about-geo {
  position: relative;
  overflow: hidden;
  padding: 80px 0 90px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
}
.about-geo__bg-dots {
  position: absolute;
  bottom: -60px;
  left: -60px;
  width: 360px;
  height: 360px;
  background-image: radial-gradient(rgba(13, 48, 96, 0.1) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
  z-index: 0;
  mask-image: radial-gradient(ellipse at bottom left, #000 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at bottom left, #000 0%, transparent 70%);
}
.about-geo .container {
  position: relative;
  z-index: 1;
}

/* ── Head ── */
.about-geo__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 44px;
}
.about-geo__eyebrow {
  display: inline-block;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1a8ef1;
  padding: 8px 16px;
  background: rgba(26, 142, 241, 0.08);
  border-radius: 100px;
  margin-bottom: 18px;
}
.about-geo .about-geo__title {
  text-align: center;
  font-family: var(--font-family);
  font-weight: 800;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.15;
  letter-spacing: -0.4px;
  color: #0d3060;
  margin: 0 0 14px;
  text-transform: none;
}
.about-geo__lead {
  font-family: var(--font-family);
  font-size: 17px;
  line-height: 1.6;
  color: #5a6877;
  margin: 0;
}

/* ── Map — белая paper-frame с тенью, как у about-mission картинки ── */
.about-geo__map {
  position: relative;
  width: 100%;
  height: 540px;
  padding: 12px;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 32px 70px -34px rgba(13, 48, 96, 0.45);
  margin-bottom: 48px;
  overflow: hidden;
}
.about-geo__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 14px;
}

/* ── Cities chip-grid ── */
.about-geo__cities {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.about-geo__city {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px 12px 18px;
  background: #fff;
  border: 1px solid rgba(13, 48, 96, 0.12);
  border-radius: 12px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 600;
  color: #0d3060;
  line-height: 1.3;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.about-geo__city::before {
  content: '';
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  background: #0d3060;
  border-radius: 50%;
  transition: transform 0.2s ease, background 0.2s ease;
}
.about-geo__city:hover {
  transform: translateY(-2px);
  background: #1a8ef1;
  border-color: #1a8ef1;
  color: #fff;
  box-shadow: 0 12px 28px -14px rgba(26, 142, 241, 0.45);
}
.about-geo__city:hover::before {
  transform: scale(1.25);
  background: #fff;
}

/* ── Адаптив ── */
@media (max-width: 1200px) {
  .about-geo__cities { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .about-geo { padding: 60px 0 70px; }
  .about-geo__map { height: 380px; padding: 10px; border-radius: 18px; }
  .about-geo__cities { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .about-geo__city { padding: 10px 14px; font-size: 13px; }
}
@media (max-width: 600px) {
  .about-geo { padding: 50px 0 60px; }
  .about-geo__head { margin-bottom: 32px; }
  .about-geo__map { height: 280px; }
  .about-geo__cities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.contacts__info-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0d3060 !important;
    margin-bottom: 15px !important;
    border-left: 4px solid #0d3060 !important;
    padding-left: 12px !important;
    margin-bottom: 10px !important; /* Приоритетный отступ для аккуратности */
}
.dpo-geo-section { margin-top: 50px; padding-top: 40px; border-top: 1px solid #eee; }
.dpo-geo-title { color: #0d3060; font-size: 32px; font-weight: 700; text-align: center; margin-bottom: 30px; }
.dpo-map-container { 
    width: 100%; height: 550px; background: #f8fbff; border-radius: 15px; 
    overflow: hidden; border: 1px solid #e3efff; margin-bottom: 40px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}
.dpo-map-container iframe { width: 100%; height: 100%; border: none; }

/* Сетка городов - 4 колонки для ПК, 2 для мобильных */
.cities-grid-layout { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 12px 20px;
    padding: 30px;
    background: #f9fbff;
    border-radius: 12px;
}
.city-bullet { font-size: 14px; color: #444; display: flex; align-items: center; line-height: 1.4; }
.city-bullet:before { content: "•"; color: #0d3060; margin-right: 8px; font-weight: bold; font-size: 18px; }

/* Стили для новых соцсетей */
.contacts__socials-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 15px; }
.contacts__social-card { 
    display: flex; align-items: center; background: #f4f7fa; padding: 12px; 
    border-radius: 8px; text-decoration: none; color: #333; font-weight: 600; font-size: 14px;
    transition: background 0.2s;
}
.contacts__social-card:hover { background: #e9eff5; }
.contacts__social-card img { margin-right: 10px; flex-shrink: 0; }

@media (max-width: 992px) {
    .cities-grid-layout { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .cities-grid-layout { grid-template-columns: repeat(2, 1fr); padding: 15px; gap: 8px 15px; }
    .city-bullet { font-size: 12px; }
    .dpo-map-container { height: 300px; }
    .dpo-geo-title { font-size: 24px; }
    .contacts__socials-grid { grid-template-columns: 1fr; } /* На мобилках соцсети в один столбец для удобства нажатия */
}
@media (max-width: 768px) {
    /* 1. Снимаем жесткие ограничения ширины */
    .main-container, .contacts__text {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 10px !important; /* Небольшой отступ, чтобы текст не касался краев */
    }

    /* 2. Если форма "feedback-ask" должна быть во всю ширину с фоном */
    .feedback-ask {
        width: calc(100% + 20px) !important; /* Расширяем на величину отступов */
        margin-left: -10px !important;
        border-radius: 0 !important;
    }

    /* 3. Убираем класс desktop, если он скрывает форму */
    .feedback-ask.desktop {
        display: block !important;
    }
}

/* ════════════════════════════════════════════════════════════════════════
   BLOG LISTING — табы рубрик, сетка карточек, пагинация (2026-06)
   Применяется в blog.php, category.php, tag.php и AJAX через
   sections/blog-tabs.php + sections/blog-card.php.
   ════════════════════════════════════════════════════════════════════════ */

.blog-category__head {
    margin: 24px 0 32px;
}

.blog-category__h1 {
    font-size: 38px;
    line-height: 1.15;
    font-weight: 700;
    margin: 0 0 12px;
    color: #0f172a;
}

.blog-category__lead {
    font-size: 18px;
    line-height: 1.5;
    color: #475569;
    margin: 0;
    max-width: 720px;
}

/* ── Табы рубрик ───────────────────────────────────────────────────── */
/* Блочный layout: заголовок сверху, ниже горизонтально-скроллящийся список
   категорий. Заголовок стилизован идентично .find-v2__title (uppercase,
   clamp-fluid font-size, градиентное подчёркивание через ::after). */
.blog-tabs {
    margin: 0 0 24px;
    padding: 0;
    width: 100%;
}

.blog-tabs__title {
    text-transform: uppercase;
    font-size: clamp(24px, 2.8vw, 38px);
    font-weight: 800;
    color: #0f1728;
    margin: 0 0 32px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: -0.5px;
}
.blog-tabs__title::after {
    content: '';
    display: block;
    width: 52px;
    height: 3px;
    background: linear-gradient(90deg, #05192e, #5bb8ff);
    border-radius: 2px;
    margin: 12px auto 0;
}

.blog-tabs__scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    /* Не даём содержимому push'ить контейнер шире, чем grid-track */
    min-width: 0;
    /* Тонкий видимый скроллбар (Firefox + WebKit). */
    scrollbar-width: thin;
    scrollbar-color: #94a3b8 transparent;
}
.blog-tabs__scroll::-webkit-scrollbar {
    height: 8px;
}
.blog-tabs__scroll::-webkit-scrollbar-track {
    background: transparent;
}
.blog-tabs__scroll::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border: 2px solid transparent;
    background-clip: padding-box;
    border-radius: 999px;
}
.blog-tabs__scroll::-webkit-scrollbar-thumb:hover {
    background: #64748b;
    background-clip: padding-box;
}

.blog-tabs__list {
    display: flex;
    gap: 8px;
    list-style: none;
    padding: 2px 0 12px 0;
    margin: 0;
    flex-wrap: nowrap;
    /* width: max-content гарантирует, что ul возьмёт ширину по содержимому,
       а не сожмётся в колонку. */
    width: max-content;
}

.blog-tabs__item {
    flex-shrink: 0;
}

.blog-tabs__link {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #1e293b;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.blog-tabs__link:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.blog-tabs__link--active {
    background: #0f172a;
    color: #fff;
}
.blog-tabs__link--active:hover {
    background: #1e293b;
    color: #fff;
}

/* ── Поиск ─────────────────────────────────────────────────────────── */
.blog-search {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 32px;
}

.blog-search__icon {
    position: absolute;
    left: 16px;
    color: #94a3b8;
    pointer-events: none;
}

.blog-search__input {
    width: 100%;
    padding: 14px 16px 14px 48px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    font-size: 15px;
    color: #0f172a;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.blog-search__input::placeholder {
    color: #94a3b8;
}

.blog-search__input:focus {
    outline: none;
    border-color: #0f172a;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}

.blog-search__reset {
    position: absolute;
    right: 16px;
    border: 0;
    background: transparent;
    color: #94a3b8;
    font-size: 16px;
    cursor: pointer;
    padding: 4px 8px;
}

/* ── Live-suggestions dropdown ─────────────────────────────────────── */
.blog-search {
    position: relative;
}

.blog-search__dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 12px 32px -8px rgba(15, 23, 42, 0.15);
    max-height: 480px;
    overflow-y: auto;
    padding: 8px;
}

.blog-search__dropdown[hidden] {
    display: none;
}

.blog-search__suggest {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s ease;
}

.blog-search__suggest:hover,
.blog-search__suggest:focus {
    background: #f1f5f9;
    outline: none;
}

.blog-search__suggest-thumb {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.blog-search__suggest-body {
    flex: 1;
    min-width: 0;
}

.blog-search__suggest-title {
    font-size: 14px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog-search__suggest-meta {
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

.blog-search__suggest-more {
    display: block;
    text-align: center;
    padding: 10px 12px;
    margin-top: 4px;
    border-top: 1px solid #f1f5f9;
    font-size: 13px;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
    transition: background 0.15s ease;
}

.blog-search__suggest-more:hover {
    background: #f1f5f9;
    color: #1e40af;
}

.blog-search__dropdown-empty {
    padding: 16px 12px;
    text-align: center;
    color: #64748b;
    font-size: 14px;
}

.blog-search__summary {
    margin: 0 0 24px;
    font-size: 14px;
    color: #475569;
}

/* ── Сетка карточек ─────────────────────────────────────────────────── */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0 0 48px;
}

@media (max-width: 1024px) {
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .blog-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .blog-category__h1 {
        font-size: 28px;
    }
    .blog-tabs__title {
        margin-bottom: 20px;
    }
}

/* ── Карточка ──────────────────────────────────────────────────────── */
.blog-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.blog-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px -8px rgba(15, 23, 42, 0.12);
    border-color: #cbd5e1;
}

/* Кликабельность карточки: cover-link перекрывает ВСЁ (z-index: 2), но
   интерактивные элементы (chip-категории, ссылка-заголовок, имя автора)
   подняты ещё выше (z-index: 3) и сами обрабатывают клик. Картинка, лид,
   дата — некликабельные элементы — остаются под cover-link и весь клик
   проваливается на пост. */
.blog-card__cover-link {
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    text-indent: -9999px;
    overflow: hidden;
}

.blog-card__chip,
.blog-card__title a,
.blog-card__author {
    position: relative;
    z-index: 3;
}

/* Картинка featured image — 16:9 кроп через aspect-ratio, без вёрстки на padding-bottom */
.blog-card__image {
    aspect-ratio: 16 / 9;
    width: 100%;
    background: #f1f5f9;
    overflow: hidden;
}

.blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.blog-card:hover .blog-card__image img {
    transform: scale(1.05);
}

.blog-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px;
    min-height: 220px;
}

/* Карточки без картинки получают больший вертикальный padding,
   чтобы не выглядели «пустыми» сверху. */
.blog-card:not(.blog-card--has-image) .blog-card__body {
    padding-top: 28px;
}

.blog-card__date {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 400;
}

.blog-card__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
}

.blog-card__updated {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 11px;
    font-weight: 500;
    cursor: help;
}

.blog-card__updated time {
    font-weight: 600;
    color: #1e293b;
}

.blog-card__chip-row {
    margin-bottom: 16px;
}

.blog-card__chip {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #475569;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.18s ease;
}

.blog-card__chip:hover {
    background: #e2e8f0;
    color: #0f172a;
}

/* Категория-специфичные цвета chip — расширяется добавлением правил
   .blog-card--cat-<slug> .blog-card__chip { background: …; color: …; }
   Базовые «тёплые» цвета для популярных групп: */
.blog-card--cat-professii-i-trudoustrojstvo .blog-card__chip { background: #e2e8f0; color: #334155; }
.blog-card--cat-tochnye-nauki-i-inzheneriya .blog-card__chip { background: #fed7aa; color: #9a3412; }
.blog-card--cat-obrazovanie-i-psihologiya   .blog-card__chip { background: #e2e8f0; color: #334155; }
.blog-card--cat-bezopasnye-usloviya-truda   .blog-card__chip { background: #ddd6fe; color: #5b21b6; }
.blog-card--cat-medicina-i-zdorove          .blog-card__chip { background: #fecaca; color: #991b1b; }
.blog-card--cat-promyshlennost-i-energetika .blog-card__chip { background: #bae6fd; color: #075985; }
.blog-card--cat-selskoe-hozyajstvo          .blog-card__chip { background: #bbf7d0; color: #166534; }
.blog-card--cat-biznes-i-finansy            .blog-card__chip { background: #fde68a; color: #92400e; }
.blog-card--cat-dizajn-i-tvorchestvo        .blog-card__chip { background: #fbcfe8; color: #9d174d; }

.blog-card__title {
    margin: 0 0 12px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    color: #0f172a;
}

.blog-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.18s ease;
}

.blog-card:hover .blog-card__title a {
    color: #1d4ed8;
}

.blog-card__lead {
    flex: 1;
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.55;
    color: #64748b;
}

.blog-card__foot {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

.blog-card__read {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #475569;
    font-size: 14px;
    font-weight: 500;
}

.blog-card__read-icon {
    color: #94a3b8;
    flex-shrink: 0;
}

.blog-card__read-num {
    font-weight: 700;
    color: #0f172a;
}

.blog-card__read-label {
    color: #64748b;
}

.blog-card__author {
    margin-left: auto;
    color: #475569;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.18s ease;
}

.blog-card__author:hover {
    color: #1d4ed8;
}

.blog__empty {
    padding: 40px 0;
    text-align: center;
    color: #64748b;
    font-size: 16px;
}

/* ── Пагинация ─────────────────────────────────────────────────────── */
.pager {
    margin: 48px 0 24px;
}

.pager__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}

.pager__item {
    display: inline-flex;
}

.pager__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #1e293b;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.pager__link:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #0f172a;
}

.pager__link--current {
    background: #0f172a;
    border-color: #0f172a;
    color: #fff;
    cursor: default;
}
.pager__link--current:hover {
    background: #0f172a;
    border-color: #0f172a;
    color: #fff;
}

.pager__link--dots {
    border: 0;
    background: transparent;
    cursor: default;
    color: #94a3b8;
}

.pager__item--prev .pager__link,
.pager__item--next .pager__link {
    padding: 0 10px;
}

.pager__link svg {
    display: block;
}

/* ── Блок «Курсы по теме статьи» под article ───────────────────────── */
.blog-courses {
    margin-top: 56px;
    padding: 40px;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 20px;
    color: #fff;
}

.blog-courses__head {
    margin-bottom: 28px;
    max-width: 680px;
}

.blog-courses__title {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
}

.blog-courses__lead {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #cbd5e1;
}

.blog-courses__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (max-width: 1024px) {
    .blog-courses__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .blog-courses {
        padding: 24px;
        margin-top: 40px;
    }
    .blog-courses__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .blog-courses__title {
        font-size: 22px;
    }
}

.blog-course-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.blog-course-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.35);
}

.blog-course-card__cover-link {
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    text-indent: -9999px;
    overflow: hidden;
}

.blog-course-card__title a {
    position: relative;
    z-index: 3;
}

.blog-course-card__image {
    aspect-ratio: 16 / 9;
    width: 100%;
    background: #f1f5f9;
    overflow: hidden;
}

.blog-course-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.blog-course-card:hover .blog-course-card__image img {
    transform: scale(1.06);
}

.blog-course-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 20px 20px;
    gap: 10px;
}

.blog-course-card__type {
    align-self: flex-start;
    padding: 4px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.blog-course-card__title {
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
    color: #0f172a;
}

.blog-course-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.18s ease;
}

.blog-course-card:hover .blog-course-card__title a {
    color: #1d4ed8;
}

.blog-course-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #f1f5f9;
    font-size: 13px;
}

.blog-course-card__duration {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #475569;
}

.blog-course-card__price {
    font-weight: 700;
    color: #0f172a;
}

/* ── Блок «Читайте также» под article в single-посте блога ─────────── */
.blog-related {
    margin-top: 56px;
    padding-top: 40px;
    border-top: 1px solid #e2e8f0;
}

.blog-related__title {
    margin: 0 0 24px;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
}

@media (max-width: 640px) {
    .blog-related__title {
        font-size: 22px;
    }
}

/* ── Соцшеринг single-поста: sidebar + inline варианты ────────────── */
.blog-share__list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.blog-share__item {
    display: inline-flex;
}

.blog-share__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.12s ease;
    padding: 0;
}

.blog-share__btn svg {
    width: 18px;
    height: 18px;
    display: block;
}

.blog-share__btn:hover {
    transform: translateY(-1px);
    border-color: #cbd5e1;
}

.blog-share__btn--telegram:hover { background: #229ED9; color: #fff; border-color: #229ED9; }
.blog-share__btn--whatsapp:hover { background: #25D366; color: #fff; border-color: #25D366; }
.blog-share__btn--vk:hover       { background: #0077FF; color: #fff; border-color: #0077FF; }
.blog-share__btn--ok:hover       { background: #EE8208; color: #fff; border-color: #EE8208; }
.blog-share__btn--copy:hover     { background: #0f172a; color: #fff; border-color: #0f172a; }

.blog-share__btn--copy {
    position: relative;
}

.blog-share__copy-feedback {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 10px;
    background: #0f172a;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
}

.blog-share__btn--copy.is-copied .blog-share__copy-feedback {
    opacity: 1;
}

/* ── Inline-вариант: компактная горизонтальная строка ───────────────── */
.blog-share--inline {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #f1f5f9;
    flex-wrap: wrap;
}

.blog-share--inline .blog-share__label {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.blog-share--inline .blog-share__list {
    gap: 8px;
    flex-wrap: wrap;
}

/* ── Reading progress bar — тонкая полоса сверху на single-постах ──── */
.blog-reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 1000;
    pointer-events: none;
    background: transparent;
}

.blog-reading-progress__bar {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, #1d4ed8, #3b82f6);
    transition: width 0.08s linear;
}

/* ── TL;DR блок (краткое содержание статьи) ────────────────────────── */
.blog-single__tldr {
    margin: 0 0 32px;
    padding: 20px 24px;
    background: #eff6ff;
    border-left: 4px solid #1d4ed8;
    border-radius: 8px;
}

.blog-single__tldr-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #1d4ed8;
}

.blog-single__tldr-icon {
    flex-shrink: 0;
}

.blog-single__tldr-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.blog-single__tldr-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
    color: #1e293b;
}

/* ── FAQ в блог-посте — собственный стиль на белом фоне ────────────────
   Не используем глобальные .sf-faq стили (тёмный course-вариант), но
   разметка остаётся той же — JS-обработчик аккордеона в main.js работает
   по селектору .sf-faq__trigger вне зависимости от стилей. */
.blog-single__faq {
    margin-top: 48px;
    background: none;
    padding: 0;
}

.blog-single__faq-title {
    margin: 0 0 20px;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
}

.blog-single__faq .sf-faq__item {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 10px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    overflow: hidden;
}

.blog-single__faq .sf-faq__item:hover {
    border-color: #cbd5e1;
}

.blog-single__faq .sf-faq__item--open {
    border-color: #1d4ed8;
    box-shadow: 0 4px 16px -4px rgba(29, 78, 216, 0.12);
}

.blog-single__faq .sf-faq__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    padding: 18px 22px;
    background: transparent;
    border: 0;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
}

.blog-single__faq .sf-faq__question {
    flex: 1;
    color: #0f172a;
    /* Сильнее override для глобальных hover/open правил sf-faq, которые
       делают question белым (см. строки ~10770-10778). */
    font-size: 16px;
    line-height: 1.4;
}

/* Перекрываем глобальные .sf-faq__trigger:hover .sf-faq__question { color: #fff }
   и .sf-faq__item--open .sf-faq__question { color: #fff } той же специфичностью,
   но ниже в файле — побеждаем по порядку. */
.blog-single__faq .sf-faq__trigger:hover .sf-faq__question,
.blog-single__faq .sf-faq__item--open .sf-faq__question {
    color: #0f172a;
}

/* Иконка-chevron через CSS mask. Сбрасываем глобальные width:40px / rotate(45deg) /
   синий бордюр от глобального .sf-faq__icon. */
.blog-single__faq .sf-faq__icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    background: #f1f5f9;
    border: 0;
    border-radius: 50%;
    color: #475569;
    transform: none;
    transition: background 0.18s ease, color 0.18s ease, transform 0.25s ease;
    /* Стрелка-chevron вниз — через mask на background-color */
    position: relative;
}

.blog-single__faq .sf-faq__icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background-color: currentColor;
    transform: translate(-50%, -55%);
    transition: transform 0.25s ease;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center / contain;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center / contain;
}

.blog-single__faq .sf-faq__trigger:hover .sf-faq__icon {
    background: #e2e8f0;
    color: #0f172a;
    transform: none;
    border: 0;
}

.blog-single__faq .sf-faq__item--open .sf-faq__icon {
    background: #1d4ed8;
    color: #fff;
    border: 0;
    /* Перебиваем глобальный transform: rotate(45deg) */
    transform: none;
}

.blog-single__faq .sf-faq__item--open .sf-faq__icon::before {
    transform: translate(-50%, -55%) rotate(180deg);
}

.blog-single__faq .sf-faq__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.blog-single__faq .sf-faq__answer {
    padding: 0 22px 20px;
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
}

.blog-single__faq .sf-faq__answer p {
    margin: 0 0 10px;
}

.blog-single__faq .sf-faq__answer p:last-child {
    margin-bottom: 0;
}

.blog-single__faq .sf-faq__answer a {
    color: #1d4ed8;
    text-decoration: underline;
}

.blog-single__faq .sf-faq__answer ul,
.blog-single__faq .sf-faq__answer ol {
    margin: 6px 0 12px;
    padding-left: 20px;
}

@media (max-width: 640px) {
    .blog-single__faq-title {
        font-size: 22px;
    }
    .blog-single__faq .sf-faq__trigger {
        padding: 16px 18px;
        font-size: 15px;
    }
    .blog-single__faq .sf-faq__answer {
        padding: 0 18px 18px;
        font-size: 14px;
    }
}

/* ── Блок «Об авторе» под content-wrapper в single-посте блога ───────
   Структура: <section> = flex с двумя колонками: photo | body.
   Body содержит label, name, position, bio, link — всё text-align: left.
   Link стилизован как pill-кнопка вместо текстовой ссылки. */
.blog-single__author-card {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    margin-top: 48px;
    padding: 28px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    text-align: left;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.blog-single__author-card-photo {
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
    background: #f1f5f9;
    position: relative;
    border: 1px solid rgba(15, 23, 42, 0.05);
}

.blog-single__author-card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Плейсхолдер-аватар когда фото отсутствует (1-в-1 с .teachers-course__card-photo) */
.blog-single__author-card-photo:empty::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") center/40px no-repeat;
}

.blog-single__author-card-body {
    flex: 1;
    min-width: 0;
    text-align: left;
}

.blog-single__author-card-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 6px;
}

.blog-single__author-card-name {
    margin: 0 0 4px;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.blog-single__author-card-name a {
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0 1px;
    transition: background-size 0.25s ease, color 0.18s ease;
}

.blog-single__author-card-name a:hover {
    color: #1d4ed8;
    background-size: 100% 1px;
}

.blog-single__author-card-position {
    display: inline-block;
    margin-top: 8px;
    padding: 5px 12px;
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    max-width: 100%;
}

.blog-single__author-card-bio {
    margin: 14px 0 18px;
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
}

.blog-single__author-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #ffffff;
    color: #1d4ed8;
    border: 1.5px solid #1d4ed8;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: gap 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.blog-single__author-card-link:hover {
    background: #1d4ed8;
    color: #ffffff;
    border-color: #1d4ed8;
    gap: 12px;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px -4px rgba(29, 78, 216, 0.35);
}

.blog-single__author-card-link svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

@media (max-width: 640px) {
    .blog-single__author-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 20px;
    }
    .blog-single__author-card-photo {
        width: 72px;
        height: 72px;
    }
    .blog-single__author-card-name {
        font-size: 18px;
    }
    .blog-single__author-card-bio {
        font-size: 14.5px;
    }
}

/* ── Chips категории/тегов в шапке single-поста блога ──────────────── */
.blog-single__date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* Категория-чип внутри строки с датой — компактный, выровнен по центру.
   Разделитель-точка перед chip визуально отделяет «дата» от «категория». */
.blog-single__date .blog-single__chip--category {
    position: relative;
    margin-left: 16px;
}

.blog-single__date .blog-single__chip--category::before {
    content: "";
    position: absolute;
    left: -13px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #cbd5e1;
}

/* «Обновлено DD MMMM YYYY» — рядом с датой публикации, помечает свежие правки.
   Визуально мелкая подпись с серым фоном-капсулой. */
.blog-single__updated {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    margin-left: 4px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: help;
}

.blog-single__updated time {
    font-weight: 600;
    color: #1e293b;
}

/* Теги — отдельная строка под .blog-single__meta */
.blog-single__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: 12px;
}

.blog-single__taxonomies {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.blog-single__chip {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
    white-space: nowrap;
}

.blog-single__chip--category {
    background: #0f172a;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 11px;
}

.blog-single__chip--category:hover {
    background: #1e293b;
    color: #fff;
}

.blog-single__chip--tag {
    background: #f1f5f9;
    color: #475569;
}

.blog-single__chip--tag:hover {
    background: #e2e8f0;
    color: #0f172a;
}

/* ── Облако меток на /blog/tag/ ────────────────────────────────────── */
.tags-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: baseline;
    padding: 32px 0 16px;
}

.tags-cloud__item {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 8px 16px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #1e293b;
    text-decoration: none;
    font-weight: 500;
    line-height: 1;
    transition: background 0.18s ease, color 0.18s ease, transform 0.12s ease;
}

.tags-cloud__item:hover {
    background: #0f172a;
    color: #fff;
    transform: translateY(-1px);
}

.tags-cloud__count {
    font-size: 0.7em;
    font-weight: 600;
    color: #94a3b8;
    transition: color 0.18s ease;
}

.tags-cloud__item:hover .tags-cloud__count {
    color: #cbd5e1;
}

/* ── SEO-блок под сеткой ───────────────────────────────────────────── */
.blog-category__seo {
    margin-top: 48px;
    padding: 32px;
    background: #f8fafc;
    border-radius: 16px;
    color: #334155;
    font-size: 15px;
    line-height: 1.65;
}

.blog-category__seo h2,
.blog-category__seo h3 {
    color: #0f172a;
    margin-top: 0;
}

/* ═══════════════════════════════════════════════════════════════════════
   Преподаватели и авторы (CPT teacher, CPT author) — июнь 2026.
   Профили (single), архивы, блоки на single-курсе и в single-посте блога.
   Палитра выдержана с .blog-single__author-card: bg #f8fafc, border #e2e8f0,
   текст #0f172a/#334155/#475569/#64748b, accent #1d4ed8 → #1e40af.
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── Усиление .profile-card (для single-teacher и single-author) ─── */
.teacher-single,
.author-single {
    padding: 32px 0 56px;
}

.teacher-single .profile-card,
.author-single  .profile-card {
    background: #ffffff;
    border-color: #e2e8f0;
    border-radius: 20px;
    padding: 28px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.teacher-single .profile-card__header,
.author-single  .profile-card__header {
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 20px;
    margin-bottom: 24px;
}

.teacher-single .profile-card__name,
.author-single  .profile-card__name {
    margin: 0 0 16px;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.teacher-single .profile-card__top-row,
.author-single  .profile-card__top-row {
    gap: 24px 40px;
}

.teacher-single .profile-card__info-label,
.author-single  .profile-card__info-label {
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.teacher-single .profile-card__position,
.author-single  .profile-card__position {
    color: #0f172a;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
}

.teacher-single .profile-card__bio-section,
.author-single  .profile-card__bio-section {
    color: #334155;
    font-size: 16px;
    line-height: 1.65;
}

.profile-card__short-bio {
    margin: 0 0 24px;
    padding: 16px 20px;
    background: #f8fafc;
    border-left: 3px solid #1d4ed8;
    border-radius: 0 12px 12px 0;
    color: #1e293b;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 500;
}

.profile-card__section-title {
    margin: 36px 0 16px;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.profile-card__section-title:first-child { margin-top: 0; }

.profile-card__expertise {
    color: #334155;
    font-size: 16px;
    line-height: 1.7;
}
.profile-card__expertise p { margin: 0 0 14px; }
.profile-card__expertise p:last-child { margin-bottom: 0; }

.profile-card__regalia,
.profile-card__education {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.profile-card__regalia li {
    position: relative;
    padding: 14px 18px 14px 44px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    color: #1e293b;
    font-size: 15px;
    line-height: 1.5;
}
.profile-card__regalia li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 16px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat;
}
.profile-card__regalia-year {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 8px;
    background: #e0e7ff;
    color: #1e3a8a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.profile-card__education li {
    padding: 16px 18px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    color: #334155;
    font-size: 15px;
    line-height: 1.55;
}
.profile-card__education li strong {
    display: block;
    margin-bottom: 2px;
    color: #0f172a;
    font-size: 15px;
    font-weight: 600;
}

/* Фото на single — круглое для авторов, скруглённый квадрат для преподов */
.author-single .profile-card__photo-wrapper {
    border-radius: 50%;
    background: #f1f5f9;
}
.teacher-single .profile-card__photo-wrapper {
    border-radius: 20px;
    background: #f1f5f9;
}

/* Когда нет фото — оставшийся блок берёт всю ширину */
.teacher-single .profile-card--with-photo:not(:has(.profile-card__photo)) .profile-card__content,
.author-single  .profile-card--with-photo:not(:has(.profile-card__photo)) .profile-card__content {
    width: 100%;
    padding-right: 0;
}

@media (max-width: 767px) {
    .teacher-single .profile-card,
    .author-single  .profile-card {
        padding: 20px;
        border-radius: 16px;
    }
    .teacher-single .profile-card__name,
    .author-single  .profile-card__name {
        font-size: 24px;
    }
    .profile-card__section-title { font-size: 19px; margin-top: 28px; }
    .profile-card__short-bio { padding: 14px 16px; font-size: 15px; }
}

/* ─── Списки «Курсы преподавателя» / «Статьи автора» на single ─── */
.teacher-courses,
.author-posts {
    margin-top: 48px;
}

.teacher-courses__title,
.author-posts__title {
    margin: 0 0 24px;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.teacher-courses__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}

.teacher-courses__item {
    margin: 0;
}

.teacher-courses__item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 500;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}
.teacher-courses__item a::after {
    content: "";
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>") center/contain no-repeat;
    opacity: 0.55;
    transition: opacity 0.18s ease, transform 0.18s ease;
}
.teacher-courses__item a:hover {
    border-color: #1d4ed8;
    background: #f8fafc;
}
.teacher-courses__item a:hover::after {
    opacity: 1;
    transform: translateX(2px);
}

.author-posts__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.author-posts__item {
    margin: 0;
    padding: 14px 18px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.author-posts__item:hover {
    border-color: #1d4ed8;
    background: #f8fafc;
}
.author-posts__item > a {
    color: #0f172a;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 500;
    text-decoration: none;
    flex: 1;
    min-width: 0;
}
.author-posts__item > a:hover { color: #1d4ed8; }
.author-posts__date {
    flex-shrink: 0;
    color: #64748b;
    font-size: 13px;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .teacher-courses__title,
    .author-posts__title { font-size: 22px; }
    .author-posts__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}

/* ─── Архивы /prepodavateli/ и /avtory/ ─── */
.teachers-archive,
.authors-archive {
    padding: 32px 0 64px;
}

.teachers-archive__head,
.authors-archive__head {
    margin-bottom: 32px;
}
.teachers-archive__head .title,
.authors-archive__head .title {
    margin: 0 0 12px;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.teachers-archive__lead,
.authors-archive__lead {
    max-width: 720px;
    margin: 0;
    color: #475569;
    font-size: 17px;
    line-height: 1.55;
}

.teachers-archive__grid,
.authors-archive__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

.teachers-archive__empty,
.authors-archive__empty {
    padding: 40px 24px;
    text-align: center;
    color: #64748b;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    font-size: 16px;
}

/* ─── Карточки teacher-card / author-card ─── */
.teacher-card,
.author-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.teacher-card:hover,
.author-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.12), 0 4px 8px -4px rgba(15, 23, 42, 0.06);
}

.teacher-card__link,
.author-card__link {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px;
    color: inherit;
    text-decoration: none;
    height: 100%;
}

.teacher-card__photo,
.author-card__photo {
    width: 96px;
    height: 96px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    background: #f1f5f9;
    align-self: flex-start;
    position: relative;
}
.teacher-card__photo::after,
.author-card__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.05);
    pointer-events: none;
}
.teacher-card__photo img,
.author-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Плейсхолдер когда нет фото */
.teacher-card__photo:empty::before,
.author-card__photo:empty::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") center/40px no-repeat #f1f5f9;
}

.teacher-card__name,
.author-card__name {
    margin: 0;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.005em;
    transition: color 0.18s ease;
}
.teacher-card__link:hover .teacher-card__name,
.author-card__link:hover  .author-card__name {
    color: #1d4ed8;
}

.teacher-card__position,
.author-card__position {
    margin-top: -4px;
    color: #475569;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 500;
}

.teacher-card__bio,
.author-card__bio {
    margin: 0;
    color: #475569;
    font-size: 14px;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* «Подробнее» с CSS-only стрелкой в нижней части карточки */
.teacher-card__link::after,
.author-card__link::after {
    content: "Подробнее";
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px dashed #e2e8f0;
    color: #1d4ed8;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.18s ease, color 0.18s ease;
}
.teacher-card__link:hover::after,
.author-card__link:hover::after {
    gap: 10px;
    color: #1e40af;
}

@media (max-width: 640px) {
    .teachers-archive__grid,
    .authors-archive__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .teacher-card__link,
    .author-card__link { padding: 18px; }
    .teacher-card__photo,
    .author-card__photo { width: 80px; height: 80px; }
    .teachers-archive__lead,
    .authors-archive__lead { font-size: 15px; }
}

/* ─── Блок «Преподаватели курса/направления» в single-курсах ───────────
   Тот же визуальный язык, что и .blog-single__author-card. Каждый препод —
   горизонтальная карточка photo | body с label, name, position, bio и pill-
   кнопкой «Подробнее» (белая на белом, hover → синяя). Карточки стекаются
   вертикально с gap'ом. Слайдер не используется — горизонтальные карточки
   читаются по странице, а не свайпом. */
.teachers-course {
    margin: 56px 0;
}

.teachers-course__title {
    margin: 0 0 24px;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
    text-align: left;
}

.teachers-course__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.teachers-course__card {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    padding: 28px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    text-align: left;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.teachers-course__card-photo {
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
    background: #f1f5f9;
    position: relative;
    border: 1px solid rgba(15, 23, 42, 0.05);
}
.teachers-course__card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Плейсхолдер-аватар когда фото отсутствует */
.teachers-course__card-photo:empty::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") center/40px no-repeat;
}

.teachers-course__card-body {
    flex: 1;
    min-width: 0;
    text-align: left;
}

.teachers-course__card-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 6px;
}

.teachers-course__card-name {
    margin: 0 0 4px;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.teachers-course__card-name a {
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0 1px;
    transition: background-size 0.25s ease, color 0.18s ease;
}
.teachers-course__card-name a:hover {
    color: #1d4ed8;
    background-size: 100% 1px;
}

.teachers-course__card-position {
    display: inline-block;
    margin-top: 8px;
    padding: 5px 12px;
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    max-width: 100%;
}

.teachers-course__card-bio {
    margin: 14px 0 18px;
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
}

.teachers-course__card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #ffffff;
    color: #1d4ed8;
    border: 1.5px solid #1d4ed8;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: gap 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.teachers-course__card-link:hover {
    background: #1d4ed8;
    color: #ffffff;
    border-color: #1d4ed8;
    gap: 12px;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px -4px rgba(29, 78, 216, 0.35);
}
.teachers-course__card-link svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

@media (max-width: 640px) {
    .teachers-course { margin: 40px 0; }
    .teachers-course__title {
        font-size: 22px;
        margin-bottom: 20px;
    }
    .teachers-course__card {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 20px;
    }
    .teachers-course__card-photo {
        width: 72px;
        height: 72px;
    }
    .teachers-course__card-name {
        font-size: 18px;
    }
    .teachers-course__card-bio {
        font-size: 14.5px;
    }
}

/* (Стили .blog-single__author-card живут выше — единым блоком на строке 14473.) */
.feedback__form-full {
  margin-top: 20px;
}

.feedback__form-full textarea {
  width: 100%;
}

/* ═══════════════════════════════════════════════════════════════════════
   Форма «Написать преподавателю / автору» на single-teacher и single-author.
   Скоупим всё под body.single-teacher / body.single-author — WP добавляет
   эти классы автоматически для соответствующих CPT. Глобальные .feedback /
   .input / .btn / .textarea не трогаем, чтобы форма на главной, в hero и
   на курсах работала как раньше. Палитра выдержана с .blog-single__author-card
   и .teachers-course__card (#f8fafc / #e2e8f0 / #0f172a / #1d4ed8).
   ═══════════════════════════════════════════════════════════════════════ */

body.single-teacher .feedback,
body.single-author  .feedback {
    margin: 56px auto 24px;
    background: none;
}

body.single-teacher .feedback__inner,
body.single-author  .feedback__inner {
    display: block;
    max-width: 760px;
    min-height: 0;
    margin: 0 auto;
}

/* Стоковое feedback_img.png не вписывается в карточный стиль single — прячем. */
body.single-teacher .feedback__img,
body.single-author  .feedback__img {
    display: none;
}

body.single-teacher .feedback__block,
body.single-author  .feedback__block {
    width: 100%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

@media (max-width: 640px) {
    body.single-teacher .feedback__block,
    body.single-author  .feedback__block {
        padding: 22px 18px;
        border-radius: 14px;
    }
}

body.single-teacher .feedback__block .feedback__title,
body.single-author  .feedback__block .feedback__title {
    color: #0f172a;
    font-size: 22px;
    font-weight: 700;
    text-align: left;
    text-transform: none;
    letter-spacing: -0.01em;
    line-height: 1.25;
    margin: 0 0 22px;
}

/* Шорткод выводит обёртку <div class="feedback__form"> для строки с двумя
   инпутами (имя + телефон). Делаем сетку 1fr 1fr, чтобы не зависеть от
   flex-basis: 50% из глобальных правил, и без верхнего margin: 25px. */
body.single-teacher .feedback__block .feedback__form,
body.single-author  .feedback__block .feedback__form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 0;
}

@media (max-width: 520px) {
    body.single-teacher .feedback__block .feedback__form,
    body.single-author  .feedback__block .feedback__form {
        grid-template-columns: 1fr;
    }
}

/* Внутри .feedback__form-full второй .feedback__form содержит только сабмит. */
body.single-teacher .feedback__block .feedback__form-full,
body.single-author  .feedback__block .feedback__form-full {
    margin-top: 12px;
}
body.single-teacher .feedback__block .feedback__form-full .feedback__form,
body.single-author  .feedback__block .feedback__form-full .feedback__form {
    display: block;
    margin-top: 14px;
}

/* Инпуты. !important нужен потому что глобальные .input-phone / .input-name
   определяют свои padding/border-radius с высокой специфичностью. */
body.single-teacher .feedback__block .input,
body.single-author  .feedback__block .input {
    width: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 14px 16px 14px 48px !important;
    background-position: 16px center !important;
    background-repeat: no-repeat !important;
    background-size: 18px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #0f172a !important;
    margin: 0 !important;
    box-shadow: none !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
body.single-teacher .feedback__block .input:focus,
body.single-author  .feedback__block .input:focus {
    border-color: #1d4ed8 !important;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12) !important;
    outline: none !important;
}
body.single-teacher .feedback__block .input::placeholder,
body.single-author  .feedback__block .input::placeholder {
    color: #94a3b8;
    font-size: 15px;
    font-weight: 400;
}

/* Textarea — фиксированная разумная высота вместо 350px. */
body.single-teacher .feedback__block .textarea,
body.single-author  .feedback__block .textarea {
    width: 100%;
    height: 150px;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px 16px 14px 48px;
    background-position: 16px 16px;
    background-size: 18px;
    font-size: 15px;
    line-height: 1.5;
    color: #0f172a;
    resize: vertical;
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
body.single-teacher .feedback__block .textarea:focus,
body.single-author  .feedback__block .textarea:focus {
    border-color: #1d4ed8;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
    outline: none;
}
body.single-teacher .feedback__block .textarea::placeholder,
body.single-author  .feedback__block .textarea::placeholder {
    color: #94a3b8;
    font-size: 15px;
}

/* Кнопка сабмита — синяя pill (как .teachers-course__card-link). */
body.single-teacher .feedback__block .btn,
body.single-author  .feedback__block .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 220px;
    padding: 13px 28px;
    background: #1d4ed8;
    color: #ffffff;
    border: 1.5px solid #1d4ed8;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: 0 1px 2px rgba(29, 78, 216, 0.18);
    transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
    animation: none;
}
body.single-teacher .feedback__block .btn:hover:not([disabled]),
body.single-author  .feedback__block .btn:hover:not([disabled]) {
    background: #1e40af;
    border-color: #1e40af;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px -4px rgba(29, 78, 216, 0.35);
}
body.single-teacher .feedback__block .btn[disabled],
body.single-author  .feedback__block .btn[disabled],
body.single-teacher .feedback__block .btn.wpcf7-submit:disabled,
body.single-author  .feedback__block .btn.wpcf7-submit:disabled {
    background: #cbd5e1;
    border-color: #cbd5e1;
    color: #ffffff;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

/* Чекбокс согласия. Светлый фон → нужен тёмный текст вместо белого
   из глобального .modal-c__label--checkbox.privacy-text-new span { color: #fff }. */
body.single-teacher .feedback__block .modal-c__label--checkbox.privacy-text-new,
body.single-author  .feedback__block .modal-c__label--checkbox.privacy-text-new {
    margin-top: 14px;
    align-items: flex-start;
}
body.single-teacher .feedback__block .modal-c__label--checkbox.privacy-text-new span,
body.single-author  .feedback__block .modal-c__label--checkbox.privacy-text-new span {
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}
body.single-teacher .feedback__block .modal-c__label--checkbox.privacy-text-new span a,
body.single-author  .feedback__block .modal-c__label--checkbox.privacy-text-new span a {
    color: #1d4ed8;
    text-decoration: underline;
}
body.single-teacher .feedback__block .modal-c__label--checkbox.privacy-text-new span a:hover,
body.single-author  .feedback__block .modal-c__label--checkbox.privacy-text-new span a:hover {
    color: #1e40af;
}
body.single-teacher .feedback__block .modal-c__checkbox,
body.single-author  .feedback__block .modal-c__checkbox {
    accent-color: #1d4ed8;
}
/* ═══════════════════════════════════════════════════════════
   COURSE CATS (ТЗ июль 2026): фильтр категорий-профессий
   на страницах разделов + табы «Направления обучения» на главной.
   Карточки переиспользуют .bsf-cats__item / .home-bsf__item.
   ═══════════════════════════════════════════════════════════ */
.course-cats__controls {
    margin-bottom: 28px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e8edf8;
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(13,48,96,.05);
}
.course-cats__search-wrap {
    position: relative;
    margin-bottom: 16px;
}
.course-cats__search {
    position: relative;
    display: block;
}
/* AJAX live-suggest дропдаун — курсы CPT, найденные по вводу */
.course-cats__suggest {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 30;
    background: #fff;
    border: 1px solid rgba(13, 48, 96, 0.08);
    border-radius: 16px;
    box-shadow:
        0 2px 6px rgba(13, 48, 96, 0.06),
        0 20px 48px rgba(13, 48, 96, 0.16);
    max-height: 420px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px;
    animation: cc-suggest-in .16s ease-out;
    scrollbar-width: thin;
    scrollbar-color: #c8d8ef transparent;
}
.course-cats__suggest[hidden] { display: none; }
.course-cats__suggest::-webkit-scrollbar { width: 6px; }
.course-cats__suggest::-webkit-scrollbar-thumb { background: #d5deed; border-radius: 3px; }
@keyframes cc-suggest-in {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}
.course-cats__suggest-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px 10px 14px;
    border-bottom: 1px solid rgba(13, 48, 96, 0.06);
    margin-bottom: 4px;
}
.course-cats__suggest-label {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0d3060;
    line-height: 1.3;
}
.course-cats__suggest-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.course-cats__suggest-count {
    font-size: 11px;
    color: #8fa6c9;
    font-weight: 500;
    white-space: nowrap;
}
.course-cats__suggest-close {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 1px solid rgba(13, 48, 96, 0.12);
    color: #8fa6c9;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.course-cats__suggest-close:hover,
.course-cats__suggest-close:focus-visible {
    background: #0d3060;
    color: #fff;
    border-color: #0d3060;
    outline: none;
}
.course-cats__suggest-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.course-cats__suggest-item {
    margin: 0;
}
.course-cats__suggest-item + .course-cats__suggest-item {
    margin-top: 2px;
}
.course-cats__suggest-item a {
    display: grid;
    grid-template-columns: 28px 1fr 16px;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #1a1a2e;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.35;
    transition: background .18s ease, color .18s ease;
}
.course-cats__suggest-item a:hover,
.course-cats__suggest-item a:focus-visible {
    background: linear-gradient(90deg, #f0f6ff 0%, #f7faff 100%);
    color: #0d3060;
    outline: none;
}
.course-cats__suggest-lead {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #eef4ff;
    color: #1a8ef1;
    flex-shrink: 0;
    transition: background .18s ease, color .18s ease;
}
.course-cats__suggest-item a:hover .course-cats__suggest-lead {
    background: #1a8ef1;
    color: #fff;
}
.course-cats__suggest-title {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}
.course-cats__suggest-hl {
    background: rgba(242, 219, 178, 0.55);
    color: inherit;
    padding: 0 2px;
    border-radius: 3px;
    font-weight: 700;
}
.course-cats__suggest-arrow {
    color: #c1cee2;
    flex-shrink: 0;
    transition: transform .22s ease, color .22s ease;
}
.course-cats__suggest-item a:hover .course-cats__suggest-arrow {
    color: #0d3060;
    transform: translateX(3px);
}
@media (max-width: 600px) {
    .course-cats__suggest {
        max-height: 60vh;
    }
    .course-cats__suggest-item a {
        grid-template-columns: 24px 1fr 14px;
        gap: 8px;
        padding: 10px;
        font-size: 13px;
    }
    .course-cats__suggest-lead {
        width: 24px;
        height: 24px;
        border-radius: 6px;
    }
}
.course-cats__search-icon {
    position: absolute;
    left: 18px;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    color: #8fa6c9;
    pointer-events: none;
    transition: color .2s;
}
.course-cats__search:focus-within .course-cats__search-icon {
    color: #1a8ef1;
}
.course-cats__search-input {
    width: 100%;
    padding: 14px 20px 14px 50px;
    font-size: 15px;
    color: #1a1a2e;
    background: #f8faff;
    border: 1px solid #dde8f8;
    border-radius: 10px;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.course-cats__search-input::placeholder {
    color: #8fa6c9;
}
.course-cats__search-input:focus {
    background: #fff;
    border-color: #0d3060;
    box-shadow: 0 0 0 3px rgba(26,142,241,.12);
}
.course-cats__chips {
    display: flex;
    flex-wrap: nowrap;          /* горизонтальная прокрутка на всех разрешениях */
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #c8d8ef transparent;
}
.course-cats__chips::-webkit-scrollbar {
    height: 5px;
}
.course-cats__chips::-webkit-scrollbar-thumb {
    background: #c8d8ef;
    border-radius: 3px;
}
.course-cats__chip {
    white-space: nowrap;
    flex: 0 0 auto;
}
.course-cats__chip {
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    color: #1a1a2e;
    background: #fff;
    border: 1px solid #dde8f8;
    border-radius: 999px;
    cursor: pointer;
    transition: color .2s, background .2s, border-color .2s;
}
.course-cats__chip:hover {
    border-color: #1a8ef1;
    color: #1a8ef1;
}
.course-cats__chip.is-active {
    background: #1a8ef1;
    border-color: #1a8ef1;
    color: #fff;
}
.course-cats__item[hidden] {
    display: none;
}
.course-cats__empty {
    color: #666;
    font-size: 16px;
    text-align: center;
    padding: 32px 0 8px;
}
.course-cats__more-wrap {
    text-align: center;
    margin-top: 28px;
}
.course-cats__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--dh-gold, #f2dbb2);
    color: var(--dh-dark, #1b2838);
    border: none;
    padding: 14px 32px;
    font-family: var(--font-family);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    border-radius: var(--dh-radius, 10px);
    cursor: pointer;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    transition: all .3s cubic-bezier(.4,0,.2,1);
}
.course-cats__more::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
    transform: translateX(-100%);
    transition: transform .6s ease;
}
.course-cats__more:hover {
    background: #0d3060;
    border-color: #0d3060;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(13,48,96,.25);
}
.course-cats__more:hover::before {
    transform: translateX(100%);
}
.course-cats__more svg {
    transition: transform .3s ease;
    flex-shrink: 0;
}
.course-cats__more:hover svg {
    transform: translateX(3px);
}
.course-cats__more[hidden] {
    display: none;
}

/* Табы сфер на главной (блок home-directions) */
.home-directions__tabs {
    margin-bottom: 28px;
}
.home-directions__panel[hidden] {
    display: none;
}
/* (Мобильный media-блок для чипов удалён: горизонтальная прокрутка теперь
   на всех разрешениях — правки задачи №1, июль 2026.) */

/* Головы секций категорий в едином стиле seo-block__head */
.course-cats__head {
    margin-bottom: 28px;
}
.seo-block__head--left {
    text-align: left;
    align-items: flex-start;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
}
.seo-block__head--left .seo-block__title {
    text-align: left;
}
.bsf-archive__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px 24px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.bsf-archive__back {
    white-space: nowrap;
    margin-bottom: 6px;
}
.bsf-related__more {
    margin-top: 24px;
    text-align: right;
}
/* Акцент панели фильтров: брендовая полоса сверху */
.course-cats__controls {
    border-top: 3px solid #0d3060;
}

/* Заглушка карточки курса без изображения (.bsf-archive__item) —
   тот же фон #dde8f8, что и у пустых картинок категорий, + контурная
   иконка «выпускная шапочка» по центру. */
.bsf-archive__img--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #dde8f8;
    color: #9db4d8;
}
.bsf-archive__img--placeholder svg {
    width: 56px;
    height: 56px;
}

/* ═══════════════════════════════════════════════════════════
   ГОРОДА (ТЗ 2.1–2.2 июль 2026): кнопка в хедере, модалка выбора,
   поп-ап подтверждения, страница «Города присутствия».
   ═══════════════════════════════════════════════════════════ */
.dh-top__city {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    background: none;
    border: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
    opacity: .9;
    transition: opacity .2s;
}
.dh-top__city:hover {
    opacity: 1;
}
.dh-top__city span {
    border-bottom: 1px dashed currentColor;
}
.dh-top__city--mobile {
    display: flex;
    width: 100%;
    padding: 14px 16px;
    color: #0d3060;
    font-size: 16px;
    font-weight: 600;
    border-bottom: 1px solid #e8edf8;
}

/* Модалка выбора города */
.modal__cities {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    background: rgba(13, 48, 96, .6);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    padding: 24px;
    overflow-y: auto;
}
.modal__cities.active {
    display: block;
}
.modal__cities-box {
    position: relative;
    max-width: 920px;
    margin: 6vh auto;
    background: #fff;
    border-radius: 18px;
    padding: 0;
    box-shadow: 0 24px 70px rgba(4, 20, 45, .35);
    overflow: hidden;
    animation: dpoCityModalIn .22s ease-out;
}
@keyframes dpoCityModalIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
.modal__cities--head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 28px;
    background: linear-gradient(135deg, #0d3060 0%, #16457f 100%);
    color: #fff;
}
.modal__cities--head-left {
    display: flex;
    align-items: center;
    gap: 14px;
}
.modal__cities--head-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, .12);
    border-radius: 12px;
    color: #7cbcf7;
    flex: 0 0 44px;
}
.modal__cities--title {
    font-size: 19px;
    font-weight: 800;
    line-height: 1.2;
}
.modal__cities--current {
    font-size: 13px;
    opacity: .85;
    margin-top: 3px;
}
.modal__cities--close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, .12);
    border: none;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    transition: background .2s;
    flex: 0 0 36px;
}
.modal__cities--close:hover {
    background: rgba(255, 255, 255, .25);
}
.modal__cities--search {
    position: relative;
    display: block;
    margin: 20px 28px 4px;
}
.modal__cities--search svg {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #8fa6c9;
    pointer-events: none;
}
.modal__cities--search input {
    width: 100%;
    padding: 13px 18px 13px 46px;
    font-size: 15px;
    color: #1a1a2e;
    background: #f8faff;
    border: 1px solid #dde8f8;
    border-radius: 10px;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.modal__cities--search input::placeholder {
    color: #8fa6c9;
}
.modal__cities--search input:focus {
    background: #fff;
    border-color: #1a8ef1;
    box-shadow: 0 0 0 3px rgba(26, 142, 241, .12);
}
.modal__cities--content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px 14px;
    max-height: 46vh;
    overflow-y: auto;
    padding: 14px 28px 20px;
    scrollbar-width: thin;
    scrollbar-color: #c8d8ef transparent;
}
.modal__cities--content::-webkit-scrollbar {
    width: 6px;
}
.modal__cities--content::-webkit-scrollbar-thumb {
    background: #c8d8ef;
    border-radius: 3px;
}
.modal__cities--item {
    text-align: left;
    padding: 8px 12px;
    background: none;
    border: none;
    border-radius: 8px;
    font-size: 14.5px;
    line-height: 1.3;
    color: #1a1a2e;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.modal__cities--item:hover {
    background: #eef6ff;
    color: #1a8ef1;
}
.modal__cities--item.is-current {
    background: #1a8ef1;
    color: #fff;
    font-weight: 700;
}
.modal__cities--item[hidden] {
    display: none;
}
.modal__cities--empty,
.modal__cities--noresults {
    grid-column: 1 / -1;
    color: #666;
    font-size: 14.5px;
    padding: 12px 4px;
}
.modal__cities--footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 14px 28px;
    background: #f8faff;
    border-top: 1px solid #e8edf8;
    font-size: 13px;
    color: #666;
}
.modal__cities--all {
    color: #1a8ef1;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.modal__cities--all:hover {
    text-decoration: underline;
}
@media (max-width: 768px) {
    .modal__cities {
        padding: 0;
    }
    .modal__cities-box {
        margin: 0;
        min-height: 100%;
        border-radius: 0;
    }
    .modal__cities--content {
        grid-template-columns: repeat(2, 1fr);
        max-height: none;
    }
}
@media (max-width: 480px) {
    .modal__cities--content {
        grid-template-columns: 1fr;
    }
}
/* Поп-ап подтверждения города */
.city-confirm {
    position: fixed;
    top: 52px;
    left: 16px;
    z-index: 9999;
    background: #fff;
    border: 1px solid #e8edf8;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(13, 48, 96, .18);
    padding: 16px 18px;
    max-width: 300px;
}
.city-confirm[hidden] {
    display: none;
}
.city-confirm__text {
    font-size: 15px;
    color: #1a1a2e;
    margin-bottom: 12px;
}
.city-confirm__actions {
    display: flex;
    gap: 8px;
}
.city-confirm__yes {
    padding: 8px 16px;
    background: #1a8ef1;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.city-confirm__other {
    padding: 8px 16px;
    background: #fff;
    color: #1a8ef1;
    border: 1px solid #1a8ef1;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

/* Страница «Города присутствия» */
.goroda-list {
    padding: 50px 0 80px;
}
.goroda-list__group {
    display: flex;
    gap: 24px;
    padding: 18px 0;
    border-bottom: 1px solid #eef2fa;
}
.goroda-list__letter {
    flex: 0 0 40px;
    font-size: 22px;
    font-weight: 800;
    color: #1a8ef1;
}
.goroda-list__items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px 20px;
    flex: 1;
}
.goroda-list__item {
    color: #1a1a2e;
    font-size: 15px;
    text-decoration: none;
}
.goroda-list__item:hover {
    color: #1a8ef1;
}
@media (max-width: 768px) {
    .modal__cities--content,
    .goroda-list__items {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .modal__cities--content,
    .goroda-list__items {
        grid-template-columns: 1fr;
    }
    .city-confirm {
        left: 8px;
        right: 8px;
        max-width: none;
    }
}

/* ═══════════════════════════════════════════════════════════
   БЛОКИ ГОРОДА перед футером (ТЗ 2.3–2.4 июль 2026):
   «Учебный центр в {городе}» + табы «Банки / Почта / СДЭК».
   ═══════════════════════════════════════════════════════════ */
.city-contacts {
    padding: 50px 0 10px;
}
.city-contacts__title {
    margin-bottom: 24px;
}
.city-contacts__card {
    background: #f8faff;
    border: 1px solid #e8edf8;
    border-radius: 14px;
    padding: 24px 28px;
    font-size: 15px;
    line-height: 1.55;
    color: #1a1a2e;
}
.city-contacts__row + .city-contacts__row {
    margin-top: 12px;
}
.city-contacts__row--contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    font-weight: 600;
}
.city-contacts__phone {
    color: #0d3060;
    font-size: 17px;
    text-decoration: none;
}
.city-contacts__email {
    color: #1a8ef1;
    text-decoration: none;
}
.city-contacts__sep {
    color: #8fa6c9;
}

.city-offices {
    padding: 40px 0 80px;
}
.city-offices__title {
    margin-bottom: 24px;
}
.city-offices__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.city-offices__tab {
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a2e;
    background: #fff;
    border: 1px solid #dde8f8;
    border-radius: 999px;
    cursor: pointer;
    transition: color .2s, background .2s, border-color .2s;
}
.city-offices__tab:hover {
    border-color: #1a8ef1;
    color: #1a8ef1;
}
.city-offices__tab.is-active {
    background: #1a8ef1;
    border-color: #1a8ef1;
    color: #fff;
}
.city-offices__panel[hidden] {
    display: none;
}
.city-offices__panel-title {
    font-size: 18px;
    font-weight: 700;
    color: #0d3060;
    margin-bottom: 16px;
}
.city-offices__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.city-offices__item {
    display: flex;
    gap: 14px;
    background: #fff;
    border: 1px solid #e8edf8;
    border-radius: 12px;
    padding: 16px;
}
.city-offices__item-icon {
    flex: 0 0 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f6ff;
    border-radius: 10px;
    color: #1a8ef1;
}
.city-offices__item-icon svg {
    width: 22px;
    height: 22px;
}
.city-offices__item-name {
    font-weight: 800;
    font-size: 15.5px;
    color: #1a8ef1;
    letter-spacing: .01em;
    margin-bottom: 5px;
}
.city-offices__item-addr {
    font-size: 14px;
    color: #1a1a2e;
    line-height: 1.4;
}
.city-offices__item-hours {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 12.5px;
    color: #666;
}
.city-offices__item-hours svg {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
}
.hero-d__title-city {
    color: inherit;
}
@media (max-width: 900px) {
    .city-offices__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 560px) {
    .city-offices__grid {
        grid-template-columns: 1fr;
    }
}

/* Панель «Все курсы категории» в блоках направлений главной (июль 2026) */
.home-directions__panel-more {
    margin-top: 20px;
    text-align: right;
}

/* Чипы: drag-прокрутка мышью на ПК (июль 2026) — курсор-подсказка */
.course-cats__chips {
    cursor: grab;
    user-select: none;
}
.course-cats__chips:active {
    cursor: grabbing;
}

/* ============================================================
   U-PROFF — home redesign (июль 2026)
   Отдельный премиальный вид секции «ТОП-30 профессий»
   на главной. НЕ трогает .u-proff--archive и .bsf-related.
   ============================================================ */
.u-proff--home {
    position: relative;
    margin: 90px 12px 0;
    padding: 88px 0 96px;
    border-radius: 36px;
    background:
        radial-gradient(1200px 600px at 85% -10%, rgba(242, 219, 178, 0.14), transparent 60%),
        radial-gradient(900px 500px at 0% 110%, rgba(26, 142, 241, 0.18), transparent 60%),
        linear-gradient(135deg, #061a30 0%, #0a2a4e 55%, #05192e 100%);
    overflow: hidden;
    isolation: isolate;
    box-shadow:
        0 40px 80px -40px rgba(5, 25, 46, 0.55),
        inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}
.u-proff--home .container {
    position: relative;
    z-index: 2;
}

/* Декоративные пятна и сетка */
.u-proff--home .u-proff__glow {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    filter: blur(60px);
    opacity: 0.55;
    border-radius: 50%;
}
.u-proff--home .u-proff__glow--gold {
    width: 520px;
    height: 520px;
    top: -180px;
    right: -140px;
    background: radial-gradient(circle, #f2dbb2 0%, rgba(242, 219, 178, 0) 70%);
}
.u-proff--home .u-proff__glow--blue {
    width: 620px;
    height: 620px;
    bottom: -260px;
    left: -180px;
    background: radial-gradient(circle, #1a8ef1 0%, rgba(26, 142, 241, 0) 70%);
    opacity: 0.35;
}
.u-proff--home .u-proff__grid {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 25%, #000 75%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 25%, #000 75%, transparent 100%);
    opacity: 0.6;
}

/* Бейдж, заголовок, описание — светлая тема */
.u-proff--home .home-bsf__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(242, 219, 178, 0.08);
    border: 1px solid rgba(242, 219, 178, 0.35);
    color: #f2dbb2;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 18px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.u-proff--home .u-proff__head-row {
    align-items: flex-end;
    gap: 32px;
    margin-bottom: 48px;
}
.u-proff--home .u-proff__head-left {
    margin-bottom: 0;
    max-width: 780px;
}
.u-proff--home .u-prof__head.u-title-section {
    color: #fff;
    position: relative;
    padding-bottom: 20px;
}
.u-proff--home .u-prof__head.u-title-section::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 88px;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg, #f2dbb2 0%, #e0b877 100%);
}
.u-proff--home .home-bsf__desc {
    color: #b8c5d6;
    font-size: 17px;
    line-height: 1.6;
    max-width: 680px;
    margin-top: 18px;
}

/* Кнопки-стрелки поверх тёмного фона */
.u-proff--home .u-proff__desktop-nav {
    gap: 12px;
}
.u-proff--home .prev-proff,
.u-proff--home .next-proff,
.u-proff--home .u-proff__prev-mob,
.u-proff--home .u-proff__next-mob {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.u-proff--home .prev-proff:hover,
.u-proff--home .next-proff:hover,
.u-proff--home .u-proff__prev-mob:hover,
.u-proff--home .u-proff__next-mob:hover {
    background: #f2dbb2;
    border-color: #f2dbb2;
    transform: translateY(-2px);
}
.u-proff--home .u-proff__prev-mob::before,
.u-proff--home .u-proff__next-mob::before {
    width: 22px;
    height: 22px;
    filter: brightness(0) invert(1);
    transition: filter 0.25s ease;
}
.u-proff--home .prev-proff:hover::before,
.u-proff--home .next-proff:hover::before,
.u-proff--home .u-proff__prev-mob:hover::before,
.u-proff--home .u-proff__next-mob:hover::before {
    filter: none;
}

/* Карточки */
.u-proff--home .u-proff__slider {
    overflow: visible;
}
.u-proff--home .u-proff__slick .slick-list {
    overflow: visible;
    padding: 8px 0 24px;
}
.u-proff--home .u-proff__slick .slick-slide {
    margin: 0 12px;
    opacity: 0.55;
    transition: opacity 0.35s ease;
}
.u-proff--home .u-proff__slick .slick-slide.slick-active {
    opacity: 1;
}
.u-proff--home .u-proff__slick .slick-list {
    margin: 0 -12px;
}

.u-proff--home .u-proff__item {
    position: relative;
    background: #ffffff;
    border-radius: 24px;
    padding: 26px 24px 24px;
    box-shadow:
        0 24px 40px -24px rgba(5, 25, 46, 0.55),
        inset 0 0 0 1px rgba(255, 255, 255, 0.6);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    overflow: hidden;
}
.u-proff--home .u-proff__item::after {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242, 219, 178, 0.35) 0%, rgba(242, 219, 178, 0) 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}
.u-proff--home .u-proff__item:hover {
    box-shadow:
        0 40px 60px -24px rgba(5, 25, 46, 0.7),
        inset 0 0 0 1px rgba(242, 219, 178, 0.4);
}
.u-proff--home .u-proff__item:hover::before {
    transform: scaleX(1);
}
.u-proff--home .u-proff__item:hover::after {
    opacity: 1;
}

/* Изображение */
.u-proff--home .u-proff__img {
    position: relative;
    display: block;
    margin-bottom: 22px;
    border-radius: 18px;
    overflow: hidden;
}
.u-proff--home .u-proff__img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(5, 25, 46, 0.25) 100%);
    pointer-events: none;
}
.u-proff--home .u-proff__img img {
    border-radius: 0;
    max-height: 260px;
    transition: transform 0.6s ease;
}
.u-proff--home .u-proff__item:hover .u-proff__img img {
    transform: scale(1.05);
}

/* Заголовок карточки */
.u-proff--home .u-proff__title {
    color: #0d3060;
    margin: 6px 0 24px;
    font-size: clamp(20px, 2vw, 23px);
    letter-spacing: 0.01em;
}
.u-proff--home .u-proff__content a:hover .u-proff__title {
    color: #1a8ef1;
}

/* Список выгод — компактная сетка */
.u-proff--home .u-proff__info {
    gap: 14px;
    max-width: none;
}
.u-proff--home .u-proff__text {
    flex: 1 1 100%;
    flex-basis: 100%;
    font-size: 16px;
    color: #3c3c3c;
    padding: 10px 12px 10px 52px;
    border-radius: 12px;
    background: #f7f9fc;
    align-content: center;
    min-height: 52px;
}
.u-proff--home .u-proff__text:nth-child(1)::before,
.u-proff--home .u-proff__text:nth-child(2)::before,
.u-proff--home .u-proff__text:nth-child(3)::before {
    left: 10px;
    width: 32px;
    height: 32px;
}

/* Низ карточки */
.u-proff--home .u-proff__bottom {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px dashed #e6ebf3;
    justify-content: space-between;
    gap: 16px;
}
.u-proff--home .u-proff__prices {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}
.u-proff--home .u-proff__before {
    font-size: 14px;
    color: #96a2b4;
    text-align: left;
}
.u-proff--home .u-proff__price {
    font-size: 28px;
    color: #0d3060;
    text-align: left;
    line-height: 1;
}

/* Кнопка */
.u-proff--home .u-proff__btn {
    padding: 15px 32px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.02em;
    border-radius: 12px;
    background: linear-gradient(135deg, #f2dbb2 0%, #e6c690 100%);
    border: none;
    color: #0d3060;
    box-shadow: 0 10px 22px -12px rgba(242, 219, 178, 0.9);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}
.u-proff--home .u-proff__btn:hover {
    background: #0d3060;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px -12px rgba(13, 48, 96, 0.6);
}

/* Планшет и меньше */
@media (max-width: 1024px) {
    .u-proff--home {
        margin: 60px 8px 0;
        padding: 72px 0 80px;
        border-radius: 28px;
    }
    .u-proff--home .u-proff__head-row {
        margin-bottom: 36px;
    }
}
@media (max-width: 767px) {
    .u-proff--home {
        margin: 40px 6px 0;
        padding: 56px 0 64px;
        border-radius: 22px;
    }
    .u-proff--home .u-proff__head-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .u-proff--home .home-bsf__desc {
        font-size: 15px;
    }
    .u-proff--home .u-proff__item {
        padding: 22px 20px 22px;
    }
    .u-proff--home .u-proff__title {
        margin-bottom: 18px;
    }
    .u-proff--home .u-proff__bottom {
        justify-content: center;
        text-align: center;
    }
    .u-proff--home .u-proff__prices {
        align-items: center;
    }
    .u-proff--home .u-proff__before,
    .u-proff--home .u-proff__price {
        text-align: center;
    }
    .u-proff--home .u-proff__nav-mobile {
        margin-top: 32px;
        gap: 14px;
    }
}

/* ================================================================
   READUS — секция «Читайте нас» на главной (переехала на blog-grid).
   Табы, карточки и кнопку берём из /blog/ 1-в-1; здесь — только
   отступы и легкая эстетика вокруг.
   ================================================================ */
.readus--grid {
    padding-top: 75px;
    padding-bottom: 40px;
}
.readus__title {
    margin-bottom: 32px;
}
.readus__grid {
    margin-bottom: 32px;
}
.readus__grid.is-loading {
    opacity: 0.6;
    pointer-events: none;
    transition: opacity .18s ease;
}
.readus__more-wrap {
    text-align: center;
}
.course-cats__more[disabled] {
    opacity: 0.65;
    cursor: wait;
}

/* Табы-кнопки (ajax) — базовый reset нативного <button> при рендере ссылкой. */
.blog-tabs--ajax .blog-tabs__link {
    border: 1px solid transparent;
    font-family: inherit;
    cursor: pointer;
}
.blog-tabs--ajax .blog-tabs__link:focus-visible {
    outline: 2px solid rgba(26, 142, 241, 0.4);
    outline-offset: 2px;
}

/* ────────────────────────────────────────────────────────────────
   Readus controls — визуальная сборка «поиск + чипы» 1-в-1 с
   .course-cats__controls блоков курсов. Внешний бокс уже дают классы
   .course-cats__controls в разметке; здесь — оверрайды для blog-search
   и blog-tabs, чтобы внутренности совпадали с курсовыми.
   ──────────────────────────────────────────────────────────────── */
.readus__controls .blog-search {
    margin: 0 0 16px;
    display: block;
    position: relative;
}
.readus__controls .blog-search__icon {
    position: absolute;
    left: 18px;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    color: #8fa6c9;
    pointer-events: none;
    transition: color .2s;
}
.readus__controls .blog-search:focus-within .blog-search__icon {
    color: #1a8ef1;
}
.readus__controls .blog-search__input {
    width: 100%;
    padding: 14px 20px 14px 50px;
    font-size: 15px;
    color: #1a1a2e;
    background: #f8faff;
    border: 1px solid #dde8f8;
    border-radius: 10px;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.readus__controls .blog-search__input::placeholder {
    color: #8fa6c9;
}
.readus__controls .blog-search__input:focus {
    background: #fff;
    border-color: #0d3060;
    box-shadow: 0 0 0 3px rgba(26, 142, 241, .12);
}

/* Табы → в стиль .course-cats__chips + .course-cats__chip */
.readus__controls .blog-tabs {
    margin: 0;
    padding: 0;
}
.readus__controls .blog-tabs__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #c8d8ef transparent;
}
.readus__controls .blog-tabs__scroll::-webkit-scrollbar {
    height: 5px;
}
.readus__controls .blog-tabs__scroll::-webkit-scrollbar-thumb {
    background: #c8d8ef;
    border-radius: 3px;
}
.readus__controls .blog-tabs__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    list-style: none;
    padding: 0 0 8px;
    margin: 0;
    width: max-content;
}
.readus__controls .blog-tabs__item {
    margin: 0;
    flex: 0 0 auto;
}
.readus__controls .blog-tabs__link {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    color: #1a1a2e;
    background: #fff;
    border: 1px solid #dde8f8;
    border-radius: 999px;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: color .2s, background .2s, border-color .2s;
}
.readus__controls .blog-tabs__link:hover {
    border-color: #1a8ef1;
    color: #1a8ef1;
}
.readus__controls .blog-tabs__link--active,
.readus__controls .blog-tabs__link[aria-current="page"],
.readus__controls .blog-tabs__link[aria-current="true"] {
    background: #1a8ef1;
    border-color: #1a8ef1;
    color: #fff;
}

/* Live-suggest дропдаун blog-search: выравниваем под инпут, без вылета
   за паддинг .course-cats__controls. */
.readus__controls .blog-search__dropdown {
    left: 0;
    right: 0;
    top: calc(100% + 6px);
}

/* ============================================================
   Клиенты (B2B) — редизайн блока «Корпоративные клиенты» на главной.
   Разметка: sections/clients.php.
   Двухколоночная шапка (заголовок + CF7-форма) и слайдер логотипов
   в современных карточках. Селекторы .clients__inner / .clients__item /
   .prev-clients / .next-clients сохранены — их использует slick-init в main.js.
   ============================================================ */
.clients-b2b {
    padding-top: 90px;
    padding-bottom: 40px;
}
.clients-b2b__top {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 48px;
    align-items: stretch;
    margin-bottom: 56px;
}
.clients-b2b__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 8px;
}
/* Бейдж — 1-в-1 с .home-bsf__badge (пилюля-плашка убрана,
   пульсирующая зелёная точка через .hero-d__badge-dot в разметке). */
.clients-b2b__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #1a8ef1;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 12px;
    /* Обнуляем прежние пилюля-стили — background/padding/border-radius
       больше не нужны, home-bsf-стиль сидит на белом section-фоне.  */
    background: none;
    padding: 0;
    border-radius: 0;
    align-self: auto;
}
.clients-b2b__title {
    font-family: inherit;
    font-size: 40px;
    line-height: 1.12;
    font-weight: 700;
    color: #0d3060;
    margin: 0 0 18px;
    letter-spacing: -0.01em;
}
.clients-b2b__title span {
    color: #1a8ef1;
    display: inline;
}
.clients-b2b__lead {
    font-size: 16px;
    line-height: 1.55;
    color: #4a5878;
    margin: 0 0 22px;
    max-width: 520px;
}
.clients-b2b__pluses {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.clients-b2b__pluses li {
    position: relative;
    padding-left: 30px;
    font-size: 15px;
    color: #0d3060;
    line-height: 1.4;
}
.clients-b2b__pluses li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #1a8ef1 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center / 12px no-repeat;
}

.clients-b2b__form {
    position: relative;
    background: #1a8ef1;
    border-radius: 22px;
    padding: 32px;
    box-shadow: 0 20px 60px -20px rgba(13, 48, 96, 0.35), 0 4px 14px rgba(13, 48, 96, 0.08);
    color: #fff;
    overflow: hidden;
}
.clients-b2b__form::before {
    content: '';
    position: absolute;
    top: -80px;
    right: -80px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}
.clients-b2b__form-head {
    position: relative;
    margin-bottom: 20px;
}
.clients-b2b__form-title {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.01em;
}
.clients-b2b__form-sub {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.5;
}
.clients-b2b__form .wpcf7 { margin: 0; }
.clients-b2b__form .wpcf7-form p { margin: 0; }
.clients-b2b__form .wpcf7-form .input,
.clients-b2b__form .wpcf7-form input[type="text"],
.clients-b2b__form .wpcf7-form input[type="tel"],
.clients-b2b__form .wpcf7-form input[type="email"],
.clients-b2b__form .wpcf7-form textarea {
    /* background-color, а НЕ шортхэнд background: — шортхэнд обнуляет
       background-image/position и убивает иконки .input-name/.input-phone/
       .input-email, которые CF7 навешивает на инпуты через классы. */
    background-color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #0d3060;
    font-size: 16px;
    line-height: 1.4;
}
.clients-b2b__form .wpcf7-form input::placeholder,
.clients-b2b__form .wpcf7-form textarea::placeholder {
    color: #94a3b8;
    opacity: 1;
    font-size: 16px;
    line-height: 1.4;
}
.clients-b2b__form .wpcf7-form .btn,
.clients-b2b__form .wpcf7-form button[type="submit"],
.clients-b2b__form .wpcf7-form input[type="submit"] {
    background: #f2dbb2;
    color: #0d3060;
    border: none;
    /* Синхронизируем высоту с инпутами: те же padding-Y и font/line-height
       + border-radius = 10px, box-sizing:border-box; min-height как у
       инпутов (17+22.4+17 ≈ 56px). */
    padding: 17px 30px;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    border-radius: 10px;
    min-height: 56px;
    box-sizing: border-box;
    width: 100%;
    cursor: pointer;
}
.clients-b2b__form .wpcf7-form .btn:hover,
.clients-b2b__form .wpcf7-form button[type="submit"]:hover,
.clients-b2b__form .wpcf7-form input[type="submit"]:hover {
    background: #aca89d;
    color: #0d3060;
}
/* Также приводим все три инпута/textarea к одному border-radius, чтобы
   визуальная риторика с кнопкой не расходилась (у .input-name/.phone это
   6px, у .input-email — 10px, у .input-course — по умолчанию). */
.clients-b2b__form .wpcf7-form .input,
.clients-b2b__form .wpcf7-form input[type="text"],
.clients-b2b__form .wpcf7-form input[type="tel"],
.clients-b2b__form .wpcf7-form input[type="email"],
.clients-b2b__form .wpcf7-form textarea {
    border-radius: 10px;
    min-height: 56px;
    box-sizing: border-box;
}
.clients-b2b__form .privacy-text,
.clients-b2b__form .wpcf7-form .privacy-text,
.clients-b2b__form .wpcf7-form label,
.clients-b2b__form .wpcf7-form .modal-c__label--checkbox span {
    color: rgba(255, 255, 255, 0.9);
}
.clients-b2b__form .privacy-text a,
.clients-b2b__form .wpcf7-form a {
    color: #fff;
    text-decoration: underline;
}
.clients-b2b__form .wpcf7-not-valid-tip { color: #ffe0e0; }
.clients-b2b__form .wpcf7-response-output {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.clients-b2b__slider-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}
.clients-b2b__slider-title {
    font-size: 20px;
    font-weight: 700;
    color: #0d3060;
    letter-spacing: 0.01em;
}
.clients-b2b .clients__slider {
    position: relative;
    margin: 0 -6px;
}
.clients-b2b .clients__item {
    padding: 6px;
    margin: 0;
}
.clients-b2b__card {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 110px;
    padding: 18px 22px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(13, 48, 96, 0.06);
    box-shadow: 0 6px 18px -10px rgba(13, 48, 96, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.clients-b2b__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -14px rgba(13, 48, 96, 0.28);
    border-color: rgba(26, 142, 241, 0.35);
}
.clients-b2b__card img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain;
    filter: grayscale(1);
    opacity: 0.85;
    transition: filter 0.25s ease, opacity 0.25s ease;
}
.clients-b2b__card:hover img {
    filter: grayscale(0);
    opacity: 1;
}

@media (max-width: 1100px) {
    .clients-b2b__top {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-bottom: 44px;
    }
    .clients-b2b__intro { padding-right: 0; }
    .clients-b2b__title { font-size: 34px; }
}
@media (max-width: 768px) {
    .clients-b2b {
        padding-top: 50px;
        padding-bottom: 20px;
    }
    .clients-b2b__title { font-size: 26px; }
    .clients-b2b__lead { font-size: 15px; }
    .clients-b2b__form { padding: 22px; border-radius: 18px; }
    .clients-b2b__form-title { font-size: 19px; }
    .clients-b2b__slider-head { margin-bottom: 16px; }
    .clients-b2b__card { height: 92px; padding: 14px 16px; border-radius: 14px; }
}
