/* 2026 mobile-first redesign. Kept separate from the legacy icon bundle. */
:root {
    --nika-forest: #0c3028;
    --nika-forest-2: #173f34;
    --nika-forest-soft: #285448;
    --nika-leaf: #95c63d;
    --nika-leaf-bright: #b8df58;
    --nika-gold: #bc934b;
    --nika-gold-soft: #d7bb7c;
    --nika-ivory: #f7f5ef;
    --nika-paper: #fcfbf7;
    --nika-mist: #e8ecdf;
    --nika-ink: #102b24;
    --nika-copy: #46524e;
    --nika-serif: var(--font-heading);
    --nika-radius-xl: 32px;
    --nika-radius-lg: 24px;
    --nika-radius-md: 18px;
    --nika-shadow: 0 24px 70px rgba(11, 43, 35, 0.12);
}

html {
    scroll-padding-top: 88px;
}

body {
    overflow-x: hidden;
    background: var(--nika-paper);
    color: var(--nika-copy);
}

body.modal-open,
body.menu-open {
    overflow: hidden;
}

.container {
    width: min(100% - 40px, 1220px);
    padding: 0;
}

.section {
    padding: clamp(68px, 6vw, 88px) 0;
}

.section-title {
    max-width: 900px;
    color: var(--nika-ink);
    font-size: clamp(2rem, 3.8vw, 3.5rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

br.desktop-only {
    display: none;
}

.eyebrow {
    color: var(--nika-gold);
    font-size: 0.74rem;
    letter-spacing: 0.24em;
}

.header {
    min-height: 80px;
    padding: 0;
    display: flex;
    align-items: center;
    background: rgba(252, 251, 247, 0.94) !important;
    border-bottom: 1px solid rgba(12, 48, 40, 0.08);
    backdrop-filter: blur(18px);
}

.header-inner {
    min-height: 80px;
    background: transparent !important;
}

.header .logo img {
    width: auto !important;
    height: 58px !important;
    display: block;
    object-fit: contain;
}

.header .nav {
    gap: 38px;
}

.header .nav a {
    color: var(--nika-ink);
    font-size: 0.76rem;
    letter-spacing: 0.08em;
}

.header .btn-primary {
    border-radius: 999px;
    padding: 12px 22px;
    background: var(--nika-forest);
}

.menu-toggle {
    width: 48px;
    height: 48px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--nika-forest);
}

.mobile-menu {
    padding: max(28px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));
    background:
        radial-gradient(circle at 90% 10%, rgba(149, 198, 61, 0.12), transparent 30%),
        var(--nika-forest);
}

.mobile-menu-close {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    font-size: 1.5rem;
}

.mobile-nav {
    gap: 22px;
}

.mobile-nav a {
    font-size: clamp(1.55rem, 8vw, 2.4rem);
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-transform: none;
}

.partner-page .mobile-nav a {
    font-family: var(--nika-serif);
    font-weight: 600;
}

.page-top-padding {
    padding-top: 80px;
}

.btn {
    min-height: 56px;
    border-radius: 14px;
    padding: 15px 26px;
    gap: 14px;
    font-size: 0.95rem;
}

.btn-hero-cta,
.btn-green {
    background: var(--nika-leaf);
    color: var(--nika-ink);
    box-shadow: 0 14px 34px rgba(149, 198, 61, 0.2);
}

.btn-hero-cta:hover,
.btn-green:hover {
    background: var(--nika-leaf-bright);
    color: var(--nika-ink);
}

/* Main gateway */
.gateway-body {
    min-height: 100vh;
    min-height: 100dvh;
    background: var(--nika-forest);
}

.gateway {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    isolation: isolate;
    color: #fff;
    background: var(--nika-forest) url('img/redesign/hero-main.webp') center / cover no-repeat;
}

.gateway::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(3, 25, 20, 0.9) 0%, rgba(3, 25, 20, 0.65) 48%, rgba(3, 25, 20, 0.16) 100%),
        linear-gradient(0deg, rgba(3, 25, 20, 0.56), transparent 45%);
}

.gateway-header {
    width: min(100% - 40px, 1280px);
    min-height: 100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
}

.gateway-logo {
    display: inline-flex;
    align-items: center;
}

.gateway-logo img {
    display: block;
    width: 112px;
    height: auto;
    filter: none;
}

.gateway-badge {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    padding: 10px 20px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    backdrop-filter: blur(10px);
    white-space: nowrap;
}

.gateway-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: clamp(16px, 2.2vw, 32px);
}

.gateway-nav a {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.gateway-nav a:hover {
    color: var(--nika-leaf-bright);
}

.gateway-menu {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
}

.gateway-menu i {
    font-size: 1.7rem;
}

.gateway-content {
    width: min(100% - 40px, 1280px);
    min-height: calc(100dvh - 100px);
    margin: 0 auto;
    padding: clamp(36px, 4vw, 64px) 0 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gateway-kicker {
    margin-bottom: 22px;
    color: var(--nika-leaf-bright);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.gateway-title {
    max-width: 900px;
    color: #fff !important;
    font-size: clamp(3rem, 5.4vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.gateway-title span {
    color: var(--nika-leaf-bright);
}

.gateway-lead {
    max-width: 670px;
    margin-top: 26px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    line-height: 1.55;
}

.gateway-proof {
    margin-top: 32px;
    display: flex;
    align-items: center;
    gap: 0;
}

.gateway-proof-item {
    min-width: 220px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding-right: 28px;
}

.gateway-proof-item + .gateway-proof-item {
    padding-left: 28px;
    border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.gateway-proof-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--nika-leaf-bright);
    background: rgba(149, 198, 61, 0.13);
}

.gateway-proof strong,
.gateway-proof span {
    display: block;
}

.gateway-proof strong {
    color: var(--nika-leaf-bright);
    font-size: 1.1rem;
}

.gateway-proof span {
    font-size: 0.96rem;
    color: rgba(255, 255, 255, 0.8);
}

.gateway-proof .gateway-proof-icon {
    display: grid;
}

.gateway-proof-icon i {
    display: block;
    font-size: 1.05rem;
    line-height: 1;
}

.gateway-actions {
    width: min(100%, 740px);
    margin-top: 38px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.gateway-action {
    height: 112px;
    min-height: 112px;
    padding: 22px 24px;
    display: grid;
    grid-template-columns: 52px 1fr 24px;
    align-items: center;
    gap: 16px;
    border-radius: 18px;
    color: var(--nika-ink);
    background: var(--nika-leaf);
    text-decoration: none;
    transition: transform 0.25s ease, background 0.25s ease;
}

.gateway-action:hover {
    transform: translateY(-3px);
    background: var(--nika-leaf-bright);
}

.gateway-action--light {
    background: rgba(252, 251, 247, 0.94);
}

.gateway-action--light:hover {
    background: #fff;
}

.gateway-action i {
    font-size: 2rem;
}

.gateway-action strong,
.gateway-action span {
    display: block;
}

.gateway-action strong {
    font-family: var(--font-heading);
    font-size: 1.24rem;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

.gateway-action span {
    margin-top: 5px;
    font-size: 0.9rem;
    opacity: 0.72;
}

.gateway-action > span > span {
    white-space: nowrap;
}

.gateway-connect {
    width: min(100%, 740px);
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.gateway-connect-label {
    margin-right: 4px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.72rem;
}

.gateway-contact {
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    text-decoration: none;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.gateway-contact:hover {
    transform: translateY(-2px);
    border-color: rgba(184, 223, 88, 0.72);
    background: rgba(149, 198, 61, 0.18);
}

.gateway-contact i {
    color: var(--nika-leaf-bright);
    font-size: 1.05rem;
}

.gateway-legal {
    margin-top: 18px;
    display: flex;
    gap: 22px;
}

/* Юридические ссылки временно скрыты на публичных страницах. */
.gateway-legal,
.footer-legal {
    display: none !important;
}

.gateway-legal a {
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.75rem;
}

/* Shared full-image heroes */
.hero {
    min-height: 680px;
    display: flex;
    align-items: center;
    padding: 64px 0;
    border-radius: 0 0 34px 34px;
    background-position: center;
}

.hero::before {
    background: linear-gradient(90deg, rgba(4, 31, 24, 0.91) 0%, rgba(4, 31, 24, 0.62) 48%, rgba(4, 31, 24, 0.1) 100%);
}

.client-hero {
    background-image: url('img/redesign/hero-main.webp');
}

.partner-hero {
    background-image: url('img/redesign/hero-partner.webp');
}

.hero-content {
    width: min(100% - 40px, 1220px);
    padding: 44px 0;
}

.hero-title {
    max-width: 830px;
    color: #fff;
    font-size: clamp(3.5rem, 5.5vw, 5.1rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.hero-subtitle {
    max-width: 620px;
    margin-top: 26px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.2rem;
    line-height: 1.55;
}

.hero-cta-lead {
    margin-top: 32px;
    color: #fff;
    font-size: 0.94rem;
}

.hero-proof-row {
    margin-top: 28px;
    display: flex;
    gap: 24px;
}

.hero-proof {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #fff;
    font-size: 0.84rem;
}

.hero-proof i {
    color: var(--nika-leaf-bright);
    font-size: 1.4rem;
}

/* Client */
.eng-cards-grid {
    gap: 16px;
}

.eng-card,
.r-card,
.p-review-card {
    border: 1px solid rgba(12, 48, 40, 0.08);
    border-radius: var(--nika-radius-md);
    background: #fff;
    box-shadow: 0 12px 34px rgba(12, 48, 40, 0.05);
}

.eng-card {
    min-height: 245px;
    padding: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: 44% minmax(0, 1fr);
    align-items: stretch;
    border-left: 1px solid rgba(12, 48, 40, 0.08);
}

.eng-card__media {
    min-height: 100%;
    position: relative;
    overflow: hidden;
    background: var(--nika-mist);
}

.eng-card__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 30%, #fff 100%);
    pointer-events: none;
}

.eng-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.eng-card:nth-child(2) .eng-card__media img {
    object-position: center 66%;
}

.eng-card:nth-child(3) .eng-card__media img {
    object-position: 58% center;
}

.eng-card:nth-child(4) .eng-card__media img {
    object-position: 58% center;
}

.eng-card:hover .eng-card__media img {
    transform: scale(1.04);
}

.eng-card__body {
    position: relative;
    z-index: 1;
    align-self: center;
    margin-left: 0;
    padding: 26px 18px 26px 10px;
}

@media (min-width: 993px) {
    html:has(body.client-page) {
        font-size: 18px;
    }

    br.desktop-only {
        display: block;
    }

    .client-page #about > .container {
        display: block;
    }

    .client-page #about .eng-info {
        max-width: 900px;
        margin: 0 auto;
        padding: 0 20px;
        text-align: center;
    }

    .client-page #about .eng-lead {
        display: inline-block;
        max-width: 760px;
        margin-top: 20px;
        padding: 11px 24px;
        border-top: 1px solid rgba(188, 147, 75, 0.55);
        border-bottom: 1px solid rgba(188, 147, 75, 0.55);
        color: var(--nika-gold);
        font-size: 1.18rem;
        font-weight: 700;
        line-height: 1.4;
    }

    .client-page #about .eng-heading-secondary {
        max-width: 820px;
        margin: 30px auto 14px;
        font-size: 1.8rem;
        line-height: 1.15;
    }

    .client-page #about .eng-body {
        max-width: 700px;
        margin-left: auto;
        margin-right: auto;
        font-size: 1rem;
        line-height: 1.65;
    }

    .client-page #about .eng-card {
        height: 260px;
        min-height: 260px;
        grid-template-columns: 55% minmax(0, 45%);
    }

    .client-page #about .eng-card__body {
        padding: 34px 48px 34px 30px;
    }

    .client-page #about .eng-card h4 {
        margin-bottom: 14px;
        font-size: 1.42rem;
        line-height: 1.12;
    }

    .client-page #about .eng-card p {
        font-size: 0.98rem;
        line-height: 1.55;
    }

    .client-page .complex-item p {
        color: var(--nika-gold);
        font-size: 1.04rem;
        font-weight: 600;
        line-height: 1.55;
    }

    .client-page #about .eng-card:nth-child(even) {
        grid-template-columns: minmax(0, 45%) 55%;
    }

    .client-page #about .eng-card:nth-child(even) .eng-card__body {
        padding: 34px 30px 34px 48px;
    }

    .client-page #about .eng-lead,
    .client-page #about .eng-heading-secondary,
    .client-page #about .eng-body {
        margin-left: auto;
        margin-right: auto;
    }

    .client-page #about .eng-grid-cards {
        width: 100%;
        margin-top: 56px;
    }

    .client-page .eng-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .client-page .eng-card:nth-child(even) {
        grid-template-columns: minmax(0, 45%) 55%;
        border-left: 0;
        border-right: 1px solid rgba(12, 48, 40, 0.08);
    }

    .client-page .eng-card:nth-child(even) .eng-card__media {
        grid-column: 2;
        grid-row: 1;
    }

    .client-page .eng-card:nth-child(even) .eng-card__media::after {
        background: linear-gradient(270deg, rgba(255, 255, 255, 0) 30%, #fff 100%);
    }

    .client-page .eng-card:nth-child(even) .eng-card__body {
        grid-column: 1;
        grid-row: 1;
        padding: 34px 30px 34px 48px;
    }
}

.service-img-box {
    min-height: 0;
    height: 480px;
    border-radius: var(--nika-radius-xl);
}

.service-img-box img {
    object-position: 52% center;
}

.service-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.service-card-grid .service-card {
    min-height: 225px;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    margin: 0;
    padding: 22px;
    overflow: hidden;
    border-radius: var(--nika-radius-md);
    background: var(--nika-forest);
    box-shadow: 0 16px 34px rgba(12, 48, 40, 0.14);
}

.service-card::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 30, 25, 0.08) 18%, rgba(8, 30, 25, 0.92) 100%);
}

.service-card__image {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -2;
    inset: 0;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.service-card:first-child .service-card__image {
    object-position: 58% center;
}

.service-card:last-child .service-card__image {
    object-position: 58% center;
}

.service-card:hover .service-card__image {
    transform: scale(1.04);
}

.service-card__content {
    position: relative;
    z-index: 1;
}

.service-card-grid .service-card i {
    width: 38px;
    height: 38px;
    display: block;
    margin: 0 0 13px;
    color: #fff;
    background: currentColor;
}

.service-card-grid .service-card strong {
    margin-bottom: 7px;
    color: #fff;
    font-size: 1.04rem;
}

.service-card-grid .service-card p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.78rem;
    line-height: 1.45;
}

.portfolio-carousel,
.portfolio-item,
.p-img-box {
    border-radius: var(--nika-radius-lg);
}

.wwd-grid {
    gap: 16px;
}

.wwd-card {
    min-height: 280px;
    border-radius: var(--nika-radius-lg);
}

/* Let the photography read more clearly through the benefit tiles. */
.client-page .wwd-card--photo.wwd-card--overlay-dark::after {
    background: linear-gradient(155deg, rgba(12, 48, 40, 0.72) 0%, rgba(12, 48, 40, 0.56) 100%);
}

.client-page .wwd-card--photo.wwd-card--overlay-light::after {
    background: linear-gradient(180deg, rgba(248, 247, 245, 0.74) 0%, rgba(232, 228, 220, 0.62) 100%);
}

.full-bg-green {
    background: var(--nika-forest);
}

.c-icon {
    border-radius: 50%;
    color: var(--nika-leaf-bright);
    background: rgba(149, 198, 61, 0.12);
}

.client-calculation {
    position: relative;
    overflow: hidden;
    padding: clamp(72px, 8vw, 110px) 0;
    color: #fff;
    background: var(--nika-forest);
}

.client-calculation::after {
    content: '';
    position: absolute;
    inset: 0 0 0 42%;
    background: linear-gradient(90deg, var(--nika-forest), transparent 28%), url('img/redesign/client-calculation.webp') center / cover no-repeat;
    opacity: 0.95;
}

.client-calculation .container {
    position: relative;
    z-index: 1;
}

.calculation-copy {
    max-width: 610px;
}

.calculation-copy h2 {
    color: #fff;
}

.calculation-copy h2 span {
    color: var(--nika-leaf-bright);
}

.calculation-lead {
    max-width: 520px;
    margin-top: 26px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.06rem;
    line-height: 1.6;
}

.calculation-list {
    max-width: 520px;
    margin: 32px 0 0;
    padding: 0;
    list-style: none;
}

.calculation-list li {
    padding: 17px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.calculation-list i {
    color: var(--nika-leaf-bright);
    font-size: 1.45rem;
}

.calculation-copy .btn {
    width: min(100%, 460px);
    margin-top: 34px;
    font-size: 1.03rem;
}

.reviews-grid {
    gap: 16px;
}

.r-card {
    padding: 30px;
}

.referral-section {
    background: linear-gradient(145deg, #fbfaf5, #eef0e6);
}

.referral-shell {
    position: relative;
    overflow: hidden;
    padding: clamp(34px, 6vw, 70px);
    border: 1px solid rgba(12, 48, 40, 0.08);
    border-radius: var(--nika-radius-xl);
    background: #fcfbf7;
    box-shadow: var(--nika-shadow);
}

.referral-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
    gap: 52px;
}

.referral-kicker {
    color: var(--nika-gold);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.referral-amount {
    margin-top: 20px;
    color: var(--nika-forest);
    font-family: var(--font-heading);
    font-size: clamp(4.5rem, 10vw, 8.5rem);
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: -0.06em;
}

.referral-description {
    max-width: 460px;
    margin-top: 22px;
    font-size: 1.05rem;
}

.referral-visual {
    min-height: 330px;
    display: grid;
    place-items: center;
}

.referral-envelope {
    width: min(100%, 420px);
    aspect-ratio: 1.25;
    position: relative;
    border-radius: 22px 22px 42px 42px;
    background: linear-gradient(145deg, #55754d, #193e32);
    box-shadow: 0 30px 50px rgba(12, 48, 40, 0.24);
    transform: rotate(-4deg);
}

.referral-envelope::before {
    content: '5 000 ₽';
    position: absolute;
    width: 76%;
    height: 70%;
    left: 12%;
    top: -18%;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: var(--nika-forest);
    background: var(--nika-ivory);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 5vw, 4rem);
    font-weight: 800;
    box-shadow: 0 16px 30px rgba(12, 48, 40, 0.12);
}

.referral-envelope::after {
    content: '';
    position: absolute;
    inset: 26% 0 0;
    clip-path: polygon(0 0, 50% 52%, 100% 0, 100% 100%, 0 100%);
    border-radius: 0 0 40px 40px;
    background: linear-gradient(155deg, #6f8b5c, #21483a);
}

/* Client estimate modal */
.lead-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    padding: 24px;
    place-items: center;
}

.lead-modal.is-open {
    display: grid;
}

.lead-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 25, 20, 0.76);
    backdrop-filter: blur(12px);
}

.lead-modal__dialog {
    width: min(100%, 1040px);
    max-height: calc(100dvh - 48px);
    position: relative;
    overflow: auto;
    border-radius: var(--nika-radius-xl);
    background: #fff;
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.35);
}

.lead-modal__close {
    width: 48px;
    height: 48px;
    position: absolute;
    z-index: 2;
    top: 16px;
    right: 16px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: var(--nika-ink);
    background: rgba(255, 255, 255, 0.9);
    cursor: pointer;
}

.lead-modal .form-wrapper {
    box-shadow: none;
}

.lead-modal .container {
    width: 100%;
    max-width: none;
}

.lead-success-toast {
    max-width: min(420px, calc(100vw - 32px));
    position: fixed;
    z-index: 1200;
    left: 50%;
    bottom: max(24px, env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 19px;
    border-radius: 16px;
    color: #fff;
    background: var(--nika-forest);
    box-shadow: 0 20px 54px rgba(3, 25, 20, 0.28);
    opacity: 0;
    transform: translate(-50%, 18px);
    transition: opacity 0.24s ease, transform 0.24s ease;
    pointer-events: none;
}

.lead-success-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.lead-success-toast .custom-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    color: var(--nika-leaf-bright);
    background: currentColor;
}

.footer-brand .logo {
    width: fit-content;
}

.footer-brand .logo img {
    width: auto !important;
    height: 68px !important;
    display: block;
    object-fit: contain;
}

/* Partner editorial language */
.partner-page .section-title,
.partner-page .why-card h4,
.partner-page .transparency-list strong,
.partner-page .process-card h4,
.partner-page .terms-card h2,
.partner-page .p-reviewer-info h6 {
    font-family: var(--nika-serif);
}

.partner-page .section-title {
    font-weight: 600;
    letter-spacing: -0.035em;
}

.partner-page .partner-hero .hero-title {
    max-width: 850px;
    font-family: var(--nika-serif);
    font-weight: 600;
    font-size: clamp(4rem, 5.8vw, 5.3rem);
}

.partner-page .partner-hero__lead {
    max-width: 620px;
    padding: 0;
    border: 0;
    background: none;
    backdrop-filter: none;
}

.partner-hero-kicker {
    margin-bottom: 24px;
    color: var(--nika-gold-soft);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.partner-trust-row {
    margin-top: 38px;
    display: flex;
    gap: 0;
}

.partner-trust {
    min-width: 160px;
    padding: 0 24px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.78rem;
    text-align: center;
}

.partner-trust:first-child {
    padding-left: 0;
}

.partner-trust + .partner-trust {
    border-left: 1px solid rgba(215, 187, 124, 0.35);
}

.partner-trust i {
    display: block;
    margin: 0 auto 10px;
    color: var(--nika-gold-soft);
    font-size: 1.7rem;
}

.partner-why-editorial {
    position: relative;
    min-height: 760px;
    overflow: hidden;
    background: #fbfaf6 url('img/redesign/partner-editorial.webp') right center / 58% auto no-repeat;
}

.partner-why-editorial::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fbfaf6 0%, #fbfaf6 42%, rgba(251, 250, 246, 0.9) 58%, rgba(251, 250, 246, 0.15) 100%);
}

.partner-why-editorial .container {
    position: relative;
    z-index: 1;
}

.partner-why-editorial .section-title {
    max-width: 760px;
}

.partner-why-editorial .eyebrow {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    color: #fff;
    background: var(--nika-forest);
    letter-spacing: 0.16em;
}

.partner-why-editorial .why-grid {
    max-width: 770px;
    grid-template-columns: 1fr;
    gap: 0;
}

.partner-why-editorial .why-card {
    display: grid;
    grid-template-columns: 110px 1fr;
    column-gap: 26px;
    padding: 28px 0;
    border-bottom: 1px solid rgba(188, 147, 75, 0.28);
}

.partner-why-editorial .why-icon {
    grid-row: 1 / span 2;
    width: 94px;
    height: 94px;
    border: 1px solid rgba(188, 147, 75, 0.28);
    border-radius: 22px;
    color: var(--nika-gold);
    background: rgba(255, 255, 255, 0.75);
}

.partner-why-editorial .why-card h4 {
    margin: 0 0 8px;
    color: var(--nika-ink);
    font-size: 1.65rem;
}

.partner-why-editorial .why-card p {
    max-width: 560px;
    margin: 0;
}

.partner-transparency-editorial {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 20%, rgba(149, 198, 61, 0.12), transparent 28%),
        var(--nika-ivory);
}

.partner-transparency-editorial .flex-grid {
    display: block;
}

.partner-transparency-editorial .w-50-img {
    display: none;
}

.partner-transparency-editorial .w-50-text {
    width: 100%;
    padding: 0;
}

.partner-transparency-editorial .section-title {
    max-width: 940px;
    margin-bottom: 56px;
}

.partner-transparency-editorial .transparency-list {
    max-width: 920px;
    margin-left: auto;
}

.partner-transparency-editorial .transparency-list li {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 28px;
    padding: 28px 0;
    border-bottom: 1px solid rgba(188, 147, 75, 0.28);
}

.partner-transparency-editorial .transparency-list i {
    width: 78px;
    height: 78px;
    display: grid;
    place-items: center;
    border: 2px solid var(--nika-gold-soft);
    border-radius: 50%;
    color: var(--nika-gold-soft) !important;
    background: var(--nika-forest);
    box-shadow: 0 14px 30px rgba(12, 48, 40, 0.18);
}

.partner-transparency-editorial .transparency-list strong {
    color: var(--nika-ink);
    font-size: 1.85rem;
}

.partner-transparency-terms .partner-inline-terms {
    margin-top: 64px;
    padding: clamp(34px, 6vw, 72px);
    border-radius: var(--nika-radius-xl);
    background: var(--nika-forest);
    box-shadow: var(--nika-shadow);
}

.partner-transparency-terms .partner-inline-terms h2 {
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 600;
}

.partner-transparency-terms .partner-inline-terms .t-val {
    color: var(--nika-gold-soft);
}

.partner-transparency-terms .partner-inline-terms .t-label {
    color: #fff;
}

.partner-transparency-terms .partner-inline-terms .term-stat p {
    color: rgba(255, 255, 255, 0.7);
}

@media (min-width: 993px) {
    .partner-page .p-reviews-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.partner-process-editorial {
    background: #fbfaf7;
}

.partner-process-editorial .process-grid {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 1fr;
    gap: 18px;
}

.partner-process-editorial .process-card {
    min-height: 230px;
    padding: 24px;
    display: grid;
    grid-template-columns: 100px 1fr 310px;
    align-items: center;
    gap: 28px;
    text-align: left;
    border: 1px solid rgba(12, 48, 40, 0.06);
    border-radius: var(--nika-radius-lg);
    background: #fff;
    box-shadow: 0 12px 36px rgba(12, 48, 40, 0.06);
}

.partner-process-editorial .p-num {
    margin: 0;
    color: var(--nika-gold);
    font-family: var(--nika-serif);
    font-size: 4.2rem;
    line-height: 1;
}

.process-card__copy h4 {
    color: var(--nika-ink);
    font-size: 1.65rem;
}

.process-card__copy p {
    margin-top: 10px;
    font-size: 0.92rem;
    line-height: 1.65;
}

.process-card__image {
    width: 100%;
    min-width: 0;
    height: auto;
    display: block;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 16px;
}

.partner-terms-editorial {
    background: var(--nika-ivory);
}

.partner-terms-editorial .terms-card {
    min-height: 420px;
    padding: clamp(34px, 6vw, 72px);
    border-radius: var(--nika-radius-xl);
    background: var(--nika-forest);
    box-shadow: var(--nika-shadow);
}

.partner-terms-editorial .terms-card h2 {
    font-size: clamp(2.8rem, 5vw, 4.8rem);
    font-weight: 600;
}

.partner-terms-editorial .t-val {
    color: var(--nika-gold-soft);
}

.partner-terms-editorial .t-label {
    color: #fff;
}

.partner-terms-editorial .term-stat p {
    color: rgba(255, 255, 255, 0.7);
}

.partner-page .floating-form-box {
    border-radius: var(--nika-radius-xl);
    box-shadow: var(--nika-shadow);
}

.partner-page .partner-styled-form input {
    min-height: 54px;
    border-radius: 10px;
}

.footer {
    background: #08271f;
}

@media (max-width: 992px) {
    .gateway-actions {
        grid-template-columns: 1fr;
        max-width: 560px;
    }

    .hero-title {
        font-size: clamp(3.4rem, 9vw, 5.6rem);
    }

    .client-calculation::after {
        inset: 0 0 0 35%;
        opacity: 0.48;
    }

    .partner-why-editorial {
        background-size: cover;
    }

    .partner-why-editorial::after {
        background: linear-gradient(90deg, rgba(251, 250, 246, 0.98), rgba(251, 250, 246, 0.88));
    }

    .partner-process-editorial .process-card {
        grid-template-columns: 80px 1fr 230px;
    }
}

@media (max-width: 768px) {
    .container,
    .gateway-header,
    .gateway-content,
    .hero-content {
        width: min(100% - 32px, 100%);
    }

    .section {
        padding: 52px 0;
    }

    .section-title {
        font-size: clamp(2rem, 8.8vw, 2.25rem);
        line-height: 1.02;
    }

    .header,
    .header-inner {
        min-height: 76px;
    }

    .header .logo img {
        height: 52px !important;
    }

    .menu-toggle {
        display: flex;
    }

    .page-top-padding {
        padding-top: 76px;
    }

    .gateway {
        background-position: 62% center;
    }

    .gateway::before {
        background: linear-gradient(180deg, rgba(3, 25, 20, 0.42) 0%, rgba(3, 25, 20, 0.72) 38%, rgba(3, 25, 20, 0.95) 100%);
    }

    .gateway-header {
        min-height: 86px;
        gap: 14px;
        flex-wrap: wrap;
        padding: 10px 0;
    }

    .gateway-logo img {
        width: 90px;
    }

    .gateway-badge {
        position: static;
        padding: 8px 12px;
        gap: 7px;
        font-size: 0.64rem;
    }

    .gateway-nav {
        order: 3;
        width: 100%;
        margin-left: 0;
        justify-content: center;
        gap: 16px;
    }

    .gateway-nav a {
        font-size: 0.58rem;
        letter-spacing: 0.09em;
    }

    .gateway-menu {
        width: 46px;
        height: 46px;
    }

    .gateway-content {
        min-height: calc(100dvh - 126px);
        padding: 64px 0 26px;
        justify-content: flex-end;
    }

    .gateway-kicker {
        margin-bottom: 14px;
        font-size: 0.67rem;
    }

    .gateway-title {
        font-size: clamp(2.35rem, 10.5vw, 2.8rem);
        line-height: 1;
    }

    .gateway-lead {
        margin-top: 17px;
        font-size: 0.92rem;
        line-height: 1.45;
    }

    .gateway-proof {
        margin-top: 21px;
    }

    .gateway-proof-item {
        min-width: 0;
        flex: 1;
        padding-right: 12px;
        gap: 9px;
    }

    .gateway-proof-item + .gateway-proof-item {
        padding-left: 12px;
    }

    .gateway-proof-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .gateway-proof strong {
        font-size: 0.95rem;
    }

    .gateway-proof span {
        font-size: 0.8rem;
    }

    .gateway-actions {
        margin-top: 18px;
        gap: 11px;
    }

    .gateway-action {
        height: 82px;
        min-height: 82px;
        padding: 15px 18px;
        grid-template-columns: 40px 1fr 20px;
        gap: 12px;
        border-radius: 15px;
    }

    .gateway-action i {
        font-size: 1.6rem;
    }

    .gateway-action strong {
        font-size: 1.12rem;
        font-weight: 800;
    }

    .gateway-action span {
        font-size: 0.82rem;
    }

    .gateway-connect {
        margin-top: 10px;
        display: flex;
        justify-content: center;
        gap: 8px;
    }

    .gateway-connect-label {
        display: none;
    }

    .gateway-contact {
        width: 40px;
        min-width: 40px;
        height: 40px;
        padding: 0;
    }

    .gateway-legal {
        margin-top: 14px;
        justify-content: center;
    }

    .hero {
        min-height: 660px;
        align-items: flex-end;
        padding: 0;
        border-radius: 0 0 24px 24px;
        background-position: 64% center;
    }

    .hero::before {
        background: linear-gradient(180deg, rgba(4, 31, 24, 0.15), rgba(4, 31, 24, 0.92) 82%);
    }

    .hero-content {
        padding: 36px 0 42px;
    }

    .hero-title {
        font-size: clamp(2.65rem, 11.5vw, 3rem);
        line-height: 0.98;
    }

    .hero-subtitle {
        margin-top: 16px;
        font-size: 0.94rem;
    }

    .hero-proof-row {
        gap: 14px;
    }

    .hero-proof {
        align-items: flex-start;
        font-size: 0.72rem;
    }

    .client-hero .hero-content .btn,
    .partner-hero .hero-content .btn {
        width: 100%;
    }

    .client-calculation {
        min-height: 690px;
        display: flex;
        align-items: flex-end;
    }

    .client-calculation::after {
        inset: 0;
        background:
            linear-gradient(180deg, transparent 0%, var(--nika-forest) 50%),
            url('img/redesign/client-calculation.webp') 72% top / auto 46% no-repeat;
        opacity: 1;
    }

    .calculation-copy .section-title {
        font-size: clamp(2rem, 8.8vw, 2.25rem);
    }

    .referral-grid {
        grid-template-columns: 1fr;
        gap: 62px;
    }

    .referral-shell {
        padding: 34px 24px;
        border-radius: 24px;
    }

    .referral-visual {
        min-height: 210px;
    }

    .lead-modal {
        padding: 0;
        align-items: end;
    }

    .lead-modal__dialog {
        max-height: 94dvh;
        border-radius: 26px 26px 0 0;
    }

    .lead-modal .form-left,
    .lead-modal .form-right {
        padding: 38px 24px;
    }

    .partner-page .partner-hero {
        min-height: 720px;
        background-position: 61% center;
    }

    .partner-page .partner-hero .hero-content {
        padding-left: 0;
        padding-right: 0;
    }

    .partner-page .partner-hero .hero-title {
        font-size: clamp(2.75rem, 12vw, 3.15rem);
        line-height: 0.98;
    }

    .partner-hero-kicker {
        font-size: 0.66rem;
    }

    .partner-trust-row {
        margin-top: 26px;
    }

    .partner-trust {
        min-width: 0;
        flex: 1;
        padding: 0 9px;
        font-size: 0.65rem;
    }

    .partner-trust i {
        font-size: 1.35rem;
    }

    .partner-why-editorial {
        min-height: 0;
        background-position: 68% top;
        background-size: auto 350px;
        padding-top: 245px;
    }

    .partner-why-editorial::after {
        background: linear-gradient(180deg, rgba(251, 250, 246, 0.1), #fbfaf6 315px);
    }

    .partner-why-editorial .why-card {
        grid-template-columns: 74px 1fr;
        column-gap: 18px;
        padding: 23px 0;
    }

    .partner-why-editorial .why-icon {
        width: 66px;
        height: 66px;
        border-radius: 18px;
    }

    .partner-why-editorial .why-card h4 {
        font-size: 1.45rem;
    }

    .partner-why-editorial .why-card p {
        font-size: 0.88rem;
        line-height: 1.55;
    }

    .partner-page .partner-trust-row {
        align-items: flex-start;
    }

    .partner-page .partner-trust {
        padding-inline: 6px;
        font-size: 0.68rem;
        line-height: 1.25;
    }

    .partner-page .partner-trust i {
        width: 30px;
        height: 30px;
        margin-bottom: 12px;
        font-size: 1.9rem;
    }

    .partner-transparency-editorial .section-title {
        margin-bottom: 34px;
    }

    .partner-transparency-editorial .transparency-list {
        margin: 0;
    }

    .partner-transparency-editorial .transparency-list li {
        grid-template-columns: 70px 1fr;
        gap: 18px;
        padding: 24px 0;
    }

    .partner-transparency-editorial .transparency-list i {
        width: 62px;
        height: 62px;
    }

    .partner-transparency-editorial .transparency-list strong {
        font-size: 1.45rem;
    }

    .partner-process-editorial .process-card {
        min-height: 168px;
        padding: 16px;
        grid-template-columns: 42px minmax(0, 1fr) 92px;
        gap: 12px;
        align-items: center;
    }

    .partner-process-editorial .p-num {
        font-size: 2.35rem;
    }

    .process-card__image {
        grid-column: 3;
        grid-row: 1;
        width: 92px;
        height: 112px;
        aspect-ratio: auto;
        object-fit: cover;
    }

    .partner-process-editorial .p-num,
    .partner-process-editorial .process-card__copy {
        grid-row: 1;
    }

    .process-card__copy h4 {
        font-size: 1.12rem;
        line-height: 1.08;
    }

    .process-card__copy p {
        margin-top: 6px;
        font-size: 0.76rem;
        line-height: 1.42;
    }

    .partner-terms-editorial .terms-card {
        padding: 34px 24px;
        border-radius: 24px;
    }

    /* Compact mobile composition: lists stay vertical, reviews swipe horizontally. */
    .client-page #about .flex-grid,
    .client-page main > .section .flex-grid {
        gap: 28px;
    }

    .client-page .eng-lead {
        margin-top: 12px;
    }

    .client-page .eng-heading-secondary {
        margin-top: 18px;
        margin-bottom: 10px;
        font-size: 1.12rem;
    }

    .client-page .eng-body {
        margin-bottom: 8px;
        font-size: 0.9rem;
        line-height: 1.55;
    }

    .client-page .eng-cards-grid {
        gap: 10px;
    }

    .client-page .eng-card {
        min-height: 205px;
        padding: 0;
        display: grid;
        grid-template-columns: 42% minmax(0, 1fr);
    }

    .client-page .eng-card__media {
        min-height: 100%;
    }

    .client-page .eng-card__body {
        margin-top: 0;
        margin-left: 0;
        padding: 17px 14px 17px 9px;
    }

    .client-page .eng-card h4 {
        margin: 0 0 6px;
        font-size: 0.98rem;
    }

    .client-page .eng-card p {
        font-size: 0.78rem;
        line-height: 1.45;
    }

    .client-page .service-img-box {
        min-height: 0;
        height: 260px;
        border-radius: 20px;
    }

    .client-page .service-list {
        margin-top: 20px;
    }

    .client-page .service-list li {
        margin-bottom: 16px;
    }

    .client-page .service-card-grid {
        gap: 12px;
    }

    .client-page .service-card-grid .service-card {
        min-height: 205px;
        margin: 0;
        padding: 18px;
    }

    .client-page .portfolio-carousel.mt-5,
    .partner-page .portfolio-carousel.mt-5 {
        margin-top: 28px;
    }

    .client-page .wwd-grid {
        gap: 10px;
    }

    .client-page .wwd-grid.mt-4 {
        margin-top: 28px;
    }

    .client-page .wwd-card {
        padding: 18px;
        border-radius: 18px;
    }

    .client-page .wwd-card.wide {
        min-height: 190px;
    }

    .client-page .wwd-card.small {
        min-height: 150px;
    }

    .client-page .wwd-card.small h4 {
        font-size: 0.88rem;
        line-height: 1.2;
    }

    .client-page .wwd-card.wide h4 {
        font-size: 1.12rem;
    }

    .client-page .complex-grid {
        margin-top: 28px;
        gap: 0;
    }

    .client-page .complex-item {
        padding: 17px 0;
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 14px;
        text-align: left;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .client-page .complex-item:last-child {
        border-bottom: 0;
    }

    .client-page .c-icon {
        width: 48px;
        height: 48px;
        grid-row: 1 / span 2;
        margin: 0;
    }

    .client-page .complex-item h5 {
        margin: 0 0 4px;
        font-size: 1rem;
    }

    .client-page .complex-item p {
        font-size: 0.78rem;
        line-height: 1.45;
    }

    .calculation-lead {
        margin-top: 16px;
        font-size: 0.9rem;
    }

    .calculation-list {
        margin-top: 18px;
    }

    .calculation-list li {
        padding: 11px 0;
        gap: 11px;
        font-size: 0.8rem;
    }

    .calculation-copy .btn {
        margin-top: 22px;
    }

    .client-page .reviews-grid,
    .partner-page .p-reviews-grid {
        margin-top: 28px;
        margin-left: -16px;
        margin-right: -16px;
        padding: 2px 16px 14px;
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .client-page .reviews-grid::-webkit-scrollbar,
    .partner-page .p-reviews-grid::-webkit-scrollbar {
        display: none;
    }

    .client-page .r-card,
    .partner-page .p-review-card {
        min-width: 0;
        flex: 0 0 84%;
        scroll-snap-align: start;
    }

    .client-page .r-card {
        min-height: 280px;
        padding: 24px;
    }

    .partner-page .p-review-card {
        min-height: 270px;
        padding: 24px;
    }

    .referral-shell {
        padding: 28px 22px;
    }

    .referral-amount {
        margin-top: 14px;
        font-size: clamp(4rem, 20vw, 5.4rem);
    }

    .referral-description {
        margin-top: 14px;
        font-size: 0.92rem;
    }

    .referral-envelope {
        width: min(88%, 320px);
    }

    .lead-modal .form-left,
    .lead-modal .form-right {
        padding: 26px 22px;
    }

    .lead-modal .form-left > .text-white-op {
        display: none;
    }

    .lead-modal .form-left h2 {
        padding-right: 44px;
        font-size: 1.75rem;
    }

    .lead-modal .form-usp {
        margin-top: 14px;
        padding: 13px 14px;
    }

    .lead-modal .form-usp-title {
        font-size: 1rem;
    }

    .lead-modal .form-usp-note {
        margin-top: 4px;
        font-size: 0.76rem;
    }

    .lead-modal .form-checks {
        margin-top: 16px;
        display: grid;
        gap: 7px;
    }

    .lead-modal .form-checks li {
        margin: 0;
        font-size: 0.8rem;
    }

    .lead-modal .input-group {
        margin-bottom: 12px;
    }

    .partner-transparency-editorial .section-title {
        margin-bottom: 24px;
    }

    .partner-transparency-editorial .transparency-list li {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 14px;
        padding: 18px 0;
    }

    .partner-transparency-editorial .transparency-list i {
        width: 50px;
        height: 50px;
    }

    .partner-transparency-editorial .transparency-list strong {
        font-size: 1.2rem;
    }

    .partner-transparency-editorial .transparency-list p {
        margin-top: 4px;
        font-size: 0.8rem;
        line-height: 1.45;
    }

    .partner-process-editorial .process-grid {
        margin-top: 28px;
        gap: 10px;
    }

    .partner-page .floating-form-box {
        padding: 28px 22px;
    }

    .partner-page .floating-form-box h2 {
        font-size: 2rem;
    }

    .partner-page .floating-form-box > p {
        margin-top: 8px;
        margin-bottom: 24px;
    }

    .partner-page .partner-styled-form .input-row {
        gap: 0;
    }

    .partner-page .partner-styled-form .input-group {
        margin-bottom: 14px;
    }

    .partner-page .partner-styled-form .btn {
        margin-top: 12px;
    }

    .footer {
        padding: 42px 0;
    }

    .footer-inner {
        gap: 26px;
    }

    .footer-brand .logo {
        margin-bottom: 10px;
    }

    .footer-brand .logo img {
        height: 58px !important;
    }

    .footer h4 {
        margin-bottom: 12px;
        font-size: 0.72rem;
    }

    .footer-contacts a,
    .footer-legal a {
        margin-bottom: 8px;
        font-size: 0.78rem;
    }
}

@media (max-width: 390px) {
    .gateway-content {
        padding-top: 92px;
    }

    .gateway-title {
        font-size: 2.35rem;
    }

    .gateway-lead {
        font-size: 0.9rem;
    }

    .gateway-action {
        height: 74px;
        min-height: 74px;
    }

    .gateway-action strong + span {
        display: none;
    }

    .hero-title {
        font-size: 3rem;
    }

    .partner-page .partner-hero .hero-title {
        font-size: clamp(2.55rem, 13.4vw, 3rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .gateway-action,
    .btn,
    .eng-card,
    .wwd-card::before {
        transition: none !important;
    }
}

/* Unified typography and icon system */
body,
button,
input,
select,
textarea {
    font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.btn,
.gateway-action strong {
    font-family: var(--font-heading);
}

.partner-page .section-title,
.partner-page .why-card h4,
.partner-page .transparency-list strong,
.partner-page .process-card h4,
.partner-page .terms-card h2,
.partner-page .p-reviewer-info h6,
.partner-page .partner-hero .hero-title,
.partner-process-editorial .p-num {
    font-family: var(--font-heading);
}

.partner-page .section-title,
.partner-page .why-card h4,
.partner-page .transparency-list strong,
.partner-page .process-card h4,
.partner-page .terms-card h2 {
    font-weight: 700;
}

.partner-page .partner-hero .hero-title {
    max-width: 820px;
    font-size: clamp(3.7rem, 5.2vw, 4.75rem);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.partner-process-editorial .p-num {
    font-size: 3.8rem;
    font-weight: 700;
}

.custom-icon {
    flex: 0 0 auto;
    background-color: currentColor;
    vertical-align: -0.125em;
}

.header-contact .phone .custom-icon,
.phone-link .custom-icon {
    width: 18px;
    height: 18px;
}

.menu-toggle .custom-icon,
.mobile-menu-close .custom-icon {
    width: 22px;
    height: 22px;
}

.gateway-badge .custom-icon,
.hero-proof .custom-icon {
    width: 17px;
    height: 17px;
}

.gateway-proof-icon .custom-icon {
    width: 18px;
    height: 18px;
}

.gateway-action > .custom-icon {
    width: 28px;
    height: 28px;
}

.gateway-contact .custom-icon,
.mobile-menu-socials .custom-icon {
    width: 18px;
    height: 18px;
}

.client-page .service-list .custom-icon,
.client-page .calculation-list .custom-icon {
    width: 22px;
    height: 22px;
}

.client-page .wwd-card > .custom-icon,
.client-page .wwd-card .icon-group > .custom-icon {
    width: 28px;
    height: 28px;
}

.client-page .c-icon {
    width: 54px;
    height: 54px;
    border: 1px solid rgba(184, 223, 88, 0.24);
}

.client-page .c-icon .custom-icon {
    width: 25px;
    height: 25px;
}

.form-checks .custom-icon {
    width: 19px;
    height: 19px;
}

.r-avatar .custom-icon {
    width: 28px;
    height: 28px;
}

.partner-trust .custom-icon {
    width: 22px;
    height: 22px;
}

.partner-why-editorial .why-card {
    grid-template-columns: 80px minmax(0, 1fr);
    column-gap: 22px;
}

.partner-why-editorial .why-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
}

.partner-why-editorial .why-icon .custom-icon {
    width: 27px;
    height: 27px;
}

.partner-transparency-editorial .transparency-list li {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 20px;
}

.partner-transparency-editorial .transparency-list .custom-icon {
    width: 30px;
    height: 30px;
    display: inline-block;
    margin-top: 4px;
    border: 0;
    border-radius: 0;
    color: var(--nika-forest) !important;
    background: currentColor;
    box-shadow: none;
}

@media (max-width: 768px) {
    .partner-transparency-terms .partner-inline-terms {
        margin-top: 40px;
        padding: 34px 24px;
        border-radius: 24px;
    }

    .partner-page .partner-hero .hero-title {
        font-size: clamp(2.55rem, 11.5vw, 3rem);
        line-height: 1;
    }

    .partner-process-editorial .p-num {
        font-size: 2.35rem;
    }

    .partner-why-editorial .why-card {
        grid-template-columns: 68px minmax(0, 1fr);
        column-gap: 16px;
    }

    .partner-why-editorial .why-icon {
        width: 56px;
        height: 56px;
    }

    .partner-why-editorial .why-icon .custom-icon {
        width: 24px;
        height: 24px;
    }

    .partner-transparency-editorial .transparency-list li {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px;
    }

    .partner-transparency-editorial .transparency-list .custom-icon {
        width: 26px;
        height: 26px;
    }
}

@media (max-width: 620px) {
    .client-page .service-card-grid {
        grid-template-columns: 1fr;
    }

    .client-page .service-card-grid .service-card {
        min-height: 190px;
    }
}

@media (max-width: 768px) {
    .client-page .hero-proof {
        font-size: 0.78rem;
    }

    .client-page .eng-card p,
    .client-page .complex-item p {
        font-size: 0.84rem;
    }

    .client-page .calculation-list li {
        font-size: 0.86rem;
    }

    .client-page .r-head span {
        font-size: 0.72rem;
    }

    .client-page #portfolio .p-badge {
        font-size: 0.68rem;
    }

    .client-page #portfolio .p-label {
        font-size: 0.66rem;
    }

    .client-page #portfolio .p-val {
        font-size: 0.98rem;
    }

    .client-page .p-carousel-hint {
        font-size: 0.78rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eng-card__media img,
    .service-card__image,
    .lead-success-toast {
        transition: none;
    }
}
