/* Стили страниц услуг. Собраны из согласованного лендинга и изолированы под .svc,
   чтобы не зависеть от версии общих стилей шаблона. Не редактировать вручную блоки выше
   строки «дополнения» — они генерируются из landing/assets/css. */

/* text-accent.css */
.svc .title { text-wrap: balance; font-weight: 400; white-space: pre-line; }
.svc .accent { color: var(--accent-color); }
.svc .title.section__title { font-size: 31px; line-height: 90%; letter-spacing: -0.01em; margin-top: 32px; margin-bottom: 32px; }
.svc .section__title.section__title_min { font-size: 24px; line-height: 100%; margin: 50px 0 20px; }
.svc .title.page__title { font-size: 36px; line-height: 90%; letter-spacing: -0.01em; margin: 0; max-width: 1360px; }
.svc .title.content__title { font-size: 24px; line-height: 100%; letter-spacing: -0.01em; margin-bottom: 20px; padding: 0 24px; }
@media (min-width: 768px) {
  .svc .title.section__title { font-size: 42px; margin-top: 60px; margin-bottom: 35px; }
  .svc .title.page__title { font-size: 64px; margin: 38px 0 48px; max-width: 1360px; }
  .svc .title.content__title { font-size: 40px; margin-bottom: 40px; }
}
@media (min-width: 1024px) {
  .svc .title.section__title { font-size: 66px; margin-top: 75px; margin-bottom: 25px; }
  .svc .title.page__title { font-size: 94px; margin: 0; }
  .svc .title.content__title { font-size: 40px; margin-bottom: 60px; padding: 0; }
}
@media (min-width: 1440px) {
  .svc .title.section__title { font-size: 66px; margin-top: 100px; margin-bottom: 60px; }
  .svc .title.page__title { font-size: 132px; max-width: 1360px; margin: 0 auto; }
  .svc .title.content__title { font-size: 40px; margin-bottom: 60px; }
}

/* section.css */
.svc .section { border-radius: 32px; padding-bottom: 50px; display: flex; flex-direction: column; width: 100%; overflow: hidden; }
.svc .white { background-color: var(--fg-color); padding-top: 0; }
.svc .grey { background-color: var(--bg-color); }
.svc .section__wrapper { width: 100%; max-width: var(--max-width); margin: 0 auto; display: grid; grid-template-columns: 1fr; grid-template-areas: "title" "list" "content" "info"; }
.svc .section__title { grid-area: title; padding: 0 24px; }
.svc .section__subtitle { display: none; grid-area: subtitle; white-space: pre-line; padding-left: 35px; font-size: 24px; line-height: 29px; margin-bottom: 40px; }
.svc .section__subtitle.section__subtitle_info { color: var(--second-color); font-size: 17px; line-height: 19px; margin-bottom: 16px; }
.svc .section__content { grid-area: content; display: grid; grid-template-rows: min-content; }
.svc .cover { position: relative; border-radius: 32px; background-repeat: no-repeat; background-size: cover; background-position: top center; width: calc(100% - 2 * 24px); }
.svc .photo { margin: 24px 24px 0; aspect-ratio: 350/180; }
.svc .section__button { display: flex; border-radius: 200px; min-width: 320px; max-width: 720px; min-height: 79px; width: calc(100% - 24 * 2px); color: var(--fg-color); padding: 29px 67px 27px 32px; font-size: 18px; line-height: 100%; align-items: center; background-color: var(--accent-color); background-image: url("./icons/arrow_invert.svg"); background-repeat: no-repeat; background-position: right 12px center; background-size: 55px; border: 1px solid var(--accent-color); margin: 0 auto 20px; }
.svc .section__button.section__button_arrow:hover { background-color: var(--fg-color); color: var(--accent-color); }
.svc .section__button.section__button_arrow:focus-visible { outline-offset: 0; }
.svc .section.section_form { position: relative; padding-top: 120px; padding-bottom: 40px; z-index: 2; }
.svc .section__subtitle.section__subtitle_form { color: var(--second-color); font-size: 17px; line-height: 19px; margin-bottom: 16px; }
.svc .section__wrapper-info { display: flex; flex-direction: column; gap: 1px; }
.svc .section__contact-info { grid-area: info; display: flex; flex-direction: column; gap: 12px; padding: 12px 24px 0; }
.svc .section__contact-info .link_info { font-size: 18px; line-height: 19px; color: var(--main-color); margin-right: auto; }
.svc .section__contact-info .link_info:hover { color: var(--accent-color); }
.svc .section__text-info { color: var(--second-color); white-space: pre-line; font-size: 14px; line-height: 19px; }
.svc .section__content.section__content_script { padding: 0 24px; order: 1; }
@media (min-width: 1024px) {
  .svc .section { border-radius: var(--border-radius); padding-bottom: 75px; }
  .svc .section__subtitle { display: flex; padding: 0; }
  .svc .section__wrapper { display: grid; grid-template-columns: 1fr 650px; grid-template-rows: min-content min-content 1fr; grid-template-areas: "title title" "subtitle content" "list content"; padding: 0 40px; }
  .svc .section__title { padding: 0 }
  .svc .photo { margin: 40px 40px 0; aspect-ratio: 1360/512; }
  .svc .cover { border-radius: 60px; width: calc(100% - 2 * 40px); }
  .svc .section__contact-info { grid-area: list; padding: 0; }
  .svc .section__contact-info .section__wrapper-info:nth-of-type(1) { display: none; }
  .svc .section__content.section__content_script { padding: 0; }
  .svc .section__button { padding: 36px 112px 32px 40px; font-size: 24px; max-width: 544px; line-height: 150%; margin: 0; background-size: 80px; }
}
@media (min-width: 1280px) {
  .svc .section__wrapper { grid-template-columns: 1fr 900px; grid-template-rows: min-content min-content 1fr; grid-template-areas: ". title" "subtitle content" "list content"; padding: 0 40px; }
}
@media (min-width: 1440px) {
  .svc .section { border-radius: var(--border-radius); padding-bottom: 140px; }
  .svc .section__wrapper { grid-template-columns: 460px 1fr; }
  .svc .photo { aspect-ratio: 3.5; }
  .svc .section__wrapper-info { gap: 6px; }
  .svc .section__text-info { font-size: 17px; line-height: 19px; }
  .svc .section__contact-info .link_info { font-size: 24px; line-height: 24px; }
}

/* cards-shapes.css */
.svc .shapes { display: flex; gap: 16px; flex-wrap: nowrap; overflow: scroll; list-style: none; padding: 0 24px 50px; }
.svc .shapes__item { display: flex; flex-direction: row; position: relative; gap: 12px; background-color: var(--bg-color); border-radius: 32px; padding: 30px 26px 10px 30px; height: 226px; width: 257px; flex-shrink: 0; }
.svc .shapes__wrapper { z-index: 10; }
.svc .shapes__arrow { flex-shrink: 0; position: relative; background-color: var(--accent-color); width: 6px; height: 6px; margin-top: 6px; }
.svc .shapes__arrow::before, .svc .shapes__arrow::after { content: ""; position: absolute; background-color: var(--accent-color); width: 6px; height: 6px; left: -6px; }
.svc .shapes__arrow::before { top: -6px; }
.svc .shapes__arrow::after { bottom: -6px; }
.svc .shapes__title { letter-spacing: -0.01em; font-size: 18px; line-height: 110%; font-weight: 400; margin-bottom: 16px; }
.svc .shapes__text { font-size: 14px; line-height: 110%; letter-spacing: -0.01em; color: var(--second-color); }
@media (min-width: 1024px) {
  .svc .shapes { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto; height: auto; overflow: auto; padding: 0; }
  .svc .shapes__item { height: 221px; width: 100%; padding: 50px 40px 20px 36px; }
  .svc .shapes__item:nth-child(3n+1)::before { content: ""; position: absolute; top: 32px; right: 32px; width: 32px; height: 32px; background-color: var(--fg-color); z-index: 1; }
  .svc .shapes__item:nth-child(3n+1)::after { content: ""; position: absolute; top: 0; right: 0; width: 32px; height: 32px; background-color: var(--fg-color); z-index: 2; }
  .svc .shapes__title { line-height: 20px; font-size: 20px; width: calc(100% - 52px); }
  .svc .shapes__text { font-size: 16px; line-height: 18px; letter-spacing: -0.01em; white-space: pre-line; color: var(--second-color); }
}
@media (min-width: 1280px) {
  .svc .shapes { grid-template-columns: repeat(2, minmax(340px, 442px)); }
  .svc .shapes__item { padding: 50px 40px 20px 56px; border-radius: 40px; }
  .svc .shapes__item:nth-child(3n+1)::before { top: 40px; right: 40px; width: 40px; height: 40px; }
  .svc .shapes__item:nth-child(3n+1)::after { width: 40px; height: 40px; }
  .svc .shapes__title { line-height: 24px; font-size: 24px; }
  .svc .shapes__text { font-size: 17px; line-height: 19px; }
}

/* template_styles.css: promo, button */
.svc .promo { display: flex; flex-direction: column; margin-bottom: -70px; width: 100%; padding-bottom: 0; }
.svc .promo.promo_about { margin: 0; }
.svc .promo__content { max-width: var(--max-width); width: 100%; padding: 45px 24px 60px; margin: 0; display: flex; flex-direction: column; }
.svc .promo__list { display: flex; gap: 27px; margin-bottom: 36px; order: -1; }
.svc .promo__wrapper { display: flex; flex-direction: column; max-width: 164px; width: min-content; }
.svc .promo__dt { font-size: 24px; line-height: 130%; color: var(--accent-color); }
.svc .promo__dd { color: var(--second-color); font-size: 10px; line-height: 100%; }
.svc .promo__sup { font-size: 16px; line-height: 73%; }
.svc .promo__buttons { display: flex; gap: 12px; flex-direction: column; margin-top: 36px; }
.svc .button { min-height: 79px; max-width: 544px; padding: 10px 24px; background-color: var(--accent-color); color: var(--fg-color); border: 1px solid var(--accent-color); display: flex; border-radius: 200px; justify-content: center; font-size: 18px; line-height: 18px; align-items: center; background-repeat: no-repeat; background-position: right 12px center; }
.svc .button_icon { height: auto; width: 100%; padding: 12px 112px 12px 40px; display: flex; justify-content: left; border-color: var(--fg-color); background-image: url("images/arrow.svg"); background-color: var(--fg-color); background-size: 55px; color: var(--main-color); font-size: 18px; line-height: 18px; }
.svc .button_big { max-height: 79px; width: 100%; height: auto; display: flex; justify-content: center; font-size: 18px; line-height: 100%; letter-spacing: -0.01em; }
.svc .promo__cover { position: relative; background-repeat: no-repeat; background-size: cover; background-position: top center; width: 100%; aspect-ratio: 320/190; }
.svc .promo__cover.promo__cover_main { border-radius: 32px 32px 0 0; background-image: url("images/ostankino.jpg"); z-index: -1; }
.svc .promo__content.promo__content_about { margin: -50px 0; background-color: var(--fg-color); padding: 50px 24px; border-top-right-radius: 32px; border-top-left-radius: 32px; max-width: none; }
.svc .promo__cover.promo__cover_about { margin-top: -116px; border-radius: 0; width: 100%; background-image: url("images/ostankino.jpg"); z-index: -1; aspect-ratio: 360/296; max-height: 412px; }
@media (min-width: 420px) {
  .svc .promo__dt { font-size: 30px; }
  .svc .promo__dd { font-size: 12px; }
  .svc .promo__sup { font-size: 20px; }
  .svc .button_big, .svc .button_icon { font-size: 20px; }
  .svc .button_big { font-size: 25px; }
}
@media (min-width: 768px) {
  .svc .promo__list { order: 0; margin-bottom: 55px; margin-top: 0; }
  .svc .promo__dt { font-size: 36px; line-height: 112%; }
  .svc .promo__dd { font-size: 14px; }
  .svc .promo__sup { font-size: 24px; }
  .svc .promo__buttons { flex-direction: row; gap: 60px; margin: 0; }
  .svc .button_big, .svc .button_icon { font-size: 25px; }
  .svc .promo__content { padding-top: 0; }
  .svc .promo__cover.promo__cover_main { aspect-ratio: 1440/412; }
}
@media (min-width: 1024px) {
  .svc .promo__content { padding: 0 40px 60px; }
  .svc .promo__list { min-height: 102px; gap: 106px; margin-bottom: 46px; margin-top: 50px; }
  .svc .promo__dt { font-size: 66px; }
  .svc .promo__dd { font-size: 17px; }
  .svc .promo__sup { font-size: 40px; line-height: 25px; }
  .svc .button_icon { background-size: 80px; }
  .svc .button:hover { background-color: var(--fg-color); color: var(--accent-color); }
  .svc .button:focus-visible { outline-offset: 0; }
  .svc .button_icon:hover { background-color: var(--accent-color); color: var(--fg-color); border-color: var(--accent-color); }
  .svc .button_icon:focus-visible { outline-offset: 0; }
  .svc .button_big { max-height: 104px; max-width: 669px; font-size: 40px; line-height: 40px; padding: 34px 0; }
  .svc .promo__cover.promo__cover_main { border-top-right-radius: var(--border-radius); border-top-left-radius: var(--border-radius); }
  .svc .promo__content.promo__content_about { margin: -100px 0; background-color: var(--fg-color); padding: 120px 40px 100px; border-top-right-radius: var(--border-radius); border-top-left-radius: var(--border-radius); }
  .svc .promo__cover.promo__cover_about { margin-top: -116px; aspect-ratio: 1440/700; max-height: 700px; }
}
@media (min-width: 1440px) {
  .svc .promo__content { padding: 0 40px 60px; margin: 0 auto; }
  .svc .promo__buttons { gap: 148px; }
}

/* styles.css: cases__main-*, .link */
.svc .cases__main-title { font-size: 66px; line-height: 66px; color: #002050; }
.svc .cases__main-title_blue { color: #1170FF; }
.svc .cases__main-block { display: flex; flex-direction: column; gap: 48px 0px; }
.svc .cases__main-items { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.svc .cases__main-items-more { font-size: 22px; line-height: 22px; color: #002050; border-bottom: 1px solid #002050; cursor: pointer; }
.svc .cases__main-item { border-radius: 32px; background-color: white; padding: 12px 12px 32px 12px; display: flex; flex-direction: column; gap: 20px 0px; }
.svc .cases__main-item_hidden { display: none; }
.svc .cases__main-list { display: flex; flex-direction: column; gap: 48px 0px; align-items: center; }
.svc .cases__main-item-type { font-size: 16px; line-height: 16px; color: #607594; opacity: 80%; min-height: 16px; }
.svc .cases__main-item-link { font-size: 18px; line-height: 18px; color: #1170FF; }
.svc .cases__main-item-name { font-size: 28px; line-height: 120%; color: #002050; }
.svc .cases__main-item-content { display: flex; flex-direction: column; gap: 20px 0px; padding: 0px 12px; }
.svc .cases__main-item-header { display: flex; flex-direction: column; gap: 12px 0px; }
.svc .cases__main-item-image { border-radius: 24px; max-height: 200px; object-fit: cover; }
.svc .cases__main-inner { display: flex; flex-direction: column; gap: 60px 0px; }
.svc .cases__main-filters { display: grid; grid-template-columns: 1fr; gap: 0px 32px; }
.svc .cases__main-filter-button { border-radius: 32px; border: 1px solid #D6DFEA; padding: 12px 24px; background-color: transparent; font-size: 18px; line-height: 22px; cursor: pointer; color: #002050; }
.svc .cases__main-filter-button_active { color: white; background-color: #1170FF; }
.svc .cases__main-filter-list { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; }
.svc .cases__main-filters-title { font-size: 17px; line-height: 19px; color: #002050; }
.svc .cases__main-filters-block { display: flex; flex-direction: column; gap: 24px 0px; }
.svc .link { color: #1170FF; }
@media(max-width: 1400px) {
  .svc .cases__main-items { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media(max-width: 992px) {
  .svc .cases__main-item-header { display: flex; flex-direction: column; gap: 8px 0px; }
  .svc .cases__main-item-type { font-size: 12px; line-height: 14px; color: #607594; opacity: 80%; }
  .svc .cases__main-item-content { display: flex; flex-direction: column; gap: 12px 0px; padding: 0px 6px; }
  .svc .cases__main-item-link { font-size: 16px; line-height: 16px; color: #1170FF; }
  .svc .cases__main-item-name { font-size: 18px; line-height: 120%; color: #002050; }
  .svc .cases__main-item-image { border-radius: 24px; max-height: 200px; object-fit: cover; height: 200px; object-position: center; }
  .svc .cases__main-item { border-radius: 20px; background-color: white; padding: 8px 8px 16px 8px; display: flex; flex-direction: column; gap: 12px 0px; }
  .svc .cases__main-items-more { font-size: 16px; line-height: 20px; color: #002050; border-bottom: 1px solid #002050; cursor: pointer; }
  .svc .cases__main-list { display: flex; flex-direction: column; gap: 32px 0px; align-items: center; }
  .svc .cases__main-filter-button { border-radius: 32px; border: 1px solid #D6DFEA; padding: 6px 12px; background-color: transparent; font-size: 12px; line-height: 14px; cursor: pointer; color: #002050; }
  .svc .cases__main-item_hidden { display: none; }
  .svc .cases__main-filter-button_active { color: white; background-color: #1170FF; }
  .svc .cases__main-items { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .svc .cases__main-filters-block { display: flex; flex-direction: column; gap: 8px 0px; }
  .svc .cases__main-title { font-size: 30px; line-height: 90%; color: #002050; }
  .svc .cases__main-block { display: flex; flex-direction: column; gap: 32px 0px; }
  .svc .cases__main-filters { display: grid; grid-template-columns: 1fr; gap: 20px 0px; }
  .svc .cases__main-inner { display: flex; flex-direction: column; gap: 32px 0px; }
  .svc .cases__main-item_hidden { display: none; }
  .svc .cases__main-filter-title { font-size: 12px; line-height: 19px; }
}
@media(max-width: 600px) {
  .svc .cases__main-items { display: grid; grid-template-columns: 1fr; gap: 12px; }
}

/* page.css (правки лендинга) */
.svc .section__wrapper, .svc .section__wrapper.section__wrapper_single { width: 100%; max-width: var(--max-width); margin: 0 auto; padding: 0 var(--mob-padding); display: grid; grid-template-columns: 1fr; grid-template-areas: "title" "subtitle" "list" "content" "info"; }
.svc .section__title { padding: 0; }
.svc .section__content { min-width: 0; }
.svc .section__contact-info { padding: 0; }
@media (min-width: 1024px) {
  .svc .section__wrapper, .svc .section__wrapper.section__wrapper_single { padding: 0 var(--desk-padding); }
  .svc .section__wrapper.section__wrapper_split { grid-template-columns: minmax(280px, 1fr) minmax(0, 2fr); grid-template-areas: "title title" "subtitle content" "list content" "info content"; column-gap: 48px; align-items: start; }
}
.svc .button_big, .svc .button_icon, .svc .form__submit, .svc .cta-banner__button.button_big { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 240px; max-width: none; height: 72px; min-height: 72px; max-height: none; padding: 0 40px; font-size: 20px; line-height: 1; letter-spacing: -0.01em; border-radius: 200px; white-space: nowrap; cursor: pointer; }
.svc .button_icon { justify-content: flex-start; padding: 0 88px 0 32px; background-size: 56px; background-position: right 8px center; }
.svc .promo__buttons { margin-top: 36px; }
@media (min-width: 768px) {
  .svc .promo__list { min-height: 0; margin-bottom: 32px; }
  .svc .promo__buttons { margin-top: 0; }
}
.svc .form-block .form { width: 100%; }
@media (max-width: 767px) {
  .svc .button_big, .svc .form__submit, .svc .cta-banner__button.button_big { width: 100%; min-width: 0; align-self: stretch; }
  .svc .button_icon { width: 100%; min-width: 0; }
}
.svc .title.page__title { margin: 0 0 0 -0.068em; max-width: 100%; }
.svc .promo__subtitle { margin: 16px 0 0; font-size: var(--tab-font); line-height: 1.4; color: var(--main-color); max-width: 560px; }
.svc .promo__dt, .svc .promo__sup { white-space: nowrap; }
.svc .cases__advantages-items.benefits { list-style: none; margin: 0; padding: 0; grid-template-columns: 1fr; gap: 12px; }
.svc .benefits .cases__advantages-item { min-height: 200px; padding: 28px 24px; border-radius: 32px; gap: 32px; }
.svc .benefits .cases__advantages-item-title { font-size: 20px; line-height: 1.15; margin: 0; }
.svc .benefits .cases__advantages-item-subtitle { font-size: 15px; line-height: 1.3; margin: 0; }
.svc .benefits .cases__advantages-item-image svg { display: block; width: 24px; height: 36px; }
@media (min-width: 768px) {
  .svc .cases__advantages-items.benefits { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (min-width: 1024px) {
  .svc .cases__advantages-items.benefits { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .svc .benefits .cases__advantages-item { min-height: 279px; padding: 40px 32px; border-radius: 40px; }
  .svc .benefits .cases__advantages-item-title { font-size: 24px; line-height: 24px; }
  .svc .benefits .cases__advantages-item-subtitle { font-size: 17px; line-height: 19px; }
}
.svc #check-address .section__subtitle { display: block; padding: 0; margin: 0 0 24px; font-size: var(--tab-font); line-height: 1.4; max-width: 480px; }
@media (min-width: 1024px) {
  .svc #check-address .section__subtitle { margin: 0; font-size: 20px; line-height: 1.35; }
  .svc .form.form_inline { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; align-items: start; }
  .svc .form.form_inline .form__privacy, .svc .form.form_inline .form__submit { grid-column: 1 / -1; }
  .svc .form.form_inline .form__submit { justify-self: start; }
}
.svc #feedback-form .form__input { background-color: var(--bg-color); }
.svc .form-success.visible { display: flex; }
.svc .shapes .shapes__item:nth-child(n)::before, .svc .shapes .shapes__item:nth-child(n)::after { content: none; }
.svc .shapes__title { width: 100%; }
.svc .shapes__wrapper { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.svc .shapes__label { display: inline-block; align-self: flex-start; margin: 0 0 10px; padding: 6px 12px; border-radius: 100px; background-color: rgba(17, 112, 255, 0.1); color: var(--accent-color); font-size: 12px; line-height: 1; letter-spacing: 0.04em; text-transform: uppercase; }
.svc .shapes__button { margin-top: 24px; align-self: flex-start; }
.svc .shapes.shapes_two { display: grid; grid-template-columns: 1fr; gap: 16px; overflow: visible; }
.svc .shapes.shapes_two .shapes__item { width: 100%; height: auto; min-height: 0; padding: 32px 28px; }
.svc .shapes.shapes_two .shapes__button { margin-top: auto; padding-top: 0; }
.svc .shapes.shapes_two .shapes__text { margin-bottom: 24px; }
@media (min-width: 768px) {
  .svc .shapes.shapes_two { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .svc .shapes.shapes_two .shapes__item { padding: 40px 36px; }
}
@media (min-width: 1280px) {
  .svc .shapes.shapes_two .shapes__item { padding: 48px 48px 40px; border-radius: 40px; }
}
.svc .section__note { margin-top: 24px; font-size: var(--tab-font); color: var(--main-color); }
.svc .shapes.shapes_services { display: grid; grid-template-columns: 1fr; gap: 16px; overflow: visible; }
.svc .shapes.shapes_services .shapes__item { width: 100%; height: auto; min-height: 0; padding: 32px 28px; background-color: var(--fg-color); border-radius: 32px; }
@media (min-width: 768px) {
  .svc .shapes.shapes_services { grid-template-columns: repeat(2, 1fr); }
  .svc .shapes.shapes_services .shapes__item { min-height: 200px; }
}
@media (min-width: 1280px) {
  .svc .shapes.shapes_services { grid-template-columns: repeat(4, 1fr); }
  .svc .shapes.shapes_services .shapes__item { padding: 40px 32px; border-radius: 40px; min-height: 240px; }
}
.svc .section.section_banner { padding-top: 32px; }
.svc .cta-banner { display: grid; grid-template-columns: 1fr; grid-template-areas: "content" "list" "button"; gap: 24px; background-color: var(--accent-color); color: var(--fg-color); border-radius: 32px; padding: 40px var(--mob-padding); }
.svc .cta-banner__content { grid-area: content; }
.svc .cta-banner__title { font-size: 36px; line-height: 1; font-weight: var(--normal-weight); margin: 0 0 16px; }
.svc .cta-banner__text { font-size: var(--tab-font); line-height: 1.35; margin: 0; max-width: 560px; }
.svc .cta-banner__list { grid-area: list; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.svc .cta-banner__list li { border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 100px; padding: 10px 20px; font-size: var(--mob-font); line-height: 1.2; white-space: nowrap; }
.svc .cta-banner__button.button_big { grid-area: button; justify-self: start; margin-top: 8px; background-color: var(--fg-color); color: var(--accent-color); border-color: var(--fg-color); }
.svc .cta-banner__button.button_big:hover { background-color: var(--main-color); color: var(--fg-color); border-color: var(--main-color); }
@media (min-width: 1024px) {
  .svc .section.section_banner { padding-top: 80px; }
  .svc .cta-banner { grid-template-columns: 1fr auto; grid-template-areas: "content list" "button list"; align-items: start; column-gap: 48px; row-gap: 56px; padding: 56px 64px; border-radius: 40px; }
  .svc .cta-banner__title { font-size: 56px; margin-bottom: 24px; }
  .svc .cta-banner__text { font-size: 20px; }
  .svc .cta-banner__list { flex-direction: column; align-items: flex-end; gap: 14px; }
  .svc .cta-banner__list li { font-size: 20px; padding: 14px 28px; }
  .svc .cta-banner__button.button_big { margin-top: 0; }
}
.svc .cases__main-items { list-style: none; padding: 0; margin: 0; gap: 16px; }
.svc .cases__main-item { background-color: var(--bg-color); height: 100%; min-width: 0; }
.svc .cases__main-item-image { display: block; width: 100%; height: 200px; max-height: none; object-fit: cover; object-position: center; }
.svc .cases__main-item-content { display: flex; flex-direction: column; flex: 1 1 auto; }
.svc .cases__main-item-name { font-size: 22px; line-height: 120%; font-weight: 400; margin: 0; }
.svc .cases__main-item-link { margin-top: auto; padding-top: 20px; }
.svc .cases__main-item-link:hover { color: var(--main-color); }
@media (min-width: 1024px) {
  .svc .cases__main-items { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .svc .cases__main-item-name { font-size: 24px; }
}
.svc .faq { display: flex; flex-direction: column; gap: 12px; }
.svc .faq__item { background-color: var(--fg-color); border-radius: 20px; padding: 20px 24px; }
.svc .faq__question { cursor: pointer; list-style: none; position: relative; padding-right: 40px; font-size: var(--tab-font); color: var(--main-color); }
.svc .faq__question::-webkit-details-marker { display: none; }
.svc .faq__question::after { content: ""; position: absolute; right: 4px; top: 50%; width: 12px; height: 12px; border-right: 2px solid var(--accent-color); border-bottom: 2px solid var(--accent-color); transform: translateY(-70%) rotate(45deg); transition: transform 0.2s ease; }
.svc .faq__item[open] .faq__question::after { transform: translateY(-30%) rotate(225deg); }
.svc .faq__answer { margin-top: 14px; font-size: var(--mob-font); line-height: 1.5; color: var(--main-color); }
.svc .faq__answer ul { margin: 10px 0; padding-left: 20px; }
.svc .faq__answer p { margin: 8px 0; }
@media (min-width: 1024px) {
  .svc .faq__question { font-size: 22px; }
  .svc .faq__answer { font-size: var(--tab-font); max-width: 820px; }
}
.svc .section.tech { padding: 40px 0; }
.svc .tech__container, .svc .tech__wrapper { width: 100%; max-width: var(--max-width); margin: 0 auto; padding: 0 var(--mob-padding); }
.svc .tech__title { font-size: 31px; line-height: 90%; letter-spacing: -0.01em; margin: 0; }
.svc .tech__banner { position: relative; display: flex; flex-direction: column-reverse; gap: 16px; margin: 32px 0 40px; padding: 0 var(--mob-padding); }
.svc .tech__banner-image { display: block; width: 100%; height: 360px; border-radius: 40px; object-fit: cover; object-position: right; }
.svc .tech__banner-info { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.svc .tech__banner-content { display: flex; flex-direction: column; gap: 24px; }
.svc .tech__banner-title { font-size: 24px; line-height: 26px; color: var(--main-color); margin: 0; }
.svc .tech__banner-dir-title, .svc .tech__banner-dir-name { font-size: 16px; line-height: 18px; margin: 0; }
.svc .tech__banner-dir-title { color: var(--main-color); }
.svc .tech__banner-dir-name { color: #607494; }
.svc .tech__subtitle { font-size: 24px; line-height: 26px; color: var(--main-color); margin: 0 0 32px; }
.svc .tech__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 8px; }
.svc .tech__card { background-color: var(--fg-color); border-radius: 16px; padding: 24px 20px; min-height: 281px; display: flex; flex-direction: column; justify-content: space-between; }
.svc .tech__card-title { font-size: 24px; line-height: 24px; letter-spacing: -0.01em; margin: 0; }
.svc .tech__card svg { display: block; width: 16px; height: 24px; flex-shrink: 0; }
.svc .tech__card.tech__card_accent { min-height: 0; padding: 48px; border-radius: 999px; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.svc .tech__card-number { display: flex; justify-content: center; align-items: flex-start; margin: 0; color: var(--accent-color); font-size: 80px; line-height: 100%; font-weight: 300; }
.svc .tech__card-number sup { font-size: 28px; line-height: 40px; font-weight: inherit; }
.svc .tech__card-text { margin: 0; color: var(--second-color); font-size: 16px; line-height: 18px; }
@media (max-width: 767px) {
  .svc .tech__cards > :nth-child(1) { order: 1; }
  .svc .tech__cards > :nth-child(2) { order: 2; }
  .svc .tech__cards > :nth-child(3) { order: 4; }
  .svc .tech__cards > :nth-child(4) { order: 3; }
  .svc .tech__cards > :nth-child(5) { order: 5; }
  .svc .tech__cards > :nth-child(6) { order: 6; }
}
@media (min-width: 768px) {
  .svc .section.tech { padding: 60px 0; }
  .svc .tech__banner { flex-direction: row; gap: 0; padding: 0; margin: 40px var(--mob-padding) 60px; max-height: 619px; }
  .svc .tech__banner-image { height: auto; object-fit: contain; }
  .svc .tech__banner-info { position: absolute; inset: 0; z-index: 1; padding: 40px; border-radius: 40px; background: linear-gradient(88deg, #ffffff 16.47%, rgba(255, 255, 255, 0.8) 35.11%, rgba(255, 255, 255, 0) 67.21%); }
  .svc .tech__banner-content { gap: 50px; }
  .svc .tech__banner-title { font-size: 30px; line-height: 40px; max-width: 420px; }
  .svc .tech__banner-dir-title, .svc .tech__banner-dir-name { font-size: 22px; line-height: 24px; }
  .svc .tech__subtitle { font-size: 32px; line-height: 36px; }
  .svc .tech__cards { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .svc .tech__card { padding: 32px; border-radius: 40px; }
  .svc .tech__card-title { font-size: 20px; line-height: 20px; }
  .svc .tech__card svg { width: 32px; height: 32px; }
  .svc .tech__card-number { font-size: 100px; font-weight: 200; letter-spacing: -0.04em; }
  .svc .tech__card-number sup { font-size: 60px; line-height: 60px; }
  .svc .tech__card-text { font-size: 15px; line-height: 19px; }
}
@media (min-width: 1024px) {
  .svc .section.tech { padding: 80px 0 40px; }
  .svc .tech__container, .svc .tech__wrapper { padding: 0 var(--desk-padding); }
  .svc .tech__title { font-size: 66px; line-height: 63px; }
  .svc .tech__banner { margin: 40px 40px 80px; }
  .svc .tech__wrapper { display: grid; grid-template-columns: 1fr 650px; align-items: start; }
  .svc .tech__subtitle { display: flex; flex-direction: column; font-size: 40px; line-height: 44px; margin: 0 0 40px; }
  .svc .tech__card { padding: 40px; }
}
@media (min-width: 1151px) {
  .svc .tech__banner-title { font-size: 40px; line-height: 40px; max-width: 570px; }
}
@media (min-width: 1280px) {
  .svc .tech__wrapper { grid-template-columns: 1fr 900px; }
  .svc .tech__cards { grid-template-columns: repeat(2, minmax(200px, 442px)); }
  .svc .tech__card-title { font-size: 24px; line-height: 24px; }
  .svc .tech__card svg { width: 48px; height: 48px; }
  .svc .tech__card-number { font-size: 160px; }
  .svc .tech__card-number sup { font-size: 85px; line-height: 100px; }
  .svc .tech__card-text { font-size: 17px; }
}
@media (min-width: 1301px) {
  .svc .tech__banner-content { gap: 96px; }
  .svc .tech__banner-title { font-size: 48px; line-height: 48px; max-width: 688px; }
}
@media (min-width: 1440px) {
  .svc .tech__wrapper { grid-template-columns: 460px 1fr; }
}
@media (min-width: 1501px) {
  .svc .tech__banner-info { padding: 60px; }
}
@media (min-width: 1611px) {
  .svc .tech__banner-title { max-width: 740px; }
}
.svc .clients { margin-top: 56px; }
.svc .clients__title { font-size: 28px; line-height: 1; letter-spacing: -0.01em; margin: 0 0 24px; }
.svc .clients__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; }
.svc .clients__item { display: flex; align-items: center; justify-content: center; min-height: 120px; padding: 24px 20px; border-radius: 20px; background-color: var(--bg-color); }
.svc .clients__logo { display: block; width: auto; height: auto; max-width: 112px; max-height: 60px; object-fit: contain; }
.svc .clients__more { margin: 24px 0 0; font-size: 18px; line-height: 1.3; color: var(--main-color); text-align: center; }
@media (min-width: 600px) {
  .svc .clients__list { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .svc .clients { margin-top: 100px; }
  .svc .clients__title { font-size: 48px; margin-bottom: 40px; }
  .svc .clients__list { grid-template-columns: repeat(5, 1fr); gap: 12px; }
  .svc .clients__item { min-height: 170px; padding: 40px 32px; border-radius: 32px; }
  .svc .clients__logo { max-width: 154px; max-height: 90px; }
  .svc .clients__more { margin-top: 40px; font-size: 24px; }
}

/* ===================== дополнения для Битрикса ===================== */

/* Секции внутри .main: крошки сайта идут перед первой секцией */
.svc .breadcrumbs-wrapper { margin-bottom: 8px; }
.svc .promo_service { margin-top: 16px; }
@media (min-width: 1024px) { .svc .promo_service { margin-top: 24px; } }

/* Ссылка на телефон/почту рядом с формой */
.svc .section__contact-info .link_info { display: block; }

/* Ссылки в карточках доп. сервисов */
.svc .shapes__title a { color: inherit; text-decoration: none; }
.svc .shapes__title a:hover { color: var(--accent-color); }

/* Встраиваемая CRM-форма Битрикс24 — подгонка под сетку страницы */
.svc .svc-b24 { width: 100%; max-width: 668px; }
.svc .svc-b24 .b24-form-wrapper { margin: 0; max-width: 668px; background-color: transparent !important; }
.svc .svc-b24 .b24-form-padding-side,
.svc .svc-b24 .b24-form-header-padding { padding: 0; }
.svc .svc-b24 .b24-form-wrapper.b24-form-border-bottom { border-bottom: 0; }
.svc .svc-b24 .b24-form-field { margin-bottom: 0; }
.svc .svc-b24 .b24-form-control-icon-after .b24-form-control {
  width: 100%; padding: 22px 32px 16px; margin-bottom: 10px; border: none; border-radius: 8px;
  font-family: "AeonikPro-Regular", Inter, sans-serif; font-size: 17px; line-height: 26px; color: #002050; background-color: #fff;
}
.svc .white .svc-b24 .b24-form-control-icon-after .b24-form-control { background-color: var(--bg-color); }
.svc .svc-b24 .b24-form-btn-block { padding: 0; flex: 1; }
.svc .svc-b24 .b24-form-state-text { font: 27px/30px "AeonikPro-Regular", Inter, sans-serif; }
.svc .svc-b24 .b24-form-state-container .b24-form-success { border-radius: 60px; background-color: var(--fg-color); }
.svc .svc-b24 .b24-from-state-on .b24-form-state-container { background: var(--bg-color); }

/* Хаб услуг */
.svc .svc-hub__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; }
.svc .svc-hub__card { display: flex; flex-direction: column; height: 100%; border-radius: 32px; background-color: var(--bg-color); padding: 12px 12px 32px; color: var(--main-color); text-decoration: none; transition: transform var(--transition-time); }
.svc .svc-hub__card:hover { transform: translateY(-2px); }
.svc .svc-hub__image { display: block; width: 100%; height: 200px; object-fit: cover; border-radius: 24px; }
.svc .svc-hub__body { display: flex; flex-direction: column; flex: 1 1 auto; gap: 12px; padding: 20px 12px 0; }
.svc .svc-hub__name { font-size: 24px; line-height: 120%; font-weight: 400; margin: 0; }
.svc .svc-hub__text { font-size: 15px; line-height: 1.3; color: var(--second-color); margin: 0; }
.svc .svc-hub__more { margin-top: auto; padding-top: 12px; font-size: 18px; color: var(--accent-color); }
@media (min-width: 768px) { .svc .svc-hub__list { grid-template-columns: repeat(2, 1fr); gap: 24px; } }
@media (min-width: 1024px) { .svc .svc-hub__list { grid-template-columns: repeat(3, 1fr); } .svc .svc-hub__text { font-size: 17px; } }

/* Заголовки без класса .title (h3 плашек, «Наши клиенты», карточки #датакможно, вопросы FAQ).
   Ядро Битрикса подключает на публичный сайт air-design-tokens.css, где h1–h6 получают
   font-weight: var(--ui-font-weight-bold); на Windows (html.bx-win) переменная определена,
   и заголовки становились жирными. Здесь вес задан явно, как в согласованном лендинге. */
.svc :is(h1, h2, h3, h4, h5, h6, summary) { font-weight: 400; }
