/* Профбух — стили сайта. Размеры сняты с прежней версии на Тильде (сетка 1200, поля 40). */
:root {
  --pb-navy: #222a53;
  --pb-text: #60626e;
  --pb-blue: #0a60e9;
  --pb-blue-hdr: #004aff;
  --pb-dark: #121921;
  --pb-yellow: #fff705;
  --pb-gold: #f5e127;
  --pb-line: #dbdff1;
  --pb-soft: #fbfcff;
  --pb-chip-border: #c8c9cf;
  --pb-head: 'Manrope', Arial, sans-serif;
  --pb-body: 'Inter', Arial, sans-serif;
  --pb-wrap: 1200px;
  --pb-pad: 40px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: #fff; color: #000; font-family: var(--pb-head); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
p, h1, h2, h3, h4, figure { margin: 0; }
button { font: inherit; }
/* WordPress в классической теме оборачивает содержимое группы в лишний div — делаем его прозрачным для сеток */
.wp-block-group__inner-container { display: contents; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* Обёртка: любой секции даём внутреннюю ширину 1200 с полями 40 */
.pb-sec { position: relative; padding-left: max(var(--pb-pad), calc((100% - var(--pb-wrap)) / 2 + var(--pb-pad))); padding-right: max(var(--pb-pad), calc((100% - var(--pb-wrap)) / 2 + var(--pb-pad))); }
.pb-wrap { max-width: var(--pb-wrap); margin: 0 auto; padding: 0 var(--pb-pad); }
.pb-dark { background: var(--pb-dark); color: #fff; }
.pb-center { text-align: center; }
.pb-center > * { margin-left: auto; margin-right: auto; }

/* ---------- общие элементы ---------- */
.pb-chip {
  display: inline-flex !important; align-items: center; gap: 24px; width: auto !important; max-width: 100%;
  height: 51px; padding: 0 24px; border: 1px solid var(--pb-chip-border); border-radius: 50px;
  font: 600 16px/25px var(--pb-head); color: #000; background: transparent;
}
.pb-chip::before { content: ""; flex: 0 0 16px; height: 16px; border-radius: 50%; background: var(--pb-yellow); }
.pb-dark .pb-chip { color: #fff; }
.pb-center .pb-chip { display: flex !important; width: max-content !important; }

.pb-h2, .pb-sec h2.pb-h2 { font: 600 40px/62px var(--pb-head); color: var(--pb-navy); }
.pb-dark .pb-h2, .pb-dark h2.pb-h2 { color: #fff; }
.pb-sublead { font: 400 24px/37px var(--pb-body); color: var(--pb-text); max-width: 600px; }
.pb-dark .pb-sublead { color: var(--pb-line); }

/* кнопки блока «Кнопки» */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 20px; }
.wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer;
  height: 60px; min-width: 263px; padding: 0 24px; border: 1px solid transparent; border-radius: 16px;
  background: var(--pb-blue); color: #fff; font: 400 20px/31px var(--pb-head);
  transition: background-color .2s, color .2s, border-color .2s;
}
.wp-block-button__link:hover { background: #0b45a0; }
.is-style-outline > .wp-block-button__link { background: transparent; border-color: #53616f; color: var(--pb-navy); }
.is-style-outline > .wp-block-button__link:hover { background: var(--pb-navy); border-color: var(--pb-navy); color: #fff; }

/* ---------- шапка ---------- */
.pb-header { position: fixed; z-index: 100; left: 0; right: 0; top: 10px; padding: 0 20px; pointer-events: none; }
.pb-header__bar {
  pointer-events: auto; position: relative; display: flex; align-items: center; justify-content: space-between;
  max-width: 1160px; height: 70px; margin: 0 auto; padding: 0 30px; background: #fff; border-radius: 50px;
  box-shadow: 0 15px 30px -10px rgba(0, 11, 48, .1);
}
.pb-header__logo img { width: 150px; height: 46px; }
.pb-header__nav { position: absolute; left: 50%; top: 50%; transform: translate(calc(-50% - 6px), -50%); }
.pb-menu { display: flex; gap: 30px; margin: 0; padding: 0; list-style: none; }
.pb-menu a { font: 600 16px/22px var(--pb-head); color: #333; text-decoration: none; transition: color .2s; }
.pb-menu a:hover { color: var(--pb-blue-hdr); }
.pb-header__cta {
  display: inline-flex; align-items: center; height: 52px; padding: 0 20px; border-radius: 50px;
  background: var(--pb-blue-hdr); color: #fff; font: 600 16px/22.4px var(--pb-head); text-decoration: none;
}
.pb-header__cta:hover { background: #0039c6; }
.pb-header__cta--mobile, .pb-burger { display: none; }

/* ---------- первый экран ---------- */
.pb-hero { padding-top: 139px; padding-bottom: 89px; display: grid; grid-template-columns: 600px 475px; column-gap: 45px; }
.pb-hero__text { grid-column: 1; }
.pb-hero__title { margin-top: 32px; max-width: 560px; font: 600 40px/62px var(--pb-head); color: var(--pb-navy); }
.pb-hero__lead { margin-top: 20px; font: 400 24px/37px var(--pb-body); color: var(--pb-text); }
.pb-hero .wp-block-buttons { margin-top: 35px; }
.pb-hero__img { grid-column: 2; grid-row: 1; margin-top: -9px; align-self: start; }
.pb-hero__img img { width: 475px; filter: saturate(200%); }
.pb-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 360px); gap: 20px; margin-top: 64px; }
.pb-stat {
  height: 100px; padding-top: 7px; text-align: center; background: #fff; border-radius: 16px;
  box-shadow: 0 2px 5px 0 #c3c3c3;
}
.pb-stat__num { font: 700 40px/62px var(--pb-head); color: var(--pb-gold); }
.pb-stat__label { font: 400 16px/25px var(--pb-head); color: var(--pb-navy); }

/* ---------- услуги ---------- */
.pb-services { padding-top: 50px; padding-bottom: 100px; text-align: center; }
.pb-services .pb-h2 { margin-top: 32px; }
.pb-services .pb-sublead { margin: 20px auto 0; }
.pb-slider { position: relative; margin-top: 111px; text-align: left; }
.pb-services .pb-slider { --pb-edge: max(var(--pb-pad), calc((100vw - var(--pb-wrap)) / 2 + var(--pb-pad))); }
/* 100vw включает полосу прокрутки — обрезаем, чтобы страница не уезжала вбок */
.pb-services { overflow-x: clip; }
.pb-slider__track {
  display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  overscroll-behavior-x: contain; scrollbar-width: none; margin: 0 calc(-1 * var(--pb-edge, 0px)); padding: 0 var(--pb-edge, 0px);
  scroll-padding-left: var(--pb-edge, 0px);
}
.pb-slider__track::-webkit-scrollbar { display: none; }
.pb-card {
  flex: 0 0 325px; scroll-snap-align: start; display: flex; flex-direction: column;
  min-height: 440px; padding: 13px 12px 12px; background: #fff; border-radius: 16px;
}
.pb-card .wp-block-image, .pb-card figure { margin: 0; }
.pb-card img { width: 301px; height: 160px; object-fit: cover; border-radius: 4px; }
.pb-card__title { margin-top: 12px; min-height: 50px; max-width: 277px; font: 600 16px/25px var(--pb-head); color: var(--pb-navy); }
.pb-card__price { margin-top: 8px; font: 400 16px/25px var(--pb-body); color: var(--pb-text); }
.pb-card__text { margin-top: 6px; font: 400 12px/19px var(--pb-body); color: var(--pb-text); }
.pb-card .wp-block-buttons { margin-top: auto; padding-top: 24px; }
.pb-card .wp-block-button { width: 100%; }
.pb-card .wp-block-button__link { width: 100%; min-width: 0; height: 48px; }

.pb-slider__nav { display: flex; justify-content: center; gap: 12px; margin-top: 40px; }
.pb-slider__btn {
  width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--pb-chip-border); background: transparent;
  color: inherit; cursor: pointer; display: grid; place-items: center; transition: background-color .2s, opacity .2s;
}
.pb-slider__btn:hover { background: rgba(127, 127, 127, .15); }
.pb-slider__btn[disabled] { opacity: .3; cursor: default; }
.pb-slider__btn svg { width: 18px; height: 18px; }
.pb-slider.is-static .pb-slider__nav { display: none; }

/* ---------- окна с ценами ---------- */
.pb-modal { display: none; }
.pb-modal-layer {
  position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px;
  background: rgba(255, 255, 255, .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  opacity: 0; transition: opacity .2s; overflow-y: auto;
}
.pb-modal-layer.is-open { opacity: 1; }
.pb-modal-layer .pb-modal {
  display: block; position: relative; width: 930px; max-width: 100%; margin: auto; padding: 40px 12px 12px;
  background: #fff; border-radius: 16px; color: var(--pb-navy); box-shadow: 0 10px 40px rgba(34, 42, 83, .12);
}
.pb-modal__close {
  position: absolute; top: 32px; right: 44px; width: 32px; height: 32px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--pb-navy);
}
.pb-modal__close svg { width: 32px; height: 32px; }
.pb-modal__title { padding: 0 100px 0 62px; font: 600 24px/37px var(--pb-head); color: var(--pb-navy); }
.pb-modal__box { margin-top: 32px; padding: 4px 60px 32px 62px; background: #fff; border-radius: 4px; box-shadow: 0 2px 5px 0 rgba(34, 42, 83, .2); }
.pb-prices { margin: 0; }
.pb-price { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0 2px; border-bottom: 2px solid var(--pb-line); }
.pb-price__name { margin: 0; font: 400 16px/25px var(--pb-head); color: var(--pb-text); }
.pb-price__sum { flex: none; white-space: nowrap; font: 600 20px/31px var(--pb-head); color: var(--pb-navy); }
.pb-modal .wp-block-buttons { justify-content: flex-end; margin: 32px -3px 0 0; }
.pb-modal .wp-block-button__link { min-width: 198px; height: 45px; font-size: 16px; line-height: 24.8px; }
body.pb-lock { overflow: hidden; }

/* ---------- «Стоимость обслуживания» ---------- */
.pb-pricenote { padding-top: 90px; padding-bottom: 3px; }
.pb-pricenote__in { max-width: 760px; margin: 0 auto; }
.pb-pricenote h2 { font: 600 28px/32.76px var(--pb-head); color: #000; }
.pb-pricenote p { margin-top: 12px; font: 400 16px/24.8px var(--pb-head); color: #000; }

/* ---------- преимущества ---------- */
.pb-adv { padding-top: 100px; padding-bottom: 100px; text-align: center; }
.pb-adv .pb-h2 { margin-top: 32px; }
.pb-adv .pb-sublead { margin: 16px auto 0; max-width: 578px; }
.pb-adv__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; margin-top: 55px; }
.pb-adv__item { flex: 0 0 348px; }
/* второй ряд на Тильде разведён шире первого */
.pb-adv__item:nth-child(4) { margin-right: 25.5px; }
.pb-adv__item:nth-child(5) { margin-left: 25.5px; }
.pb-adv__item figure, .pb-adv__item .wp-block-image { margin: 0 auto; width: 64px; }
.pb-adv__item img { width: 64px; height: 64px; border-radius: 16px; box-shadow: 0 2px 5px 0 #c3c3c3; object-fit: cover; }
.pb-adv__title { margin-top: 12px; font: 600 24px/37px var(--pb-head); color: var(--pb-navy); }
.pb-adv__text { margin-top: 8px; font: 400 20px/31px var(--pb-body); color: var(--pb-text); }

/* ---------- разделитель ---------- */
.wp-block-separator.pb-divider {
  display: block; width: 760px; max-width: calc(100% - 40px); height: 1px; margin: 27px auto 28px; border: 0;
  background: linear-gradient(to right, rgba(0,0,0,0), #000 26.3%, #000 73.7%, rgba(0,0,0,0)); opacity: .15;
}

/* ---------- этапы ---------- */
.pb-steps-sec { padding-top: 50px; padding-bottom: 84px; text-align: center; }
.pb-steps-sec .pb-h2 { margin-top: 32px; }
.pb-steps-sec .pb-sublead { margin: 16px auto 0; max-width: 578px; }
.pb-steps { counter-reset: pbstep; display: flex; flex-direction: column; gap: 24px; width: 835px; max-width: 100%; margin: 68px auto 0; text-align: left; }
.pb-step {
  counter-increment: pbstep; position: relative; margin-left: 95px; min-height: 161px; padding: 12px 40px 14px 44px;
  background: var(--pb-soft); border: 1px solid var(--pb-line); border-radius: 16px;
}
.pb-step::before {
  content: counter(pbstep); position: absolute; left: -96px; top: -1px; width: 74px; height: 74px; border-radius: 16px;
  background: var(--pb-blue); color: #fff; font: 400 40px/74px var(--pb-head); text-align: center;
}
.pb-step:not(:last-child)::after {
  content: ""; position: absolute; left: -60px; top: 73px; width: 2px; height: 110px;
  background: linear-gradient(27deg, #fff 0%, var(--pb-blue) 100%);
}
.pb-step__title { font: 600 24px/37px var(--pb-head); color: var(--pb-navy); }
.pb-step__text { margin-top: 4px; font: 400 20px/31px var(--pb-body); color: var(--pb-text); }
.pb-step p.pb-tag {
  display: inline-block; margin-top: 16px; padding: 6px 20px; border: 1px solid var(--pb-line); border-radius: 50px;
  background: #fff; color: #000;
}

/* ---------- директор ---------- */
.pb-person { padding-top: 39px; padding-bottom: 38px; padding-left: max(20px, calc((100% - 1200px) / 2)); padding-right: max(20px, calc((100% - 1200px) / 2)); }
.pb-person__card { position: relative; display: grid; grid-template-columns: 360px 1fr; column-gap: 31px; min-height: 473px; padding: 31px 40px; background: #fff; border-radius: 16px; }
.pb-person__card .wp-block-image { margin: 0; }
.pb-person__card img { width: 360px; height: 411px; object-fit: cover; border-radius: 16px; }
.pb-person__body { padding-top: 27px; max-width: 560px; }
.pb-person__body .pb-chip { position: absolute; top: 36px; right: 43px; color: #000; }
.pb-person__name { font: 600 32px/50px var(--pb-head); color: var(--pb-navy); }
.pb-person__role { margin-top: 8px; font: 500 20px/31px var(--pb-head); color: var(--pb-text); }
.pb-person__text { font: 400 20px/28px var(--pb-body); color: var(--pb-text); }
.pb-person__role + .pb-person__text { margin-top: 52px !important; }
.pb-person__text + .pb-person__text { margin-top: 36px; }

/* ---------- отзывы ---------- */
.pb-reviews { padding-top: 132px; padding-bottom: 47px; padding-left: 0; padding-right: 0; overflow: hidden; }
.pb-reviews .pb-h2 { text-align: center; padding: 0 20px; font: 600 40px/49.2px var(--pb-head); }
.pb-reviews .pb-slider { margin-top: 93px; --pb-edge: calc(50vw - 380px); }
.pb-reviews .pb-slider__track { margin: 0; gap: 40px; scroll-snap-type: x mandatory; }
.pb-review {
  counter-increment: none; flex: 0 0 720px; scroll-snap-align: center; position: relative; height: 442px; overflow: hidden;
  padding: 40px 40px 40px 172px; background: var(--pb-soft); border: 1px solid #bfd0eb; border-radius: 16px;
}
.pb-review .wp-block-image { position: absolute; left: 40px; top: 40px; margin: 0; }
.pb-review img { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; }
.pb-review__name { font: 600 26px/31.98px var(--pb-head); color: #000; }
.pb-review__role { margin-top: 7px !important; font: 400 16px/24.8px var(--pb-head); color: #777; }
.pb-review__text { margin: 71px 0 0 -132px !important; font: 400 20px/31px var(--pb-body); color: #000; }
.pb-review.is-long::after {
  content: "• • •"; position: absolute; left: 0; right: 0; bottom: 0; height: 115px; padding-top: 70px; text-align: center; letter-spacing: 2px;
  font-size: 10px; background: linear-gradient(0deg, var(--pb-soft) 40px, rgba(251, 252, 255, 0) 110%); cursor: pointer;
}
.pb-review.is-open { height: auto; }
.pb-review.is-open::after { display: none; }

/* ---------- вопросы ---------- */
.pb-faq { padding-top: 86px; padding-bottom: 90px; display: grid; grid-template-columns: 1fr 560px; column-gap: 54px;
  padding-left: max(20px, calc((100% - 1160px) / 2)); padding-right: max(20px, calc((100% - 1160px) / 2)); }
.pb-faq__head h2 { max-width: 470px; font: 600 42px/51.66px var(--pb-head); color: var(--pb-navy); }
.pb-faq__head p { margin-top: 38px; max-width: 546px; font: 400 24px/36px var(--pb-head); color: var(--pb-text); }
.pb-faq__list { padding-top: 4px; border-bottom: 1px solid #eee; align-self: start; }
.pb-faq__list .wp-block-details { border-top: 1px solid #eee; }
.pb-faq__list summary {
  position: relative; list-style: none; cursor: pointer; padding: 27px 64px 27px 0; font: 600 20px/27px var(--pb-head); color: #000;
}
.pb-faq__list summary::-webkit-details-marker { display: none; }
.pb-faq__list summary::after {
  content: ""; position: absolute; right: 0; top: 50%; width: 40px; height: 40px; margin-top: -20px;
  background: linear-gradient(#000, #000) center / 22px 1.5px no-repeat, linear-gradient(#000, #000) center / 1.5px 22px no-repeat;
  transition: transform .25s;
}
.pb-faq__list details[open] summary::after { transform: rotate(45deg); }
.pb-faq__list details p { padding: 0 64px 27px 0; font: 400 16px/1.55 var(--pb-head); color: #000; }

/* ---------- заявка ---------- */
.pb-cta { padding: 20px max(20px, calc((100% - 1200px) / 2)) 45px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pb-cta__info, .pb-cta__form { background: var(--pb-dark); color: #fff; border-radius: 16px; min-height: 600px; }
.pb-cta__info { display: flex; flex-direction: column; padding: 96px 40px 79px; }
.pb-cta__title { max-width: 498px; font: 600 32px/43px var(--pb-head); color: #fff; }
.pb-cta__title + p { margin-top: 13px; max-width: 475px; font: 400 16px/25px var(--pb-body); color: #959595; }
.pb-cta__wa { margin-top: auto; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.pb-cta__wa p { margin-top: -4px; font: 300 16px/25px var(--pb-head); color: #fff; }
.pb-cta__wa .wp-block-button__link { min-width: 200px; height: 55px; padding: 0 12px; background: var(--pb-dark); border-color: var(--pb-gold); font: 600 16px/24.8px var(--pb-body); }
.pb-cta__wa .wp-block-button__link:hover { background: var(--pb-gold); color: var(--pb-dark); }
.pb-cta__form { padding: 117px 46px 40px 45px; }

.pb-form { max-width: 499px; color: #fff; }
.pb-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pb-form__group { margin: 0 0 16px; padding: 0; border: 0; min-width: 0; }
.pb-form__title { display: block; padding: 0 0 5px; font: 400 16px/22px var(--pb-head); color: #fff; }
.pb-form__radios { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 5px; }
.pb-radio, .pb-check { position: relative; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font: 600 12px/14.4px var(--pb-head); color: #fff; }
.pb-radio input, .pb-check input { position: absolute; opacity: 0; width: 20px; height: 20px; margin: 0; cursor: pointer; }
.pb-radio__dot { flex: 0 0 20px; height: 20px; border: 2px solid #fff; border-radius: 50%; }
.pb-radio input:checked + .pb-radio__dot { box-shadow: inset 0 0 0 3px var(--pb-dark), inset 0 0 0 10px #fff; }
.pb-radio input:focus-visible + .pb-radio__dot, .pb-check input:focus-visible + .pb-check__box { outline: 2px solid var(--pb-gold); outline-offset: 2px; }
.pb-select { position: relative; }
.pb-select::after { content: ""; position: absolute; right: 20px; top: 50%; margin-top: -3px; border: 6px solid transparent; border-top: 6px solid #000; border-bottom: 0; pointer-events: none; }
.pb-select select, .pb-phone {
  width: 100%; height: 60px; border: 1px solid #000; border-radius: 16px; background: #fff; color: var(--pb-text); font: 400 16px/1.3 var(--pb-head);
}
.pb-select select { padding: 0 45px 0 20px; appearance: none; -webkit-appearance: none; cursor: pointer; }
.pb-phone { display: flex; align-items: center; padding: 0 20px; }
.pb-phone__flag { flex: 0 0 18px; height: 13px; margin-right: 6px; border-radius: 1px; background: #00afca; box-shadow: 0 0 5px rgba(0,0,0,.3); position: relative; }
.pb-phone__flag::after { content: ""; position: absolute; left: 6px; top: 3px; width: 6px; height: 6px; border-radius: 50%; background: #fec50c; }
.pb-phone__tri { width: 0; height: 0; margin-right: 10px; border: 4px solid transparent; border-top: 5px solid #9a9a9a; border-bottom: 0; }
.pb-phone__code { margin-right: 5px; }
.pb-phone input { flex: 1; min-width: 0; height: 58px; border: 0; outline: 0; background: transparent; color: var(--pb-text); font: inherit; }
.pb-phone input::placeholder { color: rgba(96, 98, 110, .5); }
.pb-check { align-items: flex-start; margin-top: 4px; }
.pb-check__box { flex: 0 0 20px; height: 20px; border: 2px solid #fff; }
.pb-check input:checked + .pb-check__box { background: center / 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E"); }
.pb-check span:last-child { padding-top: 1px; }
.pb-form__submit {
  display: block; width: 220px; height: 50px; margin-top: 54px; border: 0; border-radius: 16px; background: var(--pb-blue);
  color: #fff; font: 600 16px/22px var(--pb-head); cursor: pointer; transition: background-color .2s;
}
.pb-form__submit:hover { background: #0b45a0; }
.pb-form__submit[disabled] { opacity: .6; cursor: progress; }
.pb-form__error { margin-top: 16px; padding: 10px 14px; border-radius: 8px; background: #f95d51; color: #fff; font: 400 14px/1.4 var(--pb-head); }
.pb-form__success { margin-top: 20px; font: 400 16px/1.5 var(--pb-head); color: #fff; }
.pb-form.is-sent > :not(.pb-form__success) { display: none; }
.pb-field-error .pb-select select, .pb-field-error.pb-phone, .pb-field-error .pb-phone { border-color: #f95d51; box-shadow: 0 0 0 1px #f95d51; }

/* ---------- подвал ---------- */
.pb-footer { background: var(--pb-dark); color: #fff; padding: 75px 20px 90px; }
.pb-footer__in { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 260px); column-gap: 40px; }
.pb-footer__logo img { width: 120px; height: 99px; object-fit: contain; }
.pb-social { display: flex; gap: 8px; margin: 34px 0 0; padding: 0; list-style: none; }
.pb-social a { display: block; color: #525252; transition: opacity .2s; }
.pb-social a:hover { opacity: .7; }
.pb-ico { display: block; width: 25px; height: 25px; }
.pb-footer__copy { margin-top: 25px; font: 400 12px/18.6px var(--pb-head); color: #525252; }
.pb-footer__title { font: 600 16px/21.6px var(--pb-head); color: #525252; text-transform: uppercase; letter-spacing: 1px; }
.pb-footer__menu { margin: 15px 0 0; padding: 0; list-style: none; }
.pb-footer__menu li { line-height: 0; }
.pb-footer__menu li + li { margin-top: 9.3px; }
.pb-footer__menu a { display: inline-block; max-width: 230px; font: 400 14px/21.7px var(--pb-head); color: #fff; text-decoration: none; }
.pb-footer__menu a:hover { opacity: .7; }

/* ---------- простые страницы ---------- */
.pb-plain, .pb-404 { padding-top: 160px; padding-bottom: 100px; }
.pb-404 .pb-h2 { margin-top: 32px; }
.pb-404 .pb-sublead { margin-top: 20px; }
.pb-404 .wp-block-buttons { margin-top: 35px; }
.pb-plain__item + .pb-plain__item { margin-top: 32px; }

/* ================= планшет ================= */
@media (max-width: 1199px) {
  .pb-hero { grid-template-columns: 1fr 335px; }
  .pb-hero__img img { width: 335px; }
  .pb-stats { grid-template-columns: repeat(3, 1fr); }
  .pb-header__bar { max-width: 940px; }
  .pb-menu { gap: 20px; }
  .pb-footer__in { grid-template-columns: repeat(4, 1fr); column-gap: 20px; }
  .pb-person__card { grid-template-columns: 300px 1fr; }
  .pb-person__card img { width: 300px; height: 360px; }
  .pb-faq { grid-template-columns: 1fr 480px; column-gap: 40px; }
}

@media (max-width: 959px) {
  :root { --pb-pad: 20px; }
  .pb-header { top: 0; padding: 0; }
  .pb-header__bar { max-width: none; height: 70px; padding: 0 20px; border-radius: 0; box-shadow: 0 15px 30px -10px rgba(0, 11, 48, .1); }
  .pb-header__logo img { width: 130px; height: 40px; }
  .pb-header__cta { display: none; }
  .pb-burger {
    display: grid; place-content: center; gap: 5px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 8px;
    background: var(--pb-blue-hdr); cursor: pointer;
  }
  .pb-burger span { display: block; width: 20px; height: 2.5px; border-radius: 2px; background: #fff; transition: transform .2s, opacity .2s; }
  .pb-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
  .pb-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .pb-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
  .pb-header__nav {
    position: fixed; left: 0; right: 0; top: 70px; transform: none; display: none; padding: 24px 20px 32px;
    background: #fff; box-shadow: 0 15px 30px -10px rgba(0, 11, 48, .15);
  }
  .pb-header__nav.is-open { display: block; }
  .pb-menu { flex-direction: column; gap: 18px; }
  .pb-menu a { font-size: 18px; }
  .pb-header__cta--mobile { display: inline-flex; margin-top: 24px; }

  .pb-hero { display: block; padding-top: 140px; padding-bottom: 60px; }
  .pb-hero__img { margin: 40px auto 0; max-width: 57%; }
  .pb-hero__img img { width: 100%; }
  .pb-stats { grid-template-columns: 1fr; max-width: 360px; margin: 48px auto 0; }
  .pb-person__card { grid-template-columns: 1fr; text-align: center; padding: 70px 30px 40px; }
  .pb-person__card .wp-block-image { margin: 0 auto; }
  .pb-person__body { margin: 0 auto; padding-top: 24px; }
  .pb-person__body .pb-chip { top: 20px; right: 50%; transform: translateX(50%); }
  .pb-faq { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
  .pb-cta { grid-template-columns: minmax(0, 1fr); }
  .pb-footer__in { grid-template-columns: 1fr 1fr; row-gap: 40px; }
  .pb-reviews .pb-slider { --pb-edge: 20px; }
  .pb-review { flex-basis: min(720px, calc(100vw - 80px)); }
}

/* ================= телефон (макет Тильды 320) ================= */
@media (max-width: 639px) {
  .pb-chip { height: 36px; gap: 16px; padding: 0 24px; font-size: 12px; line-height: 19px; }
  .pb-chip::before { flex-basis: 14px; height: 14px; }
  .pb-h2, .pb-sec h2.pb-h2 { font-size: 32px; line-height: 50px; }
  .pb-sublead { font-size: 16px; line-height: 25px; }
  .wp-block-buttons { gap: 15px; }
  .wp-block-button__link { min-width: 0; height: 48px; font-size: 16px; }

  .pb-hero { padding-top: 140px; padding-bottom: 50px; }
  .pb-hero__text { padding: 0 28px; text-align: left; }
  .pb-hero__text .pb-chip { display: flex !important; width: 248px !important; margin: 0 auto; padding: 0 0 0 25px; gap: 16px; white-space: nowrap; }
  .pb-hero__text .pb-chip::before { flex-basis: 16px; height: 16px; }
  .pb-hero__title { margin-top: 36px; font-size: 20px; line-height: 31px; }
  .pb-hero__lead { margin-top: 12px; font-size: 12px; line-height: 19px; }
  .pb-hero .wp-block-buttons { margin: 37px -9px 0; flex-wrap: nowrap; }
  .pb-hero .wp-block-button { flex: 1 1 0; }
  .pb-hero .wp-block-button__link { width: 100%; height: 37px; padding: 0 8px; font-size: 12px; line-height: 18.6px; }
  .pb-hero__img { max-width: 81%; margin-top: 0; }
  .pb-stats { gap: 12px; margin-top: 6px; max-width: 300px; padding: 0; }
  .pb-stat { height: 100px; padding-top: 10px; }
  .pb-stat__num { font-size: 32px; line-height: 50px; }
  .pb-stat__label { font-size: 12px; line-height: 19px; }

  .pb-services { padding-top: 58px; padding-bottom: 60px; }
  .pb-services .pb-h2.pb-h2 { margin-top: 36px; font-size: 28px; line-height: 43px; }
  .pb-services .pb-sublead { margin-top: 14px; font-size: 12px; line-height: 19px; }
  .pb-slider { margin-top: 60px; }
  .pb-services .pb-slider { --pb-edge: 20px; }
  .pb-services .pb-slider__track { padding: 0 28px; scroll-padding-left: 28px; }
  .pb-card .wp-block-button__link { font-size: 20px; }
  .pb-card { flex-basis: min(325px, calc(100vw - 50px)); }
  .pb-card img { width: 100%; }

  .pb-modal-layer { padding: 10px; }
  .pb-modal-layer .pb-modal { width: 304px; padding: 32px 4px 8px; }
  .pb-modal__close { top: 30px; right: 10px; width: 28px; height: 28px; }
  .pb-modal__close svg { width: 28px; height: 28px; }
  .pb-modal__title { padding: 0 13px 0 5px; font-size: 20px; line-height: 31px; }
  .pb-modal__box { margin-top: 20px; padding: 0 5px 24px 7px; }
  .pb-price { gap: 12px; }
  .pb-price__name { font-size: 12px; line-height: 19px; }
  .pb-price__sum { font-size: 16px; line-height: 25px; }
  .pb-modal .wp-block-buttons { justify-content: center; margin: 24px 0 0; }
  .pb-modal .wp-block-button { width: auto; }
  .pb-modal .wp-block-button__link { min-width: 151px; height: 35px; padding: 0 16px; font-size: 12px; line-height: 18.6px; }

  .pb-pricenote { padding-top: 90px; }
  .pb-pricenote h2 { font-size: 24px; line-height: 28.08px; }
  .pb-pricenote p { font-size: 12px; line-height: 17.4px; }

  .pb-adv { padding-top: 90px; padding-bottom: 56px; }
  .pb-adv .pb-h2 { margin-top: 32px; }
  .pb-adv .pb-sublead { margin-top: 8px; max-width: 254px; }
  .pb-adv__grid { flex-direction: column; align-items: center; gap: 36px; margin-top: 25px; }
  .pb-adv__item { flex: none; width: 100%; max-width: 260px; margin: 0 !important; }
  /* на телефоне «Ответственность» на Тильде стоит последней */
  .pb-adv__item:nth-child(3) { order: 5; }
  .pb-adv__title { font-size: 16px; line-height: 25px; }
  .pb-adv__text { margin-top: 8px; font-size: 12px; line-height: 19px; }

  .pb-steps-sec { padding-top: 46px; padding-bottom: 70px; }
  .pb-steps-sec .pb-h2 { margin-top: 56px; }
  .pb-steps-sec .pb-sublead { margin-top: 28px; max-width: 284px; }
  .pb-steps { gap: 90px; margin-top: 108px; max-width: 300px; }
  .pb-step { margin-left: 0; min-height: 0; padding: 12px 20px 16px; }
  .pb-step::before { left: 50%; top: -76px; width: 58px; height: 58px; margin-left: -29px; font-size: 28px; line-height: 58px; border-radius: 12px; }
  .pb-step:not(:last-child)::after { left: auto; right: 4px; top: auto; bottom: 6px; width: 10px; height: 25px; background: linear-gradient(0deg, #fff 0%, var(--pb-blue) 100%); border-radius: 0; }
  .pb-step__title { font-size: 16px; line-height: 25px; }
  .pb-step__text { margin-top: 6px; font-size: 12px; line-height: 19px; }
  .pb-step p.pb-tag { margin-top: 18px; padding: 4px 20px; font-size: 16px; line-height: 25px; }

  .pb-person { padding: 39px max(10px, calc((100% - 302px) / 2)) 44px; }
  .pb-person__card { padding: 87px 19px 19px; }
  .pb-person__card img { width: 193px; height: 208px; }
  .pb-person__body .pb-chip { top: 18px; }
  .pb-person__name { font-size: 24px; line-height: 37px; }
  .pb-person__role { margin-top: 6px; font-size: 16px; line-height: 25px; }
  .pb-person__text { font-size: 12px; line-height: 17px; text-align: left; }
  .pb-person__role + .pb-person__text { margin-top: 17px !important; }
  .pb-person__text + .pb-person__text { margin-top: 9px; }

  .pb-reviews { padding-top: 87px; padding-bottom: 70px; }
  .pb-reviews h2.pb-h2 { padding: 0 20px; font-size: 40px; line-height: 49.2px; }
  .pb-reviews .pb-slider { margin-top: 70px; }
  .pb-reviews .pb-slider__track { gap: 20px; }
  .pb-review { flex-basis: 297px; height: 440px; padding: 30px 30px 30px 89px; }
  .pb-review .wp-block-image { left: 30px; top: 30px; }
  .pb-review img { width: 50px; height: 50px; }
  .pb-review__name { font-size: 16px; line-height: 19.68px; }
  .pb-review__role { margin-top: 6px !important; font-size: 12px; line-height: 17.4px; }
  .pb-review__text { margin: 25px 0 0 -59px !important; font-size: 16px; line-height: 25px; }

  .pb-faq { padding-top: 87px; padding-bottom: 60px; row-gap: 30px; }
  .pb-faq__head h2 { font-size: 30px; line-height: 36.9px; }
  .pb-faq__head p { margin-top: 19px; font-size: 20px; line-height: 28px; }
  .pb-faq__list summary { padding: 15px 50px 15px 0; }

  .pb-cta { padding: 20px max(10px, calc((100% - 300px) / 2)) 40px; gap: 8px; }
  .pb-cta__info { min-height: 0; padding: 40px 30px 50px 17px; }
  .pb-cta__title { padding-left: 13px; }
  .pb-cta__title { font-size: 20px; line-height: 28px; }
  .pb-cta__title + p { margin-top: 20px; font-size: 12px; line-height: 19px; }
  .pb-cta__wa { flex-direction: column; align-items: flex-start; margin-top: 48px; gap: 16px; }
  .pb-cta__wa p { font-size: 12px; line-height: 19px; }
  .pb-cta__wa .wp-block-button__link { min-width: 200px; height: 40px; font-size: 12px; }
  .pb-cta__form { min-height: 0; padding: 30px 8px 0 10px; }
  .pb-form__radios { flex-direction: column; gap: 10px; }
  .pb-radio { font-size: 14px; }
  .pb-form__submit { margin: 52px auto 0; }

  .pb-footer { padding: 75px 20px 122px; }
  .pb-footer__in { grid-template-columns: 1fr; row-gap: 30px; }
  .pb-footer__title { font-size: 12px; line-height: 16.2px; }
  .pb-footer__menu { margin-top: 14px; }
  .pb-footer__menu li + li { margin-top: 11px; }
  .pb-footer__menu a { max-width: none; font-size: 12px; line-height: 18.6px; }
}

@media (prefers-reduced-motion: reduce) {
  html, .pb-slider__track { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* в форме: тип бизнеса стоит чуть выше остальных полей, как на прежнем сайте */
fieldset.pb-form__group { margin-bottom: 26px; }

/* ---------- страницы, перенесённые готовой вёрсткой ---------- */
.pb-raw { position: relative; }
.pb-pt-75 { padding-top: 75px; }
.pb-pt-90 { padding-top: 90px; }
.pb-pb-90 { padding-bottom: 90px; }
.pb-pb-75 { padding-bottom: 75px; }
/* абзац-прослойка вокруг одиночного <b>/<span> из перенесённой вёрстки — в раскладке не участвует */
p.pbx-wrap { display: contents; }
.pb-pt-118 { padding-top: 118px; }

/* =====================================================================
   Стандартные блоки Тильды на внутренних страницах (tb-*). Размеры — по замерам прежних страниц.
   Сетка Тильды: контейнер 1200, колонка 60, отступ 20 (t-col_8 = 760, t-col_10 = 960, t-col_12 = 1160).
   ===================================================================== */
.tb { padding-left: 20px; padding-right: 20px; }
.tb-in { max-width: 1160px; margin: 0 auto; }
.tb-w960 { max-width: 960px; margin-left: auto; margin-right: auto; }
.tb-w760 { max-width: 760px; margin-left: auto; margin-right: auto; }
.tb-pt-0 { padding-top: 0; } .tb-pt-30 { padding-top: 30px; } .tb-pt-45 { padding-top: 45px; } .tb-pt-90 { padding-top: 90px; }
.tb-pt-118 { padding-top: 118px; } .tb-pt-120 { padding-top: 120px; } .tb-pt-135 { padding-top: 135px; } .tb-pt-150 { padding-top: 150px; }
.tb-pb-0 { padding-bottom: 0; } .tb-pb-30 { padding-bottom: 30px; } .tb-pb-45 { padding-bottom: 45px; } .tb-pb-60 { padding-bottom: 60px; }
.tb-pb-75 { padding-bottom: 75px; } .tb-pb-90 { padding-bottom: 90px; } .tb-pb-105 { padding-bottom: 105px; }

/* заголовок страницы (T795) */
.tb-title { margin: 0 auto 40px; max-width: 960px; text-align: center; font: 600 32px/39.36px var(--pb-head); color: #000; }

/* таблица цен (T431) */
.tb-table { margin: 0 auto; max-width: 960px; }
.tb-table table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.tb-table th, .tb-table td { padding: 20px; text-align: left; vertical-align: top; font: 400 16px/24.8px var(--pb-head); border: 0; }
.tb-table th { font-weight: 600; color: #000; border-bottom: 1px solid #000; }
.tb-table td { color: #4d4c4c; border-bottom: 1px solid #d9d9d9; }
.tb-table th:first-child, .tb-table td:first-child { width: 75%; }
.tb-table tbody tr:nth-child(even) { background: #eee; }
.tb-table thead { border: 0; }

/* подзаголовок (T120) */
.tb-heading { margin: 0 auto; max-width: 760px; padding: 4px 0 14px; font: 600 28px/32.76px var(--pb-head); color: #000; }

/* список ссылок со стрелкой (T1062) */
.tb-links { margin: 0 auto; max-width: 760px; }
.tb-links__item + .tb-links__item { margin-top: 40px; }
.tb-links__title { font: 400 20px/27px var(--pb-head); color: #000; }
.tb-links__title a { display: flex; align-items: center; color: inherit; text-decoration: none; }
.tb-links__title a::before {
  content: ""; flex: 0 0 20px; height: 20px; margin-right: 13px; border-radius: 50%;
  background: #000 center / 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M15.5 11.122c-1.026-1.036-2.007-2.026-2.986-3.017-.385-.39-.413-.895-.075-1.251.361-.381.886-.371 1.296.037 1.136 1.131 2.267 2.266 3.401 3.399.346.346.694.69 1.037 1.038.425.43.431.921.01 1.343-1.462 1.466-2.926 2.931-4.392 4.393-.384.383-.898.398-1.253.053-.366-.357-.356-.877.038-1.273.925-.929 1.855-1.854 2.786-2.778.051-.051.122-.081.183-.121l-.041-.104h-.344c-2.841 0-5.683 0-8.524-.001-.135 0-.271-.001-.405-.018-.438-.056-.738-.419-.726-.868.012-.442.34-.795.776-.829.114-.009.229-.004.343-.004h8.462c.122 0 .244 0 .414 0z'/%3E%3C/svg%3E");
}
.tb-links__title a:hover { opacity: .7; }
.tb-links__descr { margin: 8px 0 2px 33px; font: 400 18px/24.3px var(--pb-head); color: #000; }

/* обложка (T891) и плитки-ссылки (T132) */
.tb-cover { position: relative; display: flex; align-items: center; justify-content: center; height: 332px; padding: 0 140px; overflow: hidden; background: #000; }
.tb-cover .wp-block-image, .tb-tile .wp-block-image { position: absolute; inset: 0; margin: 0; }
.tb-cover img, .tb-tile img { width: 100%; height: 100%; object-fit: cover; }
.tb-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(34,34,34,.2)); }
.tb-cover__title { position: relative; z-index: 1; top: -13px; text-align: center; font: 600 72px/84.24px var(--pb-head); color: #fff; }
.tb-tiles { display: grid; grid-template-columns: 1fr 1fr; }
.tb-tile { position: relative; display: flex; align-items: center; justify-content: center; height: 432px; overflow: hidden; }
.tb-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.4)); transition: opacity .3s; }
.tb-tile:hover::after { opacity: .8; }
.tb-tile__title { position: relative; z-index: 1; top: -8px; width: 100%; padding: 0 15%; text-align: center; font: 600 36px/44.28px var(--pb-head); color: #fff; }
.tb-tile__title a { color: inherit; text-decoration: none; }
.tb-tile__title a::after { content: ""; position: absolute; inset: -500px; z-index: 2; }   /* вся плитка — ссылка */
.tb-tile { isolation: isolate; }

/* первый экран услуги (T165) */
.tb-hero { display: grid; grid-template-columns: 540px 560px; column-gap: 60px; align-items: center; }
.tb-hero__up { font: 600 14px/19px var(--pb-head); color: #212a56; }
.tb-hero h1 { margin-top: 14px; padding-bottom: 28px; font: 600 30px/35.1px var(--pb-head); color: #212a56; }
.tb-hero__text { font: 400 18px/27.9px var(--pb-body); color: #0f1922; }
.tb-hero .wp-block-buttons { margin-top: 60px; }
.tb-hero .wp-block-button__link { height: 60px; min-width: 0; padding: 0 60px; border-radius: 30px; background: #0063f2; font: 600 16px/22.4px var(--pb-head); }
.tb-hero .wp-block-button__link:hover { background: #0050c8; }
.tb-hero .wp-block-image { margin: 0; }
.tb-hero img { width: 560px; }

/* цифры с линией (T1033) */
.tb-stats { display: flex; gap: 60px; }
.tb-stat { width: 240px; }
.tb-stat__num { font: 700 30px/34px var(--pb-head); color: #212a56; }
.tb-stat__num::after { content: ""; display: block; height: 2px; margin-top: 14px; background: #212a56; }
.tb-stat__label { margin-top: 14px; font: 400 16px/25px var(--pb-head); color: #000; padding-bottom: 6px; }

/* текстовый блок: заголовок слева, текст справа (T1123) */
.tb-split { display: grid; grid-template-columns: 360px 760px; column-gap: 40px; margin-top: -12px; }
.tb-split__head { padding-top: 13px; }
.tb-split__head::before { content: ""; display: block; height: 2px; background: #212a56; }
.tb-split__head h2 { margin-top: 18px; font: 700 20px/26px var(--pb-head); color: #212a56; }
.tb-split__text { font: 500 17px/27.2px var(--pb-head); color: #0f1922; }
.tb-split__text a { color: inherit; }

/* форма в карточке (T696) */
.tb-formbox { max-width: 760px; margin: 0 auto; padding: 60px 45px 70px; border: 15px solid #fff; box-shadow: 0 0 29px rgba(0, 0, 0, .3); background: #fff; }
.tb-formbox__title { text-align: center; font: 600 42px/51.66px var(--pb-head); color: #000; }
.tb-formbox__descr { margin-top: 24px; text-align: center; font: 400 24px/36px var(--pb-head); color: #000; }
.tb-formbox .pb-form--contact { max-width: 560px; margin: 74px auto 0; color: #000; }
.pb-line { display: block; width: 100%; height: 56px; margin: 0 0 35px; padding: 0; border: 0; border-bottom: 1px solid #d6d6d6; border-radius: 0; background: transparent; outline: 0; font: 400 16px/1.33 var(--pb-head); color: #000; }
.pb-line::placeholder { color: #000; opacity: .5; }
.pb-line:focus { border-bottom-color: #000; }
.pb-line--area { height: 102px; padding-top: 17px; resize: vertical; }
.pb-line.pb-field-error { border-bottom-color: #f95d51; }
.pb-form--contact .pb-form__submit { width: auto; height: 56px; margin: 39px auto 0; padding: 0 40px; border-radius: 0; background: #0063f2; font: 600 16px/22.4px var(--pb-head); }
.pb-form--contact .pb-form__success { color: #000; text-align: center; }
.pb-form--contact .pb-form__error { text-align: left; }

/* контакты (T571) и кнопка WhatsApp (T1036) */
.tb-contacts { text-align: center; }
.tb-contacts__title { font: 600 42px/51.66px var(--pb-head); color: #000; }
.tb-contacts__title::after { content: ""; display: block; width: 100px; height: 2px; margin: 45px auto 0; background: #00008a; }
.tb-contacts__text { margin-top: 45px; font: 400 20px/31px var(--pb-body); color: #000; }
.tb-wa .wp-block-buttons { justify-content: center; }
.tb-wa .wp-block-button__link {
  width: 160px; min-width: 0; height: 60px; border-radius: 6px; background: #27d061 center / 28px no-repeat; font-size: 0; color: transparent;
}
.tb-wa .wp-block-button__link:hover { background-color: #1fb553; }

@media (max-width: 959px) {
  .tb-hero { grid-template-columns: 1fr; }
  .tb-hero .wp-block-image { margin-top: 49px; }
  .tb-hero img { width: 100%; }
  .tb-split { grid-template-columns: 1fr; margin-top: 0; }
  .tb-split__head { padding-top: 1px; }
}
@media (max-width: 639px) {
  .tb-pt-135, .tb-pt-120, .tb-pt-150 { padding-top: 90px; }
  .tb-title { font-size: 30px; line-height: 36.9px; }
  .tb-table th, .tb-table td { padding: 20px 10px; font-size: 14px; line-height: 20.3px; }
  .tb-table th:first-child, .tb-table td:first-child { width: 71.3%; }
  .tb-heading { font-size: 24px; line-height: 28.08px; }
  .tb-links__item + .tb-links__item { margin-top: 16px; }
  .tb-links__title { font-size: 17px; line-height: 20.4px; }
  .tb-links__title a::before { margin-right: 9px; }
  .tb-links__descr { margin: 6px 0 2px 29px; font-size: 15px; line-height: 20.25px; }
  .tb-cover { height: 300px; padding: 0 20px; }
  .tb-cover__title { top: -16px; font-size: 30px; line-height: 35.1px; }
  .tb-tiles { grid-template-columns: 1fr; }
  .tb-tile { height: 400px; }
  .tb-tile__title { padding: 0 5%; font-size: 28px; line-height: 34.44px; }
  .tb-hero__up { font-size: 10px; line-height: 14px; }
  .tb-hero h1 { font-size: 24px; line-height: 28.08px; }
  .tb-hero__text { font-size: 18px; line-height: 26.1px; }
  .tb-hero .wp-block-buttons { margin-top: 30px; }
  .tb-hero .wp-block-button__link { padding: 0 30px; }
  .tb-stats { flex-direction: column; gap: 20px; padding-right: 20px; }
  .tb-stat { width: auto; }
  .tb-split__head h2 { margin-top: 18px; }
  .tb-split__text { margin-top: 28px; font-size: 16px; line-height: 25.6px; }
  .tb-formbox { padding: 30px 20px; }
  .tb-formbox__title { font-size: 30px; line-height: 36.9px; }
  .tb-formbox__descr { margin-top: 12px; font-size: 20px; line-height: 28px; }
  .tb-formbox .pb-form--contact { margin-top: 32px; }
  .pb-line--area { padding-top: 12px; }
  .pb-form--contact .pb-form__submit { width: 100%; }
  .tb-contacts__title { font-size: 30px; line-height: 36.9px; }
  .tb-contacts__text { font-size: 16px; line-height: 23.2px; }
  .tb-wa .wp-block-button { width: 100%; }
  .tb-wa .wp-block-button__link { width: 100%; }
}

.tb-wa .wp-block-button__link { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M50.168 10C60.8239 10.004 70.8257 14.1522 78.346 21.6819C85.8676 29.2114 90.0066 39.2185 90 49.8636C89.9906 71.8252 72.1203 89.6956 50.1668 89.6956H50.1508C43.4852 89.6929 36.9338 88.0208 31.1162 84.8468L10 90.3853L15.6516 69.7437C12.1665 63.7042 10.3323 56.851 10.3349 49.8304C10.343 27.8676 28.2134 10 50.168 10V10ZM61.5376 54.7631C62.4507 55.0954 67.3433 57.5023 68.3389 58.0009C68.5313 58.0971 68.7113 58.1842 68.8784 58.265C69.5753 58.602 70.0458 58.8296 70.2462 59.1651C70.4947 59.5799 70.4947 61.5736 69.6654 63.8982C68.8359 66.2229 64.8605 68.3442 62.9478 68.63C61.2319 68.8865 59.0627 68.9928 56.6782 68.2353C55.2322 67.7767 53.3794 67.1653 51.0041 66.1392C41.6698 62.1082 35.3628 53.06 34.1747 51.3556C34.0919 51.2368 34.0341 51.1538 34.0017 51.1106L33.9981 51.1056C33.486 50.4243 29.9372 45.7022 29.9372 40.8149C29.9372 36.2325 32.1873 33.8303 33.2244 32.7232C33.2961 32.6467 33.3619 32.5763 33.4208 32.5118C34.3341 31.5149 35.412 31.2664 36.0751 31.2664C36.7385 31.2664 37.4029 31.2717 37.9826 31.301C38.0541 31.3046 38.1286 31.304 38.2056 31.3037C38.786 31.3001 39.5087 31.2957 40.2221 33.0089C40.4976 33.6707 40.9012 34.653 41.3265 35.6882C42.1818 37.7702 43.1251 40.066 43.2912 40.399C43.5397 40.8974 43.7058 41.4782 43.3736 42.1427C43.323 42.2436 43.2763 42.3387 43.2318 42.4295C42.9831 42.9364 42.7995 43.3104 42.378 43.8029C42.2125 43.9963 42.0413 44.2045 41.8703 44.4131C41.5273 44.8309 41.1842 45.2488 40.8853 45.5467C40.387 46.0425 39.8686 46.5808 40.4493 47.5777C41.0303 48.5731 43.028 51.8323 45.9867 54.472C49.1661 57.3091 51.93 58.5078 53.3318 59.1157C53.6058 59.2346 53.8279 59.3308 53.9907 59.4124C54.9849 59.9109 55.5658 59.8284 56.1465 59.1637C56.7274 58.4993 58.6347 56.2583 59.298 55.2615C59.9612 54.2646 60.6259 54.4307 61.5376 54.7631V54.7631Z'/%3E%3C/svg%3E"); }

/* «Директор» на телефоне — по замерам зеро-блока Тильды (карточка 302, текст 262) */
@media (max-width: 639px) {
  .pb-person__body { padding-top: 12px; max-width: none; }
  .pb-person__name { white-space: nowrap; }
}
@media (max-width: 639px) { .tb-hero-sec.tb-pb-75 { padding-bottom: 80px; } }

/* ссылки из текста (inc/links.php) — цветом текста, с тонким подчёркиванием */
a.pb-al { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
a.pb-al:hover { text-decoration-color: currentColor; }

/* /kursi: под названием курса — короткое описание (18.10.2026) */
.tb-tile { flex-direction: column; }
.tb-tile__descr { position: relative; z-index: 1; width: 100%; padding: 0 15%; margin-top: 6px; text-align: center; font: 400 18px/26px var(--pb-head); color: #fff; }
@media (max-width: 959px) { .tb-tile__descr { font-size: 16px; line-height: 23px; padding: 0 10%; } }
