/* Единая типографика сайта. Иконочные шрифты не затрагиваются. */
html,
body,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .h1,
body .h2,
body .h3,
body .h4,
body .h5,
body .h6,
body .h7,
body p,
body li,
body dt,
body dd,
body blockquote,
body address,
body figcaption,
body caption,
body th,
body td,
body label,
body input,
body button,
body select,
body textarea,
body optgroup,
body code,
body pre,
body kbd,
body samp,
body .button,
body .rd-navbar,
body .site-brand-name,
body .site-intro-price,
body .site-contact-heading,
body .site-article-contact-title,
body .site-phone-cta__label,
body .site-phone-cta__number {
  font-family: "PT Serif", "Times New Roman", Times, serif !important;
}

/* Стабильная раскладка до и после инициализации скриптов шаблона. */
.rd-navbar-wrap {
  min-height: 56px;
}

.site-brand-name {
  display: inline-block;
  max-width: 330px;
  color: #2b2e35;
  font-family: "PT Serif", "Times New Roman", Times, serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  white-space: normal;
}

.page-foot .site-brand-name {
  color: #fff;
  font-size: 21px;
}

.footer-legal-links {
  margin-top: 8px;
  font-size: 13px;
}

.footer-legal-links,
.footer-legal-links a {
  color: #fff;
}

.footer-legal-links a:hover,
.footer-legal-links a:focus {
  color: #c9554d;
}

.site-intro-price {
  margin-top: 18px;
  font-family: "PT Serif", "Times New Roman", Times, serif;
  font-size: 22px;
  line-height: 1.45;
}

/* Компактный первый экран: контакты, ключевые показатели и портрет без пустого поля. */
.site-home-hero {
  overflow: hidden;
}

.site-home-hero__row {
  align-items: stretch;
}

.site-home-hero__content-col {
  display: flex;
  align-items: center;
}

.site-home-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 38px 0 34px;
}

.site-home-hero__title {
  max-width: 680px;
  margin: 0;
  font-size: 29px;
  line-height: 1.3;
}

.site-home-hero .site-intro-price {
  margin-top: 14px;
}

.site-phone-cta.site-phone-cta--hero {
  margin-top: 16px;
}

.site-home-hero__location {
  margin-top: 6px;
  color: #6f737b;
  font-size: 16px;
  line-height: 1.45;
}

.site-home-hero__action {
  margin-top: 16px;
}

.site-home-hero__action .button {
  min-width: 170px;
}

.site-home-hero__facts {
  display: grid;
  max-width: 680px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(43, 46, 53, .16);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.site-home-hero__fact {
  min-width: 0;
  padding: 0 18px;
}

.site-home-hero__fact:first-child {
  padding-left: 0;
}

.site-home-hero__fact + .site-home-hero__fact {
  border-left: 1px solid rgba(43, 46, 53, .16);
}

.site-home-hero__fact strong,
.site-home-hero__fact span {
  display: block;
}

.site-home-hero__fact strong {
  color: #2b2e35;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
}

.site-home-hero__fact span {
  margin-top: 3px;
  color: #6f737b;
  font-size: 14px;
  line-height: 1.35;
}

.site-contact-heading {
  font-size: 48px;
  font-style: normal;
  line-height: 1.2;
}

.site-article-contact-title {
  font-size: 29px;
  font-style: normal;
}

.site-phone-cta {
  margin-top: 24px;
}

.site-phone-cta__label {
  margin-bottom: 3px;
  font-size: 16px;
}

.site-phone-cta__number {
  display: inline-block;
  color: #c2554f;
  font-family: "PT Serif", "Times New Roman", Times, serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.25;
}

.site-phone-cta__number:hover,
.site-phone-cta__number:focus {
  color: #2b2e35;
}

.site-phone-cta__action {
  margin-top: 24px;
}

.site-phone-cta--contact {
  margin-top: 30px;
}

/* Маркеры карточек услуг всегда относятся к первой строке пункта. */
.post-modern .post-inset > ul {
  margin: 0;
  padding-left: 1.35em;
  list-style-position: outside;
}

.post-modern .post-inset > ul > li {
  display: list-item;
  padding-left: .15em;
  text-align: left;
}

.post-modern .post-inset > ul > li + li {
  margin-top: 8px;
}

.post-modern .post-inset > ul > li > a {
  display: inline;
}

.counter-plus::after {
  display: inline-block;
  margin-left: .12em;
  content: "+";
  font-size: .55em;
  line-height: 1;
  vertical-align: .45em;
}

/* Новые фотографии имеют пропорции, отличные от старых макетов. */
.site-photo {
  display: block;
  max-width: 100%;
  object-fit: cover;
  object-position: center top;
}

.site-photo--hero {
  position: absolute;
  top: 0;
  left: 50%;
  width: 440px;
  height: 660px;
  max-width: none;
  object-fit: contain;
  object-position: center top;
  transform: translateX(-50%);
}

.site-photo-frame--hero {
  position: absolute;
  bottom: 0;
  left: -55px;
  width: 540px;
  height: 500px;
  overflow: hidden;
  background: transparent;
}

.site-photo-frame--hero picture {
  display: block;
  width: 100%;
  height: 100%;
}

.site-photo--about {
  width: 342px;
  height: 338px;
  object-position: center 28%;
}

.site-photo--quote {
  width: 400px;
  height: 250px;
  object-position: center 32%;
}

.site-photo--benefits {
  width: 570px;
  height: 478px;
  object-position: 72% center;
}

.site-photo--faq {
  width: 569px;
  height: 472px;
  object-fit: contain;
  background: #f1f2f7;
}

.site-photo--article {
  width: 472px;
  height: 500px;
  object-position: center 25%;
}

.site-photo--mirrored {
  transform: scaleX(-1);
}

/* Единственный эксперт: симметричная композиция и портрет без увеличения лица. */
.site-expert-row {
  text-align: center;
}

.site-expert-row .thumbnail-variant-2-wrap,
.site-expert-row .block-wrap-1 {
  margin-right: auto;
  margin-left: auto;
}

.site-expert-photo-frame {
  height: 410px;
  overflow: hidden;
  background: #f1f2f7;
}

.site-expert-row .thumbnail-variant-2 {
  width: 100%;
  height: 410px;
  min-height: 410px;
  margin-right: 0;
  margin-left: 0;
}

.site-expert-row .thumbnail-variant-2 .site-expert-photo {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
}

.site-expert-row .block-wrap-1 p {
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 992px) {
  .rd-navbar-wrap {
    min-height: 130px;
  }

  .rd-navbar-default.rd-navbar-static .rd-navbar-group {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .box-cart {
    align-items: center;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media (min-width: 1200px) {
  .site-home-hero__row,
  .site-home-hero__photo-col {
    min-height: 500px;
  }

  .site-home-hero__photo-col {
    position: relative;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .site-brand-name {
    max-width: 235px;
    font-size: 14px;
  }

  .rd-navbar-default.rd-navbar-static .rd-navbar-nav {
    margin-right: 20px;
  }
}

@media (max-width: 991px) {
  .rd-navbar-fixed .site-brand-name {
    max-width: calc(100vw - 125px);
    overflow: hidden;
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

@media (max-width: 575px) {
  .site-home-hero__content {
    padding: 34px 0 30px;
  }

  .site-home-hero__title {
    font-size: 26px;
  }

  .site-home-hero__facts {
    grid-template-columns: 1fr;
  }

  .site-home-hero__fact {
    padding: 0;
  }

  .site-home-hero__fact + .site-home-hero__fact {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(43, 46, 53, .12);
    border-left: 0;
  }

  .site-contact-heading {
    font-size: 36px;
  }

  .site-phone-cta__number {
    font-size: 28px;
  }

  .page-foot .site-brand-name {
    font-size: 18px;
  }

  .site-expert-row .thumbnail-variant-2,
  .site-expert-photo-frame {
    height: 320px;
    min-height: 320px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rd-navbar-wrap,
  .rd-navbar,
  .owl-height {
    transition: none !important;
  }
}
