/* ==========================================================================
   site.css — обновление сайта «Эврика-логистик», ноябрь 2026.
   Подключается после custom.css и переопределяет его.
   Разделы: масштаб, шапка, хлебные крошки, кнопки, формы, подвал,
   новости, статьи, страница «Стоимость».
   Размеры для экранов от 1200 px заданы «до масштаба»: браузер
   показывает их в 75 % (см. .wrapper ниже).
   ========================================================================== */

:root {
    --blue: #234DF1;
    --blue-dark: #1A3BC4;
    --navy: #233589;
    --navy-deep: #1B2A72;
    --orange: #FF5F33;
    --ink: #1D2433;
    --muted: #5D6577;
    --line: #DFE4F0;
    --soft: #F4F6FB;
    --tint: #EDF1FF;
    --tint-orange: #FFF2EC;
    --r-xl: 32px;
    --r-l: 24px;
    --r-m: 16px;
    --r-s: 10px;
}

/* ---------- 1. Масштаб ----------
   На экранах шире 1200 px всё содержимое страницы показывается в масштабе 75 %:
   так же, как при уменьшении масштаба браузера до 75 %. Чтобы поменять масштаб,
   достаточно исправить число в zoom. */
@media (min-width: 1200px) {
    .wrapper {
        zoom: 0.75;
    }
}

body {
    min-width: 320px;
    overflow-x: hidden;
    overflow-x: clip;
}

.wrapper {
    overflow: visible;
    overflow-x: clip;
}

[id] {
    scroll-margin-top: 140px;
}

.ico {
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: middle;
}

/* ---------- 2. Шапка ---------- */
.hdr {
    position: sticky;
    top: 0;
    z-index: 900;
    padding: 0;
    background: #fff;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.hdr.is-scrolled {
    border-bottom-color: var(--line);
}

.hdr__inner {
    display: flex;
    align-items: center;
    gap: 44px;
    min-height: 108px;
}

.hdr__brand {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.hdr .logo {
    width: 196px;
    height: 82px;
    margin: 0;
}

.hdr__nav {
    display: flex;
    align-items: center;
    gap: 38px;
    margin: 0 auto;
}

.hdr__nav a {
    position: relative;
    padding: 10px 0;
    font-size: 22px;
    line-height: 1;
    font-weight: 600;
    color: var(--text-color);
    white-space: nowrap;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.hdr__nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 3px;
    border-radius: 2px;
    background: var(--orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}

.hdr__nav a:hover,
.hdr__nav a.is-active {
    color: var(--blue);
}

.hdr__nav a:hover::after,
.hdr__nav a.is-active::after {
    transform: scaleX(1);
}

.hdr__nav a.nav-ai {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border: 2px solid var(--blue);
    border-radius: 999px;
    color: var(--blue);
}

.hdr__nav a.nav-ai::after {
    content: none;
}

.hdr__nav a.nav-ai .ico {
    width: 18px;
    height: 18px;
}

.hdr__nav a.nav-ai:hover {
    background: var(--blue);
    color: #fff;
}

.hdr__aside {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-shrink: 0;
}

.hdr__contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 9px;
}

.hdr__tel {
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    color: var(--blue);
    white-space: nowrap;
    transition: color 0.2s ease;
}

.hdr__tel:hover {
    color: var(--orange);
}

.hdr__mail {
    font-size: 19px;
    line-height: 1;
    color: var(--muted);
    transition: color 0.2s ease;
}

.hdr__mail:hover {
    color: var(--blue);
}

.hdr__cta {
    display: inline-flex;
    align-items: center;
    height: 60px;
    padding: 0 30px;
    border-radius: 999px;
    background: var(--orange);
    color: #fff;
    font-size: 19px;
    font-weight: 600;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.hdr__cta:hover {
    background: var(--blue);
}

@media (max-width: 1599.98px) {
    .hdr__cta {
        display: none;
    }
}

@media (max-width: 1199.98px) {
    .hdr__inner {
        min-height: 72px;
        gap: 14px;
    }

    .hdr__nav {
        display: none;
    }

    .hdr .burger {
        display: block;
    }

    .hdr .logo {
        width: 140px;
        height: 52px;
    }

    .hdr__aside {
        margin-left: auto;
    }

    .hdr__tel {
        font-size: 20px;
    }

    .hdr__mail {
        font-size: 15px;
    }
}

@media (max-width: 576px) {
    .hdr .logo {
        width: 112px;
        height: 42px;
    }

    .hdr__tel {
        font-size: 16px;
    }

    .hdr__mail {
        font-size: 13px;
    }
}

@media (max-width: 400px) {
    .hdr__mail {
        display: none;
    }
}

/* Мобильное меню */
.header-mobile__main {
    width: 100%;
}

.header-mobile__item .header-mobile__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.header-mobile__item .header-mobile__link.is-active {
    color: var(--orange);
}

.header-mobile__item .header-mobile__link .ico {
    width: 20px;
    height: 20px;
}

/* ---------- 3. Заголовок страницы и хлебные крошки ---------- */
.breadcrumbs {
    padding: 34px 0 46px;
    background: var(--soft);
}

.breadcrumbs .services__title {
    margin: 0;
    max-width: 1400px;
    font-weight: 600;
    font-size: 62px;
    line-height: 1.15;
    color: var(--ink);
}

.detail-hero .breadcrumbs {
    padding: 0 0 14px;
}

.crumbs {
    margin: 0 0 18px;
}

.crumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 18px;
    line-height: 1.35;
}

.crumbs__item {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: var(--muted);
}

.crumbs__item + .crumbs__item::before {
    content: "";
    flex-shrink: 0;
    width: 7px;
    height: 7px;
    margin: 0 15px 0 9px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    opacity: 0.5;
}

.crumbs a {
    color: var(--muted);
    transition: color 0.2s ease;
}

.crumbs a:hover {
    color: var(--blue);
}

.crumbs__current {
    max-width: 56ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--ink);
}

.detail-hero .crumbs__item,
.detail-hero .crumbs a,
.detail-hero .crumbs__current {
    color: rgba(255, 255, 255, 0.92);
}

.detail-hero .crumbs a:hover {
    color: #fff;
    text-decoration: underline;
}

@media (max-width: 1199.98px) {
    .breadcrumbs {
        padding: 16px 0 24px;
    }

    .breadcrumbs .services__title {
        font-size: 34px;
    }

    .crumbs {
        margin-bottom: 10px;
    }

    .crumbs__list {
        font-size: 14px;
    }

    .crumbs__current {
        max-width: 34ch;
    }
}

@media (max-width: 576px) {
    .breadcrumbs .services__title {
        font-size: 27px;
    }

    .crumbs__current {
        max-width: 22ch;
    }
}

/* ---------- 4. Кнопки ---------- */
.btn2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 64px;
    padding: 0 34px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-family: "Exo2", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.1;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn2 .ico {
    width: 22px;
    height: 22px;
}

.btn2--orange {
    background: var(--orange);
    color: #fff;
}

.btn2--orange:hover {
    background: var(--blue);
}

.btn2--blue {
    background: var(--blue);
    color: #fff;
}

.btn2--blue:hover {
    background: var(--navy);
}

.btn2--ghost {
    border-color: var(--blue);
    color: var(--blue);
    background: transparent;
}

.btn2--ghost:hover {
    background: var(--blue);
    color: #fff;
}

.btn2--light {
    background: #fff;
    color: var(--navy);
}

.btn2--light:hover {
    background: var(--orange);
    color: #fff;
}

.btn2--ghost-light {
    border-color: rgba(255, 255, 255, 0.7);
    color: #fff;
    background: transparent;
}

.btn2--ghost-light:hover {
    border-color: #fff;
    background: #fff;
    color: var(--navy);
}

@media (max-width: 1199.98px) {
    .btn2 {
        min-height: 50px;
        padding: 0 24px;
        font-size: 16px;
    }

    .btn2 .ico {
        width: 18px;
        height: 18px;
    }
}

/* ---------- 5. Флажки и переключатели во всех формах ----------
   Раньше квадрат рисовался псевдоэлементом и не был виден в Firefox. */
input[type="checkbox"],
input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    transform: none;
    border: 2px solid #CDD3E1;
    border-radius: 6px;
    background: #fff center / cover no-repeat;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

input[type="radio"] {
    border-radius: 50%;
}

input[type="checkbox"]::before,
input[type="radio"]::before {
    content: none;
    display: none;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    border-color: var(--blue);
    background-image: url(../image/blue.svg);
}

.radio-label {
    gap: 14px;
}

.radio-label:hover input[type="checkbox"],
.radio-label:hover input[type="radio"] {
    border-color: var(--blue);
}

/* ---------- 6. Подвал с формой заявки ---------- */
.sf {
    position: relative;
    background: var(--navy);
    color: #fff;
}

.sf__top {
    padding: 120px 0 110px;
}

.sf__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 820px);
    gap: 90px;
    align-items: start;
    max-width: 1680px;
    margin: 0 auto;
}

.sf__eyebrow {
    margin-bottom: 34px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
}

.sf__title {
    margin: 0 0 40px;
    font-size: 64px;
    line-height: 1.1;
    font-weight: 600;
    color: #fff;
}

.sf__rule {
    display: block;
    width: 88px;
    height: 6px;
    margin-bottom: 40px;
    border-radius: 3px;
    background: var(--orange);
}

.sf__lead {
    max-width: 820px;
    margin: 0 0 40px;
    font-size: 26px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
}

.sf__meta {
    margin: -16px 0 40px;
    font-size: 21px;
    color: rgba(255, 255, 255, 0.72);
}

.sf__contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 44px;
}

.sf__contacts a {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    transition: color 0.2s ease;
}

.sf__contacts a .ico {
    width: 28px;
    height: 28px;
    color: var(--orange);
}

.sf__contacts a:hover {
    color: #C9D4FF;
}

.sf__person {
    display: flex;
    align-items: center;
    gap: 32px;
    margin-top: 60px;
}

.sf__person img {
    width: 196px;
    height: 236px;
    border-radius: 22px;
    object-fit: cover;
    object-position: center 20%;
    border: 2px solid rgba(255, 255, 255, 0.28);
}

.sf__name {
    margin-bottom: 8px;
    font-size: 32px;
    font-weight: 700;
}

.sf__role {
    font-size: 22px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.82);
}

.sf__card {
    padding: 56px 56px 50px;
    border-radius: 28px;
    background: #fff;
    color: var(--text-color);
}

.sf__card-title {
    margin: 0 0 30px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--ink);
}

.sf__form.form {
    max-width: none;
}

.sf__fields.form__bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 22px;
}

.sf__field {
    display: block;
}

.sf__field span {
    display: block;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 600;
    color: var(--ink);
}

.sf__field input,
.sf__field textarea {
    display: block;
    width: 100%;
    height: 70px;
    margin: 0;
    padding: 0 22px;
    font-size: 21px;
    font-weight: 400;
    color: var(--text-color);
    background: #fff;
    border: 1.5px solid #D5DBEA;
    border-radius: 14px;
}

.sf__field textarea {
    height: 140px;
    padding: 18px 22px;
    resize: vertical;
}

.sf__field input::placeholder,
.sf__field textarea::placeholder {
    font-size: 20px;
    font-weight: 400;
    color: #9AA2B5;
}

.sf__field input:hover,
.sf__field textarea:hover,
.sf__field input:focus,
.sf__field textarea:focus {
    border-color: var(--blue);
}

.sf__field--wide,
.sf__consent,
.sf__fields .g-recaptcha,
.sf__submit {
    grid-column: 1 / -1;
}

.sf__consent {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    color: var(--muted);
    cursor: pointer;
}

.sf__consent input[type="checkbox"] {
    margin-top: 2px;
}

.sf__consent a {
    color: var(--blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sf__fields .g-recaptcha {
    margin: 0;
}

.sf__submit.btn {
    display: block;
    width: 100%;
    height: 78px;
    padding: 0 20px;
    border-radius: 14px;
    font-size: 23px;
    font-weight: 600;
    text-transform: none;
}

.sf__submit.btn:disabled {
    background: #B3BBD4;
    cursor: not-allowed;
}

.sf__done {
    padding: 40px 0 20px;
    text-align: center;
}

.sf__done .ico {
    width: 72px;
    height: 72px;
    color: var(--blue);
}

.sf__done h3 {
    margin: 18px 0 12px;
    font-size: 34px;
    color: var(--ink);
}

.sf__done p {
    margin: 0;
    font-size: 21px;
    line-height: 1.5;
    color: var(--muted);
}

.sf__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    padding: 52px 0 60px;
}

.sf__bottom-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 40px 72px;
    align-items: center;
    max-width: 1680px;
    margin: 0 auto;
}

.sf__logo {
    display: block;
    width: 210px;
}

.sf__logo img {
    display: block;
    width: 100%;
    height: auto;
}

.sf__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 34px;
    font-size: 20px;
}

.sf__nav a {
    color: rgba(255, 255, 255, 0.86);
    transition: color 0.2s ease;
}

.sf__nav a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sf__legal {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 16px 40px;
    padding-top: 34px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 17px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.62);
}

.sf__legal p {
    margin: 0;
}

.sf__legal a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sf__legal a:hover {
    color: #fff;
}

.sf__bottom-contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    font-size: 24px;
    font-weight: 600;
}

.sf__bottom-contacts a {
    color: #fff;
}

.sf__bottom-contacts a:hover {
    color: #C9D4FF;
}

@media (max-width: 1199.98px) {
    .sf__top {
        padding: 56px 0 48px;
    }

    .sf__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .sf__eyebrow {
        margin-bottom: 16px;
        font-size: 13px;
    }

    .sf__title {
        margin-bottom: 20px;
        font-size: 34px;
    }

    .sf__rule {
        width: 64px;
        height: 5px;
        margin-bottom: 20px;
    }

    .sf__lead {
        margin-bottom: 22px;
        font-size: 18px;
    }

    .sf__meta {
        margin: -8px 0 22px;
        font-size: 15px;
    }

    .sf__contacts {
        gap: 12px 28px;
    }

    .sf__contacts a {
        font-size: 19px;
    }

    .sf__contacts a .ico {
        width: 20px;
        height: 20px;
    }

    .sf__person {
        gap: 18px;
        margin-top: 28px;
    }

    .sf__person img {
        width: 96px;
        height: 116px;
        border-radius: 14px;
    }

    .sf__name {
        font-size: 20px;
    }

    .sf__role {
        font-size: 15px;
    }

    .sf__card {
        padding: 26px 22px 24px;
        border-radius: 20px;
    }

    .sf__card-title {
        margin-bottom: 18px;
        font-size: 22px;
    }

    .sf__fields.form__bottom {
        gap: 16px 14px;
    }

    .sf__field span {
        font-size: 15px;
        margin-bottom: 6px;
    }

    .sf__field input,
    .sf__field textarea {
        height: 52px;
        padding: 0 16px;
        font-size: 16px;
        border-radius: 12px;
    }

    .sf__field textarea {
        height: 110px;
        padding: 14px 16px;
    }

    .sf__field input::placeholder,
    .sf__field textarea::placeholder {
        font-size: 15px;
    }

    .sf__consent {
        font-size: 13px;
        gap: 12px;
    }

    .sf__submit.btn {
        height: 56px;
        font-size: 17px;
        border-radius: 12px;
    }

    .sf__bottom {
        padding: 32px 0 36px;
    }

    .sf__bottom-inner {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .sf__logo {
        width: 150px;
    }

    .sf__nav {
        gap: 10px 22px;
        font-size: 15px;
    }

    .sf__bottom-contacts {
        align-items: flex-start;
        font-size: 18px;
    }

    .sf__legal {
        padding-top: 20px;
        font-size: 13px;
    }
}

@media (max-width: 576px) {
    .sf__fields.form__bottom {
        grid-template-columns: 1fr;
    }

    .sf__title {
        font-size: 28px;
    }
}

/* ---------- 7. Новости: список и блок «Читать другие новости» ---------- */
.news__flex {
    column-gap: 32px;
    row-gap: 40px;
}

.news__item,
.detail-another__swiper .swiper-slide {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 14px 14px 30px;
    border: 1.5px solid var(--line);
    border-radius: var(--r-l);
    background: #fff;
    transition: border-color 0.2s ease;
}

.news__item {
    width: calc((100% - 64px) / 3);
}

.detail-another__swiper .swiper-wrapper {
    align-items: stretch;
}

.detail-another__swiper .swiper-slide {
    box-sizing: border-box;
    height: auto;
}

.breadcrumbs--article .services__container {
    width: auto;
    max-width: 1140px;
    margin: 0 auto;
}

.news__item:hover,
.detail-another__swiper .swiper-slide:hover {
    border-color: var(--blue);
}

.news__img {
    height: 300px;
    margin-bottom: 24px;
    border-radius: 16px;
}

.news__image {
    transition: transform 0.4s ease;
}

.news__item:hover .news__image,
.detail-another__swiper .swiper-slide:hover .news__image {
    transform: scale(1.04);
}

.news__text {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 0 12px;
}

.news__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.news__badge {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 15px;
    border-radius: 999px;
    background: var(--tint);
    color: var(--blue);
    font-size: 16px;
    font-weight: 600;
}

.news__badge--muted {
    background: var(--soft);
    color: var(--muted);
}

.news__title {
    font-size: 28px;
    line-height: 1.25;
    color: var(--ink);
}

.news__3columns {
    font-size: 19px;
    line-height: 1.5;
    color: var(--muted);
}

.news__text .news__margin {
    margin-bottom: 16px;
}

.news__text .projects__link {
    align-self: flex-start;
    margin-top: auto;
    padding: 14px 18px 14px 24px;
    font-size: 17px;
}

.news__text .projects__link::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--r-l);
}

.detail-another__grey {
    background: var(--soft);
}

.detail-another__grey .benefits__title {
    margin: 0;
    font-weight: 600;
}

@media (max-width: 1199.98px) {
    .news__flex {
        column-gap: 16px;
        row-gap: 16px;
    }

    .news__item {
        width: calc((100% - 16px) / 2);
        padding: 10px 10px 22px;
        border-radius: 18px;
    }

    .news__img {
        height: 220px;
        margin-bottom: 14px;
        border-radius: 12px;
    }

    .news__text {
        padding: 0 6px;
    }

    .news__title {
        font-size: 19px;
    }

    .news__3columns {
        font-size: 14px;
    }

    .news__badge {
        height: 26px;
        padding: 0 11px;
        font-size: 12px;
    }

    .news__text .projects__link {
        padding: 10px 14px 10px 18px;
        font-size: 14px;
    }
}

@media (max-width: 576px) {
    .news__item {
        width: 100%;
    }
}

/* ---------- 8. Статьи ---------- */
.article {
    padding: 56px 0 100px;
}

.article__wrap {
    max-width: 1140px;
    margin: 0 auto;
}

.article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 30px;
    margin-top: 24px;
    font-size: 19px;
    color: var(--muted);
}

.article__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.article__meta-item .ico {
    width: 22px;
    height: 22px;
    color: var(--blue);
}

.article__meta a {
    color: var(--blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.article__cover {
    position: relative;
    margin: 0 0 52px;
    border-radius: var(--r-l);
    overflow: hidden;
    aspect-ratio: 1000 / 558;
    background: var(--blue);
}

.article__cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article__cover-name {
    position: absolute;
    right: 6%;
    bottom: 8%;
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    text-align: right;
    color: #fff;
}

.article__body {
    font-size: 22px;
    line-height: 1.65;
    color: var(--text-color);
}

.article__body p {
    margin: 0 0 22px;
}

.article__body h2 {
    margin: 80px 0 26px;
    font-size: 44px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--ink);
}

.article__body h2::before {
    content: "";
    display: block;
    width: 64px;
    height: 6px;
    margin-bottom: 26px;
    border-radius: 3px;
    background: var(--orange);
}

.article__body h3 {
    margin: 54px 0 18px;
    font-size: 31px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--navy);
}

.article__body > :first-child {
    margin-top: 0;
}

.article__body ul,
.article__body ol {
    margin: 0 0 26px;
    padding: 0;
    list-style: none;
}

.article__body ul > li {
    position: relative;
    margin-bottom: 14px;
    padding-left: 34px;
}

.article__body ul > li::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 0.62em;
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background: var(--blue);
}

.article__body ol {
    counter-reset: ol;
}

.article__body ol > li {
    position: relative;
    margin-bottom: 16px;
    padding-left: 58px;
    counter-increment: ol;
}

.article__body ol > li::before {
    content: counter(ol);
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--tint);
    color: var(--blue);
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
}

.article__body b,
.article__body strong {
    font-weight: 600;
    color: var(--ink);
}

.article__body a {
    color: var(--blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.article__body mark,
.a-hl {
    padding: 0 0.15em;
    border-radius: 4px;
    background: #E3E9FF;
    color: inherit;
}

/* Вводный абзац */
.article__body .a-lead {
    margin: 0 0 44px;
    padding: 4px 0 4px 32px;
    border-left: 6px solid var(--orange);
    font-size: 30px;
    line-height: 1.5;
    color: var(--ink);
}

.article__body .a-lead--plain {
    padding-left: 0;
    border-left: 0;
}

/* Подпись автора */
.a-byline {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0 0 36px;
    padding: 22px 28px;
    border-radius: var(--r-m);
    background: var(--soft);
    font-size: 20px;
    line-height: 1.45;
    color: var(--muted);
}

.a-byline .ico {
    width: 30px;
    height: 30px;
    color: var(--blue);
}

/* Надпись над блоком */
.a-kicker {
    display: block;
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

/* Содержание статьи */
.a-toc {
    margin: 0 0 52px;
    padding: 34px 40px;
    border-radius: var(--r-l);
    background: var(--soft);
}

.article__body .a-toc ol {
    margin: 0;
    columns: 1;
}

.article__body .a-toc ol:has(> li:nth-child(5)) {
    columns: 2;
    column-gap: 48px;
}

.article__body .a-toc li {
    break-inside: avoid;
    margin-bottom: 12px;
    padding-left: 46px;
    font-size: 20px;
    line-height: 1.4;
}

.article__body .a-toc li::before {
    top: 0;
    width: 28px;
    height: 28px;
    font-size: 15px;
}

.article__body .a-toc a {
    color: var(--ink);
    text-decoration: none;
}

.article__body .a-toc a:hover {
    color: var(--blue);
    text-decoration: underline;
}

/* Выделенная мысль */
.a-callout {
    margin: 36px 0 40px;
    padding: 30px 36px;
    border-left: 6px solid var(--blue);
    border-radius: 0 var(--r-m) var(--r-m) 0;
    background: var(--tint);
    font-size: 24px;
    line-height: 1.55;
    color: var(--ink);
}

.a-callout--orange {
    border-left-color: var(--orange);
    background: var(--tint-orange);
}

.a-callout p {
    margin: 0 0 12px;
}

.a-callout > :last-child {
    margin-bottom: 0;
}

.a-callout__title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    font-weight: 700;
    color: var(--navy);
}

.a-callout__title .ico {
    width: 28px;
    height: 28px;
    color: var(--blue);
}

.a-callout--orange .a-callout__title .ico {
    color: var(--orange);
}

/* Цитата */
.a-quote {
    position: relative;
    margin: 52px 0;
    padding: 46px 52px 42px 130px;
    border-radius: var(--r-l);
    background: var(--navy);
    color: #fff;
    font-size: 30px;
    line-height: 1.45;
}

.a-quote p {
    margin: 0 0 14px;
}

.a-quote > :last-child {
    margin-bottom: 0;
}

.a-quote__mark {
    position: absolute;
    left: 46px;
    top: 44px;
    width: 52px;
    height: 52px;
    color: var(--orange);
}

.a-quote__cite {
    display: block;
    margin-top: 18px;
    font-size: 19px;
    font-style: normal;
    color: rgba(255, 255, 255, 0.75);
}

/* Цифры */
.a-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 18px;
    margin: 36px 0 44px;
}

.a-stat {
    padding: 30px 30px 28px;
    border: 1.5px solid var(--line);
    border-radius: var(--r-l);
    background: #fff;
}

.a-stat__num {
    display: block;
    font-size: 58px;
    line-height: 1;
    font-weight: 700;
    color: var(--blue);
    white-space: nowrap;
}

.a-stat__num small {
    margin-left: 6px;
    font-size: 0.42em;
    font-weight: 600;
}

.a-stat__label {
    display: block;
    margin-top: 14px;
    font-size: 19px;
    line-height: 1.4;
    color: var(--muted);
}

.a-stat--accent .a-stat__num {
    color: var(--orange);
}

.a-stat--solid {
    border-color: var(--blue);
    background: var(--blue);
}

.a-stat--solid .a-stat__num,
.a-stat--solid .a-stat__label {
    color: #fff;
}

/* Карточки */
.a-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 32px 0 44px;
}

.a-cards--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.a-card {
    position: relative;
    padding: 32px 32px 30px;
    border-radius: var(--r-l);
    background: var(--soft);
}

.a-card--wide {
    grid-column: 1 / -1;
}

.a-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.a-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: #fff;
    color: var(--blue);
}

.a-card__icon .ico {
    width: 32px;
    height: 32px;
}

.a-card__num {
    font-size: 22px;
    font-weight: 700;
    color: var(--orange);
}

.article__body .a-card__title {
    margin: 0 0 12px;
    font-size: 26px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--ink);
}

.a-card p,
.a-card li {
    font-size: 20px;
    line-height: 1.55;
}

.a-card p {
    margin: 0 0 12px;
}

.a-card > :last-child,
.a-card ul:last-child,
.a-card p:last-child {
    margin-bottom: 0;
}

.a-card--line {
    border: 1.5px solid var(--line);
    background: #fff;
}

.a-card--tint {
    background: var(--tint);
}

.a-card--blue {
    background: var(--blue);
    color: #fff;
}

.a-card--navy {
    background: var(--navy);
    color: #fff;
}

.article__body .a-card--blue .a-card__title,
.article__body .a-card--navy .a-card__title,
.a-card--blue b,
.a-card--navy b,
.a-card--blue strong,
.a-card--navy strong {
    color: #fff;
}

.a-card--blue .a-card__icon,
.a-card--navy .a-card__icon {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

/* Шаги */
.article__body .a-steps {
    margin: 34px 0 44px;
    counter-reset: st;
}

.article__body .a-steps > .a-step {
    position: relative;
    margin: 0;
    padding: 0 0 34px 94px;
    counter-increment: st;
}

.article__body .a-steps > .a-step::before {
    content: counter(st, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 21px;
    font-weight: 700;
}

.article__body .a-steps > .a-step::after {
    content: "";
    position: absolute;
    left: 30px;
    top: 70px;
    bottom: 8px;
    width: 2px;
    background: #C9D3F5;
}

.article__body .a-steps > .a-step:last-child {
    padding-bottom: 0;
}

.article__body .a-steps > .a-step:last-child::after {
    display: none;
}

.article__body .a-steps--orange > .a-step::before {
    background: var(--orange);
}

.article__body .a-step__title {
    margin: 12px 0 10px;
    font-size: 27px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--ink);
}

.a-step p {
    margin: 0 0 10px;
}

.a-step > :last-child {
    margin-bottom: 0;
}

/* Цепочка */
.article__body .a-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 10px;
    margin: 28px 0 36px;
}

.article__body .a-flow > li {
    margin: 0;
    padding: 0;
}

.article__body .a-flow > li::before {
    content: none;
}

.a-flow__item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 999px;
    background: var(--tint);
    color: var(--navy);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}

.a-flow__item .ico {
    width: 24px;
    height: 24px;
    color: var(--blue);
}

.a-flow__sep {
    color: var(--blue);
}

.a-flow__sep .ico {
    width: 26px;
    height: 26px;
}

/* Чек-лист */
.article__body .a-checklist {
    display: grid;
    gap: 14px;
    margin: 28px 0 40px;
}

.article__body .a-checklist > li {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin: 0;
    padding: 20px 26px;
    border-radius: var(--r-m);
    background: var(--soft);
}

.article__body .a-checklist > li::before {
    content: none;
}

.a-checklist > li > .ico {
    width: 30px;
    height: 30px;
    margin-top: 2px;
    color: var(--blue);
}

.a-checklist--2 {
    grid-template-columns: 1fr 1fr;
}

.article__body ol.a-checklist {
    counter-reset: chk;
}

.article__body ol.a-checklist > li {
    counter-increment: chk;
}

.article__body ol.a-checklist > li::before {
    content: counter(chk);
    position: static;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--orange);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

/* Сравнение */
.a-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 32px 0 44px;
}

.a-compare__col {
    padding: 32px 32px 30px;
    border-radius: var(--r-l);
    background: var(--soft);
}

.a-compare__col--accent {
    background: var(--tint);
}

.a-compare__head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    font-size: 26px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--ink);
}

.a-compare__head .ico {
    width: 34px;
    height: 34px;
    color: var(--blue);
}

.a-compare__col p,
.a-compare__col li {
    font-size: 20px;
    line-height: 1.55;
}

.a-compare__col > :last-child {
    margin-bottom: 0;
}

/* Рисунок, схема, график */
.a-figure {
    margin: 40px 0 48px;
    padding: 36px;
    border: 1.5px solid var(--line);
    border-radius: var(--r-l);
    background: #fff;
}

.a-figure svg.a-diagram {
    display: block;
    width: 100%;
    height: auto;
}

.a-figure__title {
    margin: 0 0 22px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--ink);
}

.a-figure__cap,
.article__body .a-figure__cap {
    margin: 18px 0 0;
    font-size: 17px;
    line-height: 1.45;
    color: var(--muted);
}

.article__body .a-kicker {
    margin-top: 40px;
}

.article__body .a-kicker + .a-cards,
.article__body .a-kicker + .a-stats,
.article__body .a-kicker + .a-steps,
.article__body .a-kicker + .a-checklist,
.article__body .a-kicker + .a-compare,
.article__body .a-kicker + .a-flow,
.article__body .a-kicker + .a-figure {
    margin-top: 0;
}

.a-box > :first-child,
.a-card > :first-child,
.a-compare__col > :first-child,
.a-callout > :first-child {
    margin-top: 0;
}

.a-bars {
    display: grid;
    gap: 18px;
}

.a-bar {
    display: grid;
    grid-template-columns: minmax(150px, 32%) minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    font-size: 19px;
    line-height: 1.35;
}

.a-bar__label {
    font-weight: 600;
    color: var(--ink);
}

.a-bar__track {
    height: 16px;
    border-radius: 4px;
    background: #EDF0F7;
    overflow: hidden;
}

.a-bar__fill {
    display: block;
    width: var(--w, 50%);
    height: 100%;
    border-radius: 4px;
    background: var(--blue);
}

.a-bar--accent .a-bar__fill {
    background: var(--orange);
}

.a-bar__value {
    min-width: 4ch;
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap;
}

/* Интервью: вопрос */
.article__body .a-qa-q {
    margin: 64px 0 24px;
    padding: 28px 32px;
    border-radius: var(--r-m);
    background: var(--tint);
    font-size: 26px;
    line-height: 1.45;
    font-weight: 600;
    color: var(--navy);
}

.a-qa-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--blue);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.2;
}

/* Теги */
.article__body .a-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 32px;
}

.article__body .a-tags > li {
    margin: 0;
    padding: 10px 18px;
    border: 1.5px solid var(--line);
    border-radius: 999px;
    font-size: 19px;
    line-height: 1.3;
}

.article__body .a-tags > li::before {
    content: none;
}

.a-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
}

.a-note {
    font-size: 18px;
    line-height: 1.5;
    color: var(--muted);
}

/* Справка о компании и другие спокойные блоки */
.a-box {
    margin: 48px 0 0;
    padding: 34px 38px;
    border-radius: var(--r-l);
    border: 1.5px solid var(--line);
}

.a-box > :last-child {
    margin-bottom: 0;
}

/* Призыв в конце статьи */
.article-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
    margin: 80px 0 0;
    padding: 50px 54px;
    border-radius: var(--r-xl);
    background: var(--navy);
    color: #fff;
}

.article-cta__kicker {
    margin-bottom: 14px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
}

.article-cta__title {
    margin-bottom: 14px;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
}

.article-cta p {
    margin: 0;
    font-size: 21px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.86);
}

.article-cta__actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

@media (max-width: 1199.98px) {
    .article {
        padding: 28px 0 56px;
    }

    .article__meta {
        gap: 8px 18px;
        margin-top: 14px;
        font-size: 14px;
    }

    .article__meta-item .ico {
        width: 18px;
        height: 18px;
    }

    .article__cover {
        margin-bottom: 28px;
        border-radius: 16px;
    }

    .article__cover-name {
        font-size: 18px;
    }

    .article__body {
        font-size: 17px;
        line-height: 1.6;
    }

    .article__body p {
        margin-bottom: 16px;
    }

    .article__body h2 {
        margin: 48px 0 18px;
        font-size: 27px;
    }

    .article__body h2::before {
        width: 48px;
        height: 5px;
        margin-bottom: 16px;
    }

    .article__body h3 {
        margin: 34px 0 12px;
        font-size: 21px;
    }

    .article__body ul > li {
        padding-left: 26px;
    }

    .article__body ul > li::before {
        left: 4px;
        width: 8px;
        height: 8px;
    }

    .article__body ol > li {
        padding-left: 44px;
    }

    .article__body ol > li::before {
        width: 30px;
        height: 30px;
        font-size: 15px;
    }

    .article__body .a-lead {
        margin-bottom: 28px;
        padding-left: 18px;
        border-left-width: 5px;
        font-size: 20px;
    }

    .a-byline {
        padding: 16px 18px;
        font-size: 15px;
    }

    .a-kicker {
        font-size: 12px;
    }

    .a-toc {
        margin-bottom: 32px;
        padding: 20px 20px 10px;
    }

    .article__body .a-toc ol,
    .article__body .a-toc ol:has(> li:nth-child(5)) {
        columns: 1;
    }

    .article__body .a-toc li {
        padding-left: 40px;
        font-size: 16px;
    }

    .article__body .a-toc li::before {
        width: 28px;
        height: 28px;
        font-size: 14px;
    }

    .a-callout {
        margin: 26px 0 30px;
        padding: 20px 20px 20px 22px;
        font-size: 18px;
    }

    .a-quote {
        margin: 32px 0;
        padding: 70px 22px 26px;
        font-size: 20px;
    }

    .a-quote__mark {
        left: 22px;
        top: 22px;
        width: 34px;
        height: 34px;
    }

    .a-quote__cite {
        font-size: 14px;
    }

    .a-stats {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 12px;
        margin: 24px 0 30px;
    }

    .a-stat {
        padding: 18px 18px 16px;
        border-radius: 16px;
    }

    .a-stat__num {
        font-size: 36px;
    }

    .a-stat__label {
        margin-top: 8px;
        font-size: 14px;
    }

    .a-cards,
    .a-cards--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin: 22px 0 30px;
    }

    .a-card {
        padding: 22px 20px 20px;
        border-radius: 16px;
    }

    .a-card__top {
        margin-bottom: 14px;
    }

    .a-card__icon {
        width: 46px;
        height: 46px;
        border-radius: 12px;
    }

    .a-card__icon .ico {
        width: 24px;
        height: 24px;
    }

    .a-card__num {
        font-size: 16px;
    }

    .article__body .a-card__title {
        font-size: 18px;
    }

    .a-card p,
    .a-card li {
        font-size: 15px;
    }

    .article__body .a-steps > .a-step {
        padding: 0 0 24px 62px;
    }

    .article__body .a-steps > .a-step::before {
        width: 44px;
        height: 44px;
        font-size: 15px;
    }

    .article__body .a-steps > .a-step::after {
        left: 21px;
        top: 52px;
    }

    .article__body .a-step__title {
        margin: 8px 0 8px;
        font-size: 18px;
    }

    .a-flow__item {
        padding: 10px 14px;
        font-size: 14px;
    }

    .a-flow__item .ico,
    .a-flow__sep .ico {
        width: 18px;
        height: 18px;
    }

    .article__body .a-checklist > li {
        gap: 12px;
        padding: 14px 16px;
    }

    .a-checklist > li > .ico {
        width: 22px;
        height: 22px;
    }

    .a-checklist--2 {
        grid-template-columns: 1fr;
    }

    .article__body ol.a-checklist > li::before {
        width: 28px;
        height: 28px;
        font-size: 14px;
    }

    .a-compare {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .a-compare__col {
        padding: 22px 20px;
    }

    .a-compare__head {
        font-size: 19px;
    }

    .a-compare__col p,
    .a-compare__col li {
        font-size: 15px;
    }

    .a-figure {
        margin: 28px 0 32px;
        padding: 18px;
        border-radius: 16px;
    }

    .a-figure__title {
        font-size: 18px;
    }

    .a-figure__cap {
        font-size: 13px;
    }

    .a-bar {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px 12px;
        font-size: 14px;
    }

    .a-bar__label {
        grid-column: 1 / -1;
    }

    .article__body .a-qa-q {
        margin: 40px 0 16px;
        padding: 18px 18px;
        font-size: 18px;
    }

    .a-qa-label {
        font-size: 11px;
    }

    .article__body .a-tags > li {
        padding: 7px 12px;
        font-size: 14px;
    }

    .a-split {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .a-box {
        padding: 22px 20px;
    }

    .article-cta {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 48px;
        padding: 28px 22px;
        border-radius: 20px;
    }

    .article-cta__kicker {
        font-size: 12px;
    }

    .article-cta__title {
        font-size: 23px;
    }

    .article-cta p {
        font-size: 15px;
    }
}

@media (max-width: 640px) {
    .a-cards,
    .a-cards--3 {
        grid-template-columns: 1fr;
    }
}

/* ---------- 9. Страница «Стоимость»: экспертная встреча ----------
   Вся страница стоит на одной сетке: 12 колонок с промежутком --pv-gap
   внутри .pv-wrap. Карточки идут по 2, 3 или 4 в ряд, поэтому их края
   совпадают с колонками заголовков разделов. Рисунки — встроенный SVG
   в фирменных цветах, без картинок из PDF. */
.pv {
    --pv-gap: 32px;
    --pv-pad: 48px;
    --pv-r: 28px;
    --peach: #FFD7C8;
}

.pv-wrap {
    max-width: 1680px;
    margin: 0 auto;
}

.pv-sec {
    padding: 136px 0;
}

.pv-sec--soft {
    background: var(--soft);
}

/* Заголовок раздела: слева надпись и заголовок, справа пояснение */
.pv-head {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--pv-gap);
    row-gap: 20px;
    align-items: end;
    margin-bottom: 64px;
}

.pv-head__main {
    grid-column: 1 / span 6;
}

.pv-head__lead,
.pv-head__aside {
    grid-column: 7 / span 6;
}

.pv-head--wide .pv-head__main {
    grid-column: 1 / span 8;
}

.pv-head--wide .pv-head__lead,
.pv-head--wide .pv-head__aside {
    grid-column: 9 / span 4;
}

.pv-head__lead {
    max-width: 720px;
    margin: 0;
    font-size: 23px;
    line-height: 1.55;
    color: var(--muted);
}

.pv-head__aside {
    justify-self: end;
}

.pv-eyebrow {
    display: block;
    margin-bottom: 22px;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pv-h2 {
    margin: 0;
    font-size: 60px;
    line-height: 1.1;
    font-weight: 600;
    color: var(--ink);
}

.pv-h3 {
    margin: 0;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--ink);
}

.pv-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: var(--tint);
    color: var(--blue);
}

.pv-icon .ico {
    width: 32px;
    height: 32px;
}

.pv-icon--orange {
    background: var(--tint-orange);
    color: var(--orange);
}

.pv-icon--light {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.pv-tag {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 16px;
    border-radius: 999px;
    background: var(--tint);
    color: var(--blue);
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pv-tag--orange {
    background: var(--orange);
    color: #fff;
}

.pv-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    font-weight: 600;
    color: var(--blue);
    transition: color 0.2s ease;
}

.pv-link .ico {
    width: 22px;
    height: 22px;
}

.pv-link:hover {
    color: var(--orange);
}

/* Первый экран */
.pv-hero {
    position: relative;
    overflow: hidden;
    padding: 34px 0 96px;
    background: var(--blue);
    color: #fff;
}

.pv-hero__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
    align-items: center;
    margin-top: 44px;
}

.pv-hero__main {
    grid-column: 1 / span 5;
}

/* Фото онлайн-встречи с экспертами рядом с заголовком */
.pv-hero__photo {
    grid-column: 6 / span 7;
    margin: 0;
}

.pv-hero__photo img {
    display: block;
    width: 100%;
    height: auto;
    border: 8px solid rgba(255, 255, 255, 0.16);
    border-radius: 28px;
}

.pv-chip {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 8px 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 19px;
    font-weight: 600;
}

.pv-chip .ico {
    width: 22px;
    height: 22px;
}

.pv-hero__title {
    margin: 30px 0;
    font-size: 72px;
    line-height: 1.06;
    font-weight: 700;
    color: #fff;
}

.pv-hero__title span {
    display: block;
    color: var(--peach);
}

.pv-hero__lead {
    max-width: 760px;
    margin: 0 0 44px;
    font-size: 28px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
}

.pv-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 18px;
}

.pv-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 72px 0 0;
    padding: 0;
    list-style: none;
}

.pv-kpis li {
    padding: 32px 36px 34px;
    border-radius: 24px;
    background: #fff;
}

.pv-kpis b {
    display: block;
    font-size: 54px;
    line-height: 1;
    font-weight: 700;
    color: var(--blue);
}

.pv-kpis span {
    display: block;
    margin-top: 14px;
    font-size: 20px;
    line-height: 1.45;
    color: var(--muted);
}

/* Рисунки: общее */
.pv-art {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
    font-family: "Exo2", sans-serif;
}

.pv-art use {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Стоимость: два формата */
.pv-plans {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--pv-gap);
}

.pv-plan {
    display: flex;
    flex-direction: column;
    padding: var(--pv-pad);
    border: 1.5px solid var(--line);
    border-radius: var(--pv-r);
    background: #fff;
}

.pv-plan__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 36px;
}

.pv-plan__title {
    margin: 0 0 16px;
    font-size: 40px;
    line-height: 1.15;
    font-weight: 600;
    color: var(--ink);
}

.pv-plan__text,
.pv-plan__price {
    min-height: 100px;
    margin: 0 0 32px;
}

.pv-plan__text {
    max-width: 640px;
    font-size: 21px;
    line-height: 1.55;
    color: var(--muted);
}

.pv-plan__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 20px;
}

.pv-plan__price b {
    font-size: 64px;
    line-height: 1;
    font-weight: 700;
}

.pv-plan__price span {
    font-size: 21px;
    color: rgba(255, 255, 255, 0.8);
}

.pv-ticks {
    display: grid;
    gap: 16px;
    margin: 0 0 44px;
    padding: 0;
    list-style: none;
}

.pv-ticks li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 21px;
    line-height: 1.45;
    color: var(--ink);
}

.pv-ticks .ico {
    width: 26px;
    height: 26px;
    margin-top: 1px;
    stroke-width: 2.2;
    color: var(--blue);
}

.pv-ticks li.is-off {
    color: var(--muted);
}

.pv-ticks li.is-off .ico {
    color: #A9B2C6;
}

.pv-plan__btn {
    align-self: flex-start;
    margin-top: auto;
}

.pv-plan--main {
    border-color: var(--navy);
    background: var(--navy);
    color: #fff;
}

.pv-plan--main .pv-plan__title,
.pv-plan--main .pv-ticks li {
    color: #fff;
}

.pv-plan--main .pv-ticks .ico {
    color: var(--peach);
}

.pv-tariff {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: var(--pv-gap);
    padding: 32px var(--pv-pad);
    border: 1.5px solid var(--line);
    border-radius: var(--pv-r);
    background: #fff;
    color: var(--ink);
    transition: border-color 0.2s ease;
}

.pv-tariff:hover {
    border-color: var(--blue);
}

.pv-tariff__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pv-tariff__body b {
    font-size: 26px;
    line-height: 1.2;
    font-weight: 600;
}

.pv-tariff__body span {
    font-size: 20px;
    color: var(--muted);
}

.pv-tariff__go {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    font-size: 20px;
    font-weight: 600;
    color: var(--blue);
    white-space: nowrap;
}

.pv-tariff__go .ico {
    width: 24px;
    height: 24px;
}

/* Когда нужна встреча */
.pv-signs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.pv-sign {
    padding: 40px 40px 44px;
    border-radius: var(--pv-r);
    background: var(--soft);
}

.pv-sign h3 {
    min-height: 2.5em;
    margin: 32px 0 12px;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--ink);
}

.pv-sign p {
    margin: 0;
    font-size: 20px;
    line-height: 1.55;
    color: var(--muted);
}

/* График: план бюджета и фактический бюджет */
.pv-budget {
    margin-top: var(--pv-gap);
    padding: var(--pv-pad);
    border-radius: var(--pv-r);
    background: var(--soft);
}

.pv-budget__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px 40px;
    margin-bottom: 24px;
}

.pv-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 32px;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    font-size: 19px;
    color: var(--muted);
}

.pv-legend li {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.pv-legend i {
    width: 32px;
    height: 3px;
    border-radius: 2px;
    background: var(--blue);
}

.pv-legend i.is-fact {
    background: var(--orange);
}

.pv-chart {
    display: block;
    width: 100%;
    height: auto;
    font-family: "Exo2", sans-serif;
}

.pv-chart--narrow {
    display: none;
}

.pv-chart .c-axis {
    stroke: #CDD5E8;
    stroke-width: 1.5;
}

.pv-chart .c-ticks circle {
    fill: #B9C3DD;
}

.pv-chart .c-x text {
    font-size: 20px;
    text-anchor: middle;
    fill: var(--muted);
}

.pv-chart .c-axis-t {
    font-size: 18px;
    fill: var(--muted);
}

.pv-chart .c-plan,
.pv-chart .c-fact {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pv-chart .c-plan {
    stroke: var(--blue);
}

.pv-chart .c-fact {
    stroke: var(--orange);
}

.pv-chart .c-area {
    fill: var(--orange);
    fill-opacity: 0.1;
}

.pv-chart .c-mark circle {
    fill: var(--orange);
    stroke: var(--soft);
    stroke-width: 4;
}

.pv-chart .c-mark text {
    font-size: 18px;
    font-weight: 700;
    text-anchor: middle;
    fill: #fff;
}

.pv-chart .c-lbl text {
    font-size: 19px;
    font-weight: 600;
    text-anchor: middle;
    fill: var(--ink);
}

.pv-chart .c-svh {
    fill: var(--orange);
    fill-opacity: 0.12;
}

.pv-chart .c-svh-t {
    font-size: 17px;
    font-weight: 600;
    text-anchor: middle;
    fill: var(--ink);
}

.pv-chart .c-end {
    font-size: 18px;
    fill: var(--muted);
}

.pv-chart .c-end--big {
    font-size: 26px;
    font-weight: 700;
    fill: var(--ink);
}

.pv-chart--narrow .c-x text {
    font-size: 13px;
}

.pv-chart--narrow .c-axis-t {
    font-size: 12px;
}

.pv-chart--narrow .c-plan,
.pv-chart--narrow .c-fact {
    stroke-width: 2.5;
}

.pv-chart--narrow .c-mark circle {
    stroke-width: 3;
}

.pv-chart--narrow .c-mark text {
    font-size: 12px;
}

.pv-chart--narrow .c-end {
    font-size: 12px;
}

.pv-chart--narrow .c-end--big {
    font-size: 17px;
}

.pv-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 36px 0 0;
    padding: 36px 0 0;
    border-top: 1.5px solid #DCE2EF;
    list-style: none;
}

.pv-points li {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}

.pv-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--orange);
    color: #fff;
    font-size: 19px;
    font-weight: 700;
}

.pv-points h4 {
    margin: 4px 0 8px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--ink);
}

.pv-points p {
    margin: 0;
    font-size: 19px;
    line-height: 1.55;
    color: var(--muted);
}

.pv-budget__note {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 36px 0 0;
    padding: 24px 28px;
    border-radius: 18px;
    background: #fff;
    font-size: 19px;
    line-height: 1.55;
    color: var(--ink);
}

.pv-budget__note .ico {
    width: 26px;
    height: 26px;
    margin-top: 1px;
    color: var(--blue);
}

/* Модель поставки: шесть карточек с рисунками */
.pv-model {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pv-gap);
}

.pv-mcard {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--pv-r);
    background: #fff;
}

.pv-mcard__art {
    padding: 28px 28px 20px;
    background: var(--tint);
}

.pv-mcard__body {
    padding: 36px 40px 44px;
}

.pv-mcard__num {
    display: block;
    margin-bottom: 12px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--blue);
}

.pv-mcard h3 {
    margin: 0 0 12px;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--ink);
}

.pv-mcard p {
    margin: 0;
    font-size: 20px;
    line-height: 1.55;
    color: var(--muted);
}

.pv-art--m .m-cap {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    fill: var(--muted);
}

.pv-art--m .m-t {
    font-size: 15px;
    font-weight: 600;
    fill: var(--ink);
}

.pv-art--m .m-t--14 {
    font-size: 14px;
}

.pv-art--m .m-s {
    font-size: 13px;
    fill: var(--muted);
}

.pv-art--m .m-line {
    fill: none;
    stroke: var(--blue);
    stroke-width: 3;
    stroke-linecap: round;
}

.pv-art--m .m-line--thin {
    stroke-width: 2;
}

.pv-art--m .m-dash {
    fill: none;
    stroke: var(--navy);
    stroke-width: 2;
    stroke-dasharray: 6 7;
    stroke-linecap: round;
    opacity: 0.7;
}

.pv-art--m .m-arrow {
    fill: none;
    stroke: var(--blue);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pv-art--m .m-arrow--s {
    stroke-width: 2;
}

.pv-art--m .m-node {
    fill: #fff;
    stroke: #C7D2F5;
    stroke-width: 1.5;
}

.pv-art--m .m-ic {
    color: var(--blue);
}

.pv-art--m .m-ic--muted {
    color: #8E9BBF;
}

.pv-art--m .m-risk {
    fill: var(--orange);
}

.pv-art--m .m-risk-t {
    font-size: 15px;
    font-weight: 700;
    fill: #fff;
}

.pv-art--m .m-alt {
    fill: #fff;
    stroke: var(--navy);
    stroke-width: 1.5;
    stroke-dasharray: 4 4;
}

.pv-art--m .m-alt-t {
    font-size: 14px;
    font-weight: 700;
    fill: var(--navy);
}

.pv-art--m .m-box {
    fill: #fff;
    stroke: #C7D2F5;
    stroke-width: 1.5;
}

.pv-art--m .m-box--main {
    stroke: var(--blue);
    stroke-width: 2;
}

.pv-art--m .m-badges circle {
    fill: var(--orange);
    stroke: var(--tint);
    stroke-width: 2;
}

.pv-art--m .m-badges-t text {
    font-size: 11px;
    font-weight: 700;
    text-anchor: middle;
    fill: #fff;
}

.pv-art--m .m-tag {
    fill: var(--blue);
}

.pv-art--m .m-tag-t {
    font-size: 14px;
    font-weight: 700;
    fill: #fff;
}

.pv-art--m .m-doc {
    fill: #fff;
    stroke: #D5DDF2;
    stroke-width: 1.5;
}

.pv-art--m .m-bar {
    fill: #E3E8F4;
}

.pv-art--m .m-bar--dark {
    fill: #C9D2E6;
}

.pv-art--m .m-bar--blue {
    fill: var(--blue);
}

.pv-art--m .m-hl {
    fill: var(--tint);
}

.pv-art--m .m-rule {
    fill: none;
    stroke: var(--line);
    stroke-width: 1.5;
}

.pv-art--m .m-track {
    fill: #E3E8F4;
}

.pv-art--m .m-riskbar {
    fill: var(--orange);
}

.pv-art--m .m-riskbar--range {
    fill-opacity: 0.35;
}

.pv-art--m .m-if {
    fill: var(--tint-orange);
}

.pv-art--m .m-then {
    fill: #fff;
}

.pv-art--m .m-seg {
    fill: #fff;
    stroke: #D5DDF2;
    stroke-width: 1.5;
}

.pv-art--m .m-seg-on {
    fill: var(--blue);
}

.pv-art--m .m-seg-t {
    font-size: 15px;
    font-weight: 600;
    fill: var(--ink);
}

.pv-art--m .m-seg-t--on {
    fill: #fff;
}

.pv-art--m .m-track-line {
    fill: none;
    stroke: #C9D2E6;
    stroke-width: 3;
    stroke-linecap: round;
}

.pv-art--m .m-bracket {
    fill: none;
    stroke: var(--orange);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pv-art--m .m-dot {
    fill: var(--blue);
    stroke: #fff;
    stroke-width: 3;
}

.pv-art--m .m-dot--off {
    fill: #fff;
    stroke: #C9D2E6;
}

.pv-art--m .m-plan {
    fill: var(--navy);
}

.pv-art--m .m-plan-t {
    font-size: 15px;
    font-weight: 700;
    fill: #fff;
}

.pv-band {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px 40px;
    margin-top: var(--pv-gap);
    padding: 40px var(--pv-pad);
    border-radius: var(--pv-r);
    background: var(--navy);
    color: #fff;
}

.pv-band p {
    margin: 0;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 600;
}

/* Встреча за 60 минут: диаграмма по времени */
.pv-gantt__scale,
.pv-gantt__row {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--pv-gap);
    align-items: center;
}

.pv-gantt__ticks {
    position: relative;
    grid-column: 8 / span 5;
    height: 26px;
}

.pv-gantt__ticks span {
    position: absolute;
    top: 0;
    left: calc(var(--t) / 60 * 100%);
    transform: translateX(-50%);
    font-size: 17px;
    font-weight: 600;
    color: var(--muted);
    white-space: nowrap;
}

.pv-gantt__ticks span:first-child {
    transform: none;
}

.pv-gantt__ticks span:last-child {
    transform: translateX(-100%);
}

.pv-gantt__rows {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
    border-bottom: 1.5px solid var(--line);
}

.pv-gantt__row {
    padding: 30px 0;
    border-top: 1.5px solid var(--line);
}

.pv-gantt__time {
    grid-column: 1 / span 2;
    font-size: 24px;
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap;
}

.pv-gantt__text {
    grid-column: 3 / span 5;
}

.pv-gantt__text h3 {
    margin: 0 0 6px;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--ink);
}

.pv-gantt__text p {
    margin: 0;
    font-size: 20px;
    line-height: 1.5;
    color: var(--muted);
}

.pv-gantt__track {
    position: relative;
    grid-column: 8 / span 5;
    height: 22px;
    border-radius: 4px;
    background: linear-gradient(90deg, #D9DFEC 1.5px, transparent 1.5px) 0 0 / 25% 100% repeat-x, var(--soft);
}

.pv-gantt__track i {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--s) / 60 * 100%);
    width: calc((var(--e) - var(--s)) / 60 * 100%);
    border-radius: 4px;
    background: var(--blue);
}

.pv-gantt__row--risk .pv-gantt__track i {
    background: var(--orange);
}

.pv-after {
    margin-top: 72px;
}

.pv-after__title {
    margin: 0 0 32px;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--ink);
}

.pv-after__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.pv-after__list li {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 36px 36px 40px;
    border-radius: var(--pv-r);
    background: var(--soft);
}

.pv-after__list .pv-icon {
    margin-bottom: 18px;
}

.pv-after__list b {
    min-height: 2.6em;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--ink);
}

.pv-after__text {
    font-size: 19px;
    line-height: 1.5;
    color: var(--muted);
}

/* Эксперты */
.pv-roles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.pv-role {
    padding: 40px 40px 44px;
    border-radius: var(--pv-r);
    background: #fff;
}

.pv-role h3 {
    min-height: 2.5em;
    margin: 32px 0 12px;
    font-size: 26px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--ink);
}

.pv-role p {
    margin: 0;
    font-size: 20px;
    line-height: 1.55;
    color: var(--muted);
}

.pv-invite {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
    align-items: center;
    margin-top: var(--pv-gap);
    padding: 40px var(--pv-pad);
    border-radius: var(--pv-r);
    background: #fff;
}

.pv-invite__main {
    grid-column: 1 / span 8;
}

.pv-invite__main h3 {
    margin: 0 0 20px;
    font-size: 26px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--ink);
}

.pv-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pv-chips li {
    padding: 10px 20px;
    border-radius: 999px;
    background: var(--tint);
    font-size: 19px;
    line-height: 1.3;
    color: var(--navy);
}

.pv-invite__note {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    grid-column: 9 / span 4;
    margin: 0;
    font-size: 19px;
    line-height: 1.55;
    color: var(--muted);
}

.pv-invite__note .ico {
    width: 26px;
    height: 26px;
    margin-top: 1px;
    color: var(--blue);
}

.pv-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 56px 0 0;
    padding: 0;
    list-style: none;
}

.pv-trust li {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 28px;
    border-left: 3px solid var(--blue);
}

.pv-trust b {
    font-size: 34px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--ink);
}

.pv-trust span {
    font-size: 19px;
    line-height: 1.5;
    color: var(--muted);
}

/* Проекты */
.pv-cases {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pv-gap);
}

.pv-case {
    display: flex;
    flex-direction: column;
    padding: 40px 40px 36px;
    border: 1.5px solid var(--line);
    border-radius: var(--pv-r);
    background: #fff;
    color: var(--ink);
    transition: border-color 0.2s ease;
}

.pv-case:hover {
    border-color: var(--blue);
}

.pv-case__top {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
}

.pv-case__sector {
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}

.pv-case__title {
    display: block;
    min-height: 2.6em;
    margin-bottom: 28px;
    font-size: 26px;
    line-height: 1.3;
    font-weight: 600;
}

.pv-case__nums {
    display: grid;
    gap: 20px;
    margin-bottom: 32px;
    padding-top: 28px;
    border-top: 1.5px solid var(--line);
}

.pv-case__num {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 18px;
    line-height: 1.45;
    color: var(--muted);
}

.pv-case__num b {
    font-size: 38px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--blue);
}

.pv-case__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    font-size: 19px;
    font-weight: 600;
    color: var(--blue);
}

.pv-case__more .ico {
    width: 22px;
    height: 22px;
    transition: transform 0.2s ease;
}

.pv-case:hover .pv-case__more .ico {
    transform: translateX(4px);
}

/* Как записаться и финальный блок */
.pv-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.pv-step {
    position: relative;
}

.pv-step::before {
    content: "";
    position: absolute;
    top: 31px;
    left: 80px;
    right: calc(16px - var(--pv-gap));
    height: 2px;
    background: #C9D2E6;
}

.pv-step:last-child::before {
    content: none;
}

.pv-step__num {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 28px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 26px;
    font-weight: 700;
}

.pv-step h3 {
    margin: 0 0 10px;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--ink);
}

.pv-step p {
    max-width: 360px;
    margin: 0;
    font-size: 20px;
    line-height: 1.55;
    color: var(--muted);
}

.pv-final {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin-top: 96px;
}

.pv-final__quote {
    position: relative;
    grid-column: 1 / span 8;
    margin: 0;
    padding: 56px 64px 52px;
    border-radius: var(--pv-r);
    background: var(--navy);
    color: #fff;
}

.pv-final__mark.ico {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 64px;
    height: 64px;
    color: var(--orange);
}

.pv-final blockquote {
    margin: 0 0 40px;
    padding-right: 96px;
}

.pv-final blockquote p {
    margin: 0;
    font-size: 30px;
    line-height: 1.5;
    font-weight: 500;
}

.pv-final figcaption {
    display: flex;
    align-items: center;
    gap: 20px;
}

.pv-final figcaption img {
    width: 88px;
    height: 88px;
    border: 3px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    object-fit: cover;
}

.pv-final figcaption span {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 19px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.8);
}

.pv-final figcaption b {
    font-size: 24px;
    color: #fff;
}

.pv-final__side {
    display: flex;
    flex-direction: column;
    gap: 28px;
    grid-column: 9 / span 4;
    padding: var(--pv-pad);
    border-radius: var(--pv-r);
    background: #fff;
}

.pv-final__side h3 {
    margin: 0;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--ink);
}

.pv-qr {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: auto;
    padding-top: 28px;
    border-top: 1.5px solid var(--line);
}

.pv-qr img {
    flex-shrink: 0;
    width: 220px;
    height: 220px;
}

.pv-qr p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    color: var(--muted);
}

.pv-qr a {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    font-weight: 600;
    color: var(--blue);
}

.pv-qr a .ico {
    width: 20px;
    height: 20px;
}

/* Форма в подвале: выбор, что нужно — встреча или расчёт */
.sf__topics {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    grid-column: 1 / -1;
    min-width: 0;
    margin: 0 0 6px;
    padding: 0;
    border: 0;
}

.sf__topics legend {
    float: left;
    width: 100%;
    margin: 0 0 12px;
    padding: 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--ink);
}

.sf__topic {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.sf__topic input[type="radio"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    border-radius: 999px;
    opacity: 0;
    cursor: pointer;
}

.sf__topic span {
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 0 26px;
    border: 2px solid #D5DBEA;
    border-radius: 999px;
    font-size: 19px;
    font-weight: 600;
    color: var(--ink);
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.sf__topic:hover span {
    border-color: var(--blue);
}

.sf__topic input:checked + span {
    border-color: var(--blue);
    background: var(--blue);
    color: #fff;
}

.sf__topic input:focus-visible + span {
    outline: 3px solid rgba(35, 77, 241, 0.35);
    outline-offset: 2px;
}

/* Планшеты */
@media (max-width: 1199.98px) {
    .pv {
        --pv-gap: 20px;
        --pv-pad: 32px;
        --pv-r: 22px;
    }

    .pv-sec {
        padding: 88px 0;
    }

    .pv-head {
        grid-template-columns: minmax(0, 1fr);
        margin-bottom: 40px;
    }

    .pv-head__main,
    .pv-head__lead,
    .pv-head__aside,
    .pv-head--wide .pv-head__main,
    .pv-head--wide .pv-head__lead,
    .pv-head--wide .pv-head__aside {
        grid-column: 1 / -1;
    }

    .pv-head__aside {
        justify-self: start;
    }

    .pv-head__lead {
        font-size: 18px;
    }

    .pv-eyebrow {
        margin-bottom: 14px;
        font-size: 14px;
    }

    .pv-h2 {
        font-size: 40px;
    }

    .pv-h3,
    .pv-after__title {
        font-size: 26px;
    }

    .pv-icon {
        width: 52px;
        height: 52px;
        border-radius: 14px;
    }

    .pv-icon .ico {
        width: 26px;
        height: 26px;
    }

    .pv-tag {
        min-height: 30px;
        font-size: 12px;
    }

    .pv-link {
        font-size: 17px;
    }

    .pv-hero {
        padding: 20px 0 56px;
    }

    .pv-hero__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 40px;
        margin-top: 24px;
    }

    .pv-chip {
        min-height: 40px;
        padding: 6px 18px;
        font-size: 15px;
    }

    .pv-hero__title {
        margin: 20px 0;
        font-size: 52px;
    }

    .pv-hero__lead {
        margin-bottom: 30px;
        font-size: 20px;
    }

    .pv-hero__note {
        margin-top: 22px;
        font-size: 16px;
    }

    .pv-hero__main,
    .pv-hero__photo {
        grid-column: 1 / -1;
    }

    .pv-hero__photo {
        max-width: 760px;
    }

    .pv-hero__photo img {
        border-width: 6px;
        border-radius: 22px;
    }

    .pv-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 44px;
    }

    .pv-kpis li {
        padding: 22px 24px 24px;
        border-radius: 18px;
    }

    .pv-kpis b {
        font-size: 40px;
    }

    .pv-kpis span {
        margin-top: 10px;
        font-size: 16px;
    }

    .pv-plan__head {
        margin-bottom: 24px;
    }

    .pv-plan__title {
        font-size: 30px;
    }

    .pv-plan__text,
    .pv-plan__price {
        min-height: 84px;
        margin-bottom: 24px;
    }

    .pv-plan__text,
    .pv-plan__price span {
        font-size: 17px;
    }

    .pv-plan__price b {
        font-size: 48px;
    }

    .pv-ticks {
        gap: 12px;
        margin-bottom: 32px;
    }

    .pv-ticks li {
        gap: 10px;
        font-size: 17px;
    }

    .pv-ticks .ico {
        width: 20px;
        height: 20px;
    }

    .pv-tariff {
        gap: 20px;
        padding: 24px var(--pv-pad);
    }

    .pv-tariff__body b {
        font-size: 20px;
    }

    .pv-tariff__body span,
    .pv-tariff__go {
        font-size: 16px;
    }

    .pv-signs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pv-sign,
    .pv-role {
        padding: 28px 28px 30px;
    }

    .pv-sign h3,
    .pv-role h3 {
        min-height: 0;
        margin-top: 22px;
        font-size: 22px;
    }

    .pv-sign p,
    .pv-role p,
    .pv-mcard p,
    .pv-step p,
    .pv-gantt__text p {
        font-size: 16px;
    }

    .pv-legend {
        margin-top: 4px;
        font-size: 15px;
    }

    .pv-points {
        margin-top: 24px;
        padding-top: 24px;
    }

    .pv-points li {
        gap: 12px;
    }

    .pv-num {
        width: 32px;
        height: 32px;
        font-size: 15px;
    }

    .pv-points h4 {
        margin: 3px 0 6px;
        font-size: 19px;
    }

    .pv-points p,
    .pv-budget__note,
    .pv-after__text,
    .pv-invite__note,
    .pv-trust span,
    .pv-qr p {
        font-size: 15px;
    }

    .pv-budget__note {
        margin-top: 24px;
        padding: 18px 20px;
    }

    .pv-budget__note .ico,
    .pv-invite__note .ico {
        width: 20px;
        height: 20px;
    }

    .pv-model {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pv-mcard__art {
        padding: 20px 20px 14px;
    }

    .pv-mcard__body {
        padding: 24px 28px 30px;
    }

    .pv-mcard__num {
        margin-bottom: 8px;
        font-size: 14px;
    }

    .pv-mcard h3,
    .pv-gantt__text h3,
    .pv-step h3 {
        font-size: 22px;
    }

    .pv-band {
        padding: 28px var(--pv-pad);
    }

    .pv-band p {
        font-size: 22px;
    }

    .pv-gantt__ticks span {
        font-size: 14px;
    }

    .pv-gantt__row {
        padding: 22px 0;
    }

    .pv-gantt__time {
        font-size: 18px;
    }

    .pv-gantt__track {
        height: 18px;
    }

    .pv-after {
        margin-top: 48px;
    }

    .pv-after__title {
        margin-bottom: 22px;
    }

    .pv-after__list,
    .pv-roles,
    .pv-cases,
    .pv-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pv-after__list li {
        padding: 26px 26px 28px;
    }

    .pv-after__list .pv-icon {
        margin-bottom: 10px;
    }

    .pv-after__list b {
        min-height: 0;
        font-size: 19px;
    }

    .pv-invite {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        padding: 28px var(--pv-pad);
    }

    .pv-invite__main,
    .pv-invite__note {
        grid-column: 1 / -1;
    }

    .pv-invite__main h3 {
        margin-bottom: 14px;
        font-size: 20px;
    }

    .pv-chips {
        gap: 8px;
    }

    .pv-chips li {
        padding: 8px 14px;
        font-size: 15px;
    }

    .pv-trust {
        margin-top: 40px;
    }

    .pv-trust li {
        padding-left: 18px;
    }

    .pv-trust b {
        font-size: 26px;
    }

    .pv-case {
        padding: 28px 28px 26px;
    }

    .pv-case__top {
        margin-bottom: 20px;
    }

    .pv-case__sector {
        font-size: 12px;
    }

    .pv-case__title {
        margin-bottom: 20px;
        font-size: 20px;
    }

    .pv-case__nums {
        gap: 14px;
        margin-bottom: 24px;
        padding-top: 20px;
    }

    .pv-case__num {
        font-size: 15px;
    }

    .pv-case__num b {
        font-size: 28px;
    }

    .pv-case__more {
        font-size: 16px;
    }

    .pv-steps {
        row-gap: 36px;
    }

    .pv-step::before {
        content: none;
    }

    .pv-step__num {
        width: 52px;
        height: 52px;
        margin-bottom: 18px;
        font-size: 21px;
    }

    .pv-final {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 56px;
    }

    .pv-final__quote,
    .pv-final__side {
        grid-column: 1 / -1;
    }

    .pv-final__quote {
        padding: 36px 36px 34px;
    }

    .pv-final__mark.ico {
        top: 30px;
        right: 30px;
        width: 44px;
        height: 44px;
    }

    .pv-final blockquote {
        margin-bottom: 28px;
        padding-right: 56px;
    }

    .pv-final blockquote p {
        font-size: 21px;
    }

    .pv-final figcaption img {
        width: 64px;
        height: 64px;
    }

    .pv-final figcaption span {
        font-size: 15px;
    }

    .pv-final figcaption b {
        font-size: 18px;
    }

    .pv-final__side {
        gap: 20px;
    }

    .pv-final__side h3 {
        font-size: 24px;
    }

    .pv-qr {
        padding-top: 20px;
    }

    .pv-qr img {
        width: 176px;
        height: 176px;
    }

    .sf__topic span {
        min-height: 46px;
        padding: 0 20px;
        font-size: 16px;
    }

    .sf__topics legend {
        font-size: 16px;
    }
}

/* Телефоны */
@media (max-width: 767.98px) {
    .pv {
        --pv-gap: 16px;
        --pv-pad: 22px;
        --pv-r: 20px;
    }

    .pv-sec {
        padding: 64px 0;
    }

    .pv-head {
        margin-bottom: 28px;
    }

    .pv-h2 {
        font-size: 30px;
    }

    .pv-h3,
    .pv-after__title {
        font-size: 22px;
    }

    .pv-head__lead {
        font-size: 16px;
    }

    .pv-hero__title {
        font-size: 38px;
    }

    .pv-hero__lead {
        font-size: 18px;
    }

    .pv-actions .btn2 {
        width: 100%;
    }

    .pv-hero__photo img {
        border-width: 4px;
        border-radius: 16px;
    }

    .pv-kpis {
        gap: 10px;
        margin-top: 36px;
    }

    .pv-kpis li {
        padding: 18px 18px 20px;
        border-radius: 16px;
    }

    .pv-kpis b {
        font-size: 30px;
    }

    .pv-kpis span {
        font-size: 14px;
    }

    .pv-plans,
    .pv-signs,
    .pv-points,
    .pv-model,
    .pv-after__list,
    .pv-roles,
    .pv-trust,
    .pv-cases,
    .pv-steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .pv-plan__text,
    .pv-plan__price {
        min-height: 0;
    }

    .pv-plan__title {
        font-size: 26px;
    }

    .pv-plan__btn {
        align-self: stretch;
    }

    .pv-tariff {
        flex-wrap: wrap;
    }

    .pv-tariff__body {
        flex: 1 1 160px;
    }

    .pv-tariff__go {
        margin-left: 0;
    }

    .pv-budget__head {
        gap: 14px;
        margin-bottom: 18px;
    }

    .pv-chart--wide {
        display: none;
    }

    .pv-chart--narrow {
        display: block;
    }

    .pv-points {
        gap: 18px;
    }

    .pv-band {
        padding: 24px var(--pv-pad);
    }

    .pv-band p {
        font-size: 19px;
    }

    .pv-band .btn2 {
        width: 100%;
    }

    .pv-gantt__scale {
        display: none;
    }

    .pv-gantt__rows {
        margin-top: 0;
    }

    .pv-gantt__row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 10px;
        padding: 20px 0;
    }

    .pv-gantt__time,
    .pv-gantt__text,
    .pv-gantt__track {
        grid-column: 1 / -1;
    }

    .pv-gantt__time {
        font-size: 15px;
        color: var(--blue);
    }

    .pv-gantt__track {
        height: 12px;
    }

    /* Карточки с иконкой слева: на телефоне так короче */
    .pv-sign,
    .pv-role,
    .pv-after__list li {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 16px;
        row-gap: 6px;
        align-items: start;
        padding: 20px 20px 22px;
    }

    .pv-sign .pv-icon,
    .pv-role .pv-icon,
    .pv-after__list .pv-icon {
        grid-row: 1 / span 2;
        width: 44px;
        height: 44px;
        margin: 0;
        border-radius: 12px;
    }

    .pv-sign .pv-icon .ico,
    .pv-role .pv-icon .ico,
    .pv-after__list .pv-icon .ico {
        width: 22px;
        height: 22px;
    }

    .pv-sign h3,
    .pv-role h3 {
        margin: 2px 0 0;
        font-size: 19px;
    }

    .pv-after__list b {
        margin-top: 2px;
        font-size: 17px;
    }

    .pv-trust {
        gap: 18px;
    }

    .pv-case__title {
        min-height: 0;
    }

    .pv-final__quote {
        padding: 28px 22px 26px;
    }

    .pv-final__mark.ico {
        top: 22px;
        right: 20px;
        width: 34px;
        height: 34px;
    }

    .pv-final blockquote {
        padding-right: 36px;
    }

    .pv-final blockquote p {
        font-size: 18px;
    }

    .pv-final__side .btn2 {
        width: 100%;
    }

    .pv-qr img {
        width: 132px;
        height: 132px;
    }
}

@media (max-width: 420px) {
    .pv-hero__title {
        font-size: 32px;
    }

    .pv-kpis b {
        font-size: 26px;
    }

    .pv-h2 {
        font-size: 27px;
    }
}

/* ==========================================================================
   Доработка 10.11.2026: эксперт внутри статьи, баннер руководства,
   блоки «ИИ в логистике и ВЭД» на главной и в новостях,
   опорная страница руководства (классы pl-).
   Размеры для экранов от 1200 px — «до масштаба» 75 %.
   ========================================================================== */

/* ---------- 10. Эксперт статьи ---------- */
.a-expert {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0 0 44px;
    padding: 22px 34px 22px 22px;
    border: 1.5px solid var(--line);
    border-radius: var(--r-l);
    background: #fff;
}

.a-expert__photo {
    flex-shrink: 0;
    width: 116px;
    height: 116px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--blue);
}

.a-expert__body {
    min-width: 0;
}

.a-expert__kicker {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--orange);
}

.article__body .a-expert__text {
    margin: 0;
    font-size: 21px;
    line-height: 1.5;
    color: var(--ink);
}

.article__body .a-expert__name {
    margin: 0 0 4px;
    font-size: 26px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--ink);
}

.article__body .a-expert__role {
    margin: 0;
    font-size: 19px;
    line-height: 1.45;
    color: var(--muted);
}

.article__avatar {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--blue);
}

/* ---------- 11. Баннер руководства в статьях ---------- */
.guide-banner {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 64px 0 0;
    padding: 28px 34px 28px 28px;
    border-radius: var(--r-l);
    background: var(--tint);
    color: var(--ink);
    transition: background-color 0.2s ease;
}

.guide-banner:hover {
    background: #E3E9FF;
}

.guide-banner__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 84px;
    height: 84px;
    border-radius: 22px;
    background: var(--blue);
    color: #fff;
}

.guide-banner__icon .ico {
    width: 42px;
    height: 42px;
}

.guide-banner__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    min-width: 0;
}

.guide-banner__kicker {
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.guide-banner__title {
    font-size: 31px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--navy);
}

.guide-banner__text {
    font-size: 19px;
    line-height: 1.45;
    color: var(--muted);
}

.guide-banner__go {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    min-height: 58px;
    padding: 0 28px;
    border-radius: 999px;
    background: var(--blue);
    color: #fff;
    font-size: 19px;
    font-weight: 600;
    transition: background-color 0.2s ease;
}

.guide-banner:hover .guide-banner__go {
    background: var(--orange);
}

.guide-banner__go .ico {
    width: 20px;
    height: 20px;
}

/* ---------- 12. Руководство в новостях ---------- */
.news-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 56px;
    align-items: center;
    margin: 0 0 40px;
    padding: 16px 56px 16px 16px;
    border: 1.5px solid var(--line);
    border-radius: var(--r-l);
    background: #fff;
    color: var(--ink);
    transition: border-color 0.2s ease;
}

.news-feature:hover {
    border-color: var(--blue);
}

.news-feature__media,
.news-feature__body,
.news-feature__title,
.news-feature__text {
    display: block;
}

.sf__note a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sf__note a:hover {
    color: #FFD7C8;
}

.news-feature__media {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    background: var(--blue);
}

.news-feature__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.news-feature:hover .news-feature__media img {
    transform: scale(1.03);
}

.news-feature .news__meta {
    margin-bottom: 20px;
}

.news-feature__title {
    margin: 0 0 18px;
    font-size: 50px;
    line-height: 1.12;
    font-weight: 700;
    color: var(--navy);
}

.news-feature__text {
    margin: 0 0 28px;
    font-size: 21px;
    line-height: 1.55;
    color: var(--muted);
}

.news-feature__author {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
    font-size: 18px;
    line-height: 1.4;
    color: var(--muted);
}

.news-feature__author img {
    flex-shrink: 0;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    object-fit: cover;
}

.news-feature__author b {
    display: block;
    font-weight: 600;
    color: var(--ink);
}

.news-feature__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 60px;
    padding: 0 30px;
    border-radius: 999px;
    background: var(--orange);
    color: #fff;
    font-size: 19px;
    font-weight: 600;
    transition: background-color 0.2s ease;
}

.news-feature:hover .news-feature__btn {
    background: var(--blue);
}

.news-feature__btn .ico {
    width: 20px;
    height: 20px;
}

.news__badge--orange {
    background: var(--tint-orange);
    color: var(--orange);
}

/* ---------- 13. Блок руководства на главной ---------- */
.ai-promo {
    padding: 0 0 110px;
}

.ai-promo__card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    gap: 64px;
    align-items: center;
    overflow: hidden;
    padding: 80px 84px;
    border-radius: var(--r-xl);
    background: var(--blue);
    color: #fff;
}

.ai-promo__net {
    position: absolute;
    left: -60px;
    bottom: -70px;
    width: 760px;
    height: auto;
    opacity: 0.32;
    pointer-events: none;
}

.ai-promo__main,
.ai-promo__facts {
    position: relative;
    z-index: 1;
}

.pl-label,
.ai-promo__kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 17px;
    font-weight: 600;
}

.pl-label .ico,
.ai-promo__kicker .ico {
    width: 22px;
    height: 22px;
}

.ai-promo__title {
    margin: 26px 0 20px;
    font-size: 68px;
    line-height: 1.06;
    font-weight: 700;
    color: #fff;
}

.ai-promo__lead {
    max-width: 760px;
    margin: 0 0 40px;
    font-size: 25px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
}

.ai-promo__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.ai-promo__facts {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ai-promo__facts li {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    padding: 24px 28px;
    border-radius: 22px;
    background: #fff;
}

.ai-promo__facts b {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--blue);
}

.ai-promo__facts span {
    font-size: 18px;
    line-height: 1.45;
    color: var(--muted);
}

/* ---------- 14. Опорная страница «ИИ в логистике и ВЭД» ---------- */

/* Полоса прочитанного под шапкой */
.pl-progress {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 5px;
    pointer-events: none;
}

.pl-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--orange);
}

.pl-wrap {
    max-width: 1680px;
    margin: 0 auto;
}

/* Первый экран */
.pl-hero {
    position: relative;
    overflow: hidden;
    padding: 34px 0 84px;
    background: var(--blue);
    color: #fff;
}

.crumbs--light .crumbs__item,
.crumbs--light .crumbs__item a,
.crumbs--light .crumbs__current {
    color: rgba(255, 255, 255, 0.82);
}

.crumbs--light .crumbs__item a:hover {
    color: #fff;
}

.crumbs--light .crumbs__current {
    color: #fff;
}

.crumbs--light .crumbs__item + .crumbs__item::before {
    border-color: rgba(255, 255, 255, 0.6);
}

.pl-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
    gap: 40px;
    align-items: center;
    margin-top: 46px;
}

.pl-hero__title {
    margin: 28px 0 26px;
    font-size: 94px;
    line-height: 1.04;
    font-weight: 700;
    color: #fff;
}

.pl-hero__title span {
    display: block;
    color: #FFD7C8;
}

.pl-hero__lead {
    max-width: 920px;
    margin: 0 0 40px;
    font-size: 30px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
}

.pl-author {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0 0 42px;
}

.pl-author img {
    flex-shrink: 0;
    width: 86px;
    height: 86px;
    border: 3px solid #fff;
    border-radius: 50%;
    object-fit: cover;
}

.pl-author__name {
    font-size: 23px;
    line-height: 1.3;
    font-weight: 700;
}

.pl-author__meta {
    margin-top: 4px;
    font-size: 18px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.82);
}

.pl-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 18px;
}

.pl-pdf {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    font-size: 19px;
    font-weight: 600;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pl-pdf .ico {
    width: 22px;
    height: 22px;
}

.pl-pdf:hover {
    color: #FFD7C8;
}

.pl-hero__map {
    position: relative;
}

.pl-hero__map .pl-net {
    width: 140%;
    margin-left: -40%;
}

.pl-net {
    display: block;
    width: 100%;
    height: auto;
}

.pl-net__arc {
    fill: none;
    stroke: rgba(255, 255, 255, 0.55);
    stroke-width: 2;
}

.pl-net__arc--main {
    stroke: #fff;
    stroke-width: 2.5;
}

.pl-net__dot {
    fill: #fff;
}

.pl-net__ring {
    fill: none;
    stroke: rgba(255, 255, 255, 0.5);
    stroke-width: 2;
}

.pl-net__label {
    fill: #fff;
    font-family: "Exo2", sans-serif;
    font-size: 21px;
    font-weight: 600;
}

.pl-net__dot--hub {
    fill: var(--orange);
}

.pl-hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 64px 0 0;
    padding: 0;
    list-style: none;
}

.pl-hero__facts li {
    padding: 28px 30px;
    border-radius: 22px;
    background: #fff;
    font-size: 18px;
    line-height: 1.45;
    color: var(--muted);
}

.pl-hero__facts b {
    display: block;
    margin-bottom: 10px;
    font-size: 46px;
    line-height: 1;
    font-weight: 700;
    color: var(--blue);
}

/* Раскладка: содержание слева, текст справа */
.pl-main {
    padding: 90px 0 30px;
}

.pl-layout {
    display: grid;
    grid-template-columns: 370px minmax(0, 1fr);
    gap: 96px;
    align-items: start;
}

.pl-aside {
    position: sticky;
    top: 140px;
}

/* Высота колонки: экран минус шапка; 133vh — поправка на масштаб 75 % */
@media (min-width: 1200px) {
    .pl-aside {
        max-height: calc(133.3vh - 190px);
        overflow-y: auto;
        scrollbar-width: thin;
    }
}

.pl-toc {
    padding: 28px 22px 22px;
    border-radius: var(--r-l);
    background: var(--soft);
}

.pl-toc > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    list-style: none;
    cursor: default;
    pointer-events: none;
}

.pl-toc > summary::-webkit-details-marker {
    display: none;
}

.pl-toc__title {
    padding-left: 8px;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-toc__pct {
    font-size: 15px;
    color: var(--muted);
}

.pl-toc__chev {
    display: none;
}

.pl-toc__bar {
    height: 6px;
    margin: 16px 8px 18px;
    overflow: hidden;
    border-radius: 3px;
    background: #fff;
}

.pl-toc__bar span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--orange);
}

.pl-toc ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-toc a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 9px 10px;
    border-radius: 12px;
    font-size: 18px;
    line-height: 1.35;
    color: var(--ink);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.pl-toc a:hover {
    background: #fff;
    color: var(--blue);
}

.pl-toc__n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #fff;
    color: var(--blue);
    font-size: 14px;
    font-weight: 700;
}

.pl-toc li.is-active > a {
    background: #fff;
    color: var(--blue);
    font-weight: 600;
}

.pl-toc li.is-active > a .pl-toc__n {
    background: var(--blue);
    color: #fff;
}

.pl-toc ol ol {
    display: none;
    margin: 2px 0 8px 42px;
}

.pl-toc li.is-active > ol {
    display: block;
}

.pl-toc ol ol a {
    padding: 6px 10px;
    font-size: 16px;
    color: var(--muted);
}

.pl-toc ol ol li.is-current > a {
    color: var(--blue);
    font-weight: 600;
}

.pl-side-cta {
    margin-top: 18px;
    padding: 28px 24px 24px;
    border-radius: var(--r-l);
    background: var(--navy);
    color: #fff;
}

.pl-side-cta__title {
    margin-bottom: 8px;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
}

.pl-side-cta p {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
}

.pl-side-cta .btn2 {
    width: 100%;
    min-height: 54px;
    padding: 0 18px;
    font-size: 17px;
}

.pl-side-cta .btn2 + .btn2 {
    margin-top: 10px;
}

.pl-side-cta .pl-pdf {
    margin-top: 18px;
    font-size: 16px;
}

/* Текст руководства */
.pl-body {
    min-width: 0;
    max-width: 1180px;
    font-size: 22px;
    line-height: 1.65;
    color: var(--text-color);
}

.pl-body p {
    margin: 0 0 22px;
}

.pl-body a:not([class]) {
    color: var(--blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pl-body b,
.pl-body strong {
    font-weight: 600;
    color: var(--ink);
}

.pl-body h4 {
    margin: 0;
}

.pl-body [hidden] {
    display: none !important;
}

/* Жирный текст на тёмных плашках остаётся белым */
.pl-calc__big b,
.pl-score__sum b,
.pl-status > div:nth-child(1) b,
.pl-status > div:nth-child(2) b {
    color: #fff;
}

.pl-status > div:nth-child(3) b {
    color: var(--navy);
}

.pl-matrix td:first-child {
    width: 34%;
}

.pl-sub {
    font-size: 23px;
    color: var(--muted);
}

.pl-kick {
    display: block;
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

/* Коротко */
.pl-tldr {
    margin: 0 0 80px;
    padding: 38px 44px 34px;
    border: 2px solid var(--blue);
    border-radius: var(--r-l);
}

.pl-tldr ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: tl;
}

.pl-tldr li {
    position: relative;
    margin: 0 0 16px;
    padding-left: 56px;
    font-size: 21px;
    line-height: 1.55;
    counter-increment: tl;
}

.pl-tldr li:last-child {
    margin-bottom: 0;
}

.pl-tldr li::before {
    content: counter(tl);
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--tint);
    color: var(--blue);
    font-size: 17px;
    font-weight: 700;
}

.pl-tldr li a {
    font-size: 17px;
    white-space: nowrap;
}

/* Глава */
.pl-chapter {
    margin: 0 0 40px;
    padding: 0 0 50px;
}

.pl-chapter + .pl-chapter,
.pl-cta + .pl-chapter {
    padding-top: 90px;
    border-top: 1.5px solid var(--line);
}

.pl-chapter__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    margin: 0 0 54px;
}

.pl-chapter__num {
    font-size: 150px;
    line-height: 0.78;
    font-weight: 700;
    color: #D9E1FF;
}

.pl-chapter__head h2 {
    margin: 0 0 18px;
    font-size: 62px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--navy);
}

.pl-chapter__lead {
    margin: 0;
    font-size: 25px;
    line-height: 1.5;
    color: var(--muted);
}

.pl-body h3.pl-h3 {
    margin: 84px 0 20px;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--ink);
}

.pl-body h3.pl-h3::before {
    content: "";
    display: block;
    width: 64px;
    height: 6px;
    margin-bottom: 26px;
    border-radius: 3px;
    background: var(--orange);
}

.pl-chapter__head + h3.pl-h3,
.pl-chapter__head + .pl-h3 {
    margin-top: 0;
}

/* Плашки: главное, на практике, осторожно, проверьте себя */
.pl-note {
    position: relative;
    margin: 36px 0 40px;
    padding: 30px 36px 30px 100px;
    border-radius: 22px;
    font-size: 21px;
    line-height: 1.55;
}

.pl-note > .ico {
    position: absolute;
    left: 36px;
    top: 30px;
    width: 38px;
    height: 38px;
}

.pl-note__label {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.pl-note p {
    margin: 0 0 10px;
}

.pl-note > :last-child,
.pl-note p:last-child {
    margin-bottom: 0;
}

.pl-note ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-note li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 24px;
}

.pl-note li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.62em;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--blue);
}

.pl-note--main {
    background: var(--navy);
    color: #fff;
}

.pl-note--main .pl-note__label {
    color: rgba(255, 255, 255, 0.72);
}

.pl-note--main > .ico {
    color: #fff;
}

.pl-note--main b,
.pl-note--main strong {
    color: #fff;
}

.pl-note--practice {
    background: var(--tint);
    color: var(--ink);
}

.pl-note--practice .pl-note__label,
.pl-note--practice > .ico {
    color: var(--blue);
}

.pl-note--warn {
    border: 2px solid var(--orange);
    background: #fff;
    color: var(--ink);
}

.pl-note--warn .pl-note__label,
.pl-note--warn > .ico {
    color: var(--orange);
}

.pl-note--check {
    border: 1.5px solid var(--line);
    background: #fff;
    color: var(--ink);
}

.pl-note--check .pl-note__label,
.pl-note--check > .ico {
    color: var(--blue);
}

.pl-note--soft {
    background: var(--soft);
    color: var(--ink);
}

.pl-note--soft .pl-note__label,
.pl-note--soft > .ico {
    color: var(--blue);
}

.pl-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 36px 0 40px;
}

.pl-pair > .pl-note {
    margin: 0;
}

/* Читайте также */
.pl-also {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin: 30px 0 40px;
    padding: 20px 26px;
    border-radius: 18px;
    background: var(--soft);
    font-size: 19px;
    line-height: 1.45;
}

.pl-also > span {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
}

.pl-also a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--blue);
    font-weight: 600;
    text-decoration: none;
}

.pl-also a:hover {
    text-decoration: underline;
}

.pl-also a .ico {
    width: 20px;
    height: 20px;
}

/* Таблицы */
.pl-table-wrap {
    margin: 30px 0 40px;
    overflow-x: auto;
    border: 1.5px solid var(--line);
    border-radius: 20px;
}

.pl-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 19px;
    line-height: 1.45;
}

.pl-table th {
    padding: 18px 22px;
    background: var(--navy);
    color: #fff;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
    vertical-align: bottom;
}

.pl-table td {
    padding: 15px 22px;
    border-top: 1.5px solid var(--line);
    vertical-align: top;
}

.pl-table tbody tr:nth-child(even) td {
    background: #FAFBFE;
}

.pl-table td:first-child {
    font-weight: 600;
    color: var(--ink);
}

.pl-table .pl-num {
    text-align: right;
    white-space: nowrap;
}

.pl-table .pl-c {
    text-align: center;
}

.pl-table .is-total td {
    background: var(--tint);
    font-weight: 700;
    color: var(--navy);
}

.pl-table .pl-hl {
    font-weight: 700;
    color: var(--blue);
}

.pl-table .pl-warn {
    font-weight: 700;
    color: var(--orange);
}

.pl-table tr.is-wait td {
    background: var(--tint-orange);
}

.pl-table--plain td:first-child {
    font-weight: 400;
}

.pl-dot {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    vertical-align: middle;
}

.pl-dot--yes {
    background: var(--blue);
}

.pl-dot--no {
    border: 2px solid #B4C2EE;
}

.pl-legend {
    display: flex;
    gap: 26px;
    margin: -24px 0 36px;
    font-size: 16px;
    color: var(--muted);
}

.pl-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Цифры */
.pl-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 30px 0 40px;
}

.pl-stats--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pl-stats--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pl-stat {
    padding: 28px 28px 26px;
    border: 1.5px solid var(--line);
    border-radius: 22px;
    background: #fff;
}

.pl-stat b {
    display: block;
    font-size: 58px;
    line-height: 1;
    font-weight: 700;
    color: var(--blue);
    white-space: nowrap;
}

.pl-stat span {
    display: block;
    margin-top: 14px;
    font-size: 18px;
    line-height: 1.45;
    color: var(--muted);
}

.pl-stat--solid {
    border-color: var(--blue);
    background: var(--blue);
}

.pl-stat--solid b,
.pl-stat--solid span {
    color: #fff;
}

.pl-stats--4 .pl-stat b {
    font-size: 46px;
}

.pl-stat--wide {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 28px;
    border-color: var(--navy);
    background: var(--navy);
}

.pl-stat--wide b {
    flex-shrink: 0;
    font-size: 40px;
    color: #fff;
}

.pl-stat--wide span {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
}

/* Метки-«пилюли» */
.pl-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-chips li {
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--tint);
    color: var(--blue);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
}

/* Вступление: факты, для кого, автор */
.pl-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 44px;
    align-items: start;
}

.pl-intro__side {
    display: grid;
    gap: 16px;
}

.pl-box {
    padding: 26px 26px 24px;
    border-radius: 22px;
    background: var(--soft);
    font-size: 18px;
    line-height: 1.5;
}

.pl-box > :last-child {
    margin-bottom: 0;
}

.pl-box .pl-kick {
    margin-bottom: 12px;
}

.pl-box ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-box li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 22px;
}

.pl-box li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.62em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--blue);
}

.pl-legendlist li {
    padding-left: 0;
}

.pl-legendlist li::before {
    display: none;
}

.pl-legendlist b {
    display: block;
    color: var(--navy);
}

.pl-legendlist span {
    color: var(--muted);
}

.pl-bio {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    margin: 30px 0 40px;
    padding: 30px;
    border: 1.5px solid var(--line);
    border-radius: var(--r-l);
}

.pl-bio img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
}

.pl-bio__name {
    font-size: 27px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--ink);
}

.pl-bio__role {
    margin: 4px 0 14px;
    font-size: 19px;
    color: var(--blue);
    font-weight: 600;
}

.pl-bio ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 26px;
}

.pl-bio li {
    position: relative;
    padding-left: 22px;
    font-size: 18px;
    line-height: 1.45;
    color: var(--muted);
}

.pl-bio li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.6em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--orange);
}

/* Путь поставки */
.pl-path {
    margin: 34px 0 40px;
    padding: 0;
    list-style: none;
}

.pl-path__step {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 30px;
    padding: 0 0 34px 94px;
}

.pl-path__step::before {
    content: "";
    position: absolute;
    left: 29px;
    top: 62px;
    bottom: 4px;
    width: 2px;
    background: #C9D4FB;
}

.pl-path__step:last-child {
    padding-bottom: 0;
}

.pl-path__step:last-child::before {
    display: none;
}

.pl-path__num {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 22px;
    font-weight: 700;
}

.pl-path__title {
    margin: 12px 0 8px;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--ink);
}

.pl-body .pl-path__text {
    margin: 0 0 14px;
    font-size: 20px;
    line-height: 1.55;
}

.pl-docs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-docs li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 10px;
    background: var(--tint);
    color: var(--navy);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
}

.pl-docs .ico {
    width: 18px;
    height: 18px;
    color: var(--blue);
}

.pl-path__who {
    align-self: start;
    margin-top: 12px;
    padding: 16px 20px;
    border-radius: 16px;
    background: var(--soft);
    font-size: 17px;
    line-height: 1.45;
    color: var(--ink);
}

.pl-path__who b {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

/* Четыре шага с работой и задержкой */
.pl-flow4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 30px 0 40px;
    padding: 0;
    list-style: none;
    counter-reset: f4;
}

.pl-flow4 > li {
    padding: 26px 24px;
    border-radius: 20px;
    background: var(--soft);
    counter-increment: f4;
}

.pl-flow4__title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    font-size: 21px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--navy);
}

.pl-flow4__title::before {
    content: counter(f4);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 17px;
}

.pl-flow4 dl {
    margin: 0;
}

.pl-flow4 dt {
    margin-top: 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-flow4 dt.is-delay {
    color: var(--orange);
}

.pl-flow4 dd {
    margin: 4px 0 0;
    font-size: 18px;
    line-height: 1.5;
}

/* Голос бизнеса */
.pl-voices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 30px 0 40px;
}

.pl-voice {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 28px 30px;
    border: 1.5px solid var(--line);
    border-radius: 22px;
    background: #fff;
}

.pl-voice__tag {
    margin-bottom: 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-voice blockquote {
    margin: 0 0 16px;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--navy);
}

.pl-body .pl-voice p {
    margin: auto 0 0;
    font-size: 17px;
    line-height: 1.5;
    color: var(--muted);
}

.pl-voice--accent {
    border-color: var(--navy);
    background: var(--navy);
}

.pl-voice--accent .pl-voice__tag {
    color: rgba(255, 255, 255, 0.7);
}

.pl-voice--accent blockquote {
    color: #fff;
}

.pl-body .pl-voice--accent p {
    color: rgba(255, 255, 255, 0.78);
}

/* Большая цитата */
.pl-quote {
    position: relative;
    margin: 44px 0;
    padding: 42px 48px 38px 124px;
    border-radius: var(--r-l);
    background: var(--navy);
    color: #fff;
}

.pl-quote > .ico {
    position: absolute;
    left: 44px;
    top: 42px;
    width: 50px;
    height: 50px;
    color: var(--orange);
}

.pl-quote blockquote {
    margin: 0 0 14px;
    font-size: 30px;
    line-height: 1.4;
    font-weight: 600;
}

.pl-body .pl-quote p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.78);
}

/* Карточки с номером */
.pl-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 30px 0 40px;
}

.pl-cards--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pl-card {
    padding: 30px 30px 28px;
    border-radius: 22px;
    background: var(--soft);
}

.pl-card--line {
    border: 1.5px solid var(--line);
    background: #fff;
}

.pl-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.pl-card__num {
    font-size: 40px;
    line-height: 1;
    font-weight: 700;
    color: var(--blue);
}

.pl-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: #fff;
    color: var(--blue);
}

.pl-card--line .pl-card__icon {
    background: var(--tint);
}

.pl-card__icon .ico {
    width: 30px;
    height: 30px;
}

.pl-card__title {
    margin: 0 0 10px;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--ink);
}

.pl-body .pl-card p {
    margin: 0 0 10px;
    font-size: 19px;
    line-height: 1.55;
}

.pl-card > :last-child,
.pl-body .pl-card p:last-child {
    margin-bottom: 0;
}

.pl-card ul,
.pl-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-card li,
.pl-list li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 24px;
    font-size: 19px;
    line-height: 1.5;
}

.pl-card li::before,
.pl-list li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.62em;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--blue);
}

.pl-list--orange li::before {
    background: var(--orange);
}

/* Уровни ИИ */
.pl-levels {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 30px 0 14px;
}

.pl-level {
    display: flex;
    flex-direction: column;
    padding: 26px 24px 22px;
    border-radius: 22px;
    background: var(--soft);
}

.pl-level:nth-child(2) {
    background: var(--tint);
}

.pl-level:nth-child(3) {
    background: #DCE4FF;
}

.pl-level:nth-child(4) {
    background: var(--navy);
    color: #fff;
}

.pl-level__n {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 16px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 19px;
    font-weight: 700;
}

.pl-level:nth-child(4) .pl-level__n {
    background: #fff;
    color: var(--navy);
}

.pl-level__name {
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--navy);
}

.pl-level__what {
    margin: 6px 0 12px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--blue);
}

.pl-body .pl-level p {
    margin: 0 0 16px;
    font-size: 18px;
    line-height: 1.5;
}

.pl-level__who {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1.5px solid rgba(35, 53, 137, 0.14);
    font-size: 16px;
    line-height: 1.45;
}

.pl-level__who b {
    display: block;
    margin-bottom: 2px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-level:nth-child(4) .pl-level__name,
.pl-level:nth-child(4) .pl-level__who b {
    color: #fff;
}

.pl-level:nth-child(4) .pl-level__what {
    color: #B9C8FF;
}

.pl-level:nth-child(4) .pl-level__who {
    border-top-color: rgba(255, 255, 255, 0.22);
}

.pl-scale {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0 0 40px;
    font-size: 16px;
    line-height: 1.3;
    color: var(--muted);
}

.pl-scale i {
    position: relative;
    flex: 1;
    height: 2px;
    background: #9DB0FF;
}

.pl-scale i::after {
    content: "";
    position: absolute;
    right: -2px;
    top: -6px;
    border-left: 12px solid #9DB0FF;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
}

.pl-same {
    margin: 0 0 40px;
    padding: 26px 26px 22px;
    border-radius: 22px;
    background: var(--soft);
}

.pl-same ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: sm;
}

.pl-same li {
    position: relative;
    padding: 18px 18px 18px 18px;
    border-radius: 16px;
    background: #fff;
    font-size: 17px;
    line-height: 1.45;
    counter-increment: sm;
}

.pl-same li::before {
    content: counter(sm);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-bottom: 10px;
    border-radius: 50%;
    background: var(--tint);
    color: var(--blue);
    font-size: 15px;
    font-weight: 700;
}

/* Окно диалога */
.pl-chat {
    margin: 30px 0 30px;
    overflow: hidden;
    border: 1.5px solid var(--line);
    border-radius: 22px;
    background: #fff;
}

.pl-chat__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    padding: 16px 24px;
    border-bottom: 1.5px solid var(--line);
    background: var(--soft);
    font-size: 17px;
    font-weight: 700;
    color: var(--navy);
}

.pl-chat__bar > span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.pl-chat__bar .ico {
    width: 20px;
    height: 20px;
    color: var(--blue);
}

.pl-chat__mode {
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.pl-chat__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 26px 24px;
}

.pl-msg {
    max-width: 86%;
    padding: 18px 22px;
    border-radius: 18px;
    font-size: 19px;
    line-height: 1.5;
}

.pl-msg__who {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.pl-msg--user {
    align-self: flex-end;
    background: var(--tint);
}

.pl-msg--user .pl-msg__who {
    color: var(--blue);
}

.pl-msg--ai {
    align-self: flex-start;
    border: 1.5px solid var(--line);
    background: #fff;
}

.pl-msg--ai .pl-msg__who {
    color: var(--orange);
}

.pl-files {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.pl-file {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px 5px 6px;
    border-radius: 10px;
    background: var(--soft);
    font-size: 15px;
    line-height: 1.3;
    color: var(--ink);
}

.pl-file b {
    padding: 3px 7px;
    border-radius: 6px;
    background: var(--blue);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.pl-chat__foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 16px;
    padding: 12px 24px;
    border-top: 1.5px solid var(--line);
    font-size: 15px;
    color: var(--muted);
}

/* Умеет / ограничения */
.pl-canlim {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0 36px;
}

.pl-canlim > div {
    padding: 24px 26px;
    border-radius: 20px;
    background: var(--soft);
}

.pl-canlim h4 {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-canlim .is-lim h4 {
    color: var(--orange);
}

.pl-canlim ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-canlim li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 32px;
    font-size: 18px;
    line-height: 1.5;
}

.pl-canlim li:last-child {
    margin-bottom: 0;
}

.pl-canlim li .ico {
    position: absolute;
    left: 0;
    top: 3px;
    width: 21px;
    height: 21px;
    color: var(--blue);
}

.pl-canlim .is-lim li .ico {
    color: var(--orange);
}

.pl-mini {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 30px;
}

.pl-mini > div {
    padding: 20px 22px;
    border: 1.5px solid var(--line);
    border-radius: 18px;
}

.pl-mini b {
    display: block;
    margin-bottom: 6px;
    font-size: 19px;
    line-height: 1.3;
    color: var(--navy);
}

.pl-mini span {
    display: block;
    font-size: 16px;
    line-height: 1.45;
    color: var(--muted);
}

/* Цель агенту */
.pl-goal {
    margin: 30px 0 22px;
    padding: 26px 30px;
    border-radius: 20px;
    background: var(--tint);
}

.pl-goal q {
    display: block;
    margin: 0 0 12px;
    font-size: 23px;
    line-height: 1.45;
    font-weight: 600;
    color: var(--navy);
    quotes: none;
}

/* Оркестрация */
.pl-orch {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 30px 0 34px;
    padding: 40px 30px;
    border-radius: 24px;
    background: var(--soft);
}

.pl-orch__node {
    position: relative;
    width: min(100%, 540px);
    padding: 16px 22px;
    border: 1.5px solid #CBD6FF;
    border-radius: 16px;
    background: #fff;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
    color: var(--navy);
}

.pl-orch__node small {
    display: block;
    margin-top: 4px;
    font-size: 15px;
    font-weight: 400;
    color: var(--muted);
}

.pl-orch__node--final {
    border-color: var(--navy);
    background: var(--navy);
    color: #fff;
}

.pl-orch__line {
    display: block;
    width: 2px;
    height: 26px;
    background: #9DB0FF;
}

.pl-orch__aside {
    position: absolute;
    left: calc(100% + 20px);
    top: 50%;
    width: 230px;
    transform: translateY(-50%);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;
    text-align: left;
    color: var(--muted);
}

.pl-orch__par {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    padding: 26px 0;
}

.pl-orch__par::before,
.pl-orch__par::after {
    content: "";
    position: absolute;
    left: 12.5%;
    right: 12.5%;
    height: 2px;
    background: #9DB0FF;
}

.pl-orch__par::before {
    top: 0;
}

.pl-orch__par::after {
    bottom: 0;
}

.pl-orch__par .pl-orch__node {
    width: auto;
}

.pl-orch__par .pl-orch__node::before,
.pl-orch__par .pl-orch__node::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 2px;
    height: 26px;
    background: #9DB0FF;
}

.pl-orch__par .pl-orch__node::before {
    top: -27px;
}

.pl-orch__par .pl-orch__node::after {
    bottom: -27px;
}

.pl-rules {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 36px;
    margin: 20px 0 36px;
    padding: 0;
    list-style: none;
    counter-reset: rl;
}

.pl-rules li {
    position: relative;
    padding-left: 58px;
    font-size: 19px;
    line-height: 1.5;
    counter-increment: rl;
}

.pl-rules li::before {
    content: counter(rl);
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}

.pl-rules--1 {
    grid-template-columns: minmax(0, 1fr);
}

/* Журнал событий */
.pl-trio {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 26px 0 30px;
}

.pl-trio > div {
    padding: 22px 24px;
    border-radius: 18px;
    background: var(--tint);
    font-size: 18px;
    line-height: 1.45;
}

.pl-trio b {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-time-cell {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--navy);
}

/* Карта поставки */
.pl-pmap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px minmax(0, 1fr);
    grid-auto-rows: minmax(64px, auto);
    column-gap: 26px;
    row-gap: 14px;
    margin: 34px 0 20px;
    padding: 36px 30px;
    border-radius: 24px;
    background: var(--soft);
}

.pl-pmap__step {
    position: relative;
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    border: 1.5px solid #CBD6FF;
    border-radius: 14px;
    background: #fff;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--navy);
}

.pl-pmap__step b {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 15px;
}

.pl-pmap__step:not(:first-child)::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -16px;
    width: 2px;
    height: 16px;
    background: var(--navy);
}

.pl-pmap__dev {
    align-self: center;
    font-size: 16px;
    line-height: 1.4;
    color: var(--muted);
}

.pl-pmap__dev b {
    display: block;
    color: var(--navy);
}

.pl-pmap__dev--l {
    grid-column: 1;
    text-align: right;
}

.pl-pmap__dev--r {
    grid-column: 3;
}

.pl-pmap__dev .ico {
    width: 20px;
    height: 20px;
    margin: 0 6px 0 0;
    color: var(--orange);
    vertical-align: -4px;
}

.pl-pmap__dev--l .ico {
    margin: 0 0 0 6px;
}

.pl-pmap__loop {
    position: relative;
    align-self: stretch;
    padding: 8px 0 8px 22px;
    border: 2px solid #9DB0FF;
    border-left: 0;
    border-radius: 0 16px 16px 0;
    margin-left: -26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pl-pmap__loop--l {
    padding: 8px 22px 8px 0;
    border: 2px solid #9DB0FF;
    border-right: 0;
    border-radius: 16px 0 0 16px;
    margin: 0 -26px 0 0;
    text-align: right;
}

.pl-pmap__cap {
    margin: 0 0 40px;
    font-size: 16px;
    color: var(--muted);
}

/* Источники данных */
.pl-hub {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 34px 40px;
    margin: 30px 0 34px;
    padding: 34px;
    border-radius: 24px;
    background: var(--soft);
}

.pl-hub__lines {
    position: absolute;
    inset: 34px;
    width: calc(100% - 68px);
    height: calc(100% - 68px);
    pointer-events: none;
}

.pl-hub__lines line {
    stroke: #9DB0FF;
    stroke-width: 2;
    stroke-dasharray: 6 6;
    vector-effect: non-scaling-stroke;
}

.pl-hub__item {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 20px;
    border: 1.5px solid #CBD6FF;
    border-radius: 16px;
    background: #fff;
}

.pl-hub__item b {
    font-size: 19px;
    line-height: 1.3;
    color: var(--navy);
}

.pl-hub__item span {
    font-size: 15px;
    line-height: 1.4;
    color: var(--muted);
}

.pl-hub__item--center {
    border-color: var(--navy);
    background: var(--navy);
    text-align: center;
}

.pl-hub__item--center b {
    color: #fff;
    font-size: 21px;
}

.pl-hub__item--center span {
    color: rgba(255, 255, 255, 0.82);
}

/* Паспорт поставки */
.pl-passport {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    margin: 30px 0 30px;
}

.pl-passport > div {
    padding: 28px 28px 24px;
    border-radius: 22px;
    background: var(--soft);
}

.pl-passport > .is-flags {
    border: 2px solid var(--orange);
    background: #fff;
}

.pl-passport .is-flags .pl-kick {
    color: var(--orange);
}

.pl-olist {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    counter-reset: ol7;
}

.pl-olist li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 48px;
    font-size: 18px;
    line-height: 1.5;
    counter-increment: ol7;
}

.pl-olist li::before {
    content: counter(ol7);
    position: absolute;
    left: 0;
    top: -2px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

.pl-olist b {
    color: var(--navy);
}

.pl-passport p.pl-small {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: var(--muted);
}

/* Задачи по ролям */
.pl-roles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 30px 0 18px;
}

.pl-role {
    padding: 26px 28px 22px;
    border: 1.5px solid var(--line);
    border-radius: 22px;
    background: #fff;
}

.pl-role h4 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 14px;
    font-size: 23px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--navy);
}

.pl-role h4 .ico {
    width: 30px;
    height: 30px;
    color: var(--blue);
}

.pl-role li {
    font-size: 18px;
}

.pl-human {
    margin: 0 0 40px;
    padding: 22px 28px;
    border-radius: 20px;
    background: var(--tint);
    font-size: 19px;
    line-height: 1.5;
}

.pl-human .pl-kick {
    margin-bottom: 6px;
}

/* Время до и после */
.pl-time {
    margin: 30px 0 30px;
    padding: 30px 32px 22px;
    border: 1.5px solid var(--line);
    border-radius: 24px;
}

.pl-time__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 34px;
    margin-bottom: 26px;
}

.pl-time__big {
    font-size: 64px;
    line-height: 1;
    font-weight: 700;
    color: var(--blue);
    white-space: nowrap;
}

.pl-time__head p {
    flex: 1;
    min-width: 260px;
    margin: 0;
    font-size: 19px;
    line-height: 1.5;
    color: var(--muted);
}

.pl-time__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 26px;
    margin: 0 0 18px;
    font-size: 15px;
    color: var(--muted);
}

.pl-time__legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pl-time__legend i {
    display: inline-block;
    width: 26px;
    height: 12px;
    border-radius: 6px;
    background: #DCE4FF;
}

.pl-time__legend i.is-ai {
    background: var(--blue);
}

.pl-time__row {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 240px;
    gap: 24px;
    align-items: center;
    padding: 14px 0;
    border-top: 1.5px solid var(--line);
}

.pl-time__task b {
    display: block;
    font-size: 19px;
    line-height: 1.3;
    color: var(--ink);
}

.pl-time__task span {
    font-size: 15px;
    color: var(--muted);
}

.pl-time__bar {
    position: relative;
    height: 22px;
    border-radius: 11px;
    background: #DCE4FF;
}

.pl-time__bar span {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: var(--w);
    border-radius: 11px;
    background: var(--blue);
}

.pl-time__bar em {
    position: absolute;
    left: calc(var(--w) + 10px);
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    color: var(--navy);
}

.pl-time__nums {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    font-size: 16px;
    line-height: 1.3;
    text-align: right;
    white-space: nowrap;
}

.pl-time__nums span {
    color: var(--muted);
}

.pl-time__nums b {
    color: var(--blue);
}

.pl-time__nums strong {
    color: var(--orange);
}

.pl-time__cols {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 240px;
    gap: 24px;
    padding-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.pl-time__cols span:last-child {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    text-align: right;
}

/* Кейсы с вкладками */
.pl-cases {
    margin: 30px 0 40px;
}

.pl-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.pl-cases:not(.is-ready) .pl-tabs {
    display: none;
}

.pl-tab {
    min-height: 50px;
    padding: 0 22px;
    border: 1.5px solid var(--line);
    border-radius: 999px;
    background: #fff;
    font-family: "Exo2", sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--ink);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.pl-tab:hover {
    border-color: var(--blue);
    color: var(--blue);
}

.pl-tab[aria-selected="true"] {
    border-color: var(--blue);
    background: var(--blue);
    color: #fff;
}

.pl-case {
    padding: 34px 36px 30px;
    border: 1.5px solid var(--line);
    border-radius: 24px;
    background: #fff;
}

.pl-case + .pl-case {
    margin-top: 18px;
}

.pl-cases.is-ready .pl-case + .pl-case {
    margin-top: 0;
}

.pl-case__client {
    margin-bottom: 10px;
    font-size: 17px;
    line-height: 1.45;
    color: var(--muted);
}

.pl-case__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    margin-bottom: 24px;
}

.pl-case__head h4 {
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--navy);
}

.pl-case__badge {
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--orange);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    white-space: nowrap;
}

.pl-case__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 34px;
}

.pl-case dl {
    margin: 0;
}

.pl-case dt {
    margin: 18px 0 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-case dt:first-child {
    margin-top: 0;
}

.pl-case dd {
    margin: 0;
    font-size: 19px;
    line-height: 1.55;
}

.pl-case__extra {
    margin-top: 18px;
    padding: 16px 20px;
    border-radius: 16px;
    background: var(--soft);
    font-size: 17px;
    line-height: 1.5;
}

.pl-case__vs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

.pl-case__vs > div {
    padding: 16px 20px;
    border-radius: 16px;
    background: var(--soft);
}

.pl-case__vs span {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
}

.pl-case__vs b {
    font-size: 36px;
    line-height: 1.15;
    font-weight: 700;
    color: var(--ink);
}

.pl-case__vs .is-ai {
    background: var(--blue);
}

.pl-case__vs .is-ai span {
    color: rgba(255, 255, 255, 0.8);
}

.pl-case__vs .is-ai b {
    color: #fff;
}

.pl-case .pl-table-wrap {
    margin: 0 0 14px;
}

.pl-case .pl-table {
    font-size: 16px;
}

.pl-case .pl-table th {
    padding: 12px 16px;
    font-size: 12px;
}

.pl-case .pl-table td {
    padding: 10px 16px;
}

.pl-case__vol {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: var(--muted);
}

.pl-case__vol b {
    color: var(--navy);
}

/* Оценка задачи */
.pl-score {
    margin: 30px 0 30px;
}

.pl-score .pl-table td {
    padding: 8px;
}

.pl-score .pl-table td:first-child {
    padding: 14px 18px;
    vertical-align: middle;
}

.pl-opt {
    position: relative;
    display: block;
    height: 100%;
    cursor: pointer;
}

.pl-opt input {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.pl-opt span {
    display: flex;
    align-items: center;
    min-height: 64px;
    height: 100%;
    padding: 10px 14px 10px 46px;
    border: 1.5px solid transparent;
    border-radius: 12px;
    position: relative;
    font-size: 17px;
    line-height: 1.4;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.pl-opt span::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border: 2px solid #9DB0FF;
    border-radius: 50%;
    background: #fff;
}

.pl-opt:hover span {
    background: var(--soft);
}

.pl-opt input:checked + span {
    border-color: var(--blue);
    background: var(--tint);
    color: var(--navy);
    font-weight: 600;
}

.pl-opt input:checked + span::before {
    border: 6px solid var(--blue);
}

.pl-opt input:focus-visible + span {
    outline: 3px solid #9DB0FF;
    outline-offset: 2px;
}

.pl-score__result {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 30px;
    margin-top: -20px;
    padding: 24px 30px;
    border-radius: 0 0 20px 20px;
    background: var(--navy);
    color: #fff;
}

.pl-score__sum {
    font-size: 20px;
    white-space: nowrap;
}

.pl-score__sum b {
    font-size: 48px;
    line-height: 1;
    font-weight: 700;
}

.pl-body .pl-score__result p {
    flex: 1;
    min-width: 260px;
    margin: 0;
    font-size: 20px;
    line-height: 1.45;
}

.pl-score__result.is-go {
    background: var(--blue);
}

.pl-score__hint {
    margin-top: 16px !important;
    font-size: 18px;
    color: var(--muted);
}

.pl-score .pl-table-wrap {
    margin-bottom: 20px;
}

/* Матрица приоритетов */
.pl-quad {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 0;
    margin: 30px 0 40px;
}

.pl-quad__y {
    grid-row: 1 / 3;
    grid-column: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 14px;
    color: var(--muted);
}

.pl-quad__x {
    grid-row: 3;
    grid-column: 2 / 4;
    padding-top: 12px;
    font-size: 14px;
    text-align: center;
    color: var(--muted);
}

.pl-quad__cell {
    min-height: 210px;
    padding: 22px 24px;
    border: 1.5px solid var(--line);
    background: #fff;
}

.pl-quad__cell--tl {
    grid-column: 2;
    grid-row: 1;
    border-radius: 20px 0 0 0;
}

.pl-quad__cell--tr {
    grid-column: 3;
    grid-row: 1;
    border-left: 0;
    border-radius: 0 20px 0 0;
    background: var(--tint);
}

.pl-quad__cell--bl {
    grid-column: 2;
    grid-row: 2;
    border-top: 0;
    border-radius: 0 0 0 20px;
}

.pl-quad__cell--br {
    grid-column: 3;
    grid-row: 2;
    border-top: 0;
    border-left: 0;
    border-radius: 0 0 20px 0;
}

.pl-quad__cell h4 {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-quad__cell ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-quad__cell li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 26px;
    font-size: 18px;
    line-height: 1.45;
}

.pl-quad__cell li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.4em;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--blue);
}

/* Дорожная карта */
.pl-road {
    margin: 30px 0 30px;
    padding: 0;
    list-style: none;
}

.pl-road li {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 24px;
    margin-bottom: 14px;
    padding: 24px 28px 24px 108px;
    border: 1.5px solid var(--line);
    border-radius: 20px;
    background: #fff;
}

.pl-road__n {
    position: absolute;
    left: 28px;
    top: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 21px;
    font-weight: 700;
}

.pl-road h4 {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--navy);
}

.pl-road__dur {
    align-self: start;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--tint);
    color: var(--blue);
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
}

.pl-body .pl-road p {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 19px;
    line-height: 1.5;
}

.pl-road li.is-first {
    border-color: var(--blue);
    background: var(--tint);
}

.pl-road__link {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-size: 18px;
    font-weight: 700;
    color: var(--orange);
}

.pl-road__link .ico {
    width: 20px;
    height: 20px;
}

.pl-road__link:hover {
    color: var(--blue);
}

/* Дорожки карты процесса */
.pl-lanes {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 14px;
    row-gap: 12px;
    margin: 18px 0 18px;
    padding: 0 0 18px;
}

.pl-lanes__bg {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 14px;
    pointer-events: none;
}

.pl-lanes__bg span {
    border-radius: 18px;
    background: var(--soft);
}

.pl-lanes__bg span:nth-child(2) {
    background: var(--tint);
}

.pl-lanes__h {
    position: relative;
    padding: 16px 16px 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-align: center;
    text-transform: uppercase;
    color: var(--blue);
}

.pl-lanes__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 14px;
    padding: 12px 16px;
    border: 1.5px solid #CBD6FF;
    border-radius: 14px;
    background: #fff;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--navy);
}

.pl-lanes__item em {
    flex-shrink: 0;
    font-style: normal;
    font-weight: 700;
    color: var(--blue);
}

.pl-lanes__item--wait em {
    color: var(--orange);
}

.pl-lanes__item--final {
    border-color: var(--navy);
    background: var(--navy);
    color: #fff;
}

.pl-lanes__note {
    position: relative;
    margin: 0 14px;
    padding: 4px 4px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--muted);
}

.pl-lanes__note b {
    display: block;
    color: var(--navy);
}

/* Обезличивание */
.pl-anon {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 30px 0 34px;
    padding: 0;
    list-style: none;
    counter-reset: an;
}

.pl-anon li {
    display: flex;
    flex-direction: column;
    padding: 24px 22px;
    border-radius: 20px;
    background: var(--soft);
    counter-increment: an;
}

.pl-anon li::before {
    content: counter(an);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}

.pl-anon h4 {
    margin: 0 0 10px;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--navy);
}

.pl-anon__ex {
    margin-top: auto;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff;
    font-size: 16px;
    line-height: 1.5;
    color: var(--ink);
}

.pl-anon__ex code {
    padding: 1px 6px;
    border-radius: 6px;
    background: var(--tint);
    color: var(--blue);
    font-family: "Exo2", sans-serif;
    font-size: 15px;
    font-weight: 700;
}

.pl-anon li:nth-child(3) {
    background: var(--tint);
}

.pl-feat {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 34px;
}

.pl-feat > div {
    display: flex;
    gap: 14px;
    padding: 20px 22px;
    border: 1.5px solid var(--line);
    border-radius: 18px;
}

.pl-feat .ico {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: var(--blue);
}

.pl-feat b {
    display: block;
    font-size: 18px;
    line-height: 1.3;
    color: var(--navy);
}

.pl-feat span {
    display: block;
    margin-top: 4px;
    font-size: 16px;
    line-height: 1.45;
    color: var(--muted);
}

/* Этапы в ряд */
.pl-row4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 30px 0 34px;
    padding: 0;
    list-style: none;
    counter-reset: r4;
}

.pl-row4 > li {
    padding: 24px 22px;
    border-radius: 20px;
    background: var(--soft);
    counter-increment: r4;
}

.pl-row4 > li::before {
    content: counter(r4);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.pl-row4 h4 {
    margin: 0 0 8px;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--navy);
}

.pl-body .pl-row4 p {
    margin: 0;
    font-size: 17px;
    line-height: 1.5;
}

.pl-row4--final > li:last-child {
    background: var(--navy);
    color: #fff;
}

.pl-row4--final > li:last-child::before {
    background: #fff;
    color: var(--navy);
}

.pl-row4--final > li:last-child h4 {
    color: #fff;
}

/* История внедрения у нас */
.pl-story {
    margin: 30px 0 30px;
    padding: 0;
    list-style: none;
}

.pl-story li {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 26px;
    padding: 18px 0;
    border-top: 1.5px solid var(--line);
    font-size: 19px;
    line-height: 1.55;
}

.pl-story li:last-child {
    border-bottom: 1.5px solid var(--line);
}

.pl-story b {
    font-size: 19px;
    color: var(--blue);
}

/* Расчёт эффекта */
.pl-formula {
    margin: 30px 0 30px;
    padding: 30px 36px;
    border-radius: 22px;
    background: var(--navy);
    color: #fff;
}

.pl-formula .pl-kick {
    color: rgba(255, 255, 255, 0.7);
}

.pl-formula ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-formula li {
    font-size: 25px;
    line-height: 1.55;
    font-weight: 600;
}

.pl-calc {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    margin: 30px 0 34px;
    overflow: hidden;
    border: 1.5px solid var(--line);
    border-radius: 24px;
}

.pl-calc__in {
    padding: 30px 32px;
}

.pl-calc__in .pl-kick {
    margin-bottom: 18px;
}

.pl-field {
    display: block;
    margin-bottom: 16px;
}

.pl-field span {
    display: block;
    margin-bottom: 6px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--ink);
}

.pl-field input {
    width: 100%;
    height: 58px;
    padding: 0 18px;
    border: 1.5px solid #B4C6FF;
    border-radius: 12px;
    background: #EAF0FF;
    font-family: "Exo2", sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--navy);
}

.pl-field input:focus {
    border-color: var(--blue);
    outline: none;
    background: #fff;
}

.pl-calc__note {
    margin: 6px 0 0;
    font-size: 15px;
    line-height: 1.45;
    color: var(--muted);
}

.pl-calc__out {
    display: flex;
    flex-direction: column;
    padding: 30px 32px;
    background: var(--blue);
    color: #fff;
}

.pl-calc__out .pl-kick {
    color: rgba(255, 255, 255, 0.75);
}

.pl-calc__big b {
    display: block;
    font-size: 72px;
    line-height: 1;
    font-weight: 700;
}

.pl-calc__big span {
    display: block;
    margin-top: 8px;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.85);
}

.pl-calc__list {
    margin: 24px 0 0;
}

.pl-calc__list > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    font-size: 18px;
    line-height: 1.4;
}

.pl-calc__list dt {
    color: rgba(255, 255, 255, 0.82);
}

.pl-calc__list dd {
    margin: 0;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.pl-calc__careful {
    margin-top: auto;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 16px;
    line-height: 1.5;
}

.pl-calc__careful b {
    color: #fff;
}

.pl-calc__warn {
    display: none;
    margin-top: 12px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #fff;
    color: var(--orange);
    font-size: 16px;
    line-height: 1.45;
    font-weight: 600;
}

.pl-calc__warn.is-on {
    display: block;
}

.pl-owner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 30px;
    padding: 0;
    list-style: none;
}

.pl-owner li {
    padding: 20px 20px;
    border-radius: 18px;
    background: var(--tint);
    font-size: 16px;
    line-height: 1.45;
    color: var(--muted);
}

.pl-owner b {
    display: block;
    margin-bottom: 4px;
    font-size: 20px;
    color: var(--navy);
}

/* Статус цифры */
.pl-status {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 26px 0 34px;
}

.pl-status > div {
    padding: 22px 22px;
    border-radius: 18px;
    font-size: 16px;
    line-height: 1.45;
}

.pl-status b {
    display: block;
    margin-bottom: 6px;
    font-size: 21px;
}

.pl-status > div:nth-child(1) {
    background: var(--blue);
    color: #fff;
}

.pl-status > div:nth-child(2) {
    background: #5B7BF5;
    color: #fff;
}

.pl-status > div:nth-child(3) {
    background: #C9D5FF;
    color: var(--navy);
}

.pl-status > div:nth-child(4) {
    border: 1.5px solid var(--line);
    background: #fff;
    color: var(--muted);
}

.pl-status > div:nth-child(4) b {
    color: var(--ink);
}

/* Чек-лист готовности */
.pl-ready {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 18px;
    margin: 30px 0 40px;
}

.pl-ready__left {
    padding: 30px 30px 26px;
    border-radius: 24px;
    background: var(--navy);
    color: #fff;
}

.pl-ready__left .pl-kick {
    color: rgba(255, 255, 255, 0.72);
}

.pl-ready__right {
    padding: 30px 30px 24px;
    border: 1.5px solid var(--line);
    border-radius: 24px;
}

.pl-check {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-check li {
    margin-bottom: 8px;
}

.pl-check label {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 8px 10px;
    border-radius: 12px;
    font-size: 18px;
    line-height: 1.45;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.pl-check input {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin: 1px 0 0;
    accent-color: var(--orange);
    cursor: pointer;
}

.pl-ready__left .pl-check label:hover {
    background: rgba(255, 255, 255, 0.08);
}

.pl-ready__right .pl-check label:hover {
    background: var(--soft);
}

.pl-ready__right .pl-check input {
    accent-color: var(--blue);
}

.pl-ready__group + .pl-ready__group {
    margin-top: 14px;
}

.pl-ready__group .pl-kick {
    margin: 0 0 4px 10px;
}

.pl-ready__res {
    margin-top: 16px;
    padding: 18px 20px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 18px;
    line-height: 1.5;
}

.pl-ready__res b {
    color: #fff;
}

.pl-ready__res .btn2 {
    display: none;
    margin-top: 14px;
}

.pl-ready__res.is-go {
    background: var(--orange);
}

.pl-ready__res.is-go .btn2 {
    display: inline-flex;
}

.pl-ready__foot {
    margin: 14px 0 0 10px;
    font-size: 16px;
    color: var(--muted);
}

/* Словарь */
.pl-gloss {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 40px;
    margin: 30px 0 30px;
}

.pl-gloss > div {
    padding: 16px 0;
    border-top: 1.5px solid var(--line);
}

.pl-gloss dt {
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
    color: var(--navy);
}

.pl-gloss dd {
    margin: 4px 0 0;
    font-size: 17px;
    line-height: 1.5;
    color: var(--muted);
}

/* Призыв в тексте */
.pl-cta {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px 40px;
    align-items: center;
    overflow: hidden;
    margin: 20px 0 90px;
    padding: 40px 44px;
    border-radius: var(--r-l);
    background: var(--blue);
    color: #fff;
}

.pl-cta .pl-kick {
    color: rgba(255, 255, 255, 0.75);
}

.pl-cta__title {
    margin: 0 0 10px;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}

.pl-body .pl-cta p {
    margin: 0;
    font-size: 19px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.88);
}

.pl-cta__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pl-cta--navy {
    background: var(--navy);
}

/* Финальный выбор */
.pl-final {
    margin: 30px 0 30px;
}

.pl-final__head h2 {
    margin: 0 0 14px;
    font-size: 56px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--navy);
}

.pl-final__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 34px;
}

.pl-offer {
    display: flex;
    flex-direction: column;
    padding: 36px 36px 32px;
    border-radius: var(--r-l);
}

.pl-offer--ai {
    background: var(--blue);
    color: #fff;
}

.pl-offer--meet {
    border: 2px solid var(--line);
    background: #fff;
}

.pl-offer__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 22px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.16);
}

.pl-offer--meet .pl-offer__icon {
    background: var(--tint-orange);
    color: var(--orange);
}

.pl-offer__icon .ico {
    width: 34px;
    height: 34px;
}

.pl-offer h3 {
    margin: 0 0 12px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
}

.pl-offer--meet h3 {
    color: var(--navy);
}

.pl-body .pl-offer p {
    margin: 0 0 14px;
    font-size: 19px;
    line-height: 1.55;
}

.pl-offer--ai p {
    color: rgba(255, 255, 255, 0.9);
}

.pl-offer__meta {
    margin-bottom: 26px !important;
    font-size: 17px !important;
    font-weight: 600;
}

.pl-offer--ai .pl-offer__meta {
    color: #fff !important;
}

.pl-offer--meet .pl-offer__meta {
    color: var(--blue);
}

.pl-offer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: auto;
}

/* Статьи экспертов */
.pl-related {
    padding: 100px 0 110px;
    background: var(--soft);
}

.pl-related__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px 30px;
    margin-bottom: 40px;
}

.pl-related__head h2 {
    margin: 0;
    font-size: 52px;
    line-height: 1.12;
    font-weight: 700;
    color: var(--navy);
}

.pl-related__head a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 19px;
    font-weight: 600;
    color: var(--blue);
}

.pl-related__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.pl-rel {
    display: flex;
    flex-direction: column;
    padding: 12px 12px 26px;
    border: 1.5px solid var(--line);
    border-radius: var(--r-l);
    background: #fff;
    color: var(--ink);
    transition: border-color 0.2s ease;
}

.pl-rel:hover {
    border-color: var(--blue);
}

.pl-rel__img {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    margin-bottom: 20px;
    border-radius: 16px;
    background: var(--blue);
}

.pl-rel__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.pl-rel:hover .pl-rel__img img {
    transform: scale(1.04);
}

.pl-rel__title {
    margin: 0 12px 16px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--ink);
}

.pl-rel__who {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: auto 12px 0;
    font-size: 16px;
    line-height: 1.35;
    color: var(--muted);
}

.pl-rel__who img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

/* ---------- 15. Адаптив для новых блоков ---------- */
@media (max-width: 1199.98px) {
    .a-expert {
        gap: 18px;
        margin-bottom: 30px;
        padding: 16px 18px 16px 16px;
        border-radius: 18px;
    }

    .a-expert__photo {
        width: 76px;
        height: 76px;
    }

    .a-expert__kicker {
        font-size: 11px;
    }

    .article__body .a-expert__text {
        font-size: 15px;
    }

    .article__body .a-expert__name {
        font-size: 18px;
    }

    .article__body .a-expert__role {
        font-size: 14px;
    }

    .article__avatar {
        width: 26px;
        height: 26px;
    }

    .guide-banner {
        flex-wrap: wrap;
        gap: 16px;
        margin-top: 40px;
        padding: 20px;
        border-radius: 18px;
    }

    .guide-banner__icon {
        width: 56px;
        height: 56px;
        border-radius: 16px;
    }

    .guide-banner__icon .ico {
        width: 28px;
        height: 28px;
    }

    .guide-banner__body {
        flex-basis: calc(100% - 80px);
    }

    .guide-banner__kicker {
        font-size: 11px;
    }

    .guide-banner__title {
        font-size: 20px;
    }

    .guide-banner__text {
        font-size: 14px;
    }

    .guide-banner__go {
        min-height: 46px;
        padding: 0 22px;
        font-size: 15px;
    }

    .news-feature {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        margin-bottom: 20px;
        padding: 10px 10px 24px;
        border-radius: 18px;
    }

    .news-feature__media {
        border-radius: 12px;
    }

    .news-feature__body {
        padding: 0 8px;
    }

    .news-feature__title {
        font-size: 28px;
    }

    .news-feature__text {
        font-size: 15px;
        margin-bottom: 18px;
    }

    .news-feature__author {
        gap: 12px;
        margin-bottom: 20px;
        font-size: 14px;
    }

    .news-feature__author img {
        width: 44px;
        height: 44px;
    }

    .news-feature__btn {
        min-height: 46px;
        padding: 0 22px;
        font-size: 15px;
    }

    .ai-promo {
        padding: 0 0 60px;
    }

    .ai-promo__card {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
        padding: 40px 24px;
        border-radius: 24px;
    }

    .ai-promo__net {
        width: 520px;
        left: auto;
        right: -120px;
        bottom: auto;
        top: -40px;
    }

    .pl-label,
    .ai-promo__kicker {
        min-height: 36px;
        padding: 0 16px;
        font-size: 13px;
    }

    .ai-promo__title {
        margin: 18px 0 14px;
        font-size: 36px;
    }

    .ai-promo__lead {
        margin-bottom: 26px;
        font-size: 17px;
    }

    .ai-promo__facts li {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        padding: 18px 20px;
        border-radius: 16px;
    }

    .ai-promo__facts b {
        font-size: 26px;
    }

    .ai-promo__facts span {
        font-size: 14px;
    }

    .pl-hero {
        padding: 20px 0 40px;
    }

    .pl-hero__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-top: 24px;
    }

    .pl-hero__title {
        margin: 18px 0 16px;
        font-size: 42px;
    }

    .pl-hero__lead {
        margin-bottom: 26px;
        font-size: 18px;
    }

    .pl-author {
        gap: 14px;
        margin-bottom: 26px;
    }

    .pl-author img {
        width: 60px;
        height: 60px;
    }

    .pl-author__name {
        font-size: 17px;
    }

    .pl-author__meta {
        font-size: 14px;
    }

    .pl-pdf {
        margin-top: 18px;
        font-size: 15px;
    }

    .pl-hero__map {
        order: -1;
        max-width: 560px;
        margin: 0 auto -10px;
    }

    .pl-hero__map .pl-net {
        width: 100%;
        margin-left: 0;
    }

    .pl-stats--4 .pl-stat b {
        font-size: 28px;
        white-space: normal;
    }

    .pl-time__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 16px;
    }

    .pl-net__label {
        font-size: 24px;
    }

    .pl-hero__facts {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-top: 30px;
    }

    .pl-hero__facts li {
        padding: 18px 20px;
        border-radius: 16px;
        font-size: 14px;
    }

    .pl-hero__facts b {
        font-size: 30px;
    }

    .pl-main {
        padding: 30px 0 10px;
    }

    .pl-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }

    .pl-aside {
        position: static;
    }

    .pl-toc {
        padding: 18px 16px;
        border-radius: 18px;
    }

    .pl-toc > summary {
        pointer-events: auto;
        cursor: pointer;
    }

    .pl-toc__title {
        font-size: 12px;
        padding-left: 4px;
    }

    .pl-toc__pct {
        display: none;
    }

    .pl-toc__chev {
        display: block;
        width: 22px;
        height: 22px;
        color: var(--blue);
        transition: transform 0.2s ease;
    }

    .pl-toc[open] .pl-toc__chev {
        transform: rotate(180deg);
    }

    .pl-toc__bar {
        display: none;
    }

    .pl-toc > nav {
        margin-top: 12px;
    }

    .pl-toc a {
        font-size: 15px;
        padding: 8px 6px;
    }

    .pl-toc__n {
        width: 26px;
        height: 26px;
        font-size: 12px;
    }

    .pl-toc li.is-active > ol {
        display: none;
    }

    .pl-side-cta {
        display: none;
    }

    .pl-body {
        font-size: 16px;
        line-height: 1.6;
    }

    .pl-body p {
        margin-bottom: 16px;
    }

    .pl-sub {
        font-size: 16px;
    }

    .pl-kick {
        font-size: 11px;
    }

    .pl-tldr {
        margin-bottom: 44px;
        padding: 22px 20px;
        border-radius: 18px;
    }

    .pl-tldr li {
        padding-left: 40px;
        font-size: 15px;
    }

    .pl-tldr li::before {
        width: 28px;
        height: 28px;
        font-size: 13px;
    }

    .pl-tldr li a {
        font-size: 14px;
    }

    .pl-chapter {
        padding-bottom: 20px;
    }

    .pl-chapter + .pl-chapter,
    .pl-cta + .pl-chapter {
        padding-top: 44px;
    }

    .pl-chapter__head {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        margin-bottom: 30px;
    }

    .pl-chapter__num {
        font-size: 64px;
    }

    .pl-chapter__head h2 {
        margin-bottom: 10px;
        font-size: 30px;
    }

    .pl-chapter__lead {
        font-size: 17px;
    }

    .pl-body h3.pl-h3 {
        margin: 46px 0 14px;
        font-size: 23px;
    }

    .pl-body h3.pl-h3::before {
        width: 44px;
        height: 4px;
        margin-bottom: 16px;
    }

    .pl-note {
        margin: 24px 0 28px;
        padding: 20px 18px 20px 58px;
        border-radius: 16px;
        font-size: 15px;
    }

    .pl-note > .ico {
        left: 18px;
        top: 20px;
        width: 26px;
        height: 26px;
    }

    .pl-note__label {
        font-size: 11px;
    }

    .pl-pair {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin: 24px 0 28px;
    }

    .pl-also {
        padding: 14px 16px;
        font-size: 15px;
    }

    .pl-also > span {
        font-size: 11px;
    }

    .pl-table-wrap {
        margin: 20px 0 28px;
        border-radius: 14px;
    }

    .pl-table {
        font-size: 14px;
    }

    .pl-table th {
        padding: 12px 12px;
        font-size: 11px;
    }

    .pl-table td {
        padding: 10px 12px;
    }

    .pl-dot {
        width: 14px;
        height: 14px;
    }

    .pl-legend {
        margin: -16px 0 24px;
        font-size: 13px;
    }

    .pl-stats,
    .pl-stats--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin: 20px 0 28px;
    }

    .pl-stat {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .pl-stat b {
        font-size: 32px;
    }

    .pl-stat span {
        margin-top: 8px;
        font-size: 13px;
    }

    .pl-stat--wide {
        grid-column: 1 / -1;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .pl-stat--wide b {
        font-size: 26px;
    }

    .pl-chips li {
        padding: 6px 12px;
        font-size: 13px;
    }

    .pl-intro {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .pl-box {
        padding: 18px;
        border-radius: 16px;
        font-size: 15px;
    }

    .pl-bio {
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 16px;
        padding: 18px;
        border-radius: 18px;
    }

    .pl-bio img {
        width: 84px;
        height: 84px;
    }

    .pl-bio__name {
        font-size: 19px;
    }

    .pl-bio__role {
        margin-bottom: 8px;
        font-size: 14px;
    }

    .pl-bio ul {
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 1fr);
    }

    .pl-bio li {
        font-size: 14px;
    }

    .pl-path__step {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 0 0 26px 56px;
    }

    .pl-path__step::before {
        left: 19px;
        top: 42px;
    }

    .pl-path__num {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    .pl-path__title {
        margin-top: 6px;
        font-size: 18px;
    }

    .pl-body .pl-path__text {
        font-size: 15px;
    }

    .pl-docs li {
        font-size: 13px;
        padding: 5px 10px;
    }

    .pl-path__who {
        margin-top: 0;
        padding: 12px 14px;
        font-size: 14px;
    }

    .pl-flow4,
    .pl-voices,
    .pl-cards,
    .pl-cards--3,
    .pl-canlim,
    .pl-rules,
    .pl-trio,
    .pl-passport,
    .pl-roles,
    .pl-case__grid,
    .pl-ready,
    .pl-gloss,
    .pl-final__grid,
    .pl-related__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .pl-flow4 {
        gap: 10px;
    }

    .pl-flow4 > li {
        padding: 18px;
        border-radius: 16px;
    }

    .pl-flow4__title {
        font-size: 17px;
    }

    .pl-flow4__title::before {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .pl-flow4 dd {
        font-size: 15px;
    }

    .pl-voices {
        gap: 10px;
    }

    .pl-voice {
        padding: 20px;
        border-radius: 16px;
    }

    .pl-voice blockquote {
        font-size: 18px;
    }

    .pl-body .pl-voice p {
        font-size: 14px;
    }

    .pl-quote {
        margin: 30px 0;
        padding: 64px 20px 22px;
        border-radius: 18px;
    }

    .pl-quote > .ico {
        left: 20px;
        top: 20px;
        width: 34px;
        height: 34px;
    }

    .pl-quote blockquote {
        font-size: 20px;
    }

    .pl-body .pl-quote p {
        font-size: 14px;
    }

    .pl-cards {
        gap: 10px;
    }

    .pl-card {
        padding: 20px 18px;
        border-radius: 16px;
    }

    .pl-card__num {
        font-size: 28px;
    }

    .pl-card__icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .pl-card__icon .ico {
        width: 24px;
        height: 24px;
    }

    .pl-card__title {
        font-size: 18px;
    }

    .pl-body .pl-card p,
    .pl-card li,
    .pl-list li {
        font-size: 15px;
    }

    .pl-levels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .pl-level {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .pl-level__n {
        width: 36px;
        height: 36px;
        margin-bottom: 10px;
        font-size: 15px;
    }

    .pl-level__name {
        font-size: 19px;
    }

    .pl-level__what {
        font-size: 14px;
    }

    .pl-body .pl-level p {
        font-size: 14px;
    }

    .pl-level__who {
        font-size: 13px;
    }

    .pl-scale {
        font-size: 12px;
        gap: 10px;
    }

    .pl-same {
        padding: 16px;
        border-radius: 16px;
    }

    .pl-same ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .pl-same li {
        padding: 12px;
        font-size: 13px;
    }

    .pl-msg {
        max-width: 94%;
        padding: 14px 16px;
        font-size: 15px;
    }

    .pl-chat__bar {
        padding: 12px 16px;
        font-size: 14px;
    }

    .pl-chat__body {
        padding: 18px 14px;
    }

    .pl-file {
        font-size: 13px;
    }

    .pl-chat__foot {
        padding: 10px 16px;
        font-size: 13px;
    }

    .pl-canlim > div {
        padding: 18px;
    }

    .pl-canlim li {
        font-size: 15px;
    }

    .pl-mini {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .pl-mini > div {
        padding: 14px;
    }

    .pl-mini b {
        font-size: 15px;
    }

    .pl-mini span {
        font-size: 13px;
    }

    .pl-goal {
        padding: 18px;
    }

    .pl-goal q {
        font-size: 17px;
    }

    .pl-orch {
        padding: 22px 14px;
        border-radius: 18px;
    }

    .pl-orch__node {
        padding: 12px 14px;
        font-size: 15px;
    }

    .pl-orch__node small {
        font-size: 13px;
    }

    .pl-orch__aside {
        position: static;
        width: auto;
        margin-top: 8px;
        transform: none;
        text-align: center;
        font-size: 12px;
    }

    .pl-orch__par {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 10px;
    }

    .pl-orch__par::before,
    .pl-orch__par::after,
    .pl-orch__par .pl-orch__node::before,
    .pl-orch__par .pl-orch__node::after {
        display: none;
    }

    .pl-rules li {
        padding-left: 44px;
        font-size: 15px;
    }

    .pl-rules li::before {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .pl-trio > div {
        padding: 16px;
        font-size: 15px;
    }

    .pl-pmap {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 10px;
        padding: 18px 14px;
        border-radius: 18px;
    }

    .pl-pmap__step {
        grid-column: 1;
        font-size: 15px;
    }

    .pl-pmap__step:not(:first-child)::before {
        display: none;
    }

    .pl-pmap__dev,
    .pl-pmap__dev--l,
    .pl-pmap__dev--r {
        grid-column: 1;
        grid-row: auto !important;
        margin: -4px 0 4px 20px;
        padding: 8px 12px;
        border: 0;
        border-left: 3px solid #9DB0FF;
        border-radius: 0;
        text-align: left;
        font-size: 13px;
    }

    .pl-pmap__dev--l .ico {
        margin: 0 6px 0 0;
    }

    .pl-pmap__cap {
        font-size: 13px;
    }

    .pl-hub {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 10px;
        padding: 14px;
        border-radius: 18px;
    }

    .pl-hub__lines {
        display: none;
    }

    .pl-hub__item {
        padding: 12px 14px;
    }

    .pl-hub__item b {
        font-size: 15px;
    }

    .pl-hub__item span {
        font-size: 12px;
    }

    .pl-hub__item--center {
        grid-column: 1 / -1;
        order: -1;
    }

    .pl-passport > div {
        padding: 20px 18px;
        border-radius: 16px;
    }

    .pl-olist li {
        padding-left: 40px;
        font-size: 15px;
    }

    .pl-olist li::before {
        width: 28px;
        height: 28px;
        font-size: 13px;
    }

    .pl-role {
        padding: 18px;
        border-radius: 16px;
    }

    .pl-role h4 {
        font-size: 18px;
    }

    .pl-role li {
        font-size: 15px;
    }

    .pl-human {
        padding: 16px 18px;
        font-size: 15px;
    }

    .pl-time {
        padding: 18px 16px 10px;
        border-radius: 18px;
    }

    .pl-time__big {
        font-size: 40px;
    }

    .pl-time__head p {
        min-width: 0;
        font-size: 14px;
    }

    .pl-time__cols {
        display: none;
    }

    .pl-time__row {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding: 12px 0;
    }

    .pl-time__task b {
        font-size: 15px;
    }

    .pl-time__task span {
        font-size: 12px;
    }

    .pl-time__nums {
        display: flex;
        justify-content: flex-start;
        gap: 14px;
        font-size: 13px;
        text-align: left;
    }

    .pl-time__nums span::before {
        content: "вручную ";
    }

    .pl-time__nums b::before {
        content: "с ИИ ";
        font-weight: 400;
        color: var(--muted);
    }

    .pl-tab {
        min-height: 40px;
        padding: 0 14px;
        font-size: 13px;
    }

    .pl-case {
        padding: 20px 16px;
        border-radius: 18px;
    }

    .pl-case__client {
        font-size: 13px;
    }

    .pl-case__head h4 {
        font-size: 21px;
    }

    .pl-case__badge {
        padding: 7px 12px;
        font-size: 13px;
    }

    .pl-case dd {
        font-size: 15px;
    }

    .pl-case__extra {
        font-size: 14px;
    }

    .pl-case__vs b {
        font-size: 26px;
    }

    .pl-case .pl-table {
        font-size: 13px;
    }

    .pl-case__vol {
        font-size: 13px;
    }

    .pl-score .pl-table {
        min-width: 620px;
    }

    .pl-opt span {
        min-height: 54px;
        padding: 8px 10px 8px 38px;
        font-size: 13px;
    }

    .pl-opt span::before {
        left: 10px;
        width: 18px;
        height: 18px;
        margin-top: -9px;
    }

    .pl-score__result {
        margin-top: -12px;
        padding: 18px;
    }

    .pl-score__sum {
        font-size: 15px;
    }

    .pl-score__sum b {
        font-size: 34px;
    }

    .pl-body .pl-score__result p {
        min-width: 0;
        font-size: 15px;
    }

    .pl-score__hint {
        font-size: 14px;
    }

    .pl-quad {
        grid-template-columns: minmax(0, 1fr);
    }

    .pl-quad__y {
        display: none;
    }

    .pl-quad__x {
        display: none;
    }

    .pl-quad__cell,
    .pl-quad__cell--tl,
    .pl-quad__cell--tr,
    .pl-quad__cell--bl,
    .pl-quad__cell--br {
        grid-column: 1;
        grid-row: auto;
        min-height: 0;
        border: 1.5px solid var(--line);
        border-radius: 16px;
        margin-bottom: 8px;
        padding: 16px 18px;
    }

    .pl-quad__cell--tr {
        order: -1;
    }

    .pl-quad__cell li {
        font-size: 15px;
    }

    .pl-road li {
        grid-template-columns: minmax(0, 1fr);
        padding: 18px 16px 18px 70px;
        border-radius: 16px;
    }

    .pl-road__n {
        left: 16px;
        top: 18px;
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    .pl-road h4 {
        font-size: 18px;
    }

    .pl-road__dur {
        justify-self: start;
        font-size: 13px;
    }

    .pl-body .pl-road p {
        font-size: 15px;
    }

    .pl-road__link {
        font-size: 15px;
    }

    .pl-lanes {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 8px;
    }

    .pl-lanes__bg {
        display: none;
    }

    .pl-lanes__h {
        display: none;
    }

    .pl-lanes__item,
    .pl-lanes__note {
        grid-column: 1 !important;
        grid-row: auto !important;
        margin: 0;
        font-size: 14px;
    }

    .pl-lanes__item[data-lane]::before {
        content: attr(data-lane);
        display: block;
        position: absolute;
        top: -9px;
        left: 12px;
        padding: 0 6px;
        background: #fff;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--blue);
    }

    .pl-lanes__item {
        margin-top: 8px;
    }

    .pl-anon,
    .pl-row4 {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .pl-anon li,
    .pl-row4 > li {
        padding: 18px;
        border-radius: 16px;
    }

    .pl-anon h4,
    .pl-row4 h4 {
        font-size: 17px;
    }

    .pl-anon__ex {
        font-size: 14px;
    }

    .pl-body .pl-row4 p {
        font-size: 14px;
    }

    .pl-feat {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .pl-feat > div {
        padding: 14px 16px;
    }

    .pl-feat b {
        font-size: 15px;
    }

    .pl-feat span {
        font-size: 13px;
    }

    .pl-story li {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        font-size: 15px;
    }

    .pl-story b {
        font-size: 15px;
    }

    .pl-formula {
        padding: 20px 18px;
        border-radius: 16px;
    }

    .pl-formula li {
        font-size: 16px;
    }

    .pl-calc {
        grid-template-columns: minmax(0, 1fr);
        border-radius: 18px;
    }

    .pl-calc__in,
    .pl-calc__out {
        padding: 20px 18px;
    }

    .pl-field span {
        font-size: 14px;
    }

    .pl-field input {
        height: 50px;
        font-size: 18px;
    }

    .pl-calc__big b {
        font-size: 46px;
    }

    .pl-calc__big span,
    .pl-calc__list > div {
        font-size: 14px;
    }

    .pl-calc__careful {
        margin-top: 16px;
        font-size: 14px;
    }

    .pl-owner,
    .pl-status {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .pl-owner li,
    .pl-status > div {
        padding: 14px;
        font-size: 13px;
    }

    .pl-owner b,
    .pl-status b {
        font-size: 16px;
    }

    .pl-ready__left,
    .pl-ready__right {
        padding: 20px 16px;
        border-radius: 18px;
    }

    .pl-check label {
        gap: 10px;
        padding: 6px 4px;
        font-size: 15px;
    }

    .pl-check input {
        width: 20px;
        height: 20px;
    }

    .pl-ready__res {
        font-size: 15px;
    }

    .pl-gloss dt {
        font-size: 16px;
    }

    .pl-gloss dd {
        font-size: 14px;
    }

    .pl-cta {
        grid-template-columns: minmax(0, 1fr);
        margin: 10px 0 50px;
        padding: 26px 20px;
        border-radius: 18px;
    }

    .pl-cta__title {
        font-size: 22px;
    }

    .pl-body .pl-cta p {
        font-size: 15px;
    }

    .pl-final__head h2 {
        font-size: 30px;
    }

    .pl-final__grid {
        gap: 12px;
        margin-top: 20px;
    }

    .pl-offer {
        padding: 24px 20px;
        border-radius: 18px;
    }

    .pl-offer__icon {
        width: 48px;
        height: 48px;
        margin-bottom: 14px;
    }

    .pl-offer__icon .ico {
        width: 26px;
        height: 26px;
    }

    .pl-offer h3 {
        font-size: 22px;
    }

    .pl-body .pl-offer p {
        font-size: 15px;
    }

    .pl-offer__meta {
        font-size: 14px !important;
    }

    .pl-related {
        padding: 50px 0 60px;
    }

    .pl-related__head {
        margin-bottom: 24px;
    }

    .pl-related__head h2 {
        font-size: 28px;
    }

    .pl-related__head a {
        font-size: 15px;
    }

    .pl-related__grid {
        gap: 12px;
    }

    .pl-rel {
        padding: 10px 10px 20px;
        border-radius: 18px;
    }

    .pl-rel__title {
        margin: 0 6px 12px;
        font-size: 17px;
    }

    .pl-rel__who {
        margin: auto 6px 0;
        font-size: 13px;
    }

    .pl-rel__who img {
        width: 32px;
        height: 32px;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .pl-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pl-final__grid,
    .pl-voices,
    .pl-canlim,
    .pl-roles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pl-stats--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    .pl-levels,
    .pl-owner,
    .pl-status {
        grid-template-columns: minmax(0, 1fr);
    }

    .pl-mini {
        grid-template-columns: minmax(0, 1fr);
    }

    .pl-hero__title {
        font-size: 36px;
    }

    .pl-actions .btn2 {
        width: 100%;
    }
}

/* ---------- 11. «Преимущества», карточки проектов и плитки услуг ----------
   Те же сетка и размеры, что на странице «Стоимость» (.pv-*): 12 колонок,
   промежуток --pv-gap. Фото — настоящие снимки в натуральных цветах; где
   поверх фото стоит текст, затемнение вшито в сам файл. */

/* Первый экран «Преимуществ» */
.bn-hero {
    padding-bottom: 110px;
}

.bn-hero__title {
    margin: 0 0 22px;
    font-size: 84px;
    line-height: 1.05;
    font-weight: 700;
    color: #fff;
}

.bn-hero__sub {
    margin: 0 0 26px;
    font-size: 40px;
    line-height: 1.15;
    font-weight: 600;
    color: var(--peach);
}

.bn-hero__lead {
    margin: 0 0 44px;
    font-size: 23px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.92);
}

.bn-photo {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--pv-r);
}

/* Полная вовлечённость */
.bn-involve {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
    align-items: start;
}

.bn-involve__side {
    grid-column: 1 / span 5;
}

.bn-involve__main {
    display: grid;
    gap: var(--pv-gap);
    grid-column: 7 / span 6;
}

.bn-involve__title {
    margin: 0 0 44px;
    font-size: 54px;
    line-height: 1.12;
    font-weight: 600;
    color: var(--orange);
}

.bn-block {
    padding: var(--pv-pad);
    border-radius: var(--pv-r);
    background: var(--soft);
}

.bn-block__title {
    margin: 0 0 20px;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--blue);
}

.bn-block p {
    margin: 0;
    font-size: 21px;
    line-height: 1.6;
    color: var(--ink);
}

.bn-block p + p {
    margin-top: 14px;
}

.bn-block .bn-block__kicker {
    font-size: 23px;
    font-weight: 600;
    color: var(--orange);
}

.bn-block--accent {
    background: var(--navy);
}

.bn-block--accent .bn-block__title {
    color: #fff;
}

.bn-block--accent p {
    color: rgba(255, 255, 255, 0.9);
}

.bn-block--accent .bn-block__kicker {
    color: var(--peach);
}

.bn-block--accent b {
    color: #fff;
}

/* Мы берём на себя всё: четыре направления с фото */
.bn-lead-accent {
    font-size: 26px;
    font-weight: 600;
    color: var(--blue);
}

.bn-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.bn-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--pv-r);
    background: #fff;
}

.bn-card__img,
.bn-service__img,
.pj-card__img {
    display: block;
    overflow: hidden;
    aspect-ratio: 10 / 7;
}

.bn-card__img img,
.bn-service__img img,
.pj-card__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.bn-card__body {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 30px 32px 34px;
}

.bn-card__text {
    padding-top: 4px;
    font-size: 23px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--ink);
}

/* Специализированные услуги */
.bn-head-text p {
    margin: 0;
}

.bn-head-text p + p {
    margin-top: 14px;
}

.bn-offer {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
    align-items: center;
    padding: 56px var(--pv-pad);
    border-radius: var(--pv-r);
    background: var(--navy);
    color: #fff;
}

.bn-offer__num {
    display: flex;
    align-items: baseline;
    gap: 14px;
    grid-column: 1 / span 3;
    font-size: 150px;
    line-height: 0.9;
    font-weight: 700;
    color: var(--peach);
}

.bn-offer__num span {
    font-size: 40px;
    font-weight: 600;
}

.bn-offer__body {
    grid-column: 4 / span 9;
}

.bn-offer__title {
    margin: 0 0 16px;
    font-size: 34px;
    line-height: 1.25;
    font-weight: 600;
    color: #fff;
}

.bn-offer__body p {
    margin: 0;
    font-size: 21px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
}

.bn-group {
    margin: 80px 0 28px;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--ink);
}

.bn-points {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.bn-point {
    display: flex;
    flex-direction: column;
    padding: 36px 36px 40px;
    border-radius: var(--pv-r);
    background: var(--soft);
}

.bn-point .pv-icon {
    margin-bottom: 26px;
}

.bn-point b {
    display: block;
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--ink);
}

.bn-point p {
    margin: 0;
    font-size: 19px;
    line-height: 1.55;
    color: var(--muted);
}

.bn-point p::first-letter {
    text-transform: uppercase;
}

.bn-statement {
    max-width: 1240px;
    margin: 72px 0 0;
    padding-left: 32px;
    border-left: 4px solid var(--orange);
    font-size: 34px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--ink);
}

/* Свяжитесь с нами: полоса с фото порта */
.bn-cta {
    padding: 120px 0;
    background: var(--navy) url(../image/photos/benefits-cta.webp) center / cover no-repeat;
    color: #fff;
}

.bn-cta__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 28px 48px;
}

.bn-cta__title {
    max-width: 1100px;
    margin: 0;
    font-size: 60px;
    line-height: 1.1;
    font-weight: 600;
    color: #fff;
}

/* Виды услуг: фото сверху, название и ссылка снизу */
.bn-services {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
}

.bn-service {
    display: flex;
    flex-direction: column;
    grid-column: span 4;
    overflow: hidden;
    border: 1.5px solid var(--line);
    border-radius: var(--pv-r);
    background: #fff;
    color: var(--ink);
    transition: border-color 0.2s ease;
}

.bn-service--wide {
    grid-column: span 6;
}

.bn-service--wide .bn-service__img {
    aspect-ratio: 16 / 8;
}

.bn-service__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 28px 36px 30px;
}

.bn-service__title {
    margin: 0;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 600;
}

.bn-service__more,
.pj-card__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    font-size: 19px;
    font-weight: 600;
    color: var(--blue);
}

.bn-service__more .ico,
.pj-card__more .ico {
    width: 22px;
    height: 22px;
    transition: transform 0.2s ease;
}

.bn-service:hover,
.pj-card:hover {
    border-color: var(--blue);
}

.bn-service:hover img,
.pj-card:hover img {
    transform: scale(1.04);
}

.bn-service:hover .bn-service__more .ico,
.pj-card:hover .pj-card__more .ico {
    transform: translateX(4px);
}

/* Подход «Под ключ» */
.bn-turnkey {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
}

.bn-turnkey__photo {
    grid-column: 1 / span 5;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    border-radius: var(--pv-r);
}

.bn-turnkey__panel {
    grid-column: 6 / span 7;
    padding: 64px 64px 60px;
    border-radius: var(--pv-r);
    background: var(--navy);
    color: #fff;
}

.bn-turnkey__title {
    margin: 0 0 28px;
    font-size: 56px;
    line-height: 1.1;
    font-weight: 600;
    color: #fff;
}

.bn-turnkey__title span {
    color: var(--orange);
}

.bn-turnkey__panel p {
    margin: 0 0 18px;
    font-size: 21px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

.bn-checks {
    display: grid;
    gap: 14px;
    margin: 30px 0 0;
    padding: 28px 0 0;
    border-top: 1.5px solid rgba(255, 255, 255, 0.18);
    list-style: none;
}

.bn-checks li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 21px;
    line-height: 1.5;
    color: #fff;
}

.bn-checks .ico {
    width: 26px;
    height: 26px;
    margin-top: 1px;
    color: var(--peach);
}

/* Проекты: фото сверху, название и ссылка снизу */
.pj-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}

.pj-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1.5px solid var(--line);
    border-radius: 24px;
    background: #fff;
    color: var(--ink);
    transition: border-color 0.2s ease;
}

.pj-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 18px;
    padding: 26px 30px 30px;
}

.pj-card__title {
    font-size: 23px;
    line-height: 1.35;
    font-weight: 600;
}

.pj-card__more {
    margin-top: auto;
}

/* Плитки на странице «Услуги»: фото вместо значков */
.services__top img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.services__item a:hover .services__top img {
    transform: scale(1.04);
}

@media (max-width: 1199.98px) {
    .bn-hero {
        padding-bottom: 60px;
    }

    .bn-hero__title {
        font-size: 50px;
    }

    .bn-hero__sub {
        margin-bottom: 18px;
        font-size: 28px;
    }

    .bn-hero__lead {
        margin-bottom: 30px;
        font-size: 18px;
    }

    .bn-involve,
    .bn-offer,
    .bn-turnkey {
        grid-template-columns: minmax(0, 1fr);
    }

    .bn-involve__side,
    .bn-involve__main,
    .bn-offer__num,
    .bn-offer__body,
    .bn-turnkey__photo,
    .bn-turnkey__panel {
        grid-column: 1 / -1;
    }

    .bn-involve__title {
        margin-bottom: 28px;
        font-size: 34px;
    }

    .bn-block__title,
    .bn-offer__title {
        font-size: 24px;
    }

    .bn-block p,
    .bn-offer__body p,
    .bn-turnkey__panel p,
    .bn-checks li {
        font-size: 17px;
    }

    .bn-block .bn-block__kicker {
        font-size: 18px;
    }

    .bn-lead-accent {
        font-size: 20px;
    }

    .bn-cards,
    .bn-points {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bn-card__body {
        padding: 22px 24px 24px;
    }

    .bn-card__text {
        font-size: 19px;
    }

    .bn-offer {
        gap: 18px;
        padding: 36px var(--pv-pad);
    }

    .bn-offer__num {
        font-size: 96px;
    }

    .bn-offer__num span {
        font-size: 28px;
    }

    .bn-group {
        margin: 52px 0 20px;
        font-size: 26px;
    }

    .bn-point {
        padding: 26px 26px 28px;
    }

    .bn-point .pv-icon {
        margin-bottom: 16px;
    }

    .bn-point b {
        font-size: 19px;
    }

    .bn-point p {
        font-size: 16px;
    }

    .bn-statement {
        margin-top: 44px;
        padding-left: 20px;
        font-size: 22px;
    }

    .bn-cta {
        padding: 72px 0;
    }

    .bn-cta__title {
        font-size: 36px;
    }

    .bn-service,
    .bn-service--wide {
        grid-column: span 6;
    }

    .bn-service--wide .bn-service__img {
        aspect-ratio: 10 / 7;
    }

    .bn-service__body {
        padding: 20px 24px 22px;
    }

    .bn-service__title {
        font-size: 22px;
    }

    .bn-service__more,
    .pj-card__more {
        font-size: 16px;
    }

    .bn-turnkey__photo {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .bn-turnkey__panel {
        padding: 36px var(--pv-pad);
    }

    .bn-turnkey__title {
        font-size: 36px;
    }

    .pj-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .pj-card__body {
        padding: 20px 22px 24px;
    }

    .pj-card__title {
        font-size: 18px;
    }
}

@media (max-width: 767.98px) {
    .bn-hero__title {
        font-size: 36px;
    }

    .bn-hero__sub {
        font-size: 24px;
    }

    .bn-involve__title {
        font-size: 28px;
    }

    .bn-cards,
    .bn-points,
    .pj-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .bn-service,
    .bn-service--wide {
        grid-column: 1 / -1;
    }

    .bn-service__body {
        flex-wrap: wrap;
    }

    .bn-offer__num {
        font-size: 72px;
    }

    .bn-cta__title {
        font-size: 28px;
    }

    .bn-cta .btn2 {
        width: 100%;
    }

    .bn-statement {
        font-size: 19px;
    }

    .bn-turnkey__title {
        font-size: 30px;
    }
}

/* ---------- 12. Кейсы: страницы проектов и карточки ----------
   Одна раскладка для всех кейсов: первый экран с фото и результатами,
   «Риск до проекта» и «За счёт чего», инструменты и цитата, подробный
   текст проекта, отзыв и другие проекты. Сетка и отступы — как у «Стоимости». */

/* Первый экран */
.cs-hero .pv-hero__main {
    grid-column: 1 / span 6;
}

.cs-hero .pv-hero__photo {
    grid-column: 7 / span 6;
}

.cs-hero__title {
    margin: 28px 0 22px;
    font-size: 60px;
    line-height: 1.1;
    font-weight: 700;
    color: #fff;
}

.cs-hero__lead {
    max-width: 760px;
    margin: 0 0 32px;
    font-size: 24px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
}

.cs-facts {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 28px 0 0;
    border-top: 1.5px solid rgba(255, 255, 255, 0.24);
}

.cs-fact {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
}

.cs-fact dt {
    padding-top: 4px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--peach);
}

.cs-fact dd {
    margin: 0;
    font-size: 21px;
    line-height: 1.5;
    color: #fff;
}

.pv-kpis.cs-kpis--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pv-kpis.cs-kpis--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Заголовки разделов кейса */
.cs-h2 {
    margin: 0 0 34px;
    font-size: 46px;
    line-height: 1.15;
    font-weight: 600;
    color: var(--ink);
}

.cs-intro {
    margin: -14px 0 24px;
    font-size: 21px;
    line-height: 1.55;
    color: var(--muted);
}

/* Риски и шаги — две колонки */
.cs-two {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
    align-items: start;
}

.cs-two__col {
    grid-column: span 6;
}

.cs-risks,
.cs-steps {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-risk {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    column-gap: 20px;
    row-gap: 4px;
    align-items: center;
    padding: 24px 28px;
    border-radius: 20px;
    background: var(--tint-orange);
}

.cs-risk__ico {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-row: 1 / span 2;
    align-self: start;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: #fff;
    color: var(--orange);
}

.cs-risk__ico .ico {
    width: 26px;
    height: 26px;
}

.cs-risk__what {
    font-size: 19px;
    line-height: 1.4;
    color: var(--muted);
}

.cs-risk__cost {
    font-size: 23px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--ink);
}

.cs-note {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 20px 0 0;
    font-size: 19px;
    line-height: 1.55;
    color: var(--muted);
}

.cs-note .ico {
    width: 24px;
    height: 24px;
    margin-top: 2px;
    color: var(--orange);
}

.cs-steps > li {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    padding: 24px 28px;
    border-radius: 20px;
    background: var(--tint);
}

.cs-steps__n {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.cs-steps p {
    margin: 12px 0 0;
    font-size: 21px;
    line-height: 1.45;
    color: var(--ink);
}

.cs-steps__t {
    display: block;
    margin-bottom: 6px;
    font-size: 23px;
    font-weight: 600;
}

.cs-steps .cs-list--sub {
    margin-top: 12px;
    font-size: 19px;
}

/* Цепочка этапов в шаге: упаковка, погрузка, таможня, отправка */
.cs-chain {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}

.cs-chain span {
    padding: 7px 16px;
    border-radius: 999px;
    background: #fff;
    font-size: 17px;
    font-weight: 600;
    color: var(--blue);
}

.cs-chain i {
    width: 18px;
    height: 2px;
    background: #9FB2F7;
}

/* Инструменты и цитата */
.cs-tq {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
    align-items: stretch;
}

.cs-tools {
    grid-column: 1 / span 5;
    padding: var(--pv-pad);
    border-radius: var(--pv-r);
    background: #fff;
}

.cs-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-chips li {
    padding: 12px 20px;
    border-radius: 999px;
    background: var(--tint);
    font-size: 19px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--navy);
}

.cs-quote {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    grid-column: 6 / span 7;
    margin: 0;
    padding: 56px 64px;
    border-radius: var(--pv-r);
    background: var(--navy);
    color: #fff;
}

.cs-quote > .ico {
    position: absolute;
    top: 44px;
    right: 52px;
    width: 64px;
    height: 64px;
    color: var(--orange);
}

.cs-quote blockquote {
    margin: 0 0 26px;
    padding-right: 96px;
}

.cs-quote blockquote p {
    margin: 0;
    font-size: 34px;
    line-height: 1.38;
    font-weight: 600;
}

.cs-quote figcaption,
.cs-quote__label {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--peach);
}

.cs-quote--summary .cs-quote__label {
    margin-bottom: 18px;
}

.cs-quote--summary p {
    margin: 0 0 14px;
    font-size: 24px;
    line-height: 1.5;
}

.cs-quote--summary p:last-child {
    margin-bottom: 0;
    font-size: 28px;
    font-weight: 600;
}

/* Подробно о проекте: название раздела слева, текст справа */
.cs-details {
    border-top: 1.5px solid var(--line);
}

.cs-row {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--pv-gap);
    padding: 44px 0;
    border-bottom: 1.5px solid var(--line);
}

.cs-row__title {
    grid-column: 1 / span 4;
    margin: 0;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--ink);
}

.cs-row__body {
    grid-column: 5 / span 8;
    font-size: 21px;
    line-height: 1.6;
    color: var(--ink);
}

.cs-row__body p {
    margin: 0 0 16px;
}

.cs-row__body p:last-child {
    margin-bottom: 0;
}

.cs-row__body p + .cs-list,
.cs-row__body .cs-list + p {
    margin-top: 16px;
}

.cs-row--accent {
    margin: 32px 0;
    padding: 48px var(--pv-pad);
    border: 0;
    border-radius: var(--pv-r);
    background: var(--navy);
}

.cs-row--accent .cs-row__title,
.cs-row--accent .cs-row__body {
    color: #fff;
}

.cs-row--accent .cs-list li::before {
    background: var(--peach);
}

.cs-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-list li {
    position: relative;
    padding-left: 30px;
}

.cs-list li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 0.62em;
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background: var(--blue);
}

.cs-list--sub {
    gap: 8px;
    margin-top: 10px;
}

.cs-list--sub li::before,
.cs-row--accent .cs-list--sub li::before {
    width: 8px;
    height: 8px;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: transparent;
}

.cs-table {
    width: 100%;
    border-collapse: collapse;
}

.cs-table th {
    padding: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: left;
    text-transform: uppercase;
    color: var(--muted);
}

.cs-table td {
    padding: 14px 0;
    border-top: 1.5px solid var(--line);
    vertical-align: top;
}

.cs-table td:first-child {
    width: 42%;
    padding-right: 24px;
    color: var(--muted);
}

.cs-table td:last-child {
    font-weight: 600;
}

/* Отзыв заказчика */
.cs-review {
    position: relative;
    margin: 56px 0 0;
    padding: 44px 56px 44px 132px;
    border-radius: var(--pv-r);
    background: var(--soft);
}

.cs-review > .ico {
    position: absolute;
    top: 44px;
    left: 52px;
    width: 48px;
    height: 48px;
    color: var(--blue);
}

.cs-review blockquote {
    margin: 0 0 16px;
}

.cs-review blockquote p {
    margin: 0;
    font-size: 26px;
    line-height: 1.5;
    font-weight: 500;
    color: var(--ink);
}

.cs-review figcaption {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.cs-band {
    margin-top: 56px;
}

.cs-band p {
    max-width: 1000px;
}

.cs-band__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 16px;
}

/* Карточки кейсов: направление и два главных результата */
.pj-card__tag {
    align-self: flex-start;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--tint);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--blue);
}

.pj-card__kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1.5px solid var(--line);
}

.pj-card__kpi {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 15px;
    line-height: 1.35;
    color: var(--muted);
}

.pj-card__kpi b {
    font-size: 26px;
    line-height: 1.15;
    font-weight: 700;
    color: var(--blue);
}

.pj-card--wide {
    grid-column: span 2;
    flex-direction: row;
}

.pj-card--wide .pj-card__img {
    flex: 0 0 52%;
    aspect-ratio: auto;
}

.pj-card--wide .pj-card__body {
    justify-content: center;
    padding: 36px 40px;
}

.pj-card--wide .pj-card__title {
    font-size: 30px;
    line-height: 1.25;
}

.pj-card .pj-card__kpis + .pj-card__more {
    margin-top: 0;
}

.pj-card--wide .pj-card__kpis {
    margin-top: 6px;
}

@media (max-width: 1199.98px) {
    .cs-hero .pv-hero__main,
    .cs-hero .pv-hero__photo {
        grid-column: 1 / -1;
    }

    .cs-hero__title {
        margin: 20px 0 16px;
        font-size: 40px;
    }

    .cs-hero__lead {
        margin-bottom: 24px;
        font-size: 18px;
    }

    .cs-fact {
        grid-template-columns: 170px minmax(0, 1fr);
        gap: 14px;
    }

    .cs-fact dt {
        font-size: 12px;
    }

    .cs-fact dd {
        font-size: 17px;
    }

    .pv-kpis.cs-kpis--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cs-h2 {
        margin-bottom: 24px;
        font-size: 32px;
    }

    .cs-intro,
    .cs-note {
        font-size: 16px;
    }

    .cs-two,
    .cs-tq {
        grid-template-columns: minmax(0, 1fr);
    }

    .cs-two__col,
    .cs-tools,
    .cs-quote {
        grid-column: 1 / -1;
    }

    .cs-two {
        row-gap: 56px;
    }

    .cs-risk,
    .cs-steps > li {
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 16px;
        padding: 18px 20px;
    }

    .cs-risk__ico,
    .cs-steps__n {
        width: 44px;
        height: 44px;
    }

    .cs-steps__n {
        font-size: 15px;
    }

    .cs-risk__what {
        font-size: 15px;
    }

    .cs-risk__cost,
    .cs-steps p {
        font-size: 17px;
    }

    .cs-steps p {
        margin-top: 10px;
    }

    .cs-steps__t {
        font-size: 18px;
    }

    .cs-chain span {
        font-size: 14px;
    }

    .cs-chips li {
        padding: 9px 16px;
        font-size: 15px;
    }

    .cs-quote {
        padding: 36px 32px;
    }

    .cs-quote > .ico {
        top: 30px;
        right: 28px;
        width: 44px;
        height: 44px;
    }

    .cs-quote blockquote {
        padding-right: 56px;
    }

    .cs-quote blockquote p {
        font-size: 24px;
    }

    .cs-quote--summary p {
        font-size: 18px;
    }

    .cs-quote--summary p:last-child {
        font-size: 20px;
    }

    .cs-row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 14px;
        padding: 30px 0;
    }

    .cs-row__title,
    .cs-row__body {
        grid-column: 1 / -1;
    }

    .cs-row__title {
        font-size: 22px;
    }

    .cs-row__body {
        font-size: 17px;
    }

    .cs-row--accent {
        margin: 24px 0;
        padding: 30px var(--pv-pad);
    }

    .cs-table td {
        padding: 10px 0;
    }

    .cs-review {
        margin-top: 40px;
        padding: 30px 28px 30px 84px;
    }

    .cs-review > .ico {
        top: 30px;
        left: 28px;
        width: 36px;
        height: 36px;
    }

    .cs-review blockquote p {
        font-size: 19px;
    }

    .cs-review figcaption {
        font-size: 13px;
    }

    .cs-band {
        margin-top: 40px;
    }

    .pj-card__kpi b {
        font-size: 22px;
    }

    .pj-card--wide .pj-card__body {
        padding: 26px 28px;
    }

    .pj-card--wide .pj-card__title {
        font-size: 22px;
    }

    .pj-card--wide .pj-card__kpi b {
        font-size: 26px;
    }
}

@media (max-width: 767.98px) {
    .cs-hero__title {
        font-size: 32px;
    }

    .cs-fact {
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
    }

    .pv-kpis.cs-kpis--3,
    .pv-kpis.cs-kpis--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cs-kpis--3 li:last-child {
        grid-column: 1 / -1;
    }

    .cs-h2 {
        font-size: 27px;
    }

    .cs-quote blockquote p {
        font-size: 20px;
    }

    .cs-review {
        padding: 74px 22px 26px;
    }

    .cs-review > .ico {
        top: 24px;
        left: 22px;
    }

    .cs-band__actions,
    .cs-band__actions .btn2 {
        width: 100%;
    }

    .pj-card--wide {
        grid-column: auto;
        flex-direction: column;
    }

    .pj-card--wide .pj-card__img {
        flex: none;
        aspect-ratio: 10 / 7;
    }

    .pj-card--wide .pj-card__body {
        padding: 20px 22px 24px;
    }

    .pj-card--wide .pj-card__title {
        font-size: 18px;
    }

    .pj-card--wide .pj-card__kpi b {
        font-size: 22px;
    }
}

/* слово с дефисом не разрывается переносом строки (v10) */
.nobr{white-space:nowrap}


/* ---------- v11. Главная: «Нам доверяют», «Нас цитируют», пункт руководства; кейсы из PDF ---------- */

/* Нас цитируют деловые и отраслевые СМИ */
.press {
    padding: 0 0 110px;
}

.press__card {
    padding: 64px 72px;
    border-radius: var(--r-xl);
    background: var(--tint);
}

.press__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 40px;
}

.press__title {
    margin: 0;
    font-size: 46px;
    line-height: 1.15;
    font-weight: 600;
    color: var(--ink);
}

.press__all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 19px;
    font-weight: 600;
    color: var(--blue);
    text-decoration: none;
    white-space: nowrap;
}

.press__all .ico {
    width: 22px;
    height: 22px;
}

.press__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.press__item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 128px;
    padding: 18px 26px;
    border: 1.5px solid #DCE3F5;
    border-radius: 20px;
    background: #fff;
    text-decoration: none;
    transition: border-color 0.2s;
}

.press__item:hover,
.press__item:focus-visible {
    border-color: var(--blue);
}

.press__item img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 66px;
}

.press__item--text {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    text-align: center;
    color: var(--navy);
}

/* Блок руководства на главной: один расширенный пункт */
.ai-promo__fact {
    position: relative;
    z-index: 1;
    padding: 40px 44px;
    border-radius: 28px;
    background: #fff;
    color: var(--ink);
}

.ai-promo__fact-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    padding-bottom: 28px;
    border-bottom: 1.5px solid var(--line);
}

.ai-promo__fact-top b {
    font-size: 56px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
    color: var(--blue);
}

.ai-promo__fact-top span {
    font-size: 20px;
    line-height: 1.45;
    color: var(--muted);
}

.ai-promo__fact-list {
    display: grid;
    gap: 22px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.ai-promo__fact-list li {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.ai-promo__fact-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: var(--tint);
    color: var(--blue);
}

.ai-promo__fact-ico .ico {
    width: 26px;
    height: 26px;
}

.ai-promo__fact-list b {
    display: block;
    margin-bottom: 4px;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--ink);
}

.ai-promo__fact-list span {
    font-size: 18px;
    line-height: 1.45;
    color: var(--muted);
}

/* Кейсы из PDF: задача, иллюстрация, итог, схема работы, риски */
.cs-hero__label {
    display: block;
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--peach);
}

.cs-illu {
    position: relative;
}

.cs-illu__tag {
    position: absolute;
    left: 20px;
    bottom: 20px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--navy);
}

.cs-result {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 32px 0 0;
    font-size: 24px;
    line-height: 1.45;
    font-weight: 600;
    color: #fff;
}

.cs-result .ico {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    margin-top: 3px;
    color: var(--peach);
}

.cs-origin {
    margin: 12px 0 0 42px;
    font-size: 17px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.72);
}

.cs--pdf .pv-eyebrow + .cs-h2 {
    margin-top: 14px;
}

.cs-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 36px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-flow > li {
    position: relative;
    padding: 30px 30px 32px;
    border-radius: 20px;
    background: var(--tint);
}

.cs-flow > li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -26px;
    width: 14px;
    height: 14px;
    border-top: 3px solid #9FB2F7;
    border-right: 3px solid #9FB2F7;
    transform: translateY(-50%) rotate(45deg);
}

.cs-flow__n {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: var(--blue);
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.cs-flow__n--branch {
    background: var(--navy);
}

.cs-flow__n .ico {
    width: 24px;
    height: 24px;
}

.cs-flow h3,
.cs-rcard h3 {
    margin: 0 0 10px;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--ink);
}

.cs-flow p,
.cs-rcard p {
    margin: 0;
    font-size: 19px;
    line-height: 1.5;
    color: var(--muted);
}

.cs-rcards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pv-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-rcard {
    padding: 32px;
    border-radius: 20px;
    background: #fff;
}

.cs-rcard .cs-risk__ico {
    margin-bottom: 20px;
    background: var(--tint-orange);
}

@media (max-width: 1199.98px) {
    .press {
        padding-bottom: 60px;
    }

    .press__card {
        padding: 40px;
        border-radius: 24px;
    }

    .press__title {
        font-size: 32px;
    }

    .press__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .press__item {
        height: 104px;
    }

    .press__item img {
        max-height: 52px;
    }

    .press__item--text {
        font-size: 24px;
    }

    .ai-promo__fact {
        padding: 32px;
    }

    .ai-promo__fact-top b {
        font-size: 44px;
    }

    .ai-promo__fact-top span,
    .ai-promo__fact-list span {
        font-size: 16px;
    }

    .ai-promo__fact-list b {
        font-size: 18px;
    }

    .cs-result {
        font-size: 19px;
    }

    .cs-origin {
        font-size: 15px;
    }

    .cs-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .cs-flow > li:not(:last-child)::after {
        display: none;
    }

    .cs-flow h3,
    .cs-rcard h3 {
        font-size: 21px;
    }

    .cs-flow p,
    .cs-rcard p {
        font-size: 17px;
    }

    .cs-rcards {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
}

@media (max-width: 767.98px) {
    .press__card {
        padding: 30px 18px;
    }

    .press__head {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 24px;
    }

    .press__title {
        font-size: 25px;
    }

    .press__all {
        font-size: 16px;
    }

    .press__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .press__item {
        height: 84px;
        padding: 12px 14px;
        border-radius: 14px;
    }

    .press__item img {
        max-height: 40px;
    }

    .press__item--text {
        font-size: 18px;
    }

    .ai-promo__fact {
        padding: 22px 18px;
        border-radius: 18px;
    }

    .ai-promo__fact-top {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding-bottom: 18px;
    }

    .ai-promo__fact-top b {
        font-size: 34px;
    }

    .ai-promo__fact-top span,
    .ai-promo__fact-list span {
        font-size: 14px;
    }

    .ai-promo__fact-list {
        gap: 16px;
        margin-top: 18px;
    }

    .ai-promo__fact-list li {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px;
    }

    .ai-promo__fact-ico {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .ai-promo__fact-ico .ico {
        width: 20px;
        height: 20px;
    }

    .ai-promo__fact-list b {
        font-size: 16px;
    }

    .cs-result {
        font-size: 17px;
    }

    .cs-origin {
        margin-left: 0;
        font-size: 13px;
    }

    .cs-illu__tag {
        left: 12px;
        bottom: 12px;
        font-size: 12px;
    }

    .cs-flow {
        grid-template-columns: minmax(0, 1fr);
    }

    .cs-flow > li {
        padding: 22px 20px;
    }

    .cs-flow__n {
        width: 42px;
        height: 42px;
        margin-bottom: 14px;
        font-size: 15px;
    }

    .cs-flow h3,
    .cs-rcard h3 {
        font-size: 19px;
    }

    .cs-flow p,
    .cs-rcard p {
        font-size: 15px;
    }

    .cs-rcard {
        padding: 22px 20px;
    }
}



/* ---------- v12. Главная: «Нам доверяют» внизу перед формой заявки, компактнее и с воздухом ---------- */
.trust {
    padding: 112px 0;
}

.trust__card {
    padding: 48px 64px;
    border-radius: var(--r-xl);
    background: var(--navy);
    color: #fff;
}

.trust__row {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 56px;
    align-items: center;
    padding: 40px 0;
}

.trust__row:first-child {
    padding-top: 0;
}

.trust__row:last-child {
    padding-bottom: 0;
}

.trust__row + .trust__row {
    border-top: 1.5px solid rgba(255, 255, 255, 0.2);
}

.trust__title {
    margin: 0;
    font-size: 30px;
    line-height: 1.27;
    font-weight: 600;
    color: #fff;
}

.trust__logos {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 40px;
}

.trust__cell {
    display: flex;
    align-items: center;
    justify-content: center;
}

.trust__logos--split > .trust__cell + .trust__cell {
    padding-left: 40px;
    border-left: 1.5px solid rgba(255, 255, 255, 0.24);
}

.trust__logo {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.trust__logo--fts,
.trust__logo--tpp {
    height: 76px;
}

.trust__logo--nordstream {
    height: 44px;
}

.trust__logo--toshiba {
    height: 28px;
}

.trust__logo--gazprom,
.trust__logo--silmash {
    height: 66px;
}

.trust__logo--central-oceans {
    height: 62px;
}

.trust__logo--fesco {
    height: 56px;
}

.trust__pairs {
    display: grid;
    gap: 28px;
}

.trust__pair {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
}

.trust__x {
    font-size: 36px;
    line-height: 1;
    font-weight: 400;
    color: var(--orange);
}

.trust__partners {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 56px;
    align-items: center;
    margin-top: 40px;
    padding: 36px 64px;
    border-radius: var(--r-xl);
    background: #DBE8FE;
}

.trust__partners .trust__title {
    color: var(--navy);
}

@media (max-width: 1199.98px) {
    .trust {
        padding: 72px 0;
    }

    .trust__card {
        padding: 36px 32px;
        border-radius: 24px;
    }

    .trust__row,
    .trust__partners {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .trust__row {
        padding: 30px 0;
    }

    .trust__partners {
        margin-top: 28px;
        padding: 32px;
        border-radius: 24px;
    }

    .trust__title {
        font-size: 22px;
    }

    .trust__logo--fts,
    .trust__logo--tpp {
        height: 64px;
    }

    .trust__logo--nordstream {
        height: 38px;
    }

    .trust__logo--toshiba {
        height: 24px;
    }

    .trust__logo--gazprom,
    .trust__logo--silmash {
        height: 56px;
    }

    .trust__logo--central-oceans {
        height: 54px;
    }

    .trust__logo--fesco {
        height: 48px;
    }
}

@media (max-width: 767.98px) {
    .trust {
        padding: 52px 0;
    }

    .trust__card {
        padding: 28px 20px;
    }

    .trust__row {
        gap: 20px;
        padding: 24px 0;
    }

    .trust__partners {
        gap: 20px;
        margin-top: 20px;
        padding: 28px 20px;
    }

    .trust__title {
        font-size: 19px;
    }

    .trust__logos {
        flex-direction: column;
        gap: 20px;
    }

    .trust__logos--split > .trust__cell {
        align-self: stretch;
    }

    .trust__logos--split > .trust__cell + .trust__cell {
        padding: 20px 0 0;
        border-left: 0;
        border-top: 1.5px solid rgba(255, 255, 255, 0.24);
    }

    .trust__logo--fts,
    .trust__logo--tpp {
        height: 56px;
    }

    .trust__logo--nordstream {
        height: 32px;
    }

    .trust__logo--toshiba {
        height: 20px;
    }

    .trust__logo--gazprom,
    .trust__logo--silmash {
        height: 48px;
    }

    .trust__logo--central-oceans {
        height: 48px;
    }

    .trust__logo--fesco {
        height: 42px;
    }

    .trust__pairs {
        gap: 20px;
    }

    .trust__pair {
        gap: 12px;
    }

    .trust__x {
        font-size: 24px;
    }
}
