.services-h2{
  text-align: center;
  margin-top: 55px;
  color: #018283;
  font-family: pfdm;
  text-transform: uppercase;
  font-size: 14px;
  white-space: normal;
}
.services-h1{
  text-align: center;
  margin-top: 15px;
  color: #303036;
  font-family: pfdb;
  font-size: 40px;
  white-space: normal;
}
.services{
  height: 400px;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
}
.services-btn{
  height: 40px;
  width: 100%;
  margin-bottom: 10px;
}
.services-container{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.services-block{
  display: inline-block;
  vertical-align: top;
  position: relative;
  height: 390px;
  width: 300px;
  border-radius: 10px;
  border: 1px solid #d4d4e1;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 17px;
  background-color: #fff;
  cursor: pointer;
  transition: 0.5s all;
  color: #303036;
  overflow: hidden;
  z-index: 1;
}
.services-block:hover{
  background-color: #018283;
  color: #fff;
}
.services-block:hover > .services-block-help-2{
  height: 300px;
  width: 300px;
  opacity: 1;
}
.services-block:hover > .services-block-help-1{
  height: 200px;
  width: 200px;
  opacity: 1;
}
.services-block:hover > .services-block-img{
  background-color: #fff;
}
.services-block:hover > .services-block-img > .services-block-img-ico{
  background-image: url('../media/img/png/audit2.png');
}
.services-block:hover > .services-block-img > .services-block-img-ico-nalog{
  background-image: url('../media/img/png/nalog2.png');
}
.services-block:hover > .services-block-img > .services-block-img-ico-cons{
  background-image: url('../media/img/png/Cons2.png');
}
.services-block:hover > .services-block-img > .services-block-img-ico-report{
  background-image: url('../media/img/png/report2.png');
}
.services-block:hover > .services-block-text{
  color: #fff;
}
.services-block-img{
  height: 95px;
  width: 95px;
  left: 0;
  right: 0;
  margin: auto;
  margin-top: 25px;
  background-color: #018283;
  border-radius: 50px;
  position: relative;
  transition: 0.25s all;
}
.services-block-img-ico-nalog{
  position: absolute;
  height: 45px;
  width: 45px;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  display: block;
  background-repeat: no-repeat;
  background-size: 45px 45px;
  background-position: center;
  background-image: url('../media/img/png/nalog.png');
  transition: 0.25s all;
}
.services-block-img-ico-cons{
  position: absolute;
  height: 45px;
  width: 45px;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  display: block;
  background-repeat: no-repeat;
  background-size: 45px 45px;
  background-position: center;
  background-image: url('../media/img/png/Cons.png');
  transition: 0.25s all;
}
.services-block-img-ico-report{
  position: absolute;
  height: 45px;
  width: 45px;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  display: block;
  background-repeat: no-repeat;
  background-size: 45px 45px;
  background-position: center;
  background-image: url('../media/img/png/report.png');
  transition: 0.25s all;
}
.services-block-img-ico{
  position: absolute;
  height: 45px;
  width: 45px;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  display: block;
  background-repeat: no-repeat;
  background-size: 45px 45px;
  background-position: center;
  background-image: url('../media/img/png/audit.png');
  transition: 0.25s all;
}
.services-block-title{
  height: 50px;
  width: 100%;
  margin-top: 15px;
  text-align: center;
  font-size: 30px;
  font-family: pfdm;
  font-weight: 700;
}
.services-block-text{
  white-space: normal;
  text-align: center;
  font-size: 13.5px;
  padding-left: 17px;
  padding-right: 17px;
  font-family: pfdm;
  color: #63636b;

  transition: 0.25s all;
  margin-top: -5px;
  z-index: 1;
}
.services-block-help-1{
  height: 0px;
  width: 0px;
  background-color: #27aaab;
  position: absolute;
  right: -100px;
  bottom: -100px;
  border-radius: 200px;
  z-index: -1;
  transition: 0.25s all;
  opacity: 0;
  animation: heart 1.9s infinite;
}
.services-block-help-2{
  height: 0px;
  width: 0px;
  background-color: #149394;
  position: absolute;
  right: -150px;
  bottom: -150px;
  border-radius: 250px;
  z-index: -1;
  transition: 0.25s all;
  opacity: 0;
  animation: heart 1.9s infinite;
}
.services-btn-slider{
  height: 390px;
  width: 100%;
  margin-top: 10px;
  position: relative;
}
.services-btn-slider-block{
  position: absolute;
  height: 40px;
  width: 40px;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  border-radius: 50px;
  border: 1px solid #63636b;
  opacity: 0.5;
  cursor: pointer;
  transition: 0.25s all;
}
.services-btn-slider-block:hover{
  background-color: rgba(1,130,131,0.3);
}
.services-btn-slider-block-svg-left{
  position: absolute;
  height: 25px;
  width: 25px;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  background-image: url('../media/img/svg/arrow.svg');
  display: block;
  background-size: 25px 25px;
}
.services-btn-slider-block-svg-right{
  position: absolute;
  height: 25px;
  width: 25px;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  background-image: url('../media/img/svg/arrow.svg');
  display: block;
  background-size: 25px 25px;
  transform: rotate(180deg);
}
.services-btn-block{
  height: 100%;
  width: 200px;
  background-color: #018283;
  border-radius: 7px;
  position: relative;
  left: 0;
  right: 0;
  margin: auto;
  cursor: pointer;
  overflow: hidden;
  z-index: 1;
}
.services-btn-block-feedback{
  height: 100%;
  width: 100%;
  background-color: #018283;
  border-radius: 7px;
  position: relative;
  left: 0;
  right: 0;
  margin: auto;
  cursor: pointer;
  overflow: hidden;
  z-index: 1;
  white-space: nowrap;
}
.services-btn-block-text-feedback{
  color: #fff;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  position: absolute;
  font-family: pfdm;
  font-size: 14px;
  margin-top: 9px;
  z-index: 1;
}
.services-btn-block-text{
  color: #fff;
  width: 95px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  font-family: pfdm;
  font-size: 14px;
  margin-top: 9px;
  z-index: 1;
}
.services-block-main-btn-1-1{
  position: absolute;
  height: 0px;
  width: 0px;
  background-color: #149394;
  border-radius: 500px;
  right: -20px;
  top: -45px;
  transition: all 0.45s;
  animation: heart infinite 1.9s;
}
.services-block-main-btn-1-2{
  position: absolute;
  height: 0px;
  width: 0px;
  background-color: #27aaab;
  border-radius: 500px;
  right: -40px;
  top: -30px;
  transition: all 0.35s;
  animation: heart infinite 1.9s;
}
.services-btn-block-feedback:hover > .services-block-main-btn-1-1{
  height: 130px;
  width: 130px;
}
.services-btn-block-feedback:hover > .services-block-main-btn-1-2{
  height: 110px;
  width: 110px;
}
.services-btn-block:hover > .services-block-main-btn-1-1{
  height: 130px;
  width: 130px;
}
.services-btn-block:hover > .services-block-main-btn-1-2{
  height: 110px;
  width: 110px;
}
.sevices-block-2-text-2{
  font-size: 14px;
  font-family: pfdm;
  text-align: justify;
  white-space: pre-wrap;
}
.sevices-block-2-text-53{
  font-size: 15px;
  font-weight: 700;
  font-family: pfdm;
  text-align: center;
  margin-top: 35px;
  margin-bottom: 30px;
}
.services-documentation{
  width: 100%;
  margin-bottom: 15px;
}
.services-documentation-block{
  background-color: #fff;
  border: 1px solid #d4d4e1;
  border-radius: 7.5px;
  width: calc(100% - 76px);
  left: 0;
  right: 0;
  padding: 7px 12px;
  margin: auto;
  font-size: 14px;
  font-family: pfdm;
  cursor: pointer;
  white-space: nowrap;
  transition: 0.25s all;
}
.services-documentation-block:hover{
  background-color: #018283;
  color: #fff;
}
.services-documentation-block:hover .services-documentation-block-img-1{
  filter: invert(1);
}
.services-documentation-block:hover .services-documentation-block-img-2{
  filter: invert(1);
}
.services-documentation-block-img-1{
  display: inline-block;
  vertical-align: middle;
  height: 30px;
  width: 30px;
  margin-right: -4px;
  background-position: left;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-image: url('../media/img/png/policy.png');
  transition: 0.25s all;
}
.services-documentation-block-img-2{
  display: inline-block;
  vertical-align: middle;
  height: 30px;
  width: 30px;
  margin-right: -4px;
  background-position: left;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-image: url('../media/img/png/terms.png');
  transition: 0.25s all;
}
.services-documentation-block-text{
  white-space: normal;
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 30px);
  margin-right: -4px;
  word-wrap: break-word;
  padding-left: 5px;
}
.sevices-block-2-text-2{
  font-family: pfdm;
  font-size: 15px;
  margin-bottom: -80px;
}
.services-overflow-title{
  white-space: nowrap;
  cursor: pointer;
}
.services-overflow-title-triangle{
  display: inline-block;
  vertical-align: middle;
  width: 10px;
  height: 10px;
  background-color: #008686;
  border-radius: 50px;
  margin-top: -3px;
  margin-right: 5px;
  transition: 0.35s all;
  /* width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 14px solid #008686;
   */
}
.services-overflow-title-text{
  font-family: pfdb;
  font-size: 19px;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
}
.services-overflow-line{
  width: 100%;
  height: 1px;
  background-color: #008686;
  margin-top: -28px;
  opacity: 0.15;
}
.services-overflow-hidden{
  overflow: auto;
  width: 100%;
  max-height: 0px;
  transition: 1.5s all;
  text-align: justify;
  white-space: pre-line;
}
.service-people{
  width: calc(100% - 0px);
  padding-left: 15px;
  padding-right: 15px;
  font-family: pfdm;
  margin-bottom: 25px;
  white-space: nowrap;
}
.service-people-img{
  display: block;
  height: 100px;
  width: 100px;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 50px;
  background-position: top;
  background-size: cover;
}
.service-people-text{
  display: block;
  position: relative;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  font-size: 20px;
  white-space: normal;
  width: calc(100%);
  margin-top: 10px;
}
.service-people-text-title{
  font-family: pfdb;
  white-space: normal;
}
.service-people-text-description{
  opacity: 0.5;
  font-family: pfdm;
  font-size: 16px;
  margin-top: 8px;
}
.container:hover > div > .sevices-block-img{
  filter: grayscale(0%) sepia(0) brightness(100%) contrast(100%);
}
.sevices-block-img{
  width: 100%;
  height: 200px;
  filter: grayscale(16%) sepia(0.24) brightness(79%) contrast(44%);
  margin-bottom: 15px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  transition: 0.5s all;
  border-radius: 5px;
  overflow: hidden;
}
.sevices-block-img:hover{
  filter: grayscale(0%) sepia(0) brightness(100%) contrast(100%);
}

/* ── НОВОЕ: страницы услуг в CMS — инфографика и кастомные блоки ─────────────── */
.article-content > p:first-child { font-size: 19px; line-height: 1.6; color: #34504f; }
.article-content h2 { position: relative; padding-left: 14px; }
.article-content h2::before { content: ""; position: absolute; left: 0; top: .18em; bottom: .18em; width: 4px; border-radius: 3px; background: #149394; }
.article-content blockquote { background: #f0faf9; border: 1px solid #d6ecea; border-left: 4px solid #149394; border-radius: 12px; padding: 14px 18px; margin: 1.4em 0; color: #2a4746; font-style: normal; }
.article-content table { border-radius: 12px; overflow: hidden; }
.article-content thead th { background: #eaf6f6; color: #1c2b2b; }

/* [services parent=...] — сетка дочерних услуг */
.svc-grid { display: grid; gap: 16px; margin: 22px 0; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.svc-card { display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid #e6efef; border-radius: 14px; padding: 20px 22px; text-decoration: none; transition: .18s; }
.svc-card:hover { border-color: #149394; box-shadow: 0 10px 28px rgba(20,147,148,.13); transform: translateY(-2px); }
.svc-card-title { font-family: pfdb; font-size: 18px; color: #1c2b2b; line-height: 1.3; }
.svc-card-text { font-family: pfdm; font-size: 14px; line-height: 1.55; color: #5a6a6a; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.svc-card-more { font-family: pfdb; font-size: 14px; color: #149394; margin-top: auto; }

/* [person id=...] — карточка контакта */
.svc-person { display: flex; gap: 18px; align-items: center; background: #f7fbfb; border: 1px solid #e2efef; border-radius: 16px; padding: 18px 20px; margin: 22px 0; }
.svc-person-photo { flex: 0 0 84px; width: 84px; height: 84px; border-radius: 50%; background: #e6f4f4 center/cover no-repeat; }
.svc-person-name { font-family: pfdb; font-size: 18px; color: #1c2b2b; }
.svc-person-pos { font-family: pfdm; font-size: 13.5px; color: #7a8a8a; margin: 2px 0 10px; }
.svc-person-contacts { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.svc-person-link { font-family: pfdb; font-size: 15px; color: #149394; text-decoration: none; }
.svc-person-link:hover { color: #0f7373; }

/* [cta ...] — баннер призыва к действию (6 вариантов оформления) */
.svc-cta { border-radius: 18px; padding: 28px 30px; margin: 26px 0; text-align: center; }
.svc-cta-title { font-family: pfdb; font-size: 23px; line-height: 1.3; margin-bottom: 8px; }
.svc-cta-text { font-family: pfdm; font-size: 15px; line-height: 1.55; margin-bottom: 18px; opacity: .92; }
.svc-cta .rte-btn { color: #fff; } /* плейсхолдер, цвет задаёт вариант ниже */

/* gradient (по умолчанию) — бирюзовый градиент, белая кнопка с бирюзовым текстом */
.svc-cta--gradient { background: linear-gradient(135deg, #149394, #0c6f70); color: #fff; }
.svc-cta--gradient .svc-cta-text { color: #e6f6f5; }
.svc-cta--gradient .rte-btn { background: #fff !important; color: #0c6f70 !important; }
.svc-cta--gradient .rte-btn:hover { background: #eafafa !important; }

/* solid — сплошной тёмно-бирюзовый */
.svc-cta--solid { background: #0c4141; color: #fff; }
.svc-cta--solid .svc-cta-text { color: #cfe7e6; }
.svc-cta--solid .rte-btn { background: #2bb3b1 !important; color: #04302f !important; }
.svc-cta--solid .rte-btn:hover { background: #3ec6c4 !important; }

/* light — светлый фон, тёмный текст, заливная бирюзовая кнопка */
.svc-cta--light { background: #f0faf9; border: 1px solid #d6ecea; color: #1c2b2b; }
.svc-cta--light .svc-cta-text { color: #4a5d5c; }
.svc-cta--light .rte-btn { background: #149394 !important; color: #fff !important; }
.svc-cta--light .rte-btn:hover { background: #0f7373 !important; }

/* outline — белый фон + бирюзовая рамка */
.svc-cta--outline { background: #fff; border: 2px solid #149394; color: #1c2b2b; }
.svc-cta--outline .svc-cta-text { color: #4a5d5c; }
.svc-cta--outline .rte-btn { background: #149394 !important; color: #fff !important; }
.svc-cta--outline .rte-btn:hover { background: #0f7373 !important; }

/* accent — светлый с левой бирюзовой полосой (callout) */
.svc-cta--accent { background: #f4fbfb; border-left: 5px solid #149394; border-radius: 12px; text-align: left; color: #1c2b2b; }
.svc-cta--accent .svc-cta-text { color: #4a5d5c; }
.svc-cta--accent .rte-btn { background: #149394 !important; color: #fff !important; }
.svc-cta--accent .rte-btn:hover { background: #0f7373 !important; }

/* dark — тёмный градиент, яркая амбер-кнопка */
.svc-cta--dark { background: linear-gradient(135deg, #0c2b2b, #0c4141); color: #fff; }
.svc-cta--dark .svc-cta-text { color: #bcd6d5; }
.svc-cta--dark .rte-btn { background: #f0a800 !important; color: #2a1c00 !important; }
.svc-cta--dark .rte-btn:hover { background: #ffba1a !important; }

/* изображение в нераздельных вариантах (если задано) */
.svc-cta-imgwrap { margin-bottom: 16px; }
.svc-cta-imgwrap .svc-cta-img { max-width: 100%; max-height: 240px; border-radius: 12px; }

/* split — карточка «картинка + контент»; направление задаёт svc-cta--img-* */
.svc-cta--split { display: flex; align-items: stretch; gap: 0; padding: 0; overflow: hidden;
  background: #fff; border: 1px solid #e2eded; border-radius: 20px; color: #1c2b2b; text-align: left;
  box-shadow: 0 10px 30px rgba(12,43,43,.06); }
.svc-cta--split .svc-cta-imgwrap { flex: 0 0 44%; margin: 0; background: #eef6f6; }
.svc-cta--split .svc-cta-imgwrap .svc-cta-img { width: 100%; height: 100%; min-height: 230px;
  max-width: none; max-height: none; object-fit: cover; border-radius: 0; display: block; }
.svc-cta--split .svc-cta-body { flex: 1 1 auto; min-width: 0; align-self: center; padding: 32px 34px; }
.svc-cta--split .svc-cta-title { font-size: 25px; margin-bottom: 10px; }
.svc-cta--split .svc-cta-text { color: #4a5d5c; }
.svc-cta--split .svc-cta-points { margin-bottom: 22px; }
.svc-cta--split .rte-btn { background: #149394 !important; color: #fff !important; }
.svc-cta--split .rte-btn:hover { background: #0f7373 !important; }
/* позиции картинки */
.svc-cta--img-left { flex-direction: row; }
.svc-cta--img-right { flex-direction: row-reverse; }
.svc-cta--img-top { flex-direction: column; }
.svc-cta--img-bottom { flex-direction: column-reverse; }
.svc-cta--img-top .svc-cta-imgwrap, .svc-cta--img-bottom .svc-cta-imgwrap { flex-basis: auto; width: 100%; }
.svc-cta--img-top .svc-cta-imgwrap .svc-cta-img, .svc-cta--img-bottom .svc-cta-imgwrap .svc-cta-img { min-height: 240px; max-height: 300px; }
.svc-cta--img-top .svc-cta-body, .svc-cta--img-bottom .svc-cta-body { align-self: stretch; }

/* пункты-буллеты CTA — SVG-галочка (lucide check) */
ul.svc-cta-points { list-style: none; margin: 0 0 18px; padding: 0; text-align: left; display: inline-block; }
.svc-cta-points li { position: relative; padding-left: 30px; margin: 9px 0; font-family: pfdm; font-size: 15px; line-height: 1.5; }
.svc-cta-points li::before { content: ""; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%;
  background-color: #eaf7ef; background-repeat: no-repeat; background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%231e9e63' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
/* тёмные варианты — белая галочка на полупрозрачном круге */
.svc-cta--gradient .svc-cta-points li::before, .svc-cta--solid .svc-cta-points li::before, .svc-cta--dark .svc-cta-points li::before {
  background-color: rgba(255,255,255,.20);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }

@media (max-width: 720px) {
  .svc-cta--split { flex-direction: column !important; align-items: stretch; }
  .svc-cta--split .svc-cta-imgwrap { flex-basis: auto; width: 100%; }
  .svc-cta--split .svc-cta-imgwrap .svc-cta-img { min-height: 200px; max-height: 260px; }
  .svc-cta-points { display: block; }
}
@media (max-width: 600px) {
  .svc-person { flex-direction: column; text-align: center; }
  .svc-person-contacts { justify-content: center; }
  .svc-cta { padding: 24px 18px; }
}

/* Кастомные блоки внутри .article-content НЕ должны наследовать подчёркивание ссылок */
.article-content .svc-grid a, .article-content .svc-card, .article-content .svc-card:hover,
.article-content .svc-person-link, .article-content .svc-cta a, .article-content .rte-btn,
.article-content .gal-grid a, .article-content .gal-doc, .article-content .gal-news-card,
.article-content .vac-grid a, .article-content .vac-card,
.svc-card, .gal-doc, .gal-news-card, .rte-btn { text-decoration: none; }

/* ── Страница 404 ─────────────────────────────────────────────────────────── */
.err404 { max-width: 760px; margin: 48px auto 56px; text-align: center; padding: 0 16px; }
.err404-num {
  font-family: pfdb, sans-serif; font-weight: 800; line-height: 1;
  font-size: clamp(88px, 16vw, 150px); letter-spacing: -2px;
  background: linear-gradient(135deg, #149394, #0c6f70 55%, #18b3b0);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #149394;
}
.err404-title { font-family: pfdb; font-size: clamp(24px, 4vw, 34px); color: #1c2b2b; margin: 6px 0 14px; }
.err404-content { font-family: pfdm; font-size: 16px; line-height: 1.6; color: #4a5d5c; }
.err404-content > p:first-child { font-size: 17px; color: #34504f; }
.err404-content h2 { font-size: 19px; color: #1c2b2b; margin: 30px 0 14px; padding-left: 0; }
/* в 404 у заголовков нет акцентной полосы слева (она только для страниц услуг) */
.err404-content h2::before, .err404-content .article-content h2::before { content: none; display: none; }
/* сетка новостей внутри 404 — карточки по левому краю */
.err404-content .gal-grid { text-align: left; }
.err404-home { display: inline-flex; margin-top: 26px; }

@media (max-width: 600px) {
  .err404 { margin: 24px auto 40px; }
  .err404-ico { right: 0; }
}

/* Новостной вариант 404: чипы категорий (быстрый переход в рубрику) */
.err404-cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 20px 0 2px; }
.err404-cat {
  display: inline-flex; align-items: center; padding: 6px 14px; border-radius: 999px;
  background: #eaf6f6; color: #0c6f70; border: 1px solid #d2ecec;
  font-family: pfdm, sans-serif; font-size: 14px; text-decoration: none; transition: background .15s, color .15s, border-color .15s;
}
.err404-cat:hover { background: #149394; color: #fff; border-color: #149394; }
