/**
 * Стили архива таксономии services.
 * Подключаются только на рубриках услуг, поверх основного бандла.
 *
 * Брейкпоинты как у .when-advantages--new: 1279 / 1024 / 768.
 */

/*
 * Подзаголовок под заголовком.
 * Шрифт и цвет как у описания блока «Когда…» (.advantages__item-text).
 * Зазор заголовок → описание меньше, описание → карточки 30px.
 * Класс --has-lead есть только при заполненном тексте, пустые блоки не сдвигаются.
 */
.when-advantages--new.when-advantages--has-lead .when-title {
    padding-bottom: 24px;
}

.cards-section.cards-section--has-lead .title {
    margin-bottom: 24px;
}

.when-advantages--new.when-advantages--has-lead > .container > .advantages__item-text,
.cards-section .cards-section__lead {
    margin: 0 0 30px;
}

.cards-section .cards-section__lead {
    max-width: 1368px;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    color: rgba(29, 29, 29, 0.6);
}

.landing--offer.landing--offer--has-lead .title {
    margin-bottom: 24px;
}

.landing--offer .landing--offer__lead {
    max-width: 1368px;
    margin: 0 0 30px;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    color: rgba(29, 29, 29, 0.6);
}

.landing--offer .landing--offer__lead p {
    margin: 0;
}

@media (max-width: 1279px) {
    .when-advantages--new.when-advantages--has-lead .when-title {
        padding-bottom: 16px;
    }

    .cards-section.cards-section--has-lead .title {
        margin-bottom: 16px;
    }

    .landing--offer.landing--offer--has-lead .title {
        margin-bottom: 16px;
    }
}

@media (max-width: 1024px) {
    .when-advantages--new.when-advantages--has-lead .when-title {
        padding-bottom: 12px;
    }

    .cards-section.cards-section--has-lead .title {
        margin-bottom: 12px;
    }

    .landing--offer.landing--offer--has-lead .title {
        margin-bottom: 12px;
    }
}

/*
 * «Что даёт»: в бандле padding-top: 0 !important перебивает padding: 112px 20px.
 * Возвращаем верхний отступ теми же значениями, что заданы у .what.new-design.
 */
.what.new-design {
    padding-top: 112px !important;
}

@media (max-width: 1279px) {
    .what.new-design {
        padding-top: 80px !important;
    }
}

@media (max-width: 1024px) {
    .what.new-design {
        padding-top: 72px !important;
    }
}

@media (max-width: 767px) {
    .what.new-design {
        padding-top: 64px !important;
    }
}

/*
 * «Почему выбирают» — копия .hub-why, только внутри .svc-hub.
 * Брейкпоинты как у блока в industry-hub.css: 1024 / 768.
 * Цвет колонок задаётся переменными --svc-why-1 / --svc-why-2.
 */
.svc-hub {
    --hub-ink: #1d1d1d;
    --hub-muted: #706f6f;
    --hub-accent: #fb8227;
    --hub-accent-hover: #fca34d;
    --hub-bg: #f5f6f8;
    --hub-line: rgba(29, 29, 29, 0.1);
    --hub-maxw: 1368px;
    --hub-section-y: 112px;
    color: var(--hub-ink);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.svc-hub *,
.svc-hub *::before,
.svc-hub *::after {
    box-sizing: border-box;
}

.svc-hub .hub__container {
    width: 100%;
    max-width: calc(var(--hub-maxw) + 40px);
    margin: 0 auto;
    padding: 0 20px;
}

.svc-hub .hub-section {
    padding: var(--hub-section-y) 0;
}

.svc-hub .hub-why {
    background: var(--hub-bg);
}

.svc-hub .hub-why__title {
    margin: 0 0 32px;
    font-size: 64px;
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--hub-ink);
}

.svc-hub .hub-why__lead {
    max-width: 1108px;
    margin: 0 0 64px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.28;
    color: var(--hub-ink);
}

.svc-hub .hub-why__lead p {
    margin: 0;
}

.svc-hub .hub-why__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.svc-hub .hub-why__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 32px;
    background: #fff;
    border-radius: 32px;
}

.svc-hub .hub-why__head {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 64px;
    margin: 0 0 24px;
}

.svc-hub .hub-why__head--text {
    min-height: 0;
}

.svc-hub .hub-why__icon {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
}

.svc-hub .hub-why__icon img {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.svc-hub .hub-why__card-title {
    margin: 0;
    max-width: 283px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.12;
    color: var(--hub-ink);
}

.svc-hub .hub-why__cols {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 46px;
    padding-top: 24px;
    border-top: 1px solid #cfcfcf;
}

.svc-hub .hub-why__cols::before {
    content: "";
    position: absolute;
    top: 24px;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: #cfcfcf;
    transform: translateX(-50%);
}

.svc-hub .hub-why__col-title {
    margin: 0 0 24px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.28;
}

.svc-hub .hub-why__col-text {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.28;
}

.svc-hub .hub-why__col--rush .hub-why__col-title,
.svc-hub .hub-why__col--rush .hub-why__col-text {
    color: var(--svc-why-1, var(--hub-ink));
}

.svc-hub .hub-why__col--others .hub-why__col-title,
.svc-hub .hub-why__col--others .hub-why__col-text {
    color: var(--svc-why-2, var(--hub-muted));
}

@media (max-width: 1024px) {
    .svc-hub {
        --hub-section-y: 80px;
    }

    .svc-hub .hub-why__title {
        font-size: 40px;
        margin-bottom: 24px;
    }

    .svc-hub .hub-why__lead {
        margin-bottom: 48px;
        font-size: 18px;
    }

    .svc-hub .hub-why__card-title {
        font-size: 22px;
    }

    .svc-hub .hub-why__cols {
        column-gap: 24px;
    }
}

@media (max-width: 768px) {
    .svc-hub {
        --hub-section-y: 56px;
    }

    .svc-hub .hub-section {
        padding: var(--hub-section-y) 0;
    }

    .svc-hub .hub-why__title {
        font-size: 32px;
        margin-bottom: 20px;
    }

    .svc-hub .hub-why__lead {
        margin-bottom: 32px;
        font-size: 18px;
        max-width: 100%;
    }

    .svc-hub .hub-why__grid {
        grid-template-columns: 1fr;
    }

    .svc-hub .hub-why__card {
        padding: 24px;
    }

    .svc-hub .hub-why__card-title {
        font-size: 20px;
        max-width: none;
    }

    .svc-hub .hub-why__cols {
        grid-template-columns: 1fr;
        gap: 24px;
        column-gap: 0;
    }

    .svc-hub .hub-why__cols::before {
        display: none;
    }
}

/*
 * Кейсы — компактная карточка хаба, только внутри .svc-hub.
 * Сетка как в industry-hub.css: 1200 / 950 / 767.
 * Заголовок: 1024 / 768.
 */
.svc-hub .hub-cases__title {
    margin: 0 0 32px;
    font-size: 64px;
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--hub-ink);
}

.svc-hub .hub-cases__lead {
    max-width: 1108px;
    margin: 0 0 64px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.28;
    color: var(--hub-ink);
}

.svc-hub .hub-cases__lead p {
    margin: 0;
}

.svc-hub .hub-cases__grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    align-items: stretch;
}

.svc-hub .hub-cases__cell {
    display: flex;
    min-height: 0;
}

.svc-hub .hub-cases__cell > .hub-case-card-v2 {
    flex: 1 1 auto;
    width: 100%;
}

.svc-hub .hub-cases--compact .hub-cases__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.svc-hub .hub-case-card-v2 {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 370px;
    height: 100%;
    padding: 20px;
    background: #f5f6f8;
    border-radius: 32px;
    overflow: hidden;
}

.svc-hub .hub-case-card-v2__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}

.svc-hub .hub-case-card-v2__head {
    position: relative;
    min-height: 72px;
    padding-right: 108px;
    margin-bottom: 0;
}

.svc-hub .hub-case-card-v2__head--no-logo {
    padding-right: 0;
}

.svc-hub .hub-case-card-v2__meta {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.svc-hub .hub-case-card-v2__client {
    margin: 0;
    color: var(--hub-ink);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.12;
}

.svc-hub .hub-case-card-v2__niche {
    margin: 0;
    color: #706f6f;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.12;
}

.svc-hub .hub-case-card-v2__title {
    margin: 0 0 15px;
    color: var(--hub-ink);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.12;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.svc-hub .hub-case-card-v2__logo {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 45px;
    padding: 11px 12px;
    background: #fff;
    border-radius: 16px;
}

.svc-hub .hub-case-card-v2__logo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.svc-hub .hub-case-card-v2__logo--nda img {
    display: block;
    width: 74px;
    max-width: 100%;
    height: auto;
    max-height: 23px;
    object-fit: contain;
}

.svc-hub .hub-case-card-v2__divider {
    height: 1px;
    margin: 0 0 15px;
    background: #cfcfcf;
}

.svc-hub .hub-case-card-v2__footer {
    position: relative;
    flex-shrink: 0;
    min-height: 56px;
    margin: auto -5px 0;
    padding-top: 15px;
}

.svc-hub .hub-case-card-v2__result-panel {
    position: relative;
    min-height: 137px;
    padding: 15px 15px 56px;
}

.svc-hub .hub-case-card-v2__result-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(175deg, #fff2e8 0%, #ffdcc1 100%);
    -webkit-mask-image: url("../../img/industry-hub/cases-card-v2-chart.svg");
    mask-image: url("../../img/industry-hub/cases-card-v2-chart.svg");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    pointer-events: none;
}

.svc-hub .hub-case-card-v2__result-label {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    padding-left: 5px;
    color: var(--hub-ink);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.12;
}

.svc-hub .hub-case-card-v2__metrics {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0 0 0 5px;
    list-style: none;
}

.svc-hub .hub-case-card-v2__metric {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.svc-hub .hub-case-card-v2__metric-value {
    color: #fb8227;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.12;
    word-break: break-word;
}

.svc-hub .hub-case-card-v2__metric-label {
    color: var(--hub-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.12;
    word-break: break-word;
}

.svc-hub .hub-case-card-v2__action {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    min-height: 20px;
    padding: 0 0 2px;
}

.svc-hub .hub-case-card-v2__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fb8227;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.12;
}

.svc-hub .hub-case-card-v2__link svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.svc-hub .hub-case-card-v2__link svg path {
    fill: #fb8227;
}

.svc-hub .hub-case-card-v2__full-link {
    position: absolute;
    inset: 0;
    z-index: 30;
}

.svc-hub .hub-case-card-v2--clickable:hover .hub-case-card-v2__link,
.svc-hub .hub-case-card-v2--clickable:focus-within .hub-case-card-v2__link {
    color: var(--hub-accent-hover);
}

.svc-hub .hub-case-card-v2--clickable:hover .hub-case-card-v2__link svg path,
.svc-hub .hub-case-card-v2--clickable:focus-within .hub-case-card-v2__link svg path {
    fill: var(--hub-accent-hover);
}

.svc-hub .hub-cases__cell--hidden {
    display: none;
}

.svc-hub .hub-cases__more {
    display: flex;
    justify-content: center;
    margin: 64px 0 0;
}

.svc-hub .hub-cases__load-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 440px;
    height: 64px;
    padding: 0 32px;
    border: none;
    border-radius: 16px;
    background: #fb8227;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.12;
    cursor: pointer;
}

.svc-hub .hub-cases__load-more:hover {
    background: var(--hub-accent-hover);
}

@media (max-width: 1200px) {
    .svc-hub .hub-cases--compact .hub-cases__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .svc-hub .hub-cases__title {
        font-size: 40px;
        margin-bottom: 24px;
    }

    .svc-hub .hub-cases__lead {
        margin-bottom: 48px;
        font-size: 18px;
    }
}

@media (max-width: 950px) {
    .svc-hub .hub-cases--compact .hub-cases__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .svc-hub .hub-cases__title {
        font-size: 32px;
        margin-bottom: 20px;
    }

    .svc-hub .hub-cases__lead {
        margin-bottom: 32px;
        font-size: 18px;
    }

    .svc-hub .hub-cases__load-more {
        width: 100%;
        max-width: 440px;
    }
}

@media (max-width: 767px) {
    .svc-hub .hub-cases--compact .hub-cases__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .svc-hub .hub-case-card-v2__footer {
        width: calc(100% + 20px);
        max-width: none;
        margin-left: -10px;
        margin-right: -10px;
    }

    .svc-hub .hub-case-card-v2__result-panel {
        min-height: 137px;
        width: 100%;
        padding: 15px 12px 56px;
    }

    .svc-hub .hub-case-card-v2__result-panel::before {
        -webkit-mask-image: url("../../img/industry-hub/cases-card-v2-chart-stretch.svg");
        mask-image: url("../../img/industry-hub/cases-card-v2-chart-stretch.svg");
    }

    .svc-hub .hub-case-card-v2__action {
        right: 10px;
    }

    .svc-hub .hub-case-card-v2__metrics {
        gap: 8px;
    }

    .svc-hub .hub-case-card-v2__metric-value {
        font-size: 16px;
    }

    .svc-hub .hub-case-card-v2__metric-label {
        font-size: 12px;
    }
}

/*
 * Команда — копия .hub-team внутри .svc-hub.
 * Брейкпоинты хаба: 1024 / 768.
 */
.svc-hub .hub-team {
    background: var(--hub-bg);
}

.svc-hub .hub-team__title {
    margin: 0 0 32px;
    font-size: 64px;
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: var(--hub-ink);
}

.svc-hub .hub-team__lead {
    max-width: 1368px;
    margin: 0 0 64px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.28;
    color: var(--hub-ink);
}

.svc-hub .hub-team__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.svc-hub .hub-team__featured {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 32px;
    background: #e3e3e3;
}

.svc-hub .hub-team__featured > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-hub .hub-team__featured-card {
    position: absolute;
    left: 5.506%;
    bottom: 4.911%;
    width: 53.125%;
    padding: 24px;
    border-radius: 17px;
    background: #fff;
}

.svc-hub .hub-team__featured-name {
    margin: 0 0 10px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.12;
    color: var(--hub-ink);
}

.svc-hub .hub-team__featured-role {
    display: block;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.12;
    color: var(--hub-muted);
}

.svc-hub .hub-team__mosaic {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.svc-hub .hub-team__mosaic-large {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.svc-hub .hub-team__mosaic-small {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.svc-hub .hub-team__person {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 32px;
    background: #e3e3e3;
}

.svc-hub .hub-team__person > img:not(.hub-team__person-icon) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-hub .hub-team__person-icon {
    position: absolute;
    top: 16%;
    left: 50%;
    width: 42.67%;
    height: auto;
    transform: translateX(-50%);
}

.svc-hub .hub-team__badge {
    position: absolute;
    right: 9.6%;
    bottom: 9.6%;
    left: 9.6%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 7px;
    border-radius: 17px;
    background: #fff;
    text-align: center;
}

.svc-hub .hub-team__name,
.svc-hub .hub-team__role {
    display: block;
    line-height: 1.2;
}

.svc-hub .hub-team__name {
    color: var(--hub-ink);
}

.svc-hub .hub-team__role {
    color: var(--hub-muted);
}

.svc-hub .hub-team__person--large .hub-team__name {
    font-size: 14px;
    font-weight: 500;
}

.svc-hub .hub-team__person--large .hub-team__role {
    font-size: 14px;
    font-weight: 400;
}

.svc-hub .hub-team__person--small .hub-team__name {
    font-size: 12px;
    font-weight: 500;
}

.svc-hub .hub-team__person--small .hub-team__role,
.svc-hub .hub-team__person--placeholder .hub-team__role {
    font-size: 12px;
    font-weight: 400;
}

@media (max-width: 1024px) {
    .svc-hub .hub-team__title {
        font-size: 40px;
        margin-bottom: 24px;
    }

    .svc-hub .hub-team__lead {
        margin-bottom: 48px;
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .svc-hub .hub-team__title {
        font-size: 32px;
        margin-bottom: 20px;
    }

    .svc-hub .hub-team__lead {
        margin-bottom: 32px;
        font-size: 18px;
    }

    .svc-hub .hub-team__layout {
        grid-template-columns: 1fr;
    }

    .svc-hub .hub-team__mosaic-large,
    .svc-hub .hub-team__mosaic-small {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .svc-hub .hub-team__featured-card {
        width: auto;
        right: 5.506%;
    }
}

/*
 * Признание в отрасли — копия .hub-awards внутри .svc-hub.
 * Сетка: 4 колонки, с 1024 — 2, с 768 — 1.
 */
.svc-hub .hub-awards__heading {
    margin: 0 0 64px;
    font-size: 64px;
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: var(--hub-ink);
}

.svc-hub .hub-awards__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: auto auto;
    gap: 24px;
}

.svc-hub .hub-awards__card {
    position: relative;
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
    min-height: 302px;
    min-width: 0;
    padding: 32px;
    overflow: hidden;
    border-radius: 32px;
    background: linear-gradient(90deg, #fb8227 0%, #f7b432 100%);
    color: #fff;
}

.svc-hub .hub-awards__card--dark {
    background: #1d1d1d;
}

.svc-hub .hub-awards__top {
    display: flex;
    grid-row: 1;
    flex-direction: column;
    align-items: flex-start;
    align-self: start;
    min-height: 103px;
}

.svc-hub .hub-awards__top:has(.hub-awards__year) {
    min-height: 134px;
}

.svc-hub .hub-awards__logo {
    display: block;
    width: auto;
    max-width: 140px;
    height: auto;
}

.svc-hub .hub-awards__place {
    position: absolute;
    top: 32px;
    right: 32px;
    padding: 5px 12px;
    border-radius: 21px;
    background: #1d1d1d;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.28;
    white-space: nowrap;
}

.svc-hub .hub-awards__card--dark .hub-awards__place {
    background: #fff;
    color: var(--hub-ink);
}

.svc-hub .hub-awards__year {
    width: 200px;
    max-width: 100%;
    margin: 35px 0 0;
    overflow-wrap: anywhere;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.12;
}

.svc-hub .hub-awards__category {
    grid-row: 2;
    align-self: start;
    margin: 0 -32px 0;
    padding: 24px 32px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.28;
    overflow-wrap: anywhere;
}

@supports not (grid-template-rows: subgrid) {
    .svc-hub .hub-awards__grid {
        grid-auto-rows: auto;
    }

    .svc-hub .hub-awards__card {
        display: flex;
        flex-direction: column;
        grid-row: auto;
        grid-template-rows: none;
    }

    .svc-hub .hub-awards__category {
        flex: 1 1 auto;
    }
}

@media (max-width: 1024px) {
    .svc-hub .hub-awards__heading {
        font-size: 40px;
        margin-bottom: 48px;
    }

    .svc-hub .hub-awards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .svc-hub .hub-awards__heading {
        font-size: 32px;
        margin-bottom: 32px;
    }

    .svc-hub .hub-awards__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .svc-hub .hub-awards__logo {
        max-width: 110px;
    }
}

/*
 * Видео — копия .hub-video внутри .svc-hub.
 * Сетка: 4 колонки, с 1024 — 2, с 768 — 1.
 */
.svc-hub .hub-video {
    background: var(--hub-bg);
}

.svc-hub .hub-video__title {
    margin: 0 0 64px;
    font-size: 64px;
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--hub-ink);
}

.svc-hub .hub-video__title-line {
    display: inline;
}

.svc-hub .hub-video__title-line--wrap::before {
    content: "\A";
    white-space: pre;
}

.svc-hub .hub-video__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.svc-hub .hub-video__item {
    min-width: 0;
}

.svc-hub .hub-video__card {
    display: flex;
    flex-direction: column;
    min-height: 344px;
    height: 100%;
    margin: 0;
    color: var(--hub-ink);
    text-decoration: none;
}

.svc-hub .hub-video__thumb {
    display: block;
    flex: 0 0 181px;
    height: 181px;
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    text-decoration: none;
}

.svc-hub .hub-video__thumb.iframe-wrap {
    margin: 0;
}

.svc-hub .hub-video__thumb .iframe-wrap__inner {
    display: block;
    height: 100%;
    border-radius: 24px;
}

.svc-hub .hub-video__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-hub .hub-video__card-title {
    margin: 14px 0 0;
    min-height: 81px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.12;
    color: var(--hub-ink);
}

.svc-hub .hub-video__card-text {
    display: -webkit-box;
    margin: 0;
    max-height: 68px;
    overflow: hidden;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.28;
    color: #000;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

@media (max-width: 1024px) {
    .svc-hub .hub-video__title {
        font-size: 40px;
        margin-bottom: 48px;
    }

    .svc-hub .hub-video__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .svc-hub .hub-video__title {
        font-size: 32px;
        margin-bottom: 32px;
    }

    .svc-hub .hub-video__title-line--wrap::before {
        content: " ";
        white-space: normal;
    }

    .svc-hub .hub-video__grid {
        grid-template-columns: 1fr;
    }

    .svc-hub .hub-video__card,
    .svc-hub .hub-video__card-title {
        min-height: 0;
    }
}

/*
 * Отзывы — копия .hub-reviews и .hub-review-card внутри .svc-hub.
 * Сетка: 3 колонки, с 1200 — 2, с 767 — 1.
 */
.svc-hub .hub-reviews {
    background: #fff;
}

.svc-hub .hub-reviews__title {
    margin: 0 0 64px;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 64px;
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: var(--hub-ink);
}

.svc-hub .hub-reviews__grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.svc-hub .hub-reviews__cell--hidden {
    display: none;
}

.svc-hub .hub-reviews__more {
    display: flex;
    justify-content: center;
    margin-top: 64px;
}

.svc-hub .hub-reviews__more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 440px;
    max-width: 100%;
    height: 64px;
    padding: 24px 32px;
    border: 0;
    border-radius: 16px;
    background: #fb8227;
    color: #fff;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.12;
    cursor: pointer;
}

.svc-hub .hub-review-card {
    --hub-review-card-pad-x: 40px;
    --hub-review-card-gap-head-project: 17px;
    --hub-review-card-gap-section: 24px;
    --hub-review-card-text-height: calc(16px * 1.28 * 6);
    --hub-review-card-gap-author-text: 31px;
    --hub-review-card-gap-text-readmore: 15px;
    --hub-review-card-underline-offset: 2px;
    --hub-review-card-underline-thickness: 1px;
    --hub-review-card-head-row-height: 20px;
    --hub-review-card-category-width: auto;
    --hub-review-card-head-height: 57px;
    --hub-review-card-key-result-height: 142px;
    --hub-review-card-key-result-border: #dfe0e2;
    --hub-review-card-author-height: 64px;
    --hub-review-card-readmore-height: 20px;
    --hub-review-card-meta-row-height: 20px;
    --hub-review-card-footer-height: 120px;
    --hub-review-card-case-btn-width: 201px;
    --hub-review-card-case-btn-height: 56px;
    background: var(--hub-bg);
    border-radius: 32px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 779px;
    padding: 40px var(--hub-review-card-pad-x) 0;
    width: 100%;
}

.svc-hub .hub-review-card__head {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: var(--hub-review-card-gap-head-project);
    height: var(--hub-review-card-head-height);
    margin-bottom: var(--hub-review-card-gap-section);
    min-height: var(--hub-review-card-head-height);
}

.svc-hub .hub-review-card__head-top {
    align-items: center;
    column-gap: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--hub-review-card-category-width);
    min-height: var(--hub-review-card-head-row-height);
}

.svc-hub .hub-review-card__domain,
.svc-hub .hub-review-card__project,
.svc-hub .hub-review-card__date {
    align-items: flex-start;
    color: #777;
    display: flex;
    font-size: 16px;
    font-weight: 400;
    gap: 10px;
    line-height: 1.28;
    min-width: 0;
}

.svc-hub .hub-review-card__domain {
    align-items: center;
    grid-column: 1;
    min-height: var(--hub-review-card-head-row-height);
    min-width: 0;
}

.svc-hub .hub-review-card__domain > a,
.svc-hub .hub-review-card__domain > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.svc-hub .hub-review-card__project {
    align-items: center;
    max-height: var(--hub-review-card-head-row-height);
    min-height: var(--hub-review-card-head-row-height);
    overflow: hidden;
    width: 100%;
}

.svc-hub .hub-review-card__project-text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.svc-hub .hub-review-card__project .svc-hub .hub-review-card__icon {
    flex-shrink: 0;
    margin-top: 0;
}

.svc-hub .hub-review-card__date {
    align-items: center;
}

.svc-hub .hub-review-card__domain a {
    color: #777;
    text-decoration: none;
}

.svc-hub .hub-review-card__domain a:hover {
    color: var(--hub-ink);
}

.svc-hub .hub-review-card__category,
.svc-hub .hub-review-card__readmore,
.svc-hub .hub-review-card__letter-text {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-thickness: var(--hub-review-card-underline-thickness);
    text-underline-offset: var(--hub-review-card-underline-offset);
}

.svc-hub .hub-review-card__category {
    color: var(--hub-accent);
    font-size: 16px;
    grid-column: 2;
    justify-self: end;
    line-height: 1.28;
    min-height: var(--hub-review-card-head-row-height);
    text-align: right;
    text-decoration-color: var(--hub-accent);
    white-space: nowrap;
    width: var(--hub-review-card-category-width);
}

.svc-hub .hub-review-card__slot {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 100%;
}

.svc-hub .hub-review-card__slot--key-result {
    height: var(--hub-review-card-key-result-height);
    margin-bottom: var(--hub-review-card-gap-section);
    min-height: var(--hub-review-card-key-result-height);
}

.svc-hub .hub-review-card__slot--author {
    height: auto;
    margin-bottom: var(--hub-review-card-gap-author-text);
    min-height: var(--hub-review-card-author-height);
    overflow: visible;
}

.svc-hub .hub-review-card__slot--text {
    height: var(--hub-review-card-text-height);
    min-height: var(--hub-review-card-text-height);
}

.svc-hub .hub-review-card__slot--readmore {
    height: var(--hub-review-card-readmore-height);
    margin-top: var(--hub-review-card-gap-text-readmore);
    min-height: var(--hub-review-card-readmore-height);
}

.svc-hub .hub-review-card__slot--letter {
    height: var(--hub-review-card-meta-row-height);
    margin-top: var(--hub-review-card-gap-section);
    min-height: var(--hub-review-card-meta-row-height);
}

.svc-hub .hub-review-card__slot--date {
    height: var(--hub-review-card-meta-row-height);
    margin-bottom: var(--hub-review-card-gap-section);
    margin-top: var(--hub-review-card-gap-section);
    min-height: var(--hub-review-card-meta-row-height);
}

.svc-hub .hub-review-card__icon {
    align-items: center;
    display: inline-flex;
    flex: 0 0 16px;
    height: 16px;
    justify-content: center;
    width: 16px;
}

.svc-hub .hub-review-card__icon svg,
.svc-hub .hub-review-card__icon img {
    display: block;
    height: 16px;
    width: 16px;
}

.svc-hub .hub-review-card__icon--accent svg path {
    fill: var(--hub-accent);
}

.svc-hub .hub-review-card__key-result {
    background: linear-gradient(177deg, #fff2e8 0%, #ffdcc1 100%);
    border-bottom: 1px solid var(--hub-review-card-key-result-border);
    border-top: 1px solid var(--hub-review-card-key-result-border);
    box-sizing: border-box;
    height: 100%;
    margin: 0 calc(var(--hub-review-card-pad-x) * -1);
    min-height: var(--hub-review-card-key-result-height);
    padding: 24px var(--hub-review-card-pad-x);
}

.svc-hub .hub-review-card__key-result-title {
    align-items: center;
    color: var(--hub-accent);
    display: flex;
    font-size: 16px;
    gap: 10px;
    line-height: 1.28;
    margin-bottom: 15px;
}

.svc-hub .hub-review-card__key-result-text {
    color: var(--hub-ink);
    font-size: 16px;
    line-height: 1.28;
    margin: 0;
}

.svc-hub .hub-review-card__author {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    height: auto;
    margin-bottom: 0;
    min-height: var(--hub-review-card-author-height);
}

.svc-hub .hub-review-card__avatar {
    border-radius: 50%;
    flex: 0 0 64px;
    height: 64px;
    overflow: hidden;
    width: 64px;
}

.svc-hub .hub-review-card__avatar:empty {
    visibility: hidden;
}

.svc-hub .hub-review-card__avatar img {
    display: block;
    height: 64px;
    object-fit: cover;
    width: 64px;
}

.svc-hub .hub-review-card__name {
    color: var(--hub-ink);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.28;
    margin-top: 5px;
    min-height: 26px;
}

.svc-hub .hub-review-card__position {
    color: #777;
    font-size: 16px;
    line-height: 1.28;
    margin-top: 4px;
    min-height: 20px;
}

.svc-hub .hub-review-card__position a {
    color: inherit;
    text-decoration: underline;
}

.svc-hub .hub-review-card__text {
    height: 100%;
    margin-bottom: 0;
    overflow: hidden;
}

.svc-hub .hub-review-card__text-inner,
.svc-hub .hub-review-card__text-inner p {
    color: var(--hub-ink);
    font-size: 16px;
    line-height: 1.28;
    margin: 0;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    line-clamp: 6;
}

.svc-hub .hub-review-card__readmore {
    appearance: none;
    background: none;
    border: 0;
    color: #706f6f;
    cursor: pointer;
    display: block;
    font-size: 16px;
    height: var(--hub-review-card-readmore-height);
    line-height: 1.28;
    margin: 0;
    padding: 0;
    text-align: left;
    text-decoration-color: #706f6f;
}

.svc-hub .hub-review-card__readmore:hover {
    color: #5a5959;
    text-decoration-color: #5a5959;
}

.svc-hub .hub-review-card__letter {
    align-items: center;
    color: var(--hub-accent);
    display: inline-flex;
    gap: 10px;
    height: var(--hub-review-card-meta-row-height);
    margin: 0;
    text-decoration: none;
    width: fit-content;
}

.svc-hub .hub-review-card__letter:hover,
.svc-hub .hub-review-card__letter:focus-visible {
    color: #fca34d;
}

.svc-hub .hub-review-card__letter-text {
    color: var(--hub-accent);
    font-size: 16px;
    line-height: 1.28;
    text-decoration-color: var(--hub-accent);
}

.svc-hub .hub-review-card__letter:hover .svc-hub .hub-review-card__letter-text,
.svc-hub .hub-review-card__letter:focus-visible .svc-hub .hub-review-card__letter-text {
    color: #fca34d;
    text-decoration-color: #fca34d;
}

.svc-hub .hub-review-card__letter-icon {
    flex: 0 0 14px;
    height: 16px;
    width: 14px;
}

.svc-hub .hub-review-card__letter-icon svg,
.svc-hub .hub-review-card__letter-icon img {
    display: block;
    height: 16px;
    width: 14px;
}

.svc-hub .hub-review-card__date {
    align-items: center;
    height: var(--hub-review-card-meta-row-height);
    margin: 0;
}

.svc-hub .hub-review-card__date-icon {
    flex: 0 0 16px;
    height: 16px;
    width: 16px;
}

.svc-hub .hub-review-card__date-icon svg,
.svc-hub .hub-review-card__date-icon img {
    display: block;
    height: 16px;
    width: 16px;
}

.svc-hub .hub-review-card__footer {
    align-items: flex-start;
    border-top: 1px solid rgba(29, 29, 29, 0.1);
    box-sizing: border-box;
    display: flex;
    flex-shrink: 0;
    justify-content: flex-start;
    margin: auto calc(var(--hub-review-card-pad-x) * -1) 0;
    min-height: var(--hub-review-card-footer-height);
    padding: 24px var(--hub-review-card-pad-x) 40px;
    width: calc(100% + var(--hub-review-card-pad-x) * 2);
}

.svc-hub .hub-review-card__case-btn {
    align-items: center;
    border: 1px solid var(--hub-accent);
    border-radius: 16px;
    box-sizing: border-box;
    color: var(--hub-accent);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 18px;
    font-weight: 500;
    gap: 6px;
    height: var(--hub-review-card-case-btn-height);
    justify-content: center;
    line-height: 1.12;
    min-height: var(--hub-review-card-case-btn-height);
    padding: 0 20px;
    text-decoration: none;
    width: auto;
}

.svc-hub .hub-review-card__case-arrow {
    display: inline-flex;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}

.svc-hub .hub-review-card__case-arrow svg,
.svc-hub .hub-review-card__case-arrow img {
    display: block;
    width: 20px;
    height: 20px;
}

.svc-hub .hub-review-card__case-btn--disabled {
    border-color: #c6c6c6;
    color: #c6c6c6;
    cursor: default;
    display: inline-flex;
    pointer-events: none;
}
@media (max-width: 1200px) {
    .svc-hub .hub-reviews__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .svc-hub .hub-reviews__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .svc-hub .hub-review-card {
        --hub-review-card-pad-x: 20px;
        --hub-review-card-text-height: calc(16px * 1.28 * 5);
        min-height: 0;
        padding-top: 24px;
    }

    .svc-hub .hub-review-card__text-inner,
    .svc-hub .hub-review-card__text-inner p {
        -webkit-line-clamp: 5;
        line-clamp: 5;
    }

    .svc-hub .hub-review-card__key-result {
        margin-left: calc(var(--hub-review-card-pad-x) * -1);
        margin-right: calc(var(--hub-review-card-pad-x) * -1);
        padding: 20px var(--hub-review-card-pad-x);
    }

    .svc-hub .hub-review-card__footer {
        margin-left: calc(var(--hub-review-card-pad-x) * -1);
        margin-right: calc(var(--hub-review-card-pad-x) * -1);
        min-height: var(--hub-review-card-footer-height);
        padding: 24px var(--hub-review-card-pad-x) 32px;
        width: calc(100% + var(--hub-review-card-pad-x) * 2);
    }

    .svc-hub .hub-review-card__head-top {
        grid-template-columns: minmax(0, 1fr);
    }

    .svc-hub .hub-review-card__category {
        justify-self: start;
        text-align: left;
        width: auto;
    }
}

@media (max-width: 1024px) {
    .svc-hub .hub-reviews__title {
        font-size: 40px;
        margin-bottom: 48px;
    }
}

@media (max-width: 768px) {
    .svc-hub .hub-reviews__title {
        font-size: 32px;
        margin-bottom: 32px;
    }

    .svc-hub .hub-reviews__more {
        margin-top: 32px;
    }

    .svc-hub .hub-reviews__more-btn {
        width: 100%;
    }
}

/* Перелинковка — копия .hub-interlink, только внутри .svc-hub. Брейкпоинты 1024 / 768. */
.svc-hub .hub-interlink {
    background: #fff;
}

.svc-hub .hub-interlink__title {
    margin: 0 0 64px;
    font-size: 64px;
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--hub-ink);
}

.svc-hub .hub-interlink__title-accent {
    background: linear-gradient(90deg, #fb8227 0%, #f7b432 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.svc-hub .hub-interlink__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.svc-hub .hub-interlink__card {
    display: flex;
    flex-direction: column;
    min-height: 430px;
    padding: 40px 40px 0;
    border-radius: 32px;
    background: var(--hub-bg);
    color: var(--hub-ink);
    text-decoration: none;
}

.svc-hub .hub-interlink__card:hover,
.svc-hub .hub-interlink__card:focus,
.svc-hub .hub-interlink__card:visited {
    color: var(--hub-ink);
    text-decoration: none;
}

.svc-hub .hub-interlink__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 24px;
}

.svc-hub .hub-interlink__icon {
    display: flex;
    flex: 0 0 96px;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: #fff;
}

.svc-hub .hub-interlink__icon-img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.svc-hub .hub-interlink__num {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--hub-ink);
    opacity: 0.3;
}

.svc-hub .hub-interlink__card-title {
    margin: 0 0 24px;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.12;
    color: var(--hub-ink);
}

.svc-hub .hub-interlink__card-text {
    margin: 0 0 36px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.28;
    color: var(--hub-ink);
}

.svc-hub .hub-interlink__footer {
    display: flex;
    align-items: center;
    margin: auto -40px 8px;
    padding: 32px 40px;
    border-top: 1px solid var(--hub-line);
}

.svc-hub .hub-interlink__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 56px;
    padding: 21px 24px;
    border: 1px solid var(--hub-accent);
    border-radius: 16px;
    color: var(--hub-accent);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.12;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.svc-hub .hub-interlink__btn img {
    display: block;
    width: 20px;
    height: 20px;
}

.svc-hub .hub-interlink__card:hover .hub-interlink__btn,
.svc-hub .hub-interlink__card:focus-within .hub-interlink__btn {
    background: var(--hub-accent);
    color: #fff;
}

.svc-hub .hub-interlink__card:hover .hub-interlink__btn img,
.svc-hub .hub-interlink__card:focus-within .hub-interlink__btn img {
    filter: brightness(0) invert(1);
}

@media (max-width: 1024px) {
    .svc-hub .hub-interlink__title {
        font-size: 40px;
        margin-bottom: 48px;
    }

    .svc-hub .hub-interlink__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .svc-hub .hub-interlink__card {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .svc-hub .hub-interlink__title {
        font-size: 32px;
        margin-bottom: 32px;
    }

    .svc-hub .hub-interlink__grid {
        grid-template-columns: 1fr;
    }

    .svc-hub .hub-interlink__card {
        min-height: 0;
        padding: 32px 24px 0;
    }

    .svc-hub .hub-interlink__card-title {
        font-size: 24px;
    }

    .svc-hub .hub-interlink__footer {
        margin-left: -24px;
        margin-right: -24px;
        padding: 24px;
    }

    .svc-hub .hub-interlink__icon {
        flex-basis: 80px;
        width: 80px;
        height: 80px;
    }
}
