@font-face {
    font-family: "Otoiwo Grotesk";
    src: url("../fonts/otoiwo-grotesk-project/compressed-extra-bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 800;
    font-stretch: 50%;
    font-display: swap;
}

/* Delivery order form */
.delivery-order-section {
    width: min(100% - 48px, var(--container-width));
    margin: 50px auto 0;
    color: var(--color-ink);
}

.delivery-order-section__intro {
    display: grid;
    gap: 30px;
    width: min(100%, 635px);
}

.delivery-order-section__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 5px;
    min-height: 25px;
    margin: 0;
    padding: 5px;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.delivery-order-section__marker {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    background-color: var(--color-services-cta);
    border-radius: 50%;
}

.delivery-order-section__copy {
    display: grid;
    justify-items: start;
    gap: 10px;
    font-size: 20px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
}

.delivery-order-section__copy p {
    margin: 0;
}

.delivery-order-section__price {
    padding: 10px;
    color: var(--color-delivery-order-muted);
    background-color: var(--color-delivery-order-highlight);
    border-radius: 10px;
}

.delivery-order-section__shell {
    display: grid;
    place-items: center;
    margin-top: 30px;
    padding-block: 40px;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-panel);
}

.delivery-order-section__panel {
    width: min(100% - 40px, 652px);
    padding: 30px;
    background-color: var(--color-surface);
    border-radius: var(--radius-services-panel);
}

.delivery-order-section__heading {
    margin: 0 0 30px;
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
    text-align: center;
}

.delivery-order-form,
.delivery-order-form__group,
.delivery-order-form__client-fields {
    display: grid;
}

.delivery-order-form {
    gap: 20px;
}

.delivery-order-form__group {
    gap: 10px;
    min-width: 0;
}

.delivery-order-form__group > p {
    display: grid;
    gap: 10px;
}

.delivery-order-form br {
    display: none;
}

.delivery-order-form__label,
.delivery-order-form__legend {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.delivery-order-form__fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.delivery-order-form__fieldset .delivery-order-form__legend {
    margin-bottom: 10px;
}

.delivery-order-form .delivery-order-form__control {
    padding-inline-end: 50px;
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 24px 24px;
}

.delivery-order-form .delivery-order-form__control--location {
    background-image: url("../icons/delivery-order-location.svg");
}

.delivery-order-form .delivery-order-form__control--date {
    background-image: url("../icons/delivery-order-calendar.svg");
}

.delivery-order-form__time-options .wpcf7-radio {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.delivery-order-form__time-options .wpcf7-list-item {
    margin: 0;
}

.delivery-order-form__time-options label {
    position: relative;
    display: block;
    cursor: pointer;
}

.delivery-order-form__time-options input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.delivery-order-form__time-options .wpcf7-list-item-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    padding: 10px;
    font-size: 14px;
    line-height: 1.2;
    text-align: center;
    background-color: var(--color-delivery-order-highlight);
    border: 1px solid transparent;
    border-radius: 10px;
    transition:
        border-color 140ms ease-out,
        background-color 140ms ease-out;
}

.delivery-order-form__time-options label:hover .wpcf7-list-item-label,
.delivery-order-form__time-options label:has(input:checked) .wpcf7-list-item-label {
    border-color: var(--color-services-cta);
}

.delivery-order-form__time-options label:has(input:focus-visible) .wpcf7-list-item-label {
    outline: 3px solid rgb(110 185 187 / 25%);
    outline-offset: 2px;
}

.delivery-order-form__time-descriptions {
    display: block;
    color: var(--color-calculator-border);
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
}

.delivery-order-form__time-descriptions span {
    display: block;
}

.delivery-order-form__time-descriptions > p,
.delivery-order-form__client-fields > p {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.delivery-order-form__client-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.delivery-order-form__comment {
    padding-inline-end: 16px;
}

.delivery-order-form__promo {
    display: block;
}

.delivery-order-form__promo > p {
    display: grid;
    grid-template-columns: minmax(0, 394px) 188px;
    gap: 10px;
}

.delivery-order-form__promo .callback-form-control {
    padding-inline-end: 16px;
}

.delivery-order-form__promo-button {
    min-height: 49px;
    padding: 12px 20px;
    cursor: pointer;
    color: var(--color-services-cta);
    font: inherit;
    font-size: 14px;
    line-height: 1.2;
    background-color: var(--color-surface);
    border: 1px solid var(--color-services-cta);
    border-radius: var(--radius-services-card);
    transition:
        color 140ms ease-out,
        background-color 140ms ease-out;
}

.delivery-order-form__promo-button:hover,
.delivery-order-form__promo-button:focus-visible,
.delivery-order-form__promo-button.is-applied {
    color: var(--color-surface);
    background-color: var(--color-services-cta);
    outline: none;
}

.delivery-order-form__promo-button:focus-visible {
    box-shadow: 0 0 0 3px rgb(110 185 187 / 25%);
}

.delivery-order-form__acceptance .wpcf7-list-item {
    margin: 0;
}

.delivery-order-form__acceptance label {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.25;
}

.delivery-order-form__acceptance input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--color-services-cta);
}

.delivery-order-form__privacy {
    display: block;
    margin-top: 4px;
    color: var(--color-services-cta);
}

.delivery-order-form__submit .callback-form-submit-arrow {
    left: calc(50% + 74px);
}

.delivery-order-form__submit .callback-form-submit:disabled {
    cursor: not-allowed;
    opacity: 1;
}

.delivery-order-section__notice {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 69px;
    margin-top: 20px;
    padding: 10px 54px;
    color: var(--color-services-cta);
    background-color: var(--color-delivery-order-notice);
    border-radius: var(--radius-services-panel);
}

.delivery-order-section__notice-icon {
    display: grid;
    place-items: center;
    flex: 0 0 49px;
    width: 49px;
    height: 49px;
    color: var(--color-services-cta);
    background-color: rgb(110 185 187 / 20%);
    border-radius: var(--radius-services-card);
}

.delivery-order-section__notice-icon svg {
    width: 22px;
    height: 22px;
}

.delivery-order-section__notice p {
    margin: 0;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

@media (max-width: 767px) {
    .delivery-order-section {
        width: min(100% - 32px, var(--container-width));
        margin-top: 40px;
    }

    .delivery-order-section__intro {
        gap: 20px;
    }

    .delivery-order-section__copy {
        font-size: 17px;
    }

    .delivery-order-section__price {
        padding: 8px;
    }

    .delivery-order-section__shell {
        margin-top: 24px;
        padding: 12px;
    }

    .delivery-order-section__panel {
        width: 100%;
        padding: 24px 16px;
    }

    .delivery-order-section__heading {
        margin-bottom: 24px;
        font-size: 22px;
    }

    .delivery-order-form__time-options .wpcf7-radio,
    .delivery-order-form__time-descriptions,
    .delivery-order-form__client-fields,
    .delivery-order-form__time-descriptions > p,
    .delivery-order-form__client-fields > p,
    .delivery-order-form__promo > p {
        grid-template-columns: minmax(0, 1fr);
    }

    .delivery-order-form__time-descriptions {
        display: none;
    }

    .delivery-order-form__promo-button {
        width: 100%;
    }

    .delivery-order-section__notice {
        align-items: flex-start;
        padding: 12px 16px;
    }
}

/* Nova Poshta delivery guide */
.delivery-nova-poshta-guide {
    width: min(100% - 48px, var(--container-width));
    margin: 60px auto 0;
    color: var(--color-ink);
}

.delivery-nova-poshta-guide__intro {
    display: grid;
    justify-items: start;
    gap: 20px;
    width: min(100%, 635px);
}

.delivery-nova-poshta-guide__eyebrow,
.delivery-nova-poshta-guide__lead,
.delivery-nova-poshta-guide__panel-heading,
.delivery-nova-poshta-guide__payment-item h4,
.delivery-nova-poshta-guide__payment-item p,
.delivery-nova-poshta-guide__notice p,
.delivery-nova-poshta-guide__step h3,
.delivery-nova-poshta-guide__info-item h4,
.delivery-nova-poshta-guide__info-item p,
.delivery-nova-poshta-guide__cta-wrap h4 {
    margin: 0;
}

.delivery-nova-poshta-guide__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    padding: 5px;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.delivery-nova-poshta-guide__marker {
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    background-color: var(--color-services-cta);
    border-radius: 2.133px;
}

.delivery-nova-poshta-guide__lead {
    font-size: 20px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
}

.delivery-nova-poshta-guide__content {
    display: grid;
    gap: 20px;
    margin-top: 30px;
}

.delivery-nova-poshta-guide__payment-panel,
.delivery-nova-poshta-guide__shipping-panel {
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-panel);
}

.delivery-nova-poshta-guide__payment-panel {
    min-height: 271px;
    padding: 40px;
}

.delivery-nova-poshta-guide__panel-heading,
.delivery-nova-poshta-guide__cta-wrap h4 {
    font-size: 16px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
}

.delivery-nova-poshta-guide__payment-grid {
    display: grid;
    grid-template-columns: 225px 334px 335px;
    justify-content: space-between;
    gap: 24px;
    margin-top: 30px;
}

.delivery-nova-poshta-guide__payment-item {
    display: grid;
    align-content: start;
    justify-items: start;
    gap: 30px;
    min-width: 0;
}

.delivery-nova-poshta-guide__payment-icon,
.delivery-nova-poshta-guide__notice-icon,
.delivery-nova-poshta-guide__info-icon {
    display: grid;
    flex: 0 0 49px;
    width: 49px;
    height: 49px;
    place-items: center;
    border-radius: var(--radius-services-card);
}

.delivery-nova-poshta-guide__payment-icon,
.delivery-nova-poshta-guide__notice-icon {
    color: var(--color-services-cta);
    background-color: var(--color-delivery-nova-icon);
}

.delivery-nova-poshta-guide__payment-icon svg,
.delivery-nova-poshta-guide__info-icon svg {
    width: 24px;
    height: 24px;
}

.delivery-nova-poshta-guide__item-copy {
    display: grid;
    min-width: 0;
    gap: 10px;
}

.delivery-nova-poshta-guide__payment-item h4,
.delivery-nova-poshta-guide__info-item h4 {
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
}

.delivery-nova-poshta-guide__payment-item p,
.delivery-nova-poshta-guide__info-item p {
    color: var(--color-promo-detail-muted);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.delivery-nova-poshta-guide__notice {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 69px;
    padding: 10px 54px;
    color: var(--color-services-cta);
    background-color: var(--color-delivery-order-notice);
    border-radius: var(--radius-services-panel);
}

.delivery-nova-poshta-guide__notice-icon svg {
    width: 22px;
    height: 22px;
}

.delivery-nova-poshta-guide__notice p {
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.delivery-nova-poshta-guide__steps {
    display: grid;
    grid-template-columns: 125px 15px 178px 15px 192px 15px 91px 15px 140px;
    justify-content: center;
    column-gap: clamp(8px, 2vw, 30px);
    width: min(100%, 1026px);
    min-height: 125px;
    margin-inline: auto;
}

.delivery-nova-poshta-guide__step {
    display: grid;
    align-content: start;
    justify-items: center;
    min-width: 0;
}

.delivery-nova-poshta-guide__step-icon {
    display: grid;
    width: 69px;
    height: 69px;
    color: var(--color-surface);
    place-items: center;
    background: linear-gradient(var(--delivery-nova-step-color), var(--delivery-nova-step-color-end));
    border-radius: 50%;
}

.delivery-nova-poshta-guide__step--1 .delivery-nova-poshta-guide__step-icon {
    width: 75px;
    height: 75px;
}

.delivery-nova-poshta-guide__step-icon svg {
    display: block;
    width: 30px;
    height: 30px;
}

.delivery-nova-poshta-guide__step h3 {
    margin-top: 12px;
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
}

.delivery-nova-poshta-guide__step-arrow {
    display: grid;
    width: 15px;
    height: 15px;
    margin-top: 27px;
    place-items: center;
}

.delivery-nova-poshta-guide__step-arrow svg {
    display: block;
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}

.delivery-nova-poshta-guide__shipping-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 446px));
    justify-content: space-between;
    gap: 60px;
    min-height: 419px;
    margin-top: 10px;
    padding: 40px;
}

.delivery-nova-poshta-guide__shipping-column {
    min-width: 0;
}

.delivery-nova-poshta-guide__info-list {
    margin-top: 30px;
}

.delivery-nova-poshta-guide__info-item {
    display: grid;
    grid-template-columns: 49px minmax(0, 1fr);
    align-items: center;
    gap: 30px;
    min-width: 0;
}

.delivery-nova-poshta-guide__info-item--divided {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--color-faq-page-divider);
}

.delivery-nova-poshta-guide__info-icon {
    color: var(--color-surface);
    background-color: var(--color-services-cta);
}

.delivery-nova-poshta-guide__cta-wrap {
    display: grid;
    gap: 20px;
    width: min(100%, 314px);
    margin-top: 30px;
}

.delivery-nova-poshta-guide__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 53px;
    padding: 15px 26px;
    color: var(--color-surface);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none;
    background-color: var(--color-services-cta);
    border: 1px solid var(--color-services-cta);
    border-radius: var(--radius-services-card);
    transition:
        color 140ms ease-out,
        background-color 140ms ease-out;
}

.delivery-nova-poshta-guide__cta-arrow {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    background-color: currentColor;
    -webkit-mask: url("../icons/delivery-success-arrow.svg") center / contain no-repeat;
    mask: url("../icons/delivery-success-arrow.svg") center / contain no-repeat;
    transform: rotate(90deg);
}

@media (hover: hover) {
    .delivery-nova-poshta-guide__cta:hover {
        color: var(--color-services-cta);
        background-color: var(--color-surface);
    }
}

.delivery-nova-poshta-guide__cta:focus-visible {
    color: var(--color-services-cta);
    background-color: var(--color-surface);
    outline: 3px solid rgb(110 185 187 / 25%);
    outline-offset: 2px;
}

@media (max-width: 1217px) {
    .delivery-nova-poshta-guide__payment-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 32px;
    }

    .delivery-nova-poshta-guide__steps {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 20px;
    }

    .delivery-nova-poshta-guide__step-arrow {
        display: none;
    }

    .delivery-nova-poshta-guide__shipping-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px;
    }
}

@media (max-width: 767px) {
    .delivery-nova-poshta-guide {
        width: min(100% - 32px, var(--container-width));
        margin-top: 40px;
    }

    .delivery-nova-poshta-guide__lead {
        font-size: 17px;
    }

    .delivery-nova-poshta-guide__content {
        gap: 20px;
        margin-top: 24px;
    }

    .delivery-nova-poshta-guide__payment-panel,
    .delivery-nova-poshta-guide__shipping-panel {
        min-height: 0;
        margin-top: 0;
        padding: 24px 16px;
    }

    .delivery-nova-poshta-guide__payment-grid,
    .delivery-nova-poshta-guide__shipping-panel,
    .delivery-nova-poshta-guide__steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .delivery-nova-poshta-guide__payment-grid {
        gap: 24px;
        margin-top: 24px;
    }

    .delivery-nova-poshta-guide__payment-item {
        grid-template-columns: 49px minmax(0, 1fr);
        align-items: center;
        gap: 16px;
    }

    .delivery-nova-poshta-guide__notice {
        align-items: flex-start;
        padding: 12px 16px;
    }

    .delivery-nova-poshta-guide__steps {
        gap: 0;
        min-height: 0;
    }

    .delivery-nova-poshta-guide__step-arrow {
        display: grid;
        margin: 20px auto;
    }

    .delivery-nova-poshta-guide__step-arrow svg {
        transform: rotate(180deg);
    }

    .delivery-nova-poshta-guide__shipping-panel {
        gap: 32px;
    }

    .delivery-nova-poshta-guide__info-item {
        gap: 16px;
    }
}

/* Delivery success modal */
body.has-open-delivery-success {
    overflow: hidden;
}

.delivery-success-modal {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    overflow-y: auto;
    background-color: rgb(0 1 5 / 40%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease-out;
}

.delivery-success-modal[hidden] {
    display: none;
}

.delivery-success-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.delivery-success-modal__dialog {
    position: relative;
    width: min(100%, 468px);
    max-height: calc(100svh - 48px);
    padding: 40px 77px 18px;
    overflow-y: auto;
    color: var(--color-ink);
    background-color: var(--color-surface);
    border-radius: var(--radius-services-panel);
    transform: translateY(8px);
    transition: transform 180ms ease-out;
}

.delivery-success-modal.is-open .delivery-success-modal__dialog {
    transform: none;
}

.delivery-success-modal__close {
    position: absolute;
    z-index: 1;
    top: 10px;
    right: 10px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 10px;
    cursor: pointer;
    color: var(--color-ink);
    background: transparent;
    border: 0;
    border-radius: 10px;
}

.delivery-success-modal__close:hover,
.delivery-success-modal__close:focus-visible {
    background-color: var(--color-delivery-order-notice);
    outline: none;
}

.delivery-success-modal__close:focus-visible {
    box-shadow: 0 0 0 3px rgb(110 185 187 / 25%);
}

.delivery-success-modal__close svg {
    width: 24px;
    height: 24px;
}

.delivery-success-modal__content,
.delivery-success-modal__message,
.delivery-success-modal__copy,
.delivery-success-modal__telegram {
    display: grid;
}

.delivery-success-modal__content {
    gap: 23px;
    width: 100%;
}

.delivery-success-modal__message {
    justify-items: center;
    gap: 15px;
}

.delivery-success-modal__check {
    width: 85px;
    height: 85px;
}

.delivery-success-modal__copy {
    justify-items: center;
    gap: 15px;
    width: 284px;
    max-width: 100%;
    text-align: center;
}

.delivery-success-modal__heading,
.delivery-success-modal__description,
.delivery-success-modal__telegram-card p {
    margin: 0;
}

.delivery-success-modal__heading {
    font-size: 18px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
}

.delivery-success-modal__description,
.delivery-success-modal__telegram-card p {
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.delivery-success-modal__divider,
.delivery-success-modal__divider svg {
    display: block;
    width: 100%;
    height: 1px;
}

.delivery-success-modal__telegram {
    gap: 10px;
}

.delivery-success-modal__telegram-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 59px;
    padding: 5px;
    background-color: var(--color-delivery-order-notice);
    border-radius: var(--radius-services-card);
}

.delivery-success-modal__telegram-icon {
    flex: 0 0 49px;
    width: 49px;
    height: 49px;
}

.delivery-success-modal__telegram-card p {
    flex: 1 1 auto;
    text-align: center;
}

.delivery-success-modal__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 53px;
    padding: 15px 25px;
    color: var(--color-surface);
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none;
    background-color: var(--color-services-cta);
    border: 1px solid transparent;
    border-radius: var(--radius-services-card);
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out,
        border-color 120ms ease-out;
}

.delivery-success-modal__link-arrow {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    background-color: currentColor;
    -webkit-mask: url("../icons/delivery-success-arrow.svg") center / contain no-repeat;
    mask: url("../icons/delivery-success-arrow.svg") center / contain no-repeat;
    transform: rotate(90deg);
}

@media (hover: hover) {
    .delivery-success-modal__link:hover {
        color: var(--color-services-cta);
        background-color: var(--color-surface);
        border-color: var(--color-services-cta);
    }
}

.delivery-success-modal__link:focus-visible {
    color: var(--color-services-cta);
    background-color: var(--color-surface);
    border-color: var(--color-services-cta);
    outline: 3px solid rgb(110 185 187 / 25%);
    outline-offset: 2px;
}

@media (max-width: 520px) {
    .delivery-success-modal {
        padding: 16px;
    }

    .delivery-success-modal__dialog {
        max-height: calc(100svh - 32px);
        padding: 40px 20px 20px;
    }

    .delivery-success-modal__telegram-card p {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .delivery-success-modal,
    .delivery-success-modal__dialog {
        transition: none;
    }
}

@font-face {
    font-family: "Otoiwo Grotesk";
    src: url("../fonts/otoiwo-grotesk-project/compressed-extra-bold-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 800;
    font-stretch: 50%;
    font-display: swap;
}

@font-face {
    font-family: "Otoiwo Grotesk";
    src: url("../fonts/otoiwo-grotesk-project/condensed-semi-bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-stretch: 75%;
    font-display: swap;
}

@font-face {
    font-family: "Otoiwo Grotesk";
    src: url("../fonts/otoiwo-grotesk-project/condensed-semi-bold-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 600;
    font-stretch: 75%;
    font-display: swap;
}

@font-face {
    font-family: "Otoiwo Grotesk";
    src: url("../fonts/otoiwo-grotesk-project/condensed-bold-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 700;
    font-stretch: 75%;
    font-display: swap;
}

@font-face {
    font-family: "Otoiwo Grotesk";
    src: url("../fonts/otoiwo-grotesk-project/normal-semi-bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
}

@font-face {
    font-family: "Otoiwo Grotesk";
    src: url("../fonts/otoiwo-grotesk-project/wide-extra-bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 800;
    font-stretch: 150%;
    font-display: swap;
}

:root {
    --container-width: 1170px;
    --container-padding: 24px;
    --width-seo-text-content: 1000px;
    --size-touch-target: 44px;
    --space-ui-xs: 4px;
    --space-ui-sm: 8px;
    --space-ui-md: 12px;
    --space-ui-lg: 16px;
    --space-ui-xl: 20px;
    --space-ui-2xl: 24px;
    --fs-prose-subheading-min: 18px;
    --fs-prose-subheading: 20px;
    --color-text-muted: #62666b;
    --color-form-success: #225d55;
    --color-form-error: #a52a30;
    --color-form-error-surface: #fff1f1;
    --fs-form-status: 14px;
    --font-family-base: "Otoiwo Grotesk", sans-serif;
    --font-stretch-compressed: 50%;
    --font-stretch-narrow: 63%;
    --font-stretch-condensed: 75%;
    --font-stretch-normal: 100%;
    --font-stretch-extended: 125%;
    --font-stretch-wide: 150%;
    --font-stretch-ultra-wide: 200%;
    --color-cta: #72b9ba;
    --color-ink: #000105;
    --color-surface: #fff;
    --color-modal-backdrop: rgb(0 1 5 / 62%);
    --color-services-promo: #c3c6d8;
    --color-services-card: #f9eee7;
    --color-services-price-row: #fcf6f3;
    --color-services-muted: #ababab;
    --color-services-eyebrow: rgb(249 249 249 / 80%);
    --color-services-cta: #6eb9bb;
    --color-services-cta-hover: #58abad;
    --color-services-divider: rgb(197 180 166 / 30%);
    --color-delivery-order-highlight: #f9f5f2;
    --color-delivery-order-muted: #c5b4a6;
    --color-delivery-order-notice: rgb(110 185 187 / 10%);
    --color-delivery-nova-icon: rgb(110 185 187 / 20%);
    --color-promo-detail-muted: #77797f;
    --color-calculator-panel: #fafafa;
    --color-calculator-border: #cfcfcf;
    --color-calculator-benefit-icon: #e2f1f1;
    --color-calculator-info-surface: rgb(110 185 187 / 10%);
    --color-calculator-info-icon-surface: rgb(110 185 187 / 20%);
    --color-swiper-navigation-border: #d7d7d7;
    --radius-services-card: 15px;
    --radius-services-panel: 20px;
    --radius-calculator-control: 10px;
    --font-size-service-category-title: 38px;
    --font-size-service-category-intro: 22px;
    --font-size-service-category-title-mobile: 30px;
    --font-size-service-category-intro-mobile: 17px;
    --font-size-mobile-h1: 24px;
    --font-size-calculator-small: 12px;
    --font-size-calculator-copy: 14px;
    --font-size-calculator-row: 16px;
    --font-size-calculator-title: 18px;
    --font-size-calculator-total: 24px;
    --font-size-calculator-total-mobile: 21px;
    --font-size-tariff-comparison-title: 24px;
    --space-calculator-gap: 10px;
    --space-calculator-panel: 30px;
    --space-tariff-comparison-gap: 15px;
    --color-faq-page-navigation: rgb(168 172 215 / 15%);
    --color-faq-page-navigation-active: rgb(110 185 187 / 30%);
    --color-faq-page-number: #5f668a;
    --color-faq-page-time: #f9eee7;
    --color-faq-page-time-icon: #edd8cb;
    --color-faq-page-delivery: #fcf2f3;
    --color-faq-page-delivery-icon: #f0dee0;
    --color-faq-page-services: #f3f2f9;
    --color-faq-page-services-icon: #c3c6d8;
    --color-faq-page-guarantees: #e2f1f1;
    --color-faq-page-guarantees-icon: rgb(110 185 187 / 50%);
    --color-faq-page-divider: rgb(119 121 127 / 20%);
    --font-size-faq-page-heading: clamp(30px, 2.5vw, 38px);
    --dur-faq-page-accordion: 520ms;
    --ease-faq-page-accordion: cubic-bezier(0.22, 1, 0.36, 1);
    --dur-content-reveal: 420ms;
    --ease-content-reveal: cubic-bezier(0.22, 1, 0.36, 1);
    --transition: 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-width: 320px;
    font-family: var(--font-family-base);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.has-open-menu {
    overflow: hidden;
}

.site-header {
    position: relative;
    z-index: 20;
    padding: 24px 0;
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 53px;
}

.site-header__left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.site-header__logo {
    flex: 0 0 53px;
    width: 53px;
    height: 53px;
}

.site-header__logo .custom-logo-link,
.site-header__logo .custom-logo {
    display: block;
    width: 53px;
    height: 53px;
}

.site-header__logo .custom-logo {
    object-fit: contain;
}

.site-header__nav {
    flex: 0 0 auto;
}

.site-header__menu,
.site-header__actions,
.site-header__languages,
.site-header__phone,
.site-header__account {
    display: flex;
    align-items: center;
}

.site-header__menu {
    gap: 20px;
    min-height: 53px;
    margin: 0;
    padding: 16px;
    list-style: none;
    background-color: #f9eee7;
    border-radius: 15px;
}

.site-header__menu a,
.site-header__language,
.site-header__phone,
.site-header__account {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    white-space: nowrap;
}

.site-header__menu a {
    color: var(--color-ink);
    transition: color var(--transition);
}

.site-header__menu a:hover,
.site-header__menu a:focus-visible {
    color: #6eb9bb;
}

.site-header__actions {
    flex: 0 0 auto;
    gap: 10px;
}

.site-header__languages {
    min-height: 53px;
    padding: 15px 16px;
    background-color: var(--color-services-card);
    border: 1px solid #fff;
    border-radius: 15px;
}

.site-header__language-menu {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-header__language {
    color: #000105;
    text-transform: uppercase;
    transition: color var(--transition);
}

.site-header__language.is-current,
.site-header__language:hover,
.site-header__language:focus-visible {
    color: #6eb9bb;
}

.site-header__phone {
    gap: 8px;
    min-height: 53px;
    padding: 15px 16px;
    cursor: pointer;
    font-family: inherit;
    color: #000105;
    background-color: #a8acd7;
    border: 0;
    border-radius: 15px;
    transition:
        background-color var(--transition),
        color var(--transition);
}

.site-header__phone:hover,
.site-header__phone:focus-visible {
    color: #000105;
    background-color: #969bc9;
}

.site-header__phone-icon {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    transform: rotate(180deg);
    transition: transform var(--transition);
}

.site-header__phone-dropdown {
    position: relative;
}

.site-header__phone-dropdown-panel {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 2;
    display: grid;
    gap: 2px;
    min-width: 100%;
    padding: 8px;
    visibility: hidden;
    opacity: 0;
    background-color: #a8acd7;
    border-radius: 15px;
    box-shadow: 0 12px 28px rgb(0 1 5 / 14%);
    transform: translateY(-6px);
    transition:
        opacity var(--transition),
        transform var(--transition),
        visibility var(--transition);
}

.site-header__phone-dropdown-link {
    display: block;
    padding: 10px 8px;
    color: #000105;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 9px;
    transition: background-color var(--transition);
}

.site-header__phone-dropdown-link:hover,
.site-header__phone-dropdown-link:focus-visible {
    background-color: rgb(255 255 255 / 30%);
}

.site-header__phone-dropdown.is-open .site-header__phone-dropdown-panel {
    visibility: visible;
    opacity: 1;
    transform: none;
}

.site-header__phone-dropdown.is-open .site-header__phone-icon {
    transform: none;
}

@media (hover: hover) and (min-width: 1218px) {
    .site-header__phone-dropdown:hover .site-header__phone-dropdown-panel {
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .site-header__phone-dropdown:hover .site-header__phone-icon {
        transform: none;
    }
}

.site-header__account {
    justify-content: center;
    gap: 8px;
    min-height: 53px;
    padding: 16px;
    color: var(--color-surface);
    background-color: var(--color-services-cta);
    border-radius: 15px;
    transition:
        background-color var(--transition),
        color var(--transition);
}

.site-header__account:hover,
.site-header__account:focus-visible {
    color: var(--color-surface);
    background-color: #55aaad;
}

.site-header__account-icon {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
}

.contacts-hero {
    display: flex;
    width: min(100% - 48px, 1170px);
    margin: 90px auto 0;
    align-items: center;
    flex-direction: column;
    gap: 50px;
}

.contacts-hero__header {
    display: flex;
    width: min(100%, 578px);
    align-items: center;
    flex-direction: column;
    gap: 20px;
    text-align: center;
}

.contacts-hero__title,
.contacts-hero__subtitle {
    margin: 0;
}

.contacts-hero__title {
    font-size: 26px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.contacts-hero__subtitle {
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.contacts-hero__cards {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.contacts-hero__card {
    display: flex;
    min-width: 0;
    min-height: 107px;
    padding: 28px 27px;
    align-items: center;
    box-sizing: border-box;
    background-color: #f9eee7;
    border-radius: 20px;
}

.contacts-hero__card--phones {
    gap: 15px;
}

.contacts-hero__card--email {
    gap: 12px;
}

.contacts-hero__card--socials {
    justify-content: center;
    gap: 15px;
}

.contacts-hero__icon,
.contacts-hero__social {
    display: grid;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    place-items: center;
    box-sizing: border-box;
    color: var(--color-surface);
    background-color: #6eb9bb;
    border-radius: 15px;
}

.contacts-hero__icon svg,
.contacts-hero__social svg {
    display: block;
    width: 24px;
    height: 24px;
}

.contacts-hero__phone-list {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.contacts-hero__phone,
.contacts-hero__email {
    min-width: 0;
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: color var(--transition);
}

.contacts-hero__phone:hover,
.contacts-hero__phone:focus-visible,
.contacts-hero__email:hover,
.contacts-hero__email:focus-visible {
    color: #55aaad;
}

.contacts-hero__social {
    transition: background-color var(--transition);
}

.contacts-hero__social:hover,
.contacts-hero__social:focus-visible {
    background-color: #55aaad;
}

.delivery-contact-strip {
    display: flex;
    width: min(100% - 48px, 776px);
    margin: 60px auto 0;
    align-items: center;
    flex-direction: column;
    gap: 30px;
}

.delivery-contact-strip__heading {
    width: min(100%, 578px);
    margin: 0;
    color: var(--color-ink);
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
}

.delivery-contact-strip__cards {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.delivery-contact-strip__card {
    display: flex;
    min-width: 0;
    min-height: 107px;
    padding: 28px;
    align-items: center;
    box-sizing: border-box;
    background-color: var(--color-services-card);
    border-radius: 20px;
}

.delivery-contact-strip__card--phones {
    justify-content: center;
    gap: 16px;
}

.delivery-contact-strip__card--socials {
    justify-content: center;
    gap: 15px;
}

.delivery-contact-strip__icon,
.delivery-contact-strip__social {
    display: grid;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    place-items: center;
    box-sizing: border-box;
    color: var(--color-surface);
    background-color: var(--color-services-cta);
    border-radius: 15px;
}

.delivery-contact-strip__icon svg,
.delivery-contact-strip__social svg {
    display: block;
    width: 24px;
    height: 24px;
}

.delivery-contact-strip__phone-list {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.delivery-contact-strip__phone {
    min-width: 0;
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: color var(--transition);
}

.delivery-contact-strip__phone:hover,
.delivery-contact-strip__phone:focus-visible {
    color: var(--color-services-cta-hover);
}

.delivery-contact-strip__social {
    transition: background-color var(--transition);
}

.delivery-contact-strip__social:hover,
.delivery-contact-strip__social:focus-visible {
    background-color: var(--color-services-cta-hover);
}

.delivery-contact-strip__phone:focus-visible,
.delivery-contact-strip__social:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}

.about-hero {
    width: min(100% - 48px, 1170px);
    margin: 0 auto;
}

.about-hero__media {
    position: relative;
    aspect-ratio: 1170 / 579;
    overflow: hidden;
    background-color: #776e65;
    border-radius: 20px;
}

.about-hero__background,
.about-hero__overlay {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    object-fit: cover;
}

.about-hero__background {
    object-position: center;
}

.about-hero__overlay {
    opacity: 0.1;
    mix-blend-mode: overlay;
}

.about-hero__content {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.about-hero__brand-shadow,
.about-hero__heading-shadow {
    position: absolute;
    left: 50%;
    display: block;
    pointer-events: none;
    background-color: #000105;
    filter: blur(50px);
    opacity: 0.4;
    transform: translateX(-50%);
}

.about-hero__brand-shadow {
    top: 87px;
    width: 407px;
    height: 126px;
}

.about-hero__heading-shadow {
    top: 250px;
    width: 598px;
    height: 108px;
}

.about-hero__brand {
    position: absolute;
    top: 110px;
    left: 50%;
    display: block;
    width: 401px;
    height: 63px;
    object-fit: contain;
    transform: translateX(-50%);
}

.about-hero__heading {
    position: absolute;
    top: 227px;
    left: 50%;
    width: 630px;
    margin: 0;
    color: var(--color-surface);
    font-size: 26px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-align: center;
    transform: translateX(-50%);
}

.about-stats {
    width: min(100% - 48px, 1011px);
    margin: 50px auto 0;
}

.about-stats__inner {
    display: grid;
    grid-template-columns: 392px 360px 219px;
    gap: 20px;
    align-items: center;
}

.about-stats__item {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
    margin: 0;
}

.about-stats__value {
    display: block;
    flex: 0 0 auto;
    color: #6eb9bb;
    font-size: 88px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    letter-spacing: -0.04em;
    text-align: center;
}

.about-stats__label {
    min-width: 0;
    color: #000105;
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.about-production {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: min(100% - 48px, 1170px);
    margin: 50px auto 0;
}

.about-production__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0 0 30px 40px;
    padding: 10px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.07em;
    background-color: #f4f4f4;
    border-radius: 5px;
}

.about-production__eyebrow-marker {
    display: block;
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.about-production__eyebrow-text {
    min-width: 0;
}

.about-production__cards {
    display: grid;
    grid-template-columns: 383px 384px 383px;
    gap: 10px;
    width: 100%;
}

.about-production__card {
    position: relative;
    aspect-ratio: 383 / 286;
    overflow: hidden;
    margin: 0;
    background-color: #f9eee7;
    border-radius: 20px;
}

.about-production__card:nth-child(2) {
    aspect-ratio: 384 / 286;
}

.about-production__card::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    height: 42%;
    pointer-events: none;
    content: "";
    background: linear-gradient(180deg, rgba(0, 1, 5, 0), rgba(70, 60, 54, 0.25));
}

.about-production__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% var(--about-card-position-y);
    transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.about-production__caption {
    position: absolute;
    bottom: 24px;
    left: 50%;
    z-index: 2;
    max-width: calc(100% - 32px);
    padding: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0.05em;
    text-align: center;
    white-space: nowrap;
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transform: translateX(-50%);
}

@media (hover: hover) {
    .about-production__card:hover .about-production__image {
        transform: scale(1.025);
    }
}

.hero-slider-section {
    width: min(100% - 48px, 1170px);
    margin: 0 auto;
}

.hero-slider {
    position: relative;
    height: 579px;
    overflow: hidden;
    background-color: #c5b4a6;
    border-radius: 20px;
}

.hero-slide {
    position: relative;
    height: 579px;
    overflow: hidden;
    border-radius: 20px;
}

.hero-slide__background {
    position: absolute;
    top: -2px;
    left: 0;
    display: block;
    width: 100%;
    height: 583px;
    object-fit: cover;
    object-position: center;
    border-radius: 15px;
}

.hero-slide__overlay {
    position: absolute;
    top: -30px;
    left: 50%;
    display: block;
    width: 100%;
    height: 629px;
    pointer-events: none;
    object-fit: cover;
    opacity: 0.1;
    mix-blend-mode: overlay;
    transform: translateX(-50%);
}

.hero-slide__bottom-glow {
    position: absolute;
    top: 500px;
    left: 50%;
    width: 194px;
    height: 79px;
    pointer-events: none;
    background-color: #c5b4a6;
    filter: blur(50px);
    transform: translateX(-50%);
}

.hero-slide__content {
    position: absolute;
    top: 110px;
    left: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 9px;
    width: 401px;
    transform: translateX(-50%);
}

.hero-slide__title-image {
    display: block;
    width: 401px;
    height: 63px;
    object-fit: contain;
}

.hero-slide__service-content {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 12px;
    width: 304px;
}

.hero-slide__categories {
    display: grid;
    grid-template-columns: 68px 68px 50px 50px 68px;
    align-items: start;
    column-gap: var(--space-ui-sm);
    width: 336px;
}

.hero-slide__category {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.hero-slide__category-icon {
    display: block;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.hero-slide__category-label {
    width: 100%;
    min-height: 22px;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-align: center;
}

.hero-slide__tagline-image {
    display: block;
    width: 223px;
    height: 21px;
    object-fit: contain;
}

.hero-slide__actions {
    position: absolute;
    top: 332px;
    left: calc(50% + 0.5px);
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
    transform: translateX(-50%);
}

.hero-slide__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 53px;
    padding: 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 15px;
    transition:
        color var(--transition),
        background-color var(--transition);
}

.hero-slide__action--primary {
    width: 165px;
    color: #fff;
    background-color: #6eb9bb;
}

.hero-slide__action--primary:hover,
.hero-slide__action--primary:focus-visible {
    color: #fff;
    background-color: #55aaad;
}

.hero-slide__action--secondary {
    width: 234px;
    color: #000105;
    background-color: #f9eee7;
}

.hero-slide__action--secondary:hover,
.hero-slide__action--secondary:focus-visible {
    color: #000105;
    background-color: #fff;
}

.hero-slide__action--tertiary {
    width: 189px;
    padding-inline: 18px;
    color: #000105;
    background-color: #a8acd7;
}

.hero-slide__action--tertiary:hover,
.hero-slide__action--tertiary:focus-visible {
    color: #000105;
    background-color: #969bc9;
}

.hero-slider__navigation {
    position: absolute;
    top: 507px;
    left: calc(50% + 0.5px);
    z-index: 3;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 3px;
    width: 47px;
    transform: translateX(-50%);
}

.hero-slider__arrows {
    display: flex;
    justify-content: space-between;
    width: 47px;
}

.hero-slider__arrow {
    display: grid;
    place-items: center;
    width: 15px;
    height: 15px;
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    transition: opacity var(--transition);
}

.hero-slider__arrow svg {
    width: 15px;
    height: 15px;
}

.hero-slider__arrow--prev {
    transform: rotate(-90deg);
}

.hero-slider__arrow--next {
    transform: rotate(90deg);
}

.hero-slider__arrow:hover,
.hero-slider__arrow:focus-visible {
    opacity: 0.65;
}

.hero-slider__arrow.swiper-button-disabled {
    cursor: default;
}

.hero-slider__counter {
    width: 100%;
    margin: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.06em;
    text-align: center;
}

.hero-slider__counter small {
    color: #f9f5f2;
    font-size: 10px;
    font-weight: inherit;
    letter-spacing: -0.06em;
}

.hero-slider.swiper-initialized .hero-slide__content,
.hero-slider.swiper-initialized .hero-slide__actions {
    opacity: 0;
    transform: translate(-50%, 12px);
    transition:
        opacity 650ms var(--transition),
        transform 650ms var(--transition);
}

.hero-slider.swiper-initialized .swiper-slide-active .hero-slide__content,
.hero-slider.swiper-initialized .swiper-slide-active .hero-slide__actions {
    opacity: 1;
    transform: translate(-50%, 0);
}

.how-to-submit {
    width: min(100% - 48px, 1170px);
    margin: 50px auto 0;
}

.how-to-submit__heading {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0 0 30px 40px;
    padding: 4.5px 10px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: #f4f4f4;
    border-radius: 5px;
}

.how-to-submit__heading-marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.how-to-submit__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.how-to-submit__card {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 144px;
    overflow: hidden;
    color: #000105;
    text-decoration: none;
    background-color: #f9eee7;
    border-radius: 20px;
}

.how-to-submit__card:focus-visible {
    outline: 2px solid #6eb9bb;
    outline-offset: 3px;
}

.how-to-submit__card-content {
    display: grid;
    grid-template-columns: 69px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    min-height: 144px;
    padding: 28px 20px 28px 35px;
}

.how-to-submit__icon,
.how-to-submit__icon svg {
    display: block;
    width: 69px;
    height: 69px;
}

.how-to-submit__text {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.how-to-submit__card-title {
    display: block;
    width: 100%;
    font-size: 16px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1;
    letter-spacing: 0.01em;
}

.how-to-submit__description {
    display: block;
    width: 100%;
    min-height: 44px;
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.how-to-submit__hover {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    place-items: center;
    pointer-events: none;
    opacity: 0;
    background-color: rgb(171 171 171 / 60%);
    -webkit-backdrop-filter: blur(2.5px);
    backdrop-filter: blur(2.5px);
    transition: opacity 120ms ease-out;
}

.how-to-submit__card:hover .how-to-submit__hover,
.how-to-submit__card:focus-visible .how-to-submit__hover {
    opacity: 1;
}

.how-to-submit__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 53px;
    padding: 16px;
    color: #000105;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    background-color: #f9eee7;
    border-radius: 15px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 10%);
    transform: translateY(6px);
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out,
        transform 140ms ease-out;
}

.how-to-submit__card:hover .how-to-submit__button,
.how-to-submit__card:focus-visible .how-to-submit__button {
    transform: none;
}

.callback-form-section {
    display: grid;
    place-items: center;
    width: min(100% - 48px, 1170px);
    padding: 36px 0;
    margin: 50px auto 0;
    overflow: hidden;
    background-color: #f9eee7;
    border-radius: 20px;
    --callback-error: #e31e24;
    --callback-error-background: #fff1f1;
    --callback-info: #a8acd7;
}

.callback-form-section__panel {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: min(100% - 40px, 652px);
    padding: 25px 30px 30px;
    overflow: visible;
    background-color: #fff;
    border-radius: 20px;
}

.callback-form-section__success {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    color: #000105;
    text-align: center;
}

.callback-form-section__success[hidden] {
    display: none;
}

.callback-form-section__panel.is-success,
.callback-form-section--contact .callback-form-section__panel.is-success {
    justify-content: center;
    height: var(--callback-success-height, auto);
    padding: 24px 40px;
}

.callback-form-section__panel.is-success > .callback-form-section__heading,
.callback-form-section__panel.is-success > .callback-form-section__subheading,
.callback-form-section__panel.is-success > .callback-form-section__form {
    display: none;
}

.callback-form-section__panel.is-success .callback-form-section__success {
    animation: callback-form-success-in 240ms ease-out both;
}

.callback-form-section__success-icon {
    display: block;
    flex: 0 0 auto;
    width: 85px;
    height: 85px;
    margin: 0 0 25px;
}

.callback-form-section__success-heading,
.callback-form-section__success-message {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
}

@keyframes callback-form-success-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.callback-form-section__heading {
    margin: 0 0 20px;
    color: #000105;
    font-size: 28px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
    text-align: center;
}

.callback-form-section__subheading {
    margin: -2px 0 30px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.25;
    letter-spacing: 0.02em;
    text-align: center;
}

.callback-form-section--contact {
    padding-block: 40px;
}

.callback-form-section--contact .callback-form-section__panel {
    padding: 30px;
}

.callback-form-section--contact .callback-form-section__heading {
    margin-bottom: 30px;
    font-size: 24px;
}

.callback-form-section--service-order {
    min-height: 426px;
    padding-block: 40px;
}

.callback-form-section--service-order .callback-form-section__panel {
    width: min(100% - 40px, 454px);
    min-height: 346px;
    padding: 30px;
}

.callback-form-section--service-order .callback-form-section__heading {
    margin-bottom: 30px;
    font-size: 24px;
}

.callback-form-section--service-order .callback-form-row > p {
    grid-template-columns: minmax(0, 1fr);
}

.callback-form-section__form,
.callback-form-section__form .wpcf7,
.callback-form-section__form .wpcf7-form {
    position: relative;
    width: 100%;
}

.callback-form-section__form .wpcf7-form p {
    margin: 0;
}

.callback-form-fields {
    display: grid;
    gap: 10px;
}

.callback-form-row {
    display: block;
}

.callback-form-row > p {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.callback-form-row br {
    display: none;
}

.callback-form-field,
.callback-form-section__form .wpcf7-form-control-wrap {
    position: relative;
    display: block;
    min-width: 0;
}

.callback-form-control {
    display: block;
    width: 100%;
    height: 49px;
    padding: 16px;
    color: #000105;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
    background: rgb(255 255 255 / 10%);
    border: 0.711px solid #cfcfcf;
    border-radius: 15px;
    outline: none;
    transition:
        border-color 140ms ease-out,
        box-shadow 140ms ease-out,
        background-color 140ms ease-out;
}

.callback-form-control::placeholder {
    color: #cfcfcf;
    opacity: 1;
}

.callback-form-control:hover {
    border-color: #a8acd7;
}

.callback-form-control:focus {
    border-color: #6eb9bb;
    box-shadow: 0 0 0 3px rgb(110 185 187 / 18%);
}

.callback-form-select {
    padding-right: 50px;
    cursor: pointer;
    background-color: rgb(255 255 255 / 10%);
    background-image: url("../icons/contact-select-arrow.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 24px 24px;
    appearance: none;
}

.callback-form-select::-ms-expand {
    display: none;
}

.callback-form-select option {
    color: #000105;
    background-color: #fff;
}

.callback-form-message {
    height: 100px;
    min-height: 100px;
    max-height: 240px;
    resize: vertical;
}

.callback-form-control.wpcf7-not-valid,
.callback-form-control[aria-invalid="true"] {
    background-color: var(--callback-error-background);
    border-color: var(--callback-error);
    box-shadow: none;
}

.callback-form-section__form .wpcf7-not-valid-tip {
    position: static;
    display: block;
    max-width: none;
    margin: 10px 0 0;
    padding: 0;
    color: var(--callback-error);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.25;
    letter-spacing: 0.02em;
    text-align: left;
    background: transparent;
    border-radius: 0;
    transform: none;
}

.callback-form-submit-wrap {
    position: relative;
    height: 53px;
}

.callback-form-submit {
    display: block;
    width: 100%;
    height: 53px;
    padding: 16px 42px 16px 16px;
    cursor: pointer;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    background-color: #6eb9bb;
    border: 0;
    border-radius: 15px;
    transition: background-color 120ms ease-out;
}

.callback-form-submit:hover,
.callback-form-submit:focus-visible {
    background-color: #55aaad;
}

.callback-form-submit:disabled {
    cursor: wait;
    opacity: 0.72;
}

.callback-form-submit-arrow {
    position: absolute;
    top: 50%;
    left: calc(50% + 82px);
    width: 15px;
    height: 15px;
    pointer-events: none;
    background-color: #fff;
    -webkit-mask: url("../icons/arrow-right.svg") center / contain no-repeat;
    mask: url("../icons/arrow-right.svg") center / contain no-repeat;
    transform: translateY(-50%) rotate(90deg);
    transition: background-color 120ms ease-out;
}

.callback-form-submit-wrap:has(.callback-form-submit[value="Надіслати"]) .callback-form-submit-arrow {
    left: calc(50% + 32px);
}

.callback-form-section__form .wpcf7-spinner {
    position: absolute;
    top: 19px;
    right: 17px;
    width: 15px;
    height: 15px;
    margin: 0;
    background: transparent;
    border: 2px solid rgb(255 255 255 / 45%);
    border-top-color: #fff;
    border-radius: 50%;
    opacity: 0;
    animation: callback-form-spin 650ms linear infinite;
}

.callback-form-section__form .submitting .wpcf7-spinner {
    opacity: 1;
}

.callback-form-section__form .wpcf7-spinner::before {
    display: none;
}

.callback-form-section__form .wpcf7-response-output {
    position: relative;
    z-index: 4;
    display: none;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    margin: 10px 0 0 !important;
    padding: 6px 12px !important;
    visibility: hidden;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    opacity: 0;
    background-color: var(--callback-info);
    border: 0 !important;
    border-radius: 10px;
    transform: translateY(-4px);
    transition:
        opacity 160ms ease-out,
        transform 160ms ease-out,
        visibility 160ms ease-out;
}

.callback-form-section__form .sent .wpcf7-response-output,
.callback-form-section__form .spam .wpcf7-response-output,
.callback-form-section__form .failed .wpcf7-response-output,
.callback-form-section__form .aborted .wpcf7-response-output {
    display: flex;
    visibility: visible;
    opacity: 1;
    transform: none;
}

.callback-form-section__form .sent .wpcf7-response-output {
    background-color: #6eb9bb;
}

.callback-form-section__form .invalid .wpcf7-response-output,
.callback-form-section__form .unaccepted .wpcf7-response-output,
.callback-form-section__form .spam .wpcf7-response-output,
.callback-form-section__form .failed .wpcf7-response-output,
.callback-form-section__form .aborted .wpcf7-response-output {
    background-color: var(--callback-error);
}

@keyframes callback-form-spin {
    to {
        transform: rotate(360deg);
    }
}

.useful-articles {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: min(100% - 48px, 1170px);
    margin: 50px auto 0;
}

.useful-articles__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0 0 30px 40px;
    padding: 4.5px 10px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.07em;
    background-color: #f4f4f4;
    border-radius: 5px;
}

.useful-articles__eyebrow-marker {
    display: block;
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.useful-articles__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 10px;
    width: 100%;
}

.useful-articles__item {
    min-width: 0;
    margin: 0;
}

.useful-articles__item:not([hidden]) {
    display: grid;
}

.useful-articles__item.is-revealing {
    animation: useful-articles-reveal 260ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.useful-articles__more {
    align-self: center;
    width: 185px;
    min-height: 53px;
    margin-top: 20px;
    padding: 16px;
    cursor: pointer;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    background-color: #6eb9bb;
    border: 0;
    border-radius: 15px;
    transition: background-color 120ms ease-out;
}

.useful-articles__more:hover,
.useful-articles__more:focus-visible {
    background-color: #55aaad;
}

@keyframes useful-articles-reveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.services-carousel {
    width: 100%;
    margin-top: 50px;
    overflow: hidden;
}

.services-carousel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    width: min(100% - 48px, 1090px);
    margin: 0 auto 30px;
}

.services-carousel__heading-group {
    min-width: 0;
}

.services-carousel__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0;
    padding: 4.5px 10px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: #f4f4f4;
    border-radius: 5px;
}

.services-carousel__eyebrow-marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.services-carousel__heading {
    margin: 20px 0 0;
    color: #000105;
    font-size: 28px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
}

.services-carousel__all-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 53px;
    padding: 16px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    white-space: nowrap;
    background-color: #6eb9bb;
    border-radius: 15px;
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out;
}

.services-carousel__all-link:hover,
.services-carousel__all-link:focus-visible {
    color: #000105;
    background-color: #a8acd7;
}

.services-carousel__all-link svg {
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}

.services-carousel__all-link--mobile {
    display: none;
}

.services-carousel__slider {
    width: 100%;
    overflow: hidden;
}

.services-carousel__slide {
    display: flex;
    flex-direction: column;
    width: 314px;
    min-height: 261px;
    padding: 20px;
    background-color: #f9eee7;
    border-radius: 20px;
    transition: box-shadow 180ms ease-out;
}

.services-carousel__slide:hover,
.services-carousel__slide:focus-within {
    box-shadow: 0 4px 30px rgb(0 0 0 / 10%);
}

.services-carousel__card-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.services-carousel__icon {
    display: grid;
    place-items: center;
    flex: 0 0 78px;
    width: 78px;
    height: 78px;
    background-color: var(--services-carousel-icon-color);
    border-radius: 50%;
}

.services-carousel__icon svg {
    width: 39px;
    height: 43px;
}

.services-carousel__card-title {
    margin: 0;
    color: #000105;
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.services-carousel__description {
    min-height: 34px;
    margin: 15px 0 0;
    color: #77797f;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.services-carousel__divider {
    display: block;
    width: 100%;
    height: 1px;
    margin-top: 30px;
    background-color: #cfcfcf;
}

.services-carousel__price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-top: 19px;
}

.services-carousel__price-prefix {
    padding-bottom: 3px;
    color: #77797f;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.services-carousel__price {
    color: #000105;
    font-size: 38px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: -0.04em;
    white-space: nowrap;
}

.services-carousel__navigation {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 20px;
}

.services-carousel__arrow {
    display: grid;
    place-items: center;
    flex: 0 0 53px;
    width: 53px;
    height: 53px;
    padding: 16px;
    cursor: pointer;
    color: #000105;
    background-color: rgb(255 255 255 / 55%);
    border: 0.711px solid #cfcfcf;
    border-radius: 15px;
    -webkit-backdrop-filter: blur(32px);
    backdrop-filter: blur(32px);
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out,
        border-color 120ms ease-out;
}

.services-carousel__arrow:hover,
.services-carousel__arrow:focus-visible {
    background-color: #6eb9bb;
    border-color: #6eb9bb;
}

.services-carousel__arrow:hover svg,
.services-carousel__arrow:focus-visible svg,
.trusted-brands__nav-button:hover:not(:disabled) svg,
.trusted-brands__nav-button:focus-visible:not(:disabled) svg {
    filter: brightness(0) invert(1);
}

.services-carousel__arrow svg {
    width: 15px;
    height: 15px;
}

.services-carousel__arrow--prev svg {
    transform: rotate(-90deg);
}

.services-carousel__arrow--next svg {
    transform: rotate(90deg);
}

.advantages {
    width: min(100% - 48px, 1170px);
    margin: 50px auto 0;
}

.advantages__heading-group {
    margin: 0 0 30px 40px;
}

.advantages__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0;
    padding: 4.5px 10px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: #f4f4f4;
    border-radius: 5px;
}

.advantages__eyebrow-marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.advantages__heading {
    margin: 20px 0 0;
    color: #000105;
    font-size: 28px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
}

.advantages__grid {
    display: grid;
    grid-template-columns: 278fr 11fr 229fr 11fr 47fr 10fr 354fr 11fr 219fr;
    row-gap: 10px;
}

.advantages__card {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
    min-height: 107px;
    padding: 20px 29px;
    background-color: #f9eee7;
    border-radius: 20px;
    transition: box-shadow 160ms ease-out;
}

.advantages__card:hover,
.advantages__card:focus-within {
    box-shadow: 0 4px 30px rgb(0 0 0 / 8%);
}

.advantages__card:nth-child(1) {
    grid-column: 1 / 6;
    grid-row: 1;
}

.advantages__card:nth-child(2) {
    grid-column: 7 / 10;
    grid-row: 1;
}

.advantages__card:nth-child(3) {
    grid-column: 1 / 2;
    grid-row: 2;
}

.advantages__card:nth-child(4) {
    grid-column: 3 / 8;
    grid-row: 2;
}

.advantages__card:nth-child(5) {
    grid-column: 9 / 10;
    grid-row: 2;
}

.advantages__card:nth-child(6) {
    grid-column: 1 / 4;
    grid-row: 3;
    min-height: 127px;
}

.advantages__card:nth-child(7) {
    grid-column: 5 / 10;
    grid-row: 3;
    min-height: 127px;
}

.advantages__icon {
    display: grid;
    place-items: center;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    background-color: var(--advantages-icon-bg);
    border-radius: 50%;
}

.advantages__icon svg {
    max-width: 43px;
    max-height: 43px;
}

.advantages__content {
    min-width: 0;
}

.advantages__card-title {
    margin: 0;
    color: #000105;
    font-size: 24px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: -0.01em;
}

.advantages__description {
    margin: 10px 0 0;
    color: #77797f;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.locations-map {
    position: relative;
    width: min(100% - 48px, 1170px);
    margin: 50px auto 0;
    padding: 30px 40px 36px;
    overflow: hidden;
    background-color: #c3c6d8;
    border-radius: 20px;
}

.locations-map__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0;
    padding: 4.5px 10px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: #d7daea;
    border-radius: 5px;
}

.locations-map__eyebrow-marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.locations-map__map {
    position: relative;
    width: 100%;
    margin-top: 30px;
    overflow: hidden;
    aspect-ratio: 1090 / 540;
    background-color: #e9eaf0;
    border-radius: 20px;
}

.locations-map__iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    filter: grayscale(0.12) saturate(0.72) contrast(0.88) brightness(1.08);
}

.locations-map__tint {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-color: rgb(168 172 215 / 14%);
    mix-blend-mode: multiply;
}

.locations-map__actions {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 36px;
}

.locations-map__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 53px;
    padding: 16px;
    color: #000105;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 15px;
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out;
}

.locations-map__link--primary {
    color: #fff;
    background-color: #6eb9bb;
}

.locations-map__link--primary:hover,
.locations-map__link--primary:focus-visible {
    color: #000105;
    background-color: #a8acd7;
}

.locations-map__link--secondary {
    padding-inline: 26px;
    background-color: #f9eee7;
}

.locations-map__link--secondary:hover,
.locations-map__link--secondary:focus-visible {
    background-color: #fff;
}

.locations-map__watermark {
    position: absolute;
    right: 31px;
    bottom: 20px;
    display: block;
    width: 85px;
    height: 85px;
    pointer-events: none;
}

.locations-map__watermark svg {
    width: 100%;
    height: 100%;
    transform: rotate(180deg) scaleX(-1);
}

.works-comparison {
    width: min(100% - 48px, 1090px);
    margin: 50px auto 0;
}

.works-comparison__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
}

.works-comparison__heading-group {
    width: auto;
    max-width: 100%;
}

.works-comparison__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    margin: 0;
    padding: 5px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: #f4f4f4;
    border-radius: 5px;
}

.works-comparison__eyebrow-marker {
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.works-comparison__heading {
    margin: 20px 0 0;
    color: #000105;
    font-family: var(--font-wide);
    font-size: 28px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.works-comparison__slider {
    overflow: hidden;
}

.works-comparison__slide {
    height: auto;
}

.works-comparison__compare {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1090 / 394;
    user-select: none;
    touch-action: pan-y;
    background-color: #f9eee7;
    border-radius: 20px;
}

.works-comparison__image-layer {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.works-comparison__image-layer--before {
    z-index: 1;
    clip-path: inset(0 0 calc(100% - var(--comparison-position)) 0);
}

.works-comparison__image {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 49.27%;
    height: 90.86%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}

.works-comparison__label {
    position: absolute;
    z-index: 3;
    width: auto;
    max-width: calc(100% - 40px);
    margin: 0;
    padding: 8px;
    color: #000105;
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.4;
    letter-spacing: 0.02em;
    background-color: rgb(249 245 242 / 90%);
    border-radius: 10px;
    backdrop-filter: blur(7px);
}

.works-comparison__label--before {
    top: 20px;
    left: 20px;
}

.works-comparison__label--after {
    right: 20px;
    bottom: 20px;
}

.works-comparison__divider {
    position: absolute;
    z-index: 4;
    top: var(--comparison-position);
    right: 0;
    left: 0;
    height: 3px;
    pointer-events: none;
    background-color: #6eb9bb;
    transform: translateY(-50%);
}

.works-comparison__handle {
    position: absolute;
    z-index: 5;
    top: var(--comparison-position);
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 26px;
    height: 45px;
    margin: 0;
    padding: 0;
    cursor: ns-resize;
    touch-action: none;
    color: #fff;
    background-color: #6eb9bb;
    border: 0;
    border-radius: 18px;
    transform: translate(-50%, -50%);
    transition: background-color 120ms ease-out;
}

.works-comparison__handle::before {
    position: absolute;
    inset: 0 -9px;
    content: "";
}

.works-comparison__handle:hover,
.works-comparison__handle:focus-visible,
.works-comparison__compare.is-dragging .works-comparison__handle {
    background-color: #a8acd7;
}

.works-comparison__handle-arrow,
.works-comparison__handle-arrow svg {
    display: block;
    width: 15px;
    height: 15px;
}

.works-comparison__handle-arrow--down {
    transform: rotate(180deg);
}

.swiper-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.swiper-navigation__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 53px;
    width: 53px;
    height: 53px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    color: var(--color-ink);
    background-color: var(--color-surface);
    border: 1px solid var(--color-swiper-navigation-border);
    border-radius: var(--radius-services-card);
    transition:
        color var(--transition),
        background-color var(--transition),
        border-color var(--transition),
        opacity var(--transition);
}

.swiper-navigation__button svg {
    width: 15px;
    height: 15px;
    transition: filter var(--transition);
}

.swiper-navigation__button--prev svg {
    transform: rotate(-90deg);
}

.swiper-navigation__button--next svg {
    transform: rotate(90deg);
}

.swiper-navigation__button:hover:not(:disabled):not(.swiper-button-disabled),
.swiper-navigation__button:focus-visible:not(:disabled):not(.swiper-button-disabled) {
    color: var(--color-surface);
    background-color: var(--color-services-cta);
    border-color: var(--color-services-cta);
}

.swiper-navigation__button:hover:not(:disabled):not(.swiper-button-disabled) svg,
.swiper-navigation__button:focus-visible:not(:disabled):not(.swiper-button-disabled) svg {
    filter: brightness(0) invert(1);
}

.swiper-navigation__button:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}

.swiper-navigation__button:disabled,
.swiper-navigation__button.swiper-button-disabled {
    cursor: default;
    opacity: 0.45;
}

.works-comparison__navigation {
    margin-top: 20px;
}

.trusted-brands {
    width: min(100% - 48px, 1170px);
    margin: 50px auto 0;
    padding: 45px 40px 35px;
    overflow: hidden;
    background-color: #c3c6d8;
    border-radius: 20px;
}

.trusted-brands__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0;
    padding: 4.5px 10px;
    color: #000105;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: #d7daea;
    border-radius: 5px;
}

.trusted-brands__eyebrow-marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.trusted-brands__slider {
    margin-top: 27px;
    overflow: hidden;
}

.trusted-brands__wrapper {
    align-items: center;
    transition-timing-function: linear;
}

.trusted-brands__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto;
    height: 60px;
}

.trusted-brands__slide .trusted-brands__logo {
    display: block;
    width: var(--trusted-logo-width);
    max-width: 100%;
    height: var(--trusted-logo-height);
    max-height: 60px;
    object-fit: contain;
}

.trusted-brands__navigation {
    display: none;
}

.trusted-brands__nav-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 53px;
    height: 53px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #d7d7d7;
    border-radius: 15px;
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out,
        border-color 120ms ease-out;
}

.trusted-brands__nav-button--next {
    color: #fff;
    background-color: #6eb9bb;
    border-color: #6eb9bb;
}

.trusted-brands__nav-button:hover:not(:disabled),
.trusted-brands__nav-button:focus-visible:not(:disabled) {
    color: #fff;
    background-color: #6eb9bb;
    border-color: #6eb9bb;
}

.trusted-brands__nav-button:disabled,
.trusted-brands__nav-button.swiper-button-disabled {
    cursor: default;
    opacity: 0.45;
}

.trusted-brands__nav-button svg {
    width: 15px;
    height: 15px;
}

.trusted-brands__nav-button--prev svg {
    transform: rotate(-90deg);
}

.trusted-brands__nav-button--next svg {
    filter: brightness(0) invert(1);
    transform: rotate(90deg);
}

.faq-section {
    width: min(100% - 48px, 1170px);
    padding: 40px;
    margin: 50px auto 0;
    overflow: hidden;
    background-color: rgb(249 238 231 / 50%);
    border-radius: 20px;
}

.faq-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    width: calc(100% - 40px);
}

.faq-section__heading-group {
    min-width: 0;
}

.faq-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    margin: 0;
    padding: 5px;
    color: #000105;
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: normal;
    letter-spacing: 0.02em;
    background-color: #f9eee7;
    border-radius: 5px;
}

.faq-section__eyebrow span {
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.faq-section__heading {
    margin: 20px 0 0;
    color: #000105;
    font-size: 28px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
}

.faq-section__decor {
    display: flex;
    align-items: center;
    gap: 5px;
}

.faq-section__decor-icon {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
}

.faq-section__items {
    display: grid;
    gap: 11px;
    width: calc(100% - 40px);
    margin-top: 16px;
}

.faq-section__item {
    overflow: hidden;
    background-color: #f9eee7;
    border-radius: 15px;
}

.faq-section__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    min-height: 53px;
    padding: 9px 9px 9px 14px;
    cursor: pointer;
    color: #000105;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: left;
    background: transparent;
    border: 0;
    transition: color 180ms ease-out;
}

.faq-section__question > span:first-child {
    min-width: 0;
    white-space: pre-line;
}

.faq-section__question--multiline {
    padding-top: 16px;
    padding-bottom: 16px;
}

.faq-section__question:hover,
.faq-section__question:focus-visible,
.faq-section__item.is-open .faq-section__question {
    color: #6eb9bb;
}

.faq-section__question:focus-visible {
    outline: 2px solid #6eb9bb;
    outline-offset: -2px;
}

.faq-section__toggle {
    display: grid;
    place-items: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    color: #000105;
    background-color: #fff;
    border-radius: 10px;
}

.faq-section__toggle-icon {
    width: 15px;
    height: 15px;
    transform: rotate(180deg);
    transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-section__item.is-open .faq-section__toggle-icon {
    transform: none;
}

.faq-section__answer-inner {
    max-width: 653px;
    padding: 3px 14px 26px;
    color: #000105;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
    opacity: 0;
    transform: translateY(-4px);
    transition:
        opacity 150ms ease-out,
        transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-section__item.is-open .faq-section__answer-inner {
    opacity: 1;
    transform: none;
}

.faq-section__answer-inner p {
    margin: 0;
}

.faq-section__more-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 307px;
    min-height: 53px;
    padding: 16px;
    margin: 20px auto 0;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none;
    background-color: #6eb9bb;
    border-radius: 15px;
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out;
}

.faq-section__more-link:hover,
.faq-section__more-link:focus-visible {
    color: #000105;
    background-color: #a8acd7;
}

.faq-section__more-icon {
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}

.faq-page {
    padding-block: 40px 0;
}

.faq-page__heading {
    margin: 0 0 56px;
    color: var(--color-ink);
    font-size: var(--font-size-faq-page-heading);
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.4;
    letter-spacing: 0.01em;
    text-align: center;
}

.faq-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 360px) minmax(0, 790px);
    align-items: start;
    gap: 20px;
}

.faq-page__sidebar {
    position: sticky;
    top: 24px;
}

.faq-page__navigation {
    padding: 30px;
    background-color: var(--color-faq-page-navigation);
    border-radius: 25px;
}

.faq-page__navigation-list {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.faq-page__navigation-link {
    display: flex;
    align-items: center;
    gap: 17px;
    min-height: 56px;
    padding: 10px;
    color: var(--color-ink);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-decoration: none;
    border-radius: 15px;
    transition:
        color var(--transition),
        background-color var(--transition);
}

.faq-page__navigation-link:hover,
.faq-page__navigation-link:focus-visible,
.faq-page__navigation-link.is-active {
    color: var(--color-ink);
    background-color: var(--color-faq-page-navigation-active);
}

.faq-page__navigation-link:focus-visible,
.faq-page__category-header:focus-visible,
.faq-page__question:focus-visible {
    outline: 2px solid var(--color-cta);
    outline-offset: 2px;
}

.faq-page__navigation-number {
    flex: 0 0 39px;
    color: var(--color-faq-page-number);
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    text-align: center;
}

.faq-page__categories {
    display: grid;
    gap: 10px;
}

.faq-page__category {
    --faq-page-category-color: var(--color-faq-page-time);
    --faq-page-category-icon-color: var(--color-faq-page-time-icon);
    overflow: hidden;
    background-color: var(--color-surface);
    border-radius: 20px;
    scroll-margin-top: 24px;
}

.faq-page__category--delivery,
.faq-page__category--locations {
    --faq-page-category-color: var(--color-faq-page-delivery);
    --faq-page-category-icon-color: var(--color-faq-page-delivery-icon);
}

.faq-page__category--services,
.faq-page__category--business {
    --faq-page-category-color: var(--color-faq-page-services);
    --faq-page-category-icon-color: var(--color-faq-page-services-icon);
}

.faq-page__category--guarantees {
    --faq-page-category-color: var(--color-faq-page-guarantees);
    --faq-page-category-icon-color: var(--color-faq-page-guarantees-icon);
}

.faq-page__category-header {
    display: grid;
    grid-template-columns: 69px minmax(0, 1fr) 35px;
    align-items: center;
    gap: 20px;
    width: 100%;
    min-height: 109px;
    padding: 20px 30px 20px 20px;
    color: var(--color-ink);
    font-family: inherit;
    text-align: left;
    background-color: var(--faq-page-category-color);
    border: 0;
}

button.faq-page__category-header {
    cursor: pointer;
}

.faq-page__category-icon {
    display: grid;
    width: 69px;
    height: 69px;
    place-items: center;
    background-color: var(--faq-page-category-icon-color);
    border-radius: 20px;
}

.faq-page__category-icon-svg,
.faq-page__category-toggle-svg,
.faq-page__question-toggle-svg {
    display: block;
    width: 24px;
    height: 24px;
}

.faq-page__category-title {
    min-width: 0;
    font-size: 24px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
}

.faq-page__category-toggle {
    display: grid;
    width: 35px;
    height: 35px;
    place-items: center;
    background-color: var(--color-surface);
    border-radius: 10px;
}

.faq-page__category-toggle-icon {
    display: grid;
    place-items: center;
}

.faq-page__category-toggle-icon--minus,
.faq-page__category.is-open .faq-page__category-toggle-icon--plus {
    display: none;
}

.faq-page__category.is-open .faq-page__category-toggle-icon--minus {
    display: grid;
}

.faq-page__category-content {
    display: block;
    overflow: hidden;
    height: 0;
    padding-inline: 20px;
    transition: height var(--dur-faq-page-accordion) var(--ease-faq-page-accordion);
}

.faq-page .faq-page__answer {
    overflow: hidden;
    height: 0;
    transition: height var(--dur-faq-page-accordion) var(--ease-faq-page-accordion);
}

.faq-page__questions {
    display: grid;
}

.faq-page__question {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    align-items: center;
    gap: 20px;
    width: 100%;
    min-height: 64px;
    padding: 18px 0;
    color: var(--color-ink);
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: left;
    background-color: transparent;
    border: 0;
}

button.faq-page__question {
    cursor: pointer;
}

.faq-page__question--static {
    cursor: default;
}

.faq-page__question-row + .faq-page__question-row {
    border-top: 1px solid var(--color-faq-page-divider);
}

.faq-page__question-toggle {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
}

.faq-page__question-toggle-svg {
    transform: rotate(180deg);
    transition: transform var(--transition);
}

.faq-page__question-item.is-open .faq-page__question-toggle-svg {
    transform: none;
}

.faq-page__question-item.is-open .faq-page__question {
    min-height: auto;
    padding: 17px 0 0;
}

.faq-page__answer-inner {
    max-width: 658px;
    padding: 15px 0 21px;
    color: var(--color-ink);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
    opacity: 0;
    transform: translateY(-4px);
    transition:
        opacity var(--dur-faq-page-accordion) ease-out,
        transform var(--dur-faq-page-accordion) var(--ease-faq-page-accordion);
}

.faq-page__question-item.is-open .faq-page__answer-inner {
    opacity: 1;
    transform: none;
}

.reviews-carousel {
    width: min(100% - 48px, 1170px);
    padding: 40px 0 0 40px;
    margin: 50px auto 0;
    overflow: hidden;
    background-color: #fff;
    border-radius: 20px;
}

.reviews-carousel__header {
    width: 568px;
    max-width: calc(100% - 40px);
}

.reviews-carousel__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    margin: 0;
    padding: 5px;
    color: #000105;
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: normal;
    letter-spacing: 0.02em;
    background-color: rgb(200 200 200 / 20%);
    border-radius: 5px;
}

.reviews-carousel__eyebrow span {
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    background-color: #6eb9bb;
    border-radius: 2px;
}

.reviews-carousel__heading {
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 20px 0 0;
    color: #000105;
    font-size: 28px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
}

.reviews-carousel__slider {
    width: 100%;
    margin-top: 35.5px;
    overflow: visible;
}

.reviews-carousel__slider .swiper-wrapper {
    align-items: stretch;
}

.reviews-carousel__slide {
    display: flex;
    flex-direction: column;
    width: 297px;
    height: auto;
    min-height: 341px;
    padding: 30px;
    overflow: hidden;
    background-color: #f9eee7;
    border-radius: 20px;
    transition:
        opacity 420ms var(--transition),
        background-color 420ms var(--transition);
}

.reviews-carousel__rating {
    display: flex;
    align-items: center;
}

.reviews-carousel__rating span,
.reviews-carousel__rating svg {
    display: block;
    width: 15px;
    height: 15px;
}

.reviews-carousel__quote {
    width: 210px;
    max-width: 100%;
    margin: 20px 0 16px;
    color: #000105;
    font-size: 20px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0;
}

.reviews-carousel__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin-top: auto;
}

.reviews-carousel__person {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.reviews-carousel__avatar {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 50%;
}

.reviews-carousel__person-copy,
.reviews-carousel__date {
    display: flex;
    flex-direction: column;
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    white-space: nowrap;
}

.reviews-carousel__author,
.reviews-carousel__date {
    color: rgb(119 121 127 / 50%);
}

.reviews-carousel__location {
    overflow: hidden;
    color: #000105;
    text-overflow: ellipsis;
}

.reviews-carousel__date {
    flex: 0 0 auto;
    font-style: normal;
}

.reviews-carousel__navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 116px;
    height: 53px;
    margin: 20px auto 0;
    transform: translateX(-20px);
}

.reviews-carousel__nav-button {
    display: grid;
    place-items: center;
    flex: 0 0 53px;
    width: 53px;
    height: 53px;
    padding: 16px;
    cursor: pointer;
    color: #000105;
    background-color: rgb(255 255 255 / 70%);
    border: 0.711px solid #adadad;
    border-radius: 15px;
    backdrop-filter: blur(32px);
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out,
        border-color 120ms ease-out;
}

.reviews-carousel__nav-button:hover,
.reviews-carousel__nav-button:focus-visible {
    color: #fff;
    background-color: #6eb9bb;
    border-color: #6eb9bb;
}

.reviews-carousel__nav-button:focus-visible {
    outline: 2px solid #000105;
    outline-offset: 2px;
}

.reviews-carousel__nav-button svg {
    display: block;
    width: 15px;
    height: 15px;
}

.reviews-carousel__nav-button--prev {
    transform: rotate(180deg);
}

.reviews-carousel__nav-button--prev svg,
.reviews-carousel__nav-button--next svg {
    transform: rotate(90deg);
}

.reviews-carousel__nav-button:hover path,
.reviews-carousel__nav-button:focus-visible path {
    stroke: currentcolor;
}

@media (min-width: 768px) {
    .reviews-carousel__slide--distant {
        opacity: 0.4;
        background-color: #f9f9f9;
    }
}

.seo-text {
    width: min(100% - 48px, 1170px);
    padding: 0 40px;
    margin: 50px auto 0;
    background-color: #fff;
    border-radius: 20px;
}

.seo-text__heading {
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 0;
    color: #000105;
    font-size: 28px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
}

.seo-text__body {
    width: var(--width-seo-text-content);
    max-width: 100%;
    margin-top: 20px;
    color: #000105;
    font-size: 20px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
}

.seo-text__body > :first-child {
    margin-top: 0;
}

.seo-text__body > :last-child {
    margin-bottom: 0;
}

.seo-text__body p,
.seo-text__body h3,
.seo-text__body ul {
    margin: 0 0 20px;
}

.seo-text__body h3 {
    color: #000105;
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
}

.seo-text__body ul {
    padding-left: 1.25em;
}

.seo-text__body li + li {
    margin-top: 6px;
}

.seo-text__cta {
    display: flex;
    justify-content: center;
    width: var(--width-seo-text-content);
    max-width: 100%;
    margin-top: 30px;
}

.seo-text__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 53px;
    padding: 16px;
    color: var(--color-surface);
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    background-color: var(--color-services-cta);
    border: 0;
    border-radius: 15px;
    cursor: pointer;
    transition: background-color 120ms ease-out;
}

.seo-text__button:hover,
.seo-text__button:focus-visible {
    color: var(--color-surface);
    background-color: var(--color-services-cta-hover);
}

.seo-text__button:focus-visible,
.seo-text__modal-close:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}

.seo-text__button-icon,
.seo-text__button-icon svg {
    display: block;
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
}

.seo-text__button-icon svg {
    transform: rotate(90deg);
}

.seo-text__modal {
    width: min(calc(100% - 32px), 652px);
    max-width: none;
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 0;
    overflow: visible;
    color: var(--color-ink);
    border: 0;
    background: transparent;
}

.seo-text__modal::backdrop {
    background-color: var(--color-modal-backdrop);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.seo-text__modal-dialog {
    position: relative;
    max-height: calc(100dvh - 32px);
    padding: 30px;
    overflow: auto;
    background-color: var(--color-surface);
    border-radius: var(--radius-services-panel);
}

.seo-text__modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    width: 44px;
    height: 44px;
    padding: 10px;
    color: var(--color-ink);
    place-items: center;
    background-color: var(--color-surface);
    border: 1px solid var(--color-calculator-border);
    border-radius: var(--radius-calculator-control);
    cursor: pointer;
}

.seo-text__modal-close svg {
    display: block;
    width: 24px;
    height: 24px;
}

.seo-text__modal-heading {
    margin: 0 44px 24px;
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
    text-align: center;
}

.seo-text__modal-form .wpcf7-response-output {
    overflow-wrap: anywhere;
}

body.has-open-seo-text-modal {
    overflow: hidden;
}

.site-footer {
    padding: 50px 0 24px;
}

.site-footer__inner {
    display: grid;
    grid-template-areas:
        "cta feedback"
        "bottom bottom";
    grid-template-columns: minmax(0, 1fr) 412px;
    grid-template-rows: auto minmax(101px, 1fr);
    column-gap: 40px;
    width: min(100% - 48px, 1170px);
    min-height: 391px;
    margin: 0 auto;
    padding: 40px;
    background-color: #a8acd7;
    border-radius: 20px;
}

.site-footer__cta {
    grid-area: cta;
    min-width: 0;
}

.site-footer__heading-image {
    display: block;
    width: 388.5px;
    max-width: 100%;
    height: auto;
}

.site-footer__description {
    max-width: 450px;
    margin: 25px 0 0 6px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
}

.site-footer__description p {
    margin: 0;
}

.site-footer__cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.site-footer__cta-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 53px;
    padding: 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 15px;
    transition:
        color var(--transition),
        background-color var(--transition),
        border-color var(--transition);
}

.site-footer__cta-link--outline {
    color: var(--color-surface);
    border: 1px solid var(--color-surface);
}

.site-footer__cta-link--outline:hover,
.site-footer__cta-link--outline:focus-visible {
    color: var(--color-services-promo);
    background-color: var(--color-surface);
}

.site-footer__cta-link--white {
    padding-inline: 26px;
    color: #000105;
    background-color: #fff;
}

.site-footer__cta-link--white:hover,
.site-footer__cta-link--white:focus-visible {
    color: #000105;
    background-color: #e9e9f6;
}

.site-footer__feedback {
    grid-area: feedback;
    width: 412px;
    max-width: 100%;
    min-height: 210px;
    padding: 30px;
    background-color: #fff;
    border-radius: 20px;
}

.site-footer__feedback-title {
    margin: 0;
    color: #000105;
    font-size: 16px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
    text-align: center;
}

.site-footer__feedback-form .wpcf7 {
    margin-top: 20px;
}

.site-footer__feedback-form .wpcf7-form {
    display: grid;
    gap: 10px;
}

.site-footer__feedback-form .wpcf7-form p {
    position: relative;
    margin: 0;
}

.site-footer__feedback-form .wpcf7-form-control-wrap {
    display: block;
}

.site-footer__feedback-form textarea {
    display: block;
    width: 100%;
    height: 49px;
    padding: 14px 16px;
    color: #000105;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
    resize: none;
    background: rgb(255 255 255 / 10%);
    border: 1px solid #cfcfcf;
    border-radius: 15px;
    outline: none;
    transition:
        border-color var(--transition),
        box-shadow var(--transition);
}

.site-footer__feedback-form textarea::placeholder {
    color: #a2a2a2;
    opacity: 1;
}

.site-footer__feedback-form textarea:focus {
    border-color: #6eb9bb;
    box-shadow: 0 0 0 3px rgb(110 185 187 / 18%);
}

.site-footer__feedback-form .wpcf7-not-valid {
    background-color: #fff1f1;
    border-color: #e31e24;
    box-shadow: none;
}

.site-footer__feedback-form .wpcf7-not-valid-tip {
    display: block;
    margin: 8px 0 0;
    padding: 0;
    color: #e31e24;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.02em;
}

.site-footer__feedback-form input[type="submit"] {
    display: block;
    width: 100%;
    height: 53px;
    padding: 16px 42px 16px 16px;
    cursor: pointer;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    background-color: #6eb9bb;
    border: 0;
    border-radius: 15px;
    transition: background-color var(--transition);
}

.site-footer__feedback-form input[type="submit"]:hover,
.site-footer__feedback-form input[type="submit"]:focus-visible {
    background-color: #55aaad;
}

.site-footer__feedback-form p:has(input[type="submit"])::after {
    position: absolute;
    top: 50%;
    right: calc(50% - 71px);
    width: 15px;
    height: 15px;
    pointer-events: none;
    content: "";
    background-color: #fff;
    -webkit-mask: url("../icons/arrow-right.svg") center / contain no-repeat;
    mask: url("../icons/arrow-right.svg") center / contain no-repeat;
    transform: translateY(-50%) rotate(90deg);
    transition: background-color 120ms ease-out;
}

.site-footer__feedback-form .wpcf7-spinner {
    display: none;
}

/* Override CF7's response spacing; its live region announces this message. */
.site-footer__feedback-form .wpcf7-form .wpcf7-response-output {
    display: none;
    margin: 0;
    padding: var(--space-ui-md);
    color: var(--color-form-error);
    font-size: var(--fs-form-status);
    line-height: 1.4;
    text-align: center;
    overflow-wrap: anywhere;
    background-color: var(--color-form-error-surface);
    border: 0;
    border-radius: var(--radius-calculator-control);
}

.site-footer__feedback-form .wpcf7-form:is(.sent, .invalid, .unaccepted, .spam, .failed, .aborted, .payment-required) .wpcf7-response-output {
    display: block;
}

.site-footer__feedback-form .wpcf7-form.sent .wpcf7-response-output {
    color: var(--color-form-success);
    background-color: var(--color-delivery-order-notice);
}

.site-footer__bottom {
    grid-area: bottom;
    display: grid;
    grid-template-columns: 206px minmax(0, 1fr) 242px 170px;
    align-self: end;
    align-items: center;
}

.site-footer__socials,
.site-footer__meta-link,
.site-footer__phones {
    display: flex;
    align-items: center;
}

.site-footer__socials {
    gap: 10px;
}

.site-footer__social-link,
.site-footer__social-symbol,
.site-footer__meta-icon {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border-radius: 10px;
}

.site-footer__social-link {
    position: relative;
    color: #fff;
    border: 1px solid #fff;
    transition:
        background-color var(--transition),
        border-color var(--transition);
}

.site-footer__social-link:hover,
.site-footer__social-link:focus-visible {
    background-color: rgb(255 255 255 / 20%);
    border-color: transparent;
}

.site-footer__social-symbol {
    position: relative;
}

.site-footer__social-svg {
    width: 15px;
    height: 15px;
}

.site-footer__social-telegram {
    display: block;
    width: 12px;
    height: 12px;
}

.site-footer__meta-link,
.site-footer__phones {
    gap: 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    white-space: nowrap;
}

.site-footer__meta-link {
    transition: color var(--transition);
}

.site-footer__meta-link:hover,
.site-footer__meta-link:focus-visible {
    color: #f9eee7;
}

.site-footer__meta-icon--outline {
    border: 1px solid #fff;
}

.site-footer__meta-icon--white {
    background-color: #fff;
}

.site-footer__meta-svg {
    width: 15px;
    height: 15px;
}

.site-footer__meta-link--franchise {
    justify-self: start;
}

.site-footer__phones {
    justify-self: start;
}

.site-footer__phone-list {
    display: grid;
}

.site-footer__phone-list a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition);
}

.site-footer__phone-list a:hover,
.site-footer__phone-list a:focus-visible {
    color: #f9eee7;
}

.site-footer__meta-link--offer {
    justify-self: end;
}

.site-footer__developer {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    align-self: end;
    color: var(--color-surface);
    font-family: var(--font-family-base);
    font-size: 10px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    font-style: normal;
    line-height: 1;
    letter-spacing: -0.02em;
    text-decoration: none;
    transition: color var(--transition);
}

.site-footer__developer:hover,
.site-footer__developer:focus-visible {
    color: var(--color-services-card);
}

@media (min-width: 1218px) {
    .site-footer__developer {
        margin-top: 30px;
    }
}

.site-header__mobile-actions,
.site-header__menu-toggle {
    display: none;
}

/* Shared Figma CTA state: solid by default, outlined on hover/focus. */
:is(.site-header__account, .hero-slide__action--primary, .callback-form-submit, .useful-articles__more, .services-carousel__all-link, .locations-map__link--primary, .faq-section__more-link, .site-footer__feedback-form input[type="submit"]) {
    color: #fff;
    background-color: var(--color-cta);
    border: 1px solid transparent;
    transition:
        color 120ms ease-out,
        background-color 120ms ease-out,
        border-color 120ms ease-out;
}

@media (hover: hover) {
    :is(.site-header__account, .hero-slide__action--primary, .callback-form-submit, .useful-articles__more, .services-carousel__all-link, .locations-map__link--primary, .faq-section__more-link, .site-footer__feedback-form input[type="submit"]):not(:disabled):hover {
        color: var(--color-cta);
        background-color: #fff;
        border-color: var(--color-cta);
    }

    .callback-form-submit-wrap:has(.callback-form-submit:not(:disabled):hover) .callback-form-submit-arrow,
    .site-footer__feedback-form p:has(input[type="submit"]:not(:disabled):hover)::after {
        background-color: var(--color-cta);
    }
}

:is(.site-header__account, .hero-slide__action--primary, .callback-form-submit, .useful-articles__more, .services-carousel__all-link, .locations-map__link--primary, .faq-section__more-link, .site-footer__feedback-form input[type="submit"]):not(:disabled):focus-visible {
    color: var(--color-cta);
    background-color: #fff;
    border-color: var(--color-cta);
}

.callback-form-submit-wrap:has(.callback-form-submit:not(:disabled):focus-visible) .callback-form-submit-arrow,
.site-footer__feedback-form p:has(input[type="submit"]:not(:disabled):focus-visible)::after {
    background-color: var(--color-cta);
}

img,
svg {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.container {
    width: min(100% - (var(--container-padding) * 2), var(--container-width));
    margin-inline: auto;
}

.services-page-price-accordion {
    width: min(100% - (var(--container-padding) * 2), 1170px);
    padding: 40px 80px;
    margin: 64px auto 0;
    background-color: rgb(249 238 231 / 50%);
    border-radius: var(--radius-services-panel);
}

.services-page-price-accordion__eyebrow,
.services-page-price-accordion__title {
    margin: 0;
}

.services-page-price-accordion__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 25px;
    padding: 4px 10px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.services-page-price-accordion__marker {
    width: 9px;
    height: 9px;
    background-color: var(--color-services-cta);
    border-radius: 3px;
}

.services-page-price-accordion__items {
    display: grid;
    gap: 20px;
    margin-top: 30px;
}

.services-page-price-accordion__item {
    overflow: hidden;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-card);
}

.services-page-price-accordion__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    min-height: 75px;
    padding: 20px 20px 20px 30px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-align: left;
    cursor: pointer;
    background: transparent;
    border: 0;
}

.services-page-price-accordion__toggle {
    display: grid;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    color: var(--color-ink);
    place-items: center;
    background-color: var(--color-surface);
    border-radius: 10px;
    transform: rotate(180deg);
    transition: transform var(--transition);
}

.services-page-price-accordion__toggle svg {
    display: block;
    width: 15px;
    height: 15px;
}

.services-page-price-accordion__item.is-open .services-page-price-accordion__toggle {
    transform: none;
}

.services-page-price-accordion__panel {
    pointer-events: none;
}

.services-page-price-accordion__item.is-open .services-page-price-accordion__panel {
    pointer-events: auto;
}

.services-page-price-accordion__table-wrap {
    padding: 0 20px 20px;
    overflow-x: auto;
}

.services-page-price-accordion__table {
    width: 100%;
    min-width: 720px;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    color: var(--color-ink);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.services-page-price-accordion__table th,
.services-page-price-accordion__table td {
    text-align: left;
}

.services-page-price-accordion__table th {
    padding: 0 13px 19px;
    font-size: 18px;
    font-weight: 600;
    white-space: nowrap;
}

.services-page-price-accordion__table th:nth-child(1),
.services-page-price-accordion__table td:nth-child(1) {
    width: 34%;
}

.services-page-price-accordion__table th:nth-child(2),
.services-page-price-accordion__table td:nth-child(2) {
    width: 22%;
}

.services-page-price-accordion__table th:nth-child(3),
.services-page-price-accordion__table td:nth-child(3) {
    width: 28%;
}

.services-page-price-accordion__table th:nth-child(4),
.services-page-price-accordion__table td:nth-child(4) {
    width: 16%;
}

.services-page-price-accordion__table td {
    padding: 13px;
}

.services-page-price-accordion__table tbody tr:nth-child(odd) td {
    background-color: var(--color-services-price-row);
}

.services-page-price-accordion__table tbody tr:nth-child(odd) td:first-child {
    border-radius: 10px 0 0 10px;
}

.services-page-price-accordion__table tbody tr:nth-child(odd) td:last-child {
    border-radius: 0 10px 10px 0;
}

.services-page-price-factors {
    width: min(100% - (var(--container-padding) * 2), 1170px);
    margin: 64px auto 0;
}

.services-page-price-factors__eyebrow,
.services-page-price-factors__title {
    margin: 0;
}

.services-page-price-factors__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 25px;
    padding: 4px 10px;
    margin-inline-start: 39px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.services-page-price-factors__marker {
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2.133px;
}

.services-page-price-factors__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 30px;
}

.services-page-price-factors__card {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 107px;
    padding: 20px 28px;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-panel);
}

.services-page-price-factors__icon {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    color: var(--color-surface);
    place-items: center;
    background: linear-gradient(to bottom, var(--services-page-price-factor-color), var(--services-page-price-factor-color-end));
    border-radius: 50%;
}

.services-page-price-factors__icon svg {
    display: block;
    width: 24px;
    height: 24px;
}

.services-page-price-factors__title {
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0.02em;
}

@media (max-width: 991px) {
    .services-page-price-factors__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

[data-animate] {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity var(--dur-content-reveal) var(--ease-content-reveal),
        transform var(--dur-content-reveal) var(--ease-content-reveal);
}

[data-animate].is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 767px) {
    .services-page-price-accordion {
        padding: 28px 20px;
        margin-top: 40px;
    }

    .services-page-price-accordion__button {
        min-height: 68px;
        padding: 16px 16px 16px 20px;
    }

    .services-page-price-accordion__table-wrap {
        padding: 0 12px 16px;
        overflow: visible;
    }

    .services-page-price-accordion__table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .services-page-price-accordion__table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        white-space: nowrap;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
    }

    .services-page-price-accordion__table tbody {
        display: grid;
        gap: 10px;
    }

    .services-page-price-accordion__table tr {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px 12px;
        padding: 16px;
        background-color: var(--color-surface);
        border-radius: 10px;
    }

    .services-page-price-accordion__table td:nth-child(n),
    .services-page-price-accordion__table tbody tr:nth-child(odd) td {
        display: grid;
        align-content: start;
        gap: 4px;
        width: auto;
        min-width: 0;
        overflow-wrap: anywhere;
        padding: 0;
        background: transparent;
        border-radius: 0;
    }

    .services-page-price-accordion__table td::before {
        color: var(--color-text-muted);
        font-size: var(--font-size-calculator-small);
        line-height: 1.2;
        content: attr(data-label);
    }

    .services-page-price-accordion__table td:first-child {
        grid-column: span 3;
        align-content: center;
        font-size: 15px;
        font-weight: 800;
        font-stretch: var(--font-stretch-wide);
    }

    .services-page-price-accordion__table td:first-child::before {
        display: none;
    }

    .services-page-price-accordion__table td:nth-child(2) {
        text-align: end;
    }

    .services-page-price-accordion__table td:nth-child(n + 3) {
        grid-column: span 2;
        grid-template-rows: 1fr auto;
        padding-top: 12px;
        border-top: 1px solid var(--color-services-divider);
    }

    .services-page-price-factors {
        margin-top: 40px;
    }

    .services-page-price-factors__eyebrow {
        margin-inline-start: 0;
    }

    .services-page-price-factors__grid {
        grid-template-columns: 1fr;
        margin-top: 20px;
    }

    .services-page-price-factors__card {
        min-height: 96px;
        padding: 20px 24px;
    }
}

[data-accordion-panel] {
    overflow: hidden;
    height: 0;
    transition: height 240ms cubic-bezier(0.22, 1, 0.36, 1);
}

.telegram-button {
    position: fixed;
    right: 32px;
    bottom: 32px;
    z-index: 25;
    display: grid;
    width: 71px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 50%;
    transition:
        transform 200ms var(--transition),
        filter 200ms var(--transition);
}

.has-open-menu .telegram-button {
    z-index: 19;
}

.telegram-button:hover {
    filter: brightness(1.05);
    transform: translateY(-3px);
}

.telegram-button:focus-visible {
    outline: 3px solid var(--color-cta);
    outline-offset: 4px;
}

/* Reusable page introduction */
.page-intro,
.services-page-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: min(100% - (var(--container-padding) * 2), 618px);
    margin: 53px auto 0;
    text-align: center;
}

.page-intro__copy {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.page-intro__title,
.services-page-hero__heading {
    margin: 0;
    color: var(--color-ink);
    font-size: 38px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.page-intro__subtitle,
.services-page-hero__description {
    margin: 20px 0 0;
    color: var(--color-ink);
    font-size: 24px;
    font-weight: 700;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.page-intro__copy .page-intro__subtitle {
    margin-top: 0;
}

.page-intro__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 53px;
    padding: 16px;
    color: var(--color-surface);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    background-color: var(--color-services-cta);
    border-radius: var(--radius-services-card);
    transition:
        background-color var(--transition),
        color var(--transition);
}

.page-intro__link:hover,
.page-intro__link:focus-visible {
    color: var(--color-surface);
    background-color: var(--color-services-cta-hover);
}

.page-intro__link:focus-visible {
    outline: 3px solid var(--color-ink);
    outline-offset: 4px;
}

.business-audience,
.business-benefits {
    width: min(100% - (var(--container-padding) * 2), 1170px);
    margin: 64px auto 0;
}

.business-audience__eyebrow,
.business-benefits__eyebrow,
.business-audience__title,
.business-benefits__title {
    margin: 0;
}

.business-audience__eyebrow,
.business-benefits__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    padding: 4px 10px;
    margin-inline-start: 39px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.business-audience__marker,
.business-benefits__marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2.133px;
}

.business-audience__grid,
.business-benefits__grid {
    display: grid;
    gap: 10px;
    margin-top: 30px;
}

.business-audience__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.business-audience__card,
.business-benefits__card {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
    min-height: 107px;
    padding: 20px 28px;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-panel);
}

.business-audience__card {
    gap: 12px;
}

.business-audience__card:first-child {
    gap: 15px;
}

.business-audience__icon {
    display: grid;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    color: var(--color-surface);
    place-items: center;
    background: var(--business-audience-icon-color);
    border-radius: 50%;
}

.business-audience__icon svg {
    display: block;
    max-width: 24px;
    max-height: 24px;
}

.business-audience__title,
.business-benefits__title {
    min-width: 0;
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0.02em;
}

.business-benefits__grid {
    gap: 10px;
}

.business-benefits__row {
    display: grid;
    gap: 10px;
}

.business-benefits__row--top {
    grid-template-columns: 395fr 392fr 363fr;
}

.business-benefits__row--bottom {
    grid-template-columns: 578fr 582fr;
}

@media (min-width: 768px) and (max-width: 1217px) {
    .business-benefits__row--top .business-benefits__card {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-ui-md);
        padding: var(--space-ui-xl);
    }
}

.business-benefits__icon {
    position: relative;
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    color: var(--color-surface);
    place-items: center;
    background-color: var(--business-benefit-icon-color);
    border-radius: 50%;
}

.business-benefits__icon svg {
    display: block;
    max-width: 30px;
    max-height: 24px;
}

.business-benefits__icon--business-benefit-schedule {
    background-color: transparent;
}

.business-benefits__icon--business-benefit-schedule svg {
    width: 43px;
    height: 43px;
    max-width: none;
    max-height: none;
}

.business-benefits__icon--business-benefit-manager {
    background-color: transparent;
}

.business-benefits__icon--business-benefit-manager svg {
    width: 43px;
    height: 43px;
    max-width: none;
    max-height: none;
}

.business-cooperation-process {
    width: min(100% - (var(--container-padding) * 2), 1111px);
    margin: 64px auto 0;
}

.business-cooperation-process__eyebrow,
.business-cooperation-process__title {
    margin: 0;
}

.business-cooperation-process__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    padding: 4px 10px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.business-cooperation-process__marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2.133px;
}

.business-cooperation-process__steps {
    position: relative;
    width: min(100%, 1079px);
    min-height: 110px;
    margin: 30px auto 0;
}

.business-cooperation-process__step {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
}

.business-cooperation-process__step--1 {
    left: 0;
    width: 76px;
}

.business-cooperation-process__step--2 {
    left: 25.12%;
    width: 190px;
}

.business-cooperation-process__step--3 {
    left: 52.64%;
    width: 246px;
}

.business-cooperation-process__step--4 {
    right: 0;
    width: 131px;
}

@media (min-width: 768px) {
    .business-cooperation-process__step--1 {
        left: -42px;
        width: 160px;
    }

    .business-cooperation-process__step--2 {
        left: calc(25.12% - 15px);
        width: 220px;
    }

    .business-cooperation-process__step--3 {
        left: calc(52.64% - 37px);
        width: 320px;
    }

    .business-cooperation-process__step--4 {
        right: -15px;
        width: 160px;
    }

    .business-cooperation-process__title {
        white-space: nowrap;
    }
}

@media (min-width: 768px) and (max-width: 1217px) {
    .business-cooperation-process__steps {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--space-ui-2xl);
        min-height: 0;
    }

    .business-cooperation-process__step {
        position: static;
        width: auto;
    }

    .business-cooperation-process__title {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .business-cooperation-process__steps .business-cooperation-process__arrow--1 {
        left: calc(25% - 13.5px);
    }

    .business-cooperation-process__steps .business-cooperation-process__arrow--2 {
        left: calc(50% - 7.5px);
    }

    .business-cooperation-process__steps .business-cooperation-process__arrow--3 {
        left: calc(75% - 1.5px);
    }
}

.business-cooperation-process__icon {
    position: relative;
    display: grid;
    width: 69px;
    height: 69px;
    color: var(--color-surface);
    place-items: center;
    background-color: var(--business-cooperation-process-icon-color);
    border-radius: 50%;
}

.business-cooperation-process__step--1 .business-cooperation-process__icon {
    width: 76px;
    height: 76px;
}

.business-cooperation-process__step--2 .business-cooperation-process__icon {
    width: 75px;
    height: 75px;
}

.business-cooperation-process__icon svg {
    display: block;
    max-width: 32px;
    max-height: 32px;
}

.business-cooperation-process__icon--business-process-application svg {
    width: 21.5px;
    height: 28.168px;
}

.business-cooperation-process__icon--business-process-agreement svg {
    width: 23.944px;
    height: 24px;
}

.business-cooperation-process__icon--business-process-pickup svg:first-child {
    width: 19.5px;
    height: 21.5px;
}

.business-cooperation-process__icon--business-process-pickup svg:last-child {
    position: absolute;
    top: 17px;
    width: 19.294px;
    height: 9.466px;
}

.business-cooperation-process__title {
    margin-top: 12px;
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
}

.business-cooperation-process__arrow {
    position: absolute;
    top: 30px;
    width: 15px;
    height: 15px;
}

.business-cooperation-process__arrow svg {
    display: block;
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}

.business-cooperation-process__arrow--1 {
    left: 18.07%;
}

.business-cooperation-process__arrow--2 {
    left: 48.47%;
}

.business-cooperation-process__arrow--3 {
    left: 78.31%;
}

.services-page-promo {
    width: min(100% - (var(--container-padding) * 2), 1170px);
    margin: 61px auto 0;
}

.services-page-promo__link {
    position: relative;
    display: block;
    padding-block: 10px;
    overflow: hidden;
    color: var(--color-surface);
    background-color: var(--color-services-promo);
    border-radius: var(--radius-services-card);
    text-decoration: none;
    text-align: center;
    transition:
        background-color var(--transition),
        transform var(--transition);
}

.services-page-promo__text {
    font-size: 22px;
    font-weight: 700;
    font-stretch: var(--font-stretch-extended);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
}

.services-page-promo__arrow,
.services-page-promo__telegram {
    display: grid;
    place-items: center;
}

.services-page-promo__arrow {
    display: inline-grid;
    width: 49px;
    height: 8px;
    margin-inline-start: 10px;
    vertical-align: middle;
}

.services-page-promo__arrow svg {
    display: block;
    width: 49px;
    height: 8px;
}

.services-page-promo__telegram {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 37px;
    height: 37px;
}

.services-page-promo__telegram svg {
    width: 37px;
    height: 37px;
}

.services-page-promo__link:hover,
.services-page-promo__link:focus-visible {
    color: var(--color-surface);
    background-color: var(--color-cta);
}

.services-page-promo__link:focus-visible {
    outline: 3px solid var(--color-ink);
    outline-offset: 4px;
}

.service-category-header {
    width: min(100% - (var(--container-padding) * 2), 1170px);
    margin: 52px auto 0;
}

.service-category-header__heading,
.service-category-header__intro {
    margin: 0;
    color: var(--color-ink);
    text-align: center;
}

.service-category-header__heading {
    font-size: var(--font-size-service-category-title);
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.service-category-header__intro {
    display: grid;
    place-items: center;
    min-height: 100px;
    margin-top: 50px;
    padding: 22px 15px;
    font-size: var(--font-size-service-category-intro);
    font-weight: 800;
    font-stretch: var(--font-stretch-extended);
    line-height: 1.2;
    letter-spacing: 0.02em;
    background-color: var(--color-services-promo);
    border-radius: 10px;
}

.service-category-header__intro span {
    display: block;
    width: 119%;
    margin-inline: -9.5%;
    transform: scaleX(0.84);
}

.services-page-categories {
    width: min(100% - (var(--container-padding) * 2), 1170px);
    margin: 64px auto 0;
}

.services-page-categories__header {
    min-height: 25px;
}

.services-page-categories__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 25px;
    margin: 0;
    padding: 4px 10px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.services-page-categories__marker {
    width: 7px;
    height: 7px;
    background-color: var(--color-cta);
    border-radius: 2px;
}

.services-page-categories__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 30px;
}

.services-page-categories__card {
    display: flex;
    align-items: center;
    min-height: 160px;
    padding: 30px 55px;
    color: inherit;
    text-decoration: none;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-card);
    transition:
        box-shadow var(--transition),
        transform var(--transition);
}

.services-page-categories__card:hover,
.services-page-categories__card:focus-visible {
    box-shadow: 0 8px 24px rgb(0 1 5 / 8%);
    transform: translateY(-2px);
}

.services-page-categories__card:focus-visible {
    outline: 3px solid var(--color-cta);
    outline-offset: 3px;
}

.services-page-categories__icon {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    margin-right: 20px;
    color: var(--color-surface);
    background-color: var(--services-category-accent);
    border-radius: 50%;
}

.services-page-categories__icon svg {
    width: 34px;
    height: 34px;
}

.services-page-categories__icon--full {
    background-color: transparent;
}

.services-page-categories__icon--full > svg:first-child {
    width: 50px;
    height: 50px;
}

.services-page-categories__icon .services-page-categories__icon-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    max-width: 32px;
    max-height: 32px;
    transform: translate(-50%, -50%);
}

.services-page-categories__content {
    min-width: 0;
}

.services-page-categories__title,
.services-page-categories__price {
    margin: 0;
}

.services-page-categories__title {
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.services-page-categories__price {
    margin-top: 8px;
    color: var(--color-services-muted);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.services-page-categories--detailed .services-page-categories__grid {
    margin-top: 30px;
}

.services-page-categories--detailed .services-page-categories__card {
    position: relative;
    align-items: center;
}

.services-page-categories--detailed .services-page-categories__content {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.services-page-categories--detailed .services-page-categories__price {
    margin-top: 0;
    color: var(--color-ink);
}

.services-page-categories--subservices {
    margin-top: 50px;
}

.services-page-categories--subservices .services-page-categories__header {
    padding-inline: 40px;
}

.services-page-categories--subservices .services-page-categories__card {
    position: relative;
}

.services-page-categories--subservices .services-page-categories__arrow {
    right: 30px;
    bottom: 22px;
}

.services-page-categories__description {
    margin: 0;
    color: var(--color-services-muted);
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.services-page-categories__arrow {
    position: absolute;
    right: 40px;
    bottom: 29px;
    width: 48px;
    height: 16px;
    color: var(--color-ink);
}

.services-page-categories__arrow svg {
    display: block;
    width: 48px;
    height: 16px;
}

@media (min-width: 768px) and (max-width: 1217px) {
    .services-page-categories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .services-page-categories--detailed .services-page-categories__card,
    .services-page-categories--subservices .services-page-categories__card {
        padding: var(--space-ui-2xl) var(--space-ui-2xl) calc(var(--size-touch-target) + var(--space-ui-sm));
    }
}

.services-page-categories__note {
    margin: 20px 0 0;
    padding: 10px 24px;
    color: var(--color-ink);
    font-size: 22px;
    font-weight: 700;
    font-stretch: var(--font-stretch-extended);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
    background-color: var(--color-services-promo);
    border-radius: 10px;
}

.services-page-submission-options {
    width: min(100% - (var(--container-padding) * 2), 1170px);
    margin: 74px auto 0;
}

.services-page-submission-options > .page-intro__copy {
    text-align: center;
}

.single-service .services-page-submission-options {
    margin-top: 50px;
}

.services-page-submission-options__eyebrow,
.services-page-submission-options__title,
.services-page-submission-options__description {
    margin: 0;
}

.services-page-submission-options__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 25px;
    padding: 4px 10px;
    margin-inline-start: 39px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.services-page-submission-options__marker {
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2px;
}

.services-page-submission-options__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 30px;
}

.services-page-submission-options--with-heading .services-page-submission-options__grid {
    margin-top: 50px;
}

.services-page-submission-options__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 248px;
    padding: 38px 35px;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-card);
}

.services-page-submission-options__intro {
    display: flex;
    gap: 21px;
    align-items: center;
    min-width: 0;
}

.services-page-submission-options__icon {
    display: inline-flex;
    flex: 0 0 69px;
    align-items: center;
    justify-content: center;
    width: 69px;
    height: 69px;
    background-color: var(--color-services-cta);
    border-radius: 50%;
}

.services-page-submission-options__icon svg {
    display: block;
    width: 30px;
    height: 30px;
}

.services-page-submission-options__copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.services-page-submission-options__title {
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1;
    letter-spacing: 0.01em;
}

.services-page-submission-options__description {
    color: var(--color-ink);
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.services-page-submission-options__divider {
    flex: 0 0 1px;
    width: 100%;
    margin-top: 20px;
    background-color: var(--color-services-divider);
}

.services-page-submission-options__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 53px;
    padding: 16px 26px;
    margin-top: 29px;
    color: var(--color-surface);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none;
    background-color: var(--color-services-cta);
    border-radius: var(--radius-services-card);
    transition: background-color var(--transition);
}

.services-page-submission-options__link:hover,
.services-page-submission-options__link:focus-visible {
    color: var(--color-surface);
    background-color: var(--color-services-cta-hover);
}

.services-page-submission-options__link:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}

.services-page-submission-options__arrow {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}

.services-page-process {
    width: min(100% - (var(--container-padding) * 2), 1170px);
    margin: 74px auto 0;
}

.services-page-process__eyebrow,
.services-page-process__title {
    margin: 0;
}

.services-page-process__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 25px;
    padding: 4px 10px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.services-page-process__marker {
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2px;
}

.services-page-process__steps {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: min(100%, 893px);
    margin: 30px auto 0;
}

.services-page-process__step {
    display: flex;
    flex: 0 1 auto;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    min-width: 69px;
    text-align: center;
}

.services-page-process__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--services-page-process-icon-size);
    height: var(--services-page-process-icon-size);
    color: var(--color-surface);
    background-color: var(--services-page-process-icon-color);
    border-radius: 50%;
}

.services-page-process__icon svg {
    display: block;
    max-width: 38px;
    max-height: 30px;
}

.services-page-process__icon--advantages-care svg {
    width: 31px;
    height: 25px;
}

.services-page-process__icon--services-page-process-receive svg {
    width: 31px;
    height: 25px;
}

.services-page-process__icon--services-page-process-accessories {
    background-color: transparent;
}

.services-page-process__icon--services-page-process-accessories svg {
    width: 69px;
    height: 69px;
    max-width: none;
    max-height: none;
}

.services-page-process__icon--advantages-speed svg {
    width: 28px;
    height: 18px;
}

.services-page-process__icon--advantages-professional svg {
    width: 21px;
    height: 19px;
}

.services-page-process__icon--advantages-new-post svg {
    width: 20px;
    height: 19px;
}

.services-page-process__icon--advantages-responsible svg {
    width: 64px;
    height: 64px;
    max-width: none;
    max-height: none;
}

.services-page-process__title {
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.services-page-process__arrow {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    margin-top: 30px;
    color: var(--color-ink);
    transform: rotate(90deg);
}

.services-page-process__arrow svg {
    display: block;
    width: 15px;
    height: 15px;
}

@media (min-width: 768px) and (max-width: 1217px) {
    .services-page-submission-options__intro {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-ui-lg);
    }
}

@media (max-width: 991px) {
    .services-page-process__steps {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px 16px;
        width: min(100%, 600px);
    }

    .services-page-process__arrow {
        display: none;
    }
}

@media (max-width: 767px) {
    .services-page-process__steps {
        grid-template-columns: minmax(0, 1fr) 15px minmax(0, 1fr) 15px minmax(0, 1fr);
        grid-template-rows: auto 28px auto;
        gap: 0;
    }

    .services-page-process__step:nth-of-type(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .services-page-process__step:nth-of-type(2) {
        grid-column: 3;
        grid-row: 1;
    }

    .services-page-process__step:nth-of-type(3) {
        grid-column: 5;
        grid-row: 1;
    }

    .services-page-process__step:nth-of-type(4) {
        grid-column: 5;
        grid-row: 3;
    }

    .services-page-process__step:nth-of-type(5) {
        grid-column: 3;
        grid-row: 3;
    }

    .services-page-process__step:nth-of-type(6) {
        grid-column: 1;
        grid-row: 3;
    }

    .services-page-process__arrow {
        display: grid;
        width: 15px;
        height: 15px;
        margin-block-start: 30px;
        margin-inline: 0;
        justify-self: center;
        align-self: start;
    }

    .services-page-process__arrow:nth-of-type(1) {
        grid-column: 2;
        grid-row: 1;
        transform: rotate(90deg);
    }

    .services-page-process__arrow:nth-of-type(2) {
        grid-column: 4;
        grid-row: 1;
        transform: rotate(90deg);
    }

    .services-page-process__arrow:nth-of-type(3) {
        grid-column: 5;
        grid-row: 2;
        margin: 0;
        align-self: center;
        position: relative;
        inset-block-start: -11px;
        transform: rotate(180deg);
    }

    .services-page-process__arrow:nth-of-type(4) {
        grid-column: 4;
        grid-row: 3;
        transform: rotate(-90deg);
    }

    .services-page-process__arrow:nth-of-type(5) {
        grid-column: 2;
        grid-row: 3;
        transform: rotate(-90deg);
    }
}

@media (max-width: 900px) {
    .services-page-submission-options__eyebrow {
        margin-inline-start: 0;
    }

    .services-page-submission-options__card {
        padding: var(--space-ui-2xl);
    }
}

@media (max-width: 767px) {
    .service-category-header {
        margin-top: 32px;
    }

    .service-category-header__heading {
        font-size: clamp(var(--font-size-service-category-title-mobile), 9vw, var(--font-size-service-category-title));
        line-height: 1.15;
    }

    .service-category-header__intro {
        min-height: 0;
        margin-top: 32px;
        padding: 20px 16px;
        font-size: var(--font-size-service-category-intro-mobile);
    }

    .service-category-header__intro span {
        width: 100%;
        margin-inline: 0;
        transform: none;
    }

    .services-page-submission-options {
        margin-top: 48px;
    }

    .services-page-process {
        margin-top: 48px;
    }

    .services-page-submission-options__grid {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 20px;
    }

    .services-page-submission-options--with-heading .services-page-submission-options__grid {
        margin-top: 20px;
    }

    .services-page-submission-options__card {
        min-height: 0;
        padding: 28px 24px;
    }
}

@media (max-width: 1024px) {
    .services-page-promo__link {
        padding-inline: 16px;
    }

    .services-page-promo__arrow,
    .services-page-promo__telegram {
        display: none;
    }
}

@media (max-width: 900px) {
    .services-page-categories__card {
        padding-inline: 30px;
    }
}

@media (max-width: 767px) {
    .page-intro,
    .services-page-hero {
        margin-top: 32px;
    }

    .page-intro__title,
    .services-page-hero__heading {
        font-size: clamp(30px, 8vw, 38px);
    }

    .services-page-submission-options--with-heading .services-page-hero__heading {
        font-size: 24px;
    }

    .page-intro__subtitle,
    .services-page-hero__description {
        font-size: clamp(19px, 5vw, 24px);
    }

    .services-page-promo,
    .services-page-categories {
        margin-top: 40px;
    }

    .services-page-promo__link {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        gap: 10px;
        padding: 10px 16px;
    }

    .services-page-promo__text {
        flex: 0 1 auto;
        font-size: clamp(13px, 4vw, 15px);
        text-align: center;
    }

    .services-page-categories__grid {
        grid-template-columns: 1fr;
        margin-top: 20px;
    }

    .services-page-categories__card {
        min-height: 130px;
        padding: 24px;
    }

    .services-page-categories--detailed .services-page-categories__card {
        min-height: 160px;
        padding: var(--space-ui-lg);
        padding-block-end: calc(var(--size-touch-target) + var(--space-ui-sm));
    }

    .services-page-categories--subservices .services-page-categories__header {
        padding-inline: 0;
    }

    .services-page-categories--subservices .services-page-categories__card {
        min-height: 140px;
        padding-block-end: calc(var(--size-touch-target) + var(--space-ui-sm));
    }

    .services-page-categories--subservices .services-page-categories__arrow {
        right: 24px;
        bottom: 22px;
    }

    .services-page-categories--detailed .services-page-categories__arrow {
        right: 24px;
        bottom: 24px;
    }

    .services-page-categories__note {
        padding: 14px 20px;
        font-size: 18px;
    }
}

@media (max-width: 350px) {
    .services-page-promo__link {
        padding-inline: 8px;
    }
}

.telegram-button__icon {
    width: 100%;
    height: 100%;
}

/* Public offer */
.public-offer {
    padding: 90px 0 50px;
}

.public-offer__container {
    width: min(100% - 48px, 1170px);
    margin-inline: auto;
}

.public-offer__header {
    display: grid;
    justify-items: center;
    gap: 20px;
    max-width: 683px;
    margin: 0 auto 50px;
    text-align: center;
}

.public-offer__heading {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.public-offer__download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 56px;
    padding: 16px 26px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #fff;
    text-decoration: none;
    background-color: #6eb9bb;
    border: 1px solid #6eb9bb;
    border-radius: 15px;
    transition:
        color var(--transition),
        background-color var(--transition);
}

.public-offer__download-icon {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.public-offer__download:hover,
.public-offer__download:focus-visible {
    color: #6eb9bb;
    background-color: #fff;
}

.public-offer__download:hover .public-offer__download-icon path,
.public-offer__download:focus-visible .public-offer__download-icon path {
    stroke: #6eb9bb;
}

.public-offer__download:focus-visible,
.public-offer__nav-link:focus-visible {
    outline: 2px solid #5f668a;
    outline-offset: 3px;
}

.public-offer__layout {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}

.public-offer__navigation {
    position: sticky;
    top: 24px;
    padding: 30px;
    background: rgba(168, 172, 215, 0.15);
    border-radius: 25px;
}

.public-offer__nav-list {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.public-offer__nav-link {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 17px;
    align-items: center;
    min-height: 56px;
    padding: 10px;
    color: #000105;
    text-decoration: none;
    border-radius: 15px;
}

.public-offer__nav-item.is-current .public-offer__nav-link {
    background: rgba(110, 185, 187, 0.3);
}

.public-offer__nav-link[href] {
    transition:
        color var(--transition),
        background-color var(--transition);
}

.public-offer__nav-link[href]:hover {
    background: rgba(110, 185, 187, 0.18);
}

.public-offer__nav-number {
    font-size: 26px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #5f668a;
}

.public-offer__nav-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.public-offer__content {
    display: grid;
    gap: 30px;
    min-width: 0;
}

.public-offer__intro,
.public-offer__section {
    scroll-margin-top: 30px;
}

.public-offer__intro,
.public-offer__section {
    display: grid;
    gap: 30px;
}

.public-offer__intro-heading,
.public-offer__section-heading {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-extended);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.public-offer__copy {
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.public-offer__copy > :first-child {
    margin-top: 0;
}

.public-offer__copy > :last-child {
    margin-bottom: 0;
}

.public-offer__copy p {
    margin: 0 0 16px;
}

.public-offer__copy a {
    color: #6eb9bb;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* Public offer closing feedback */
.public-offer-feedback {
    width: min(100% - 48px, 1170px);
    margin: 0 auto;
    padding: 40px;
    background-color: #f9eee7;
    border-radius: 20px;
}

.public-offer-feedback__inner {
    max-width: 698px;
    margin-inline: auto;
    padding: 27px 30px;
    color: #000105;
    text-align: center;
    background-color: #fff;
    border-radius: 20px;
}

.public-offer-feedback__heading {
    max-width: 638px;
    margin: 0 auto;
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
    letter-spacing: 0.01em;
}

.public-offer-feedback__copy {
    max-width: 618px;
    margin: 15px auto 0;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.public-offer-feedback__copy p {
    margin: 0;
}

.public-offer-feedback__copy p + p {
    margin-top: 20px;
}

.public-offer-feedback__copy a {
    color: #6eb9bb;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.public-offer-feedback__copy a:focus-visible {
    outline: 2px solid #5f668a;
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .public-offer {
        padding-block: 64px 50px;
    }

    .public-offer__layout {
        grid-template-columns: 1fr;
    }

    .public-offer__navigation {
        display: none;
        position: static;
        order: 2;
    }

    .public-offer__content {
        order: 1;
    }

    .public-offer__nav-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .public-offer-feedback {
        padding: 30px;
    }
}

@media (max-width: 767px) {
    .public-offer__navigation {
        display: none;
    }
}

@media (max-width: 600px) {
    .public-offer {
        padding-block: 10px 40px;
    }

    .public-offer__container {
        width: min(100% - 32px, 1170px);
    }

    .public-offer__header {
        gap: 16px;
        margin-bottom: 36px;
    }

    .public-offer__heading {
        font-size: 22px;
    }

    .public-offer__download {
        width: 100%;
        padding-inline: 20px;
    }

    .public-offer__intro,
    .public-offer__section,
    .public-offer__content {
        gap: 22px;
    }

    .public-offer__intro-heading,
    .public-offer__section-heading {
        font-size: var(--font-size-calculator-total-mobile);
    }

    .public-offer-feedback {
        width: min(100% - 32px, 1170px);
        padding: 16px;
        border-radius: 18px;
    }

    .public-offer-feedback__inner {
        padding: 26px 16px;
        border-radius: 16px;
    }

    .public-offer-feedback__heading {
        font-size: 21px;
    }

    .public-offer-feedback__copy p + p {
        margin-top: 18px;
    }
}

.acceptance-points {
    width: min(100% - 48px, 1170px);
    margin: 90px auto 0;
}
.acceptance-points__header {
    width: min(100%, 683px);
    margin: 0 auto;
    color: #000105;
    text-align: center;
}
.acceptance-points__title,
.acceptance-points__subtitle,
.acceptance-points__eyebrow,
.acceptance-points__lead,
.acceptance-points__item-heading,
.acceptance-points__detail-copy {
    margin: 0;
}
.acceptance-points__title {
    font-size: 26px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.4;
    letter-spacing: 0.01em;
}
.acceptance-points__subtitle {
    margin-top: 20px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
}
.acceptance-points__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 5px;
    min-height: 25px;
    padding: 5px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}
.acceptance-points__eyebrow-marker {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    background-color: var(--color-services-cta);
    border-radius: 50%;
}
.acceptance-points__lead {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}
.acceptance-points__filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 50px;
}
.acceptance-points__filter,
.acceptance-points__toggle,
.acceptance-points__detail-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfcfcf;
    border-radius: 15px;
}
.acceptance-points__filter {
    min-height: 49px;
    padding: 16px;
    color: #000105;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
    background: #fff;
    cursor: pointer;
    transition:
        background-color 160ms ease-out,
        border-color 160ms ease-out;
}
.acceptance-points__filter:hover,
.acceptance-points__filter:focus-visible,
.acceptance-points__filter.is-active {
    background-color: #c3c6d8;
    border-color: #c3c6d8;
}
.acceptance-points__filter:focus-visible,
.acceptance-points__item-button:focus-visible {
    outline: 2px solid #000105;
    outline-offset: 3px;
}
.acceptance-points__content {
    display: grid;
    grid-template-columns: minmax(0, 408px) minmax(0, 710px);
    gap: 52px;
    align-items: start;
    margin-top: 60px;
}
.acceptance-points__list {
    border-bottom: 1px solid #cfcfcf;
}
.acceptance-points__item {
    border-top: 1px solid #cfcfcf;
}
.acceptance-points__item:first-child,
.acceptance-points__item.is-first-visible {
    border-top: 0;
}
.acceptance-points__item-button {
    display: flex;
    gap: 30px;
    align-items: center;
    width: 100%;
    padding: 0 0 20px;
    color: #000105;
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
}
.acceptance-points__item:not(:first-child) .acceptance-points__item-button {
    padding-top: 20px;
}
.acceptance-points__toggle,
.acceptance-points__detail-icon {
    flex: 0 0 49px;
    width: 49px;
    height: 49px;
}
.acceptance-points__toggle {
    background-color: #fff;
    transition: background-color 160ms ease-out;
}
.acceptance-points__toggle svg {
    width: 15px;
    height: 15px;
    transform: rotate(180deg);
    transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
}
.acceptance-points__item.is-open .acceptance-points__toggle {
    background-color: #f9eee7;
}
.acceptance-points__item.is-open .acceptance-points__toggle svg {
    transform: none;
}
.acceptance-points__item-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.1;
}
.acceptance-points__details {
    display: grid;
    gap: 15px;
    padding: 0 0 20px;
}
.acceptance-points__detail {
    display: flex;
    gap: 30px;
    align-items: center;
}
.acceptance-points__detail-icon {
    color: #fff;
    background: #6eb9bb;
    border-color: #6eb9bb;
}
.acceptance-points__detail-icon svg {
    width: 24px;
    height: 24px;
}
.acceptance-points__detail-copy {
    display: grid;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.1;
}
.acceptance-points__detail-copy span {
    color: #cfcfcf;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.02em;
}
.acceptance-points__map {
    position: relative;
    z-index: 0;
    overflow: hidden;
    border-radius: 30px;
    aspect-ratio: 710 / 468;
    background-color: #f6f7f9;
}
.acceptance-points__map-canvas {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}
.acceptance-points__map .leaflet-container {
    font-family: var(--font-family, sans-serif);
    background: #f6f7f9;
}
.acceptance-points__map .leaflet-tile-pane {
    filter: saturate(0.72) brightness(1.06);
}
.acceptance-points__map .leaflet-control-attribution {
    padding: 2px 5px;
    color: #4f5561;
    font-size: 10px;
    background: rgb(255 255 255 / 82%);
}
.acceptance-points__marker-wrap {
    background: transparent;
    border: 0;
}
.acceptance-points__marker {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    background: var(--color-services-cta);
    background-image: url("../icons/points-location.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgb(0 1 5 / 25%);
    transition:
        opacity 160ms ease-out,
        transform 160ms ease-out;
}
.acceptance-points__marker-wrap.is-hidden {
    pointer-events: none;
}
.acceptance-points__popup {
    display: grid;
    gap: 6px;
    max-width: 240px;
    color: #000105;
    font-size: 13px;
    line-height: 1.35;
}
.acceptance-points__popup strong {
    font-size: 14px;
}
.acceptance-points__comment {
    margin: -3px 0 0 79px;
    color: #4f5561;
    font-size: 13px;
    line-height: 1.35;
}
.acceptance-points__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.acceptance-points__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 49px;
    padding: 10px 16px;
    color: var(--color-services-cta);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    border: 1px solid var(--color-services-cta);
    border-radius: 15px;
    transition:
        color 160ms ease-out,
        background-color 160ms ease-out;
}
.acceptance-points__action:hover,
.acceptance-points__action:focus-visible {
    color: #fff;
    background-color: var(--color-services-cta);
}
.acceptance-points__action:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}
.acceptance-points__item[hidden] {
    display: none;
}

.acceptance-points--delivery {
    margin-top: 60px;
}
.acceptance-points--delivery .acceptance-points__header {
    display: grid;
    gap: 20px;
    width: min(100%, 403px);
    margin: 0;
    text-align: left;
}
.acceptance-points--delivery .acceptance-points__content {
    grid-template-columns: minmax(0, 710px) minmax(0, 408px);
    margin-top: 30px;
}
.acceptance-points--delivery .acceptance-points__map {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 710 / 537;
}
.acceptance-points--delivery .acceptance-points__list {
    grid-column: 2;
    grid-row: 1;
    max-height: 537px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
}
.acceptance-points--delivery .acceptance-points__list::-webkit-scrollbar {
    display: none;
}

@media (max-width: 1217px) {
    .acceptance-points {
        width: min(100% - 48px, 960px);
    }
    .acceptance-points__content {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 32px;
    }
    .acceptance-points--delivery .acceptance-points__content {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    }
}

@media (max-width: 767px) {
    .acceptance-points {
        width: min(100% - 32px, 1170px);
        margin-top: 10px;
    }
    .acceptance-points__title {
        font-size: 24px;
    }
    .acceptance-points__subtitle {
        margin-top: 16px;
        font-size: 18px;
    }
    .acceptance-points--delivery .acceptance-points__header {
        gap: 20px;
        width: 100%;
    }
    .acceptance-points__lead {
        font-size: 18px;
    }
    .acceptance-points--delivery .acceptance-points__lead br {
        display: none;
    }
    .acceptance-points__filters {
        justify-content: flex-start;
        gap: 8px;
        margin-top: 32px;
    }
    .acceptance-points__filter {
        min-height: 44px;
        padding: 10px 14px;
        font-size: 12px;
    }
    .acceptance-points__content {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        margin-top: 36px;
    }
    .acceptance-points--delivery .acceptance-points__content {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 30px;
    }
    .acceptance-points__item-button {
        gap: 16px;
    }
    .acceptance-points__toggle,
    .acceptance-points__detail-icon {
        flex-basis: 43px;
        width: 43px;
        height: 43px;
        border-radius: 13px;
    }
    .acceptance-points__item-title {
        font-size: 16px;
    }
    .acceptance-points__detail {
        gap: 16px;
    }
    .acceptance-points__detail-copy {
        font-size: 16px;
    }
    .acceptance-points__detail-copy span {
        font-size: 12px;
    }
    .acceptance-points__comment {
        margin-left: 59px;
    }
    .acceptance-points__map {
        grid-row: 1;
        border-radius: 20px;
    }
    .acceptance-points--delivery .acceptance-points__map,
    .acceptance-points--delivery .acceptance-points__list {
        grid-column: 1;
    }
    .acceptance-points--delivery .acceptance-points__list {
        grid-row: 2;
    }
    .acceptance-points--delivery .acceptance-points__list {
        max-height: none;
        overflow: visible;
    }
    :root {
        --container-padding: 16px;
    }
}

@media (max-width: 1217px) {
    .faq-section {
        padding: 30px;
    }

    .faq-section__header,
    .faq-section__items {
        width: 100%;
    }

    .faq-section__decor-icon {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
    }

    .reviews-carousel {
        padding-left: 30px;
    }

    .reviews-carousel__header {
        max-width: calc(100% - 30px);
    }

    .reviews-carousel__navigation {
        transform: translateX(-15px);
    }

    .seo-text {
        padding: 0 30px;
    }

    .works-comparison {
        width: min(100% - 48px, 1090px);
    }

    .locations-map {
        padding-inline: 30px;
    }

    .locations-map__map {
        aspect-ratio: 16 / 10;
    }

    .advantages__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .advantages__card,
    .advantages__card:nth-child(n) {
        grid-column: auto;
        grid-row: auto;
        min-height: 110px;
    }

    .advantages__card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .services-carousel__header {
        width: min(100% - 48px, 1090px);
    }

    .how-to-submit__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .how-to-submit__card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .hero-slider {
        height: 520px;
    }

    .hero-slide {
        height: 520px;
    }

    .hero-slide__background {
        height: 524px;
    }

    .hero-slide__overlay {
        height: 570px;
    }

    .hero-slide__content {
        top: 76px;
    }

    .hero-slide__actions {
        top: 310px;
    }

    .hero-slider__navigation {
        top: auto;
        bottom: 24px;
    }

    .hero-slide__bottom-glow {
        top: auto;
        bottom: 0;
    }

    .site-footer__inner {
        grid-template-areas:
            "cta"
            "feedback"
            "bottom";
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        gap: 40px;
        min-height: 0;
    }

    .site-footer__feedback {
        width: 100%;
    }

    .site-footer__bottom {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        align-self: auto;
    }

    .site-footer__meta-link--offer {
        justify-self: start;
    }

    .site-header {
        padding: 16px 0;
    }

    .site-header__inner {
        justify-content: space-between;
        gap: 16px;
    }

    .site-header__nav {
        position: absolute;
        top: calc(100% - 8px);
        left: 24px;
        right: 24px;
        display: grid;
        gap: 20px;
        padding: 24px;
        visibility: hidden;
        opacity: 0;
        background-color: #fff;
        border-radius: 20px;
        box-shadow: 0 16px 48px rgb(0 1 5 / 14%);
        transform: translateY(-8px);
        transition:
            opacity var(--transition),
            transform var(--transition),
            visibility var(--transition);
    }

    .site-header.is-menu-open .site-header__nav {
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .site-header__menu {
        display: grid;
        gap: 0;
        padding: 0;
        background: transparent;
        border-radius: 0;
    }

    .site-header__menu a {
        display: block;
        padding: 12px 0;
        font-size: 18px;
    }

    .site-header__actions--desktop {
        display: none;
    }

    .site-header__mobile-actions {
        display: block;
    }

    .site-header__actions--mobile {
        display: flex;
        flex-wrap: wrap;
    }

    .site-header__phone-dropdown.is-open .site-header__phone-dropdown-panel {
        position: static;
        width: 100%;
        margin-top: 10px;
    }

    .site-header__menu-toggle {
        display: grid;
        place-content: center;
        gap: 6px;
        flex: 0 0 53px;
        width: 53px;
        height: 53px;
        padding: 0;
        cursor: pointer;
        background: #f9eee7;
        border: 0;
        border-radius: 15px;
    }

    .site-header__menu-toggle span {
        display: block;
        width: 21px;
        height: 2px;
        background-color: #000105;
        transition:
            transform var(--transition),
            opacity var(--transition);
    }

    .site-header.is-menu-open .site-header__menu-toggle span:first-child {
        transform: translateY(8px) rotate(45deg);
    }

    .site-header.is-menu-open .site-header__menu-toggle span:nth-child(2) {
        opacity: 0;
    }

    .site-header.is-menu-open .site-header__menu-toggle span:last-child {
        transform: translateY(-8px) rotate(-45deg);
    }
}

@media (max-width: 767px) {
    .business-audience,
    .business-benefits,
    .business-cooperation-process {
        margin-top: 40px;
    }

    .business-audience__eyebrow,
    .business-benefits__eyebrow,
    .business-cooperation-process__eyebrow {
        margin-inline-start: 0;
    }

    .business-audience__grid {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 20px;
    }

    .business-benefits__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .business-benefits__grid {
        margin-top: 20px;
    }

    .business-cooperation-process__steps {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        gap: 0;
        min-height: 0;
        margin-top: 24px;
    }

    .business-cooperation-process__step {
        position: static;
        width: 100%;
    }

    .business-cooperation-process__arrow {
        position: static;
        display: grid;
        width: 15px;
        height: 15px;
        margin-block: 24px;
        place-items: center;
    }

    .business-cooperation-process__arrow svg {
        transform: rotate(180deg);
    }

    .business-audience__card,
    .business-benefits__card,
    .business-benefits__row .business-benefits__card {
        min-height: 96px;
        padding: 16px;
    }

    /* Mobile section headings */
    .about-production__eyebrow,
    .useful-articles__eyebrow,
    .how-to-submit__heading,
    .trusted-brands__eyebrow,
    .locations-map__eyebrow,
    .advantages__eyebrow,
    .faq-section__eyebrow,
    .reviews-carousel__eyebrow,
    .services-carousel__eyebrow,
    .works-comparison__eyebrow {
        margin-inline: auto;
    }

    .advantages__heading-group,
    .faq-section__header,
    .reviews-carousel__header,
    .services-carousel__header,
    .works-comparison__header {
        text-align: center;
    }

    .advantages__heading,
    .faq-section__heading,
    .reviews-carousel__heading,
    .seo-text__heading,
    .services-carousel__heading,
    .works-comparison__heading {
        text-align: center;
    }

    .about-production__eyebrow,
    .useful-articles__eyebrow,
    .how-to-submit__heading,
    .trusted-brands__eyebrow,
    .locations-map__eyebrow,
    .advantages__eyebrow,
    .faq-section__eyebrow,
    .reviews-carousel__eyebrow,
    .services-carousel__eyebrow,
    .works-comparison__eyebrow {
        display: flex;
        width: max-content;
    }

    .reviews-carousel__header,
    .reviews-carousel__heading {
        margin-inline: auto;
    }

    .services-carousel__heading-group,
    .works-comparison__heading-group {
        display: grid;
        justify-items: center;
    }

    .services-carousel__heading-group {
        width: 100%;
    }

    .faq-section {
        width: min(100% - 32px, 1170px);
        padding: 16px;
        margin-top: 32px;
        border-radius: 15px;
    }

    .faq-section__header {
        align-items: flex-start;
        gap: 12px;
    }

    .faq-section__heading-group {
        flex: 1 1 auto;
    }

    .faq-section__eyebrow {
        font-size: 12px;
    }

    .faq-section__heading {
        margin-top: 16px;
        font-size: 24px;
    }

    .faq-section__decor {
        display: none;
    }

    .faq-section__items {
        margin-top: 20px;
    }

    .faq-section__question {
        gap: 12px;
        padding-left: 16px;
        font-size: 14px;
    }

    .faq-section__answer-inner {
        max-width: none;
        padding: 5px 16px 22px;
        font-size: 13px;
        line-height: 1.35;
    }

    .faq-section__more-link {
        width: 100%;
        margin-top: 20px;
    }

    .reviews-carousel {
        width: min(100% - 32px, 1170px);
        padding: 16px 0 0 16px;
        margin-top: 32px;
        border-radius: 15px;
    }

    .reviews-carousel__header {
        max-width: calc(100% - 16px);
    }

    .reviews-carousel__heading {
        margin-top: 16px;
        font-size: 24px;
    }

    .reviews-carousel__slider {
        margin-top: 20px;
    }

    .reviews-carousel__slide {
        width: 280px;
        min-height: 330px;
        padding: 20px;
        border-radius: 15px;
    }

    .reviews-carousel__quote {
        margin-top: 18px;
        font-size: 18px;
    }

    .reviews-carousel__person-copy,
    .reviews-carousel__date {
        font-size: 11px;
    }

    .reviews-carousel__navigation {
        transform: translateX(-10px);
    }

    .seo-text {
        width: min(100% - 32px, 1170px);
        padding: 16px;
        margin-top: 32px;
        border-radius: 15px;
    }

    .seo-text__heading {
        font-size: 24px;
    }

    .seo-text__body {
        margin-top: 16px;
        font-size: 16px;
        line-height: 1.5;
    }

    .seo-text__body h3 {
        font-size: clamp(var(--fs-prose-subheading-min), 5vw, var(--fs-prose-subheading));
        overflow-wrap: anywhere;
    }

    .seo-text__cta {
        margin-top: 24px;
    }

    .seo-text__modal {
        width: calc(100% - 24px);
        max-height: calc(100dvh - 24px);
    }

    .seo-text__modal-dialog {
        max-height: calc(100dvh - 24px);
        padding: 24px 18px;
        border-radius: var(--radius-services-panel);
    }

    .seo-text__modal-heading {
        margin: 12px 32px 24px;
        font-size: 20px;
    }

    .trusted-brands {
        width: min(100% - 32px, 1170px);
        margin-top: 32px;
        padding: 16px;
        border-radius: 15px;
    }

    .trusted-brands__eyebrow {
        max-width: 100%;
        font-size: 15px;
    }

    .trusted-brands__slider {
        margin-top: 24px;
        overflow: hidden;
    }

    .works-comparison {
        width: min(100% - 32px, 1090px);
        margin-top: 32px;
    }

    .works-comparison__header {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        margin-bottom: 20px;
    }

    .works-comparison__heading-group {
        width: 100%;
    }

    .works-comparison__eyebrow {
        max-width: 100%;
        font-size: 15px;
    }

    .works-comparison__heading {
        margin-top: 16px;
        font-size: 24px;
    }

    .works-comparison__compare {
        aspect-ratio: 4 / 5;
        border-radius: 15px;
    }

    .works-comparison__image {
        width: 96%;
        height: auto;
        aspect-ratio: 3 / 2;
    }

    .works-comparison__label {
        width: auto;
        max-width: calc(72% - 16px);
        font-size: 11px;
    }

    .works-comparison__label--before {
        top: 16px;
        left: 16px;
    }

    .works-comparison__label--after {
        right: 16px;
        bottom: 16px;
    }

    .locations-map {
        width: min(100% - 32px, 1170px);
        margin-top: 32px;
        padding: 16px;
    }

    .locations-map__eyebrow {
        max-width: 100%;
        font-size: 15px;
    }

    .locations-map__map {
        margin-top: 20px;
        aspect-ratio: 4 / 5;
        border-radius: 15px;
    }

    .locations-map__actions {
        align-items: stretch;
        flex-direction: column;
        margin-top: 20px;
        padding-bottom: 0;
    }

    .locations-map__link {
        width: 100%;
        white-space: normal;
    }

    .locations-map__watermark {
        display: none;
    }

    .advantages {
        width: min(100% - 32px, 1170px);
        margin-top: 32px;
    }

    .advantages__heading-group {
        margin: 0 0 20px;
    }

    .advantages__eyebrow {
        max-width: 100%;
        font-size: 15px;
    }

    .advantages__heading {
        margin-top: 16px;
        font-size: 24px;
    }

    .advantages__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .advantages__card,
    .advantages__card:nth-child(n),
    .advantages__card:last-child:nth-child(odd) {
        grid-column: auto;
        min-height: 0;
        padding: 16px;
    }

    .advantages__card-title {
        font-size: 18px;
    }

    .advantages__description {
        font-size: 13px;
    }

    .services-carousel {
        margin-top: 32px;
    }

    .services-carousel__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
        width: calc(100% - 32px);
        margin-bottom: 20px;
    }

    .services-carousel__eyebrow {
        max-width: 100%;
        font-size: 15px;
    }

    .services-carousel__heading {
        margin-top: 16px;
        font-size: 24px;
    }

    .services-carousel__all-link {
        width: 100%;
    }

    .services-carousel__all-link--desktop,
    .services-carousel__navigation {
        display: none;
    }

    .services-carousel__all-link.services-carousel__all-link--mobile {
        display: flex;
        width: min(100% - 32px, 343px);
        margin: 20px auto 0;
    }

    .works-comparison__slider {
        position: relative;
        overflow: hidden;
    }

    .works-comparison__navigation {
        position: absolute;
        z-index: 6;
        top: 50%;
        right: 8px;
        left: 8px;
        display: flex;
        justify-content: space-between;
        margin: 0;
        pointer-events: none;
        transform: translateY(-50%);
    }

    .works-comparison__navigation .swiper-navigation__button {
        width: 44px;
        height: 44px;
        pointer-events: auto;
        background-color: rgb(255 255 255 / 85%);
        border-radius: 13px;
    }

    .services-carousel__slide {
        width: min(286px, calc(100vw - 48px));
        min-height: 250px;
        padding: 18px;
    }

    .services-carousel__icon {
        flex-basis: 68px;
        width: 68px;
        height: 68px;
    }

    .services-carousel__icon svg {
        width: 34px;
        height: 38px;
    }

    .services-carousel__card-title {
        font-size: 17px;
    }

    .services-carousel__description {
        font-size: 13px;
    }

    .services-carousel__divider {
        margin-top: 26px;
    }

    .services-carousel__price {
        font-size: 34px;
    }

    .callback-form-section {
        width: min(100% - 32px, 1170px);
        margin-top: 32px;
        padding: 12px;
    }

    .callback-form-section__panel {
        width: 100%;
        padding: 20px 16px;
    }

    .callback-form-section--contact {
        padding: 12px;
    }

    .callback-form-section--contact .callback-form-section__panel {
        padding: 20px 16px;
    }

    .callback-form-section--contact .callback-form-section__heading {
        margin-bottom: 20px;
        font-size: 20px;
    }

    .callback-form-section--service-order {
        min-height: 0;
        padding: 12px;
    }

    .callback-form-section--service-order .callback-form-section__panel {
        width: 100%;
        min-height: 0;
        padding: 20px 16px;
    }

    .callback-form-section--service-order .callback-form-section__heading {
        margin-bottom: 20px;
        font-size: 20px;
    }

    .callback-form-section__heading {
        margin-bottom: 16px;
        font-size: 20px;
    }

    .callback-form-section__panel.is-success,
    .callback-form-section--contact .callback-form-section__panel.is-success {
        min-height: 0;
        padding: 20px;
    }

    .callback-form-section__success-icon {
        width: 72px;
        height: 72px;
        margin-bottom: 22px;
    }

    .callback-form-section__success-heading,
    .callback-form-section__success-message {
        font-size: 16px;
    }

    .callback-form-section__subheading {
        margin: -4px 0 22px;
        font-size: 14px;
        line-height: 1.35;
    }

    .callback-form-row > p {
        grid-template-columns: minmax(0, 1fr);
    }

    .callback-form-control {
        font-size: 16px;
    }

    .callback-form-select {
        padding-right: 48px;
    }

    .callback-form-section__form .wpcf7-not-valid-tip {
        margin-top: 8px;
        font-size: 13px;
    }

    .callback-form-section__form .wpcf7-response-output {
        display: none;
        min-height: 40px;
        font-size: 11px;
        transform: none;
    }

    .callback-form-section__form .sent .wpcf7-response-output,
    .callback-form-section__form .spam .wpcf7-response-output,
    .callback-form-section__form .failed .wpcf7-response-output,
    .callback-form-section__form .aborted .wpcf7-response-output {
        display: flex;
    }

    .how-to-submit {
        width: min(100% - 32px, 1170px);
        margin-top: 32px;
    }

    .how-to-submit__heading {
        max-width: 100%;
        margin: 0 auto 16px;
        font-size: 15px;
    }

    .how-to-submit__cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .how-to-submit__card:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .how-to-submit__card {
        min-height: 0;
    }

    .how-to-submit__card-content {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 12px;
        min-height: 0;
        padding: 20px 16px;
    }

    .how-to-submit__icon,
    .how-to-submit__icon svg {
        width: 52px;
        height: 52px;
    }

    .how-to-submit__card-title {
        font-size: 15px;
    }

    .how-to-submit__description {
        font-size: 11px;
    }

    .site-header {
        padding: 20px 0 12px;
    }

    .site-header__inner {
        min-height: 48px;
    }

    .site-header__logo,
    .site-header__logo .custom-logo-link,
    .site-header__logo .custom-logo {
        width: 48px;
        height: 48px;
    }

    .site-header__logo {
        flex-basis: 48px;
    }

    .site-header__nav {
        top: calc(100% - 12px);
        left: 20px;
        right: 20px;
    }

    .site-header__menu-toggle {
        gap: 5px;
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        background-color: #fff;
        border: 1px solid #cfcfcf;
    }

    .site-header__menu-toggle span {
        width: 20px;
    }

    .site-header.is-menu-open .site-header__menu-toggle span:first-child {
        transform: translateY(7px) rotate(45deg);
    }

    .site-header.is-menu-open .site-header__menu-toggle span:last-child {
        transform: translateY(-7px) rotate(-45deg);
    }

    .hero-slider-section {
        width: calc(100% - 40px);
        max-width: none;
    }

    .hero-slider,
    .hero-slide {
        height: 732px;
        border-radius: 0;
    }

    .hero-slider {
        background: transparent;
    }

    .hero-slide > picture {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 533px;
        overflow: hidden;
        border-radius: 20px;
    }

    .hero-slide__background {
        top: -29px;
        left: 50%;
        width: 100%;
        max-width: none;
        height: 562px;
        object-fit: cover;
        border-radius: 0;
        transform: translateX(-50%);
    }

    .hero-slide__overlay,
    .hero-slide__bottom-glow {
        display: none;
    }

    .hero-slide__content {
        top: 20px;
        gap: 0;
        width: min(100% - (var(--space-ui-lg) * 2), 277px);
        height: 513px;
    }

    .hero-slide__title-image {
        width: 100%;
        height: auto;
        max-height: none;
    }

    .hero-slide__service-content {
        position: absolute;
        top: 387px;
        left: 50%;
        gap: 7px;
        width: 200px;
        transform: translateX(-50%);
    }

    .hero-slide__categories {
        grid-template-columns: repeat(5, 40px);
        column-gap: var(--space-ui-lg);
        width: 264px;
    }

    .hero-slide__category {
        gap: 3px;
    }

    .hero-slide__category-icon {
        flex-basis: 26px;
        width: 26px;
        height: 26px;
    }

    .hero-slide__category-label {
        min-height: 18px;
        font-size: 8px;
        line-height: 1.1;
    }

    .hero-slide__tagline-image {
        width: 154px;
        height: 15px;
    }

    .hero-slide__actions {
        top: 553px;
        right: 0;
        bottom: auto;
        left: 0;
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
        transform: none;
    }

    .hero-slide__action,
    .hero-slide__action--primary,
    .hero-slide__action--secondary,
    .hero-slide__action--tertiary {
        width: 100%;
        height: 53px;
    }

    .hero-slider.swiper-initialized .hero-slide__actions {
        transform: translateY(12px);
    }

    .hero-slider.swiper-initialized .swiper-slide-active .hero-slide__actions {
        transform: none;
    }

    .hero-slider__navigation {
        top: 478px;
        bottom: auto;
    }

    .site-footer {
        padding: 32px 0 16px;
    }

    .site-footer__inner {
        width: min(100% - 32px, 1170px);
        gap: 24px;
        padding: 16px;
    }

    .site-footer__description {
        margin-left: 0;
    }

    .site-footer__cta-actions {
        flex-direction: column;
        margin-top: 20px;
    }

    .site-footer__cta-link {
        width: 100%;
    }

    .site-footer__feedback {
        height: auto;
        padding: 16px;
    }

    .site-footer__bottom {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .site-footer__developer {
        grid-column: auto;
        grid-row: auto;
    }

    .site-footer__social-link {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .site-footer__meta-link {
        min-height: 44px;
    }

    .site-footer__phone-list a {
        display: flex;
        align-items: center;
        min-height: 0;
    }

    .site-footer__meta-link--offer {
        justify-self: start;
    }

    .site-header__inner {
        width: min(100% - 40px, 1170px);
    }
}

@media (max-width: 1217px) {
    .hero-slider__navigation {
        display: grid;
        grid-template-columns: var(--size-touch-target) 1fr var(--size-touch-target);
        gap: var(--space-ui-sm);
        width: 156px;
    }

    .hero-slider__arrows {
        display: contents;
    }

    .hero-slider__arrow {
        grid-row: 1;
        width: var(--size-touch-target);
        height: var(--size-touch-target);
    }

    .hero-slider__arrow--prev {
        grid-column: 1;
    }

    .hero-slider__arrow--next {
        grid-column: 3;
    }

    .hero-slider__arrow svg {
        width: var(--space-ui-xl);
        height: var(--space-ui-xl);
    }

    .hero-slider__counter {
        grid-area: 1 / 2;
    }
}

/* Shared drawer for phone and tablet; content remains scrollable in landscape. */
@media (max-width: 1217px) {
    .site-header__nav {
        position: fixed;
        inset: 0;
        z-index: 30;
        display: flex;
        flex-direction: column;
        gap: var(--space-ui-lg);
        width: 100%;
        height: 100dvh;
        padding: calc(var(--size-touch-target) + var(--space-ui-xl) * 2) var(--space-ui-xl) max(var(--space-ui-xl), env(safe-area-inset-bottom));
        overflow-y: auto;
        overscroll-behavior: contain;
        background-color: var(--color-surface);
        border-radius: 0;
        box-shadow: none;
        transform: translateY(-8px);
        transition:
            opacity var(--transition),
            transform var(--transition);
    }

    .site-header.is-menu-open .site-header__nav {
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .site-header__menu,
    .site-header.is-menu-open .site-header__menu {
        position: static;
        display: flex;
        flex: 0 0 auto;
        align-items: stretch;
        flex-direction: column;
        gap: var(--space-ui-xs);
        width: 100%;
        min-height: 0;
        margin: auto 0;
        padding: 0;
        transform: none;
    }

    .site-header__menu li {
        min-width: 0;
        text-align: center;
    }

    .site-header__menu a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: var(--size-touch-target);
        padding: var(--space-ui-xs) var(--space-ui-md);
        font-size: var(--font-size-calculator-title);
        line-height: 1.2;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .site-header__mobile-actions,
    .site-header.is-menu-open .site-header__mobile-actions {
        position: static;
        flex: 0 0 auto;
        width: min(100%, 480px);
        margin-inline: auto;
        transform: none;
    }

    .site-header__actions--mobile {
        align-items: stretch;
        flex-direction: column;
        gap: var(--space-ui-sm);
    }

    .site-header__languages,
    .site-header__phone,
    .site-header__account {
        justify-content: center;
        width: 100%;
        height: auto;
        min-height: calc(var(--size-touch-target) + var(--space-ui-xs) * 2);
    }

    .site-header__languages {
        padding-block: var(--space-ui-xs);
    }

    .site-header__language {
        display: grid;
        min-width: var(--size-touch-target);
        min-height: var(--size-touch-target);
        place-items: center;
    }

    .site-header__phone-dropdown {
        width: 100%;
    }

    .site-header__phone-dropdown.is-open .site-header__phone-dropdown-panel {
        position: static;
        width: 100%;
        margin-block-start: var(--space-ui-sm);
    }

    .site-header__phone-dropdown-link {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: var(--size-touch-target);
    }

    .site-header__menu-toggle {
        z-index: 31;
    }

    .site-header.is-menu-open .site-header__menu-toggle {
        position: fixed;
        top: var(--space-ui-xl);
        right: var(--space-ui-xl);
    }
}

@media (min-width: 768px) and (max-width: 1217px) {
    .contacts-hero__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contacts-hero__card--socials {
        grid-column: 1 / -1;
    }

    .about-hero__brand-shadow {
        top: 15%;
        width: 35%;
        height: 22%;
    }

    .about-hero__heading-shadow {
        top: 43%;
        width: 67%;
        height: 19%;
    }

    .about-hero__brand {
        top: 19%;
        width: 34.27%;
        height: auto;
    }

    .about-hero__heading {
        top: 39.2%;
        width: 70%;
        font-size: clamp(20px, 2.14vw, 26px);
    }

    .about-stats__inner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
    }

    .about-stats__item {
        gap: 12px;
    }

    .about-stats__value {
        font-size: 64px;
    }

    .about-stats__label {
        font-size: 16px;
        white-space: normal;
    }

    .about-production__cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .about-production__caption {
        bottom: 14px;
        max-width: calc(100% - 20px);
        padding: 8px;
        font-size: 14px;
        white-space: normal;
    }
}

@media (max-width: 1217px) {
    .site-header__phone-dropdown-link {
        text-align: center;
    }

    .site-header__phone-dropdown-panel {
        position: static;
        width: 100%;
        min-width: 0;
        max-height: 0;
        margin: 0;
        padding: 0 8px;
        overflow: hidden;
        visibility: hidden;
        opacity: 0;
        box-shadow: none;
        transform: none;
        transition:
            max-height var(--transition),
            margin var(--transition),
            padding var(--transition),
            opacity var(--transition),
            visibility 0s linear var(--transition);
    }

    .site-header__phone-dropdown.is-open .site-header__phone-dropdown-panel {
        max-height: 180px;
        margin-top: 10px;
        padding: 8px;
        visibility: visible;
        opacity: 1;
        transition:
            max-height var(--transition),
            margin var(--transition),
            padding var(--transition),
            opacity var(--transition),
            visibility 0s;
    }
}

@media (max-width: 767px) {
    .telegram-button {
        right: 16px;
        bottom: 16px;
        width: 62px;
    }

    .contacts-hero {
        width: min(100% - 40px);
        margin-top: 32px;
        gap: 24px;
    }

    .contacts-hero__header {
        gap: 14px;
    }

    .contacts-hero__title {
        font-size: 22px;
    }

    .contacts-hero__subtitle {
        font-size: 18px;
        line-height: 1.25;
    }

    .contacts-hero__cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .contacts-hero__card {
        min-height: auto;
        padding: 18px;
    }

    .contacts-hero__card--phones {
        padding-block: 8px;
    }

    .contacts-hero__phone,
    .contacts-hero__email {
        display: flex;
        align-items: center;
        font-size: 17px;
    }

    .contacts-hero__phone {
        min-height: 32px;
    }

    .contacts-hero__email {
        min-height: 44px;
    }

    .delivery-contact-strip {
        width: min(100% - 32px, 776px);
        margin-top: 40px;
        gap: 24px;
    }

    .delivery-contact-strip__heading {
        font-size: 21px;
    }

    .delivery-contact-strip__cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .delivery-contact-strip__card {
        min-height: 96px;
        padding: 23px 16px;
    }

    .delivery-contact-strip__phone {
        display: flex;
        align-items: center;
        min-height: 0;
        font-size: 17px;
    }

    .delivery-contact-strip__phone-list {
        gap: 10px;
    }

    .useful-articles {
        width: min(100% - 40px);
        margin-top: 32px;
    }

    .useful-articles__eyebrow {
        margin: 0 auto 20px;
    }

    .useful-articles__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .useful-articles__more {
        width: 100%;
    }

    .about-hero {
        width: min(100% - 40px);
    }

    .about-hero__media {
        aspect-ratio: 353 / 533;
    }

    .about-hero__background {
        object-position: 50% center;
    }

    .about-hero__brand-shadow {
        top: 4px;
        width: 285px;
        height: 88px;
    }

    .about-hero__heading-shadow {
        top: 145px;
        width: calc(100% - 32px);
        height: 150px;
    }

    .about-hero__brand {
        top: 20px;
        width: 277px;
        height: 46px;
    }

    .about-hero__heading {
        top: 148px;
        width: calc(100% - 36px);
        font-size: 18px;
        line-height: 1.22;
    }

    .about-stats {
        width: min(100% - 40px);
        margin-top: 32px;
    }

    .about-stats__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .about-stats__item {
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 14px;
    }

    .about-stats__value {
        font-size: 56px;
    }

    .about-stats__label {
        font-size: 16px;
        white-space: normal;
    }

    .about-production {
        width: min(100% - 40px);
        margin-top: 32px;
    }

    .about-production__eyebrow {
        width: fit-content;
        max-width: 100%;
        min-width: 0;
        flex-wrap: nowrap;
        margin: 0 auto 20px;
        line-height: 1.2;
    }

    .about-production__cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .about-production__caption {
        bottom: 20px;
        max-width: calc(100% - 32px);
        padding: 10px;
        font-size: 16px;
    }
}

.delivery-options {
    width: min(100% - 48px, 776px);
    margin: 50px auto 0;
}

.delivery-options__heading,
.delivery-options__title,
.delivery-options__description {
    margin: 0;
}

.delivery-options__heading {
    color: #000105;
    font-size: 28px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-align: center;
}

.delivery-options__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 30px;
}

.delivery-options__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 248px;
    padding: 38px 35px;
    background-color: #f9eee7;
    border-radius: 15px;
}

.delivery-options__intro {
    display: flex;
    gap: 21px;
    align-items: center;
    min-width: 0;
}

.delivery-options__icon {
    display: inline-flex;
    flex: 0 0 69px;
    align-items: center;
    justify-content: center;
    width: 69px;
    height: 69px;
    background-color: #6eb9bb;
    border-radius: 50%;
}

.delivery-options__icon svg {
    display: block;
    width: 30px;
    height: 30px;
}

.delivery-options__copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.delivery-options__title {
    color: #000105;
    font-size: 16px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1;
    letter-spacing: 0.01em;
}

.delivery-options__description {
    color: #000105;
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.delivery-options__divider {
    flex: 0 0 1px;
    width: 100%;
    margin-top: 20px;
    background-color: rgb(197 180 166 / 30%);
}

.delivery-options__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 53px;
    padding: 16px 26px;
    margin-top: 29px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none;
    background-color: #6eb9bb;
    border-radius: 15px;
    transition:
        background-color 160ms ease-out,
        color 160ms ease-out;
}

.delivery-options__link:hover,
.delivery-options__link:focus-visible {
    color: #fff;
    background-color: #58abad;
}

.delivery-options__link:focus-visible {
    outline: 2px solid #000105;
    outline-offset: 3px;
}

.delivery-options__arrow {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}

@media (max-width: 767px) {
    .delivery-options {
        width: min(100% - 32px, 500px);
        margin-top: 32px;
    }

    .delivery-options__heading {
        font-size: 24px;
    }

    .delivery-options__cards {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 20px;
    }

    .delivery-options__card {
        min-height: 0;
        padding: 28px 24px;
    }
}

@media (min-width: 768px) and (max-width: 1217px) {
    .site-footer__description br {
        display: none;
    }

    .site-footer__bottom {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        column-gap: 24px;
        row-gap: 20px;
        align-items: start;
    }

    .site-footer__socials {
        grid-column: 1;
        grid-row: 1;
    }

    .site-footer__meta-link--franchise {
        grid-column: 1;
        grid-row: 2;
    }

    .site-footer__phones {
        grid-column: 2;
        grid-row: 1;
    }

    .site-footer__meta-link--offer {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
    }

    .site-footer__developer {
        grid-column: 1;
        grid-row: 3;
    }
}

@media (max-width: 400px) {
    .site-footer__bottom {
        column-gap: 8px;
    }

    .site-footer__socials {
        gap: 8px;
    }

    .site-footer__meta-link,
    .site-footer__phones {
        gap: 8px;
        font-size: 12px;
    }
}

.service-calculator {
    width: min(100% - (var(--container-padding) * 2), 1168px);
    margin: 50px auto 0;
}

.service-calculator__eyebrow,
.service-calculator__product-title,
.service-calculator__summary-heading,
.service-calculator__surcharge-title,
.service-calculator__surcharge-description,
.service-calculator__benefit p,
.service-calculator__count-note {
    margin: 0;
}

.service-calculator__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 25px;
    margin-inline-start: 39px;
    padding: 4px 10px;
    color: var(--color-ink);
    font-size: var(--font-size-calculator-row);
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.service-calculator__marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2px;
}

.service-calculator__layout {
    display: grid;
    grid-template-columns: minmax(0, 740px) minmax(0, 418px);
    gap: var(--space-calculator-gap);
    margin-top: var(--space-calculator-panel);
}

.service-calculator__left,
.service-calculator__right,
.service-calculator__editor,
.service-calculator__row,
.service-calculator__plans,
.service-calculator__product-copy,
.service-calculator__plan-copy {
    min-width: 0;
}

.service-calculator__rows {
    display: grid;
    gap: var(--space-calculator-gap);
}

.service-calculator__row {
    display: grid;
    grid-template-columns: minmax(0, 286px) minmax(0, 1fr);
    gap: var(--space-calculator-gap);
}

.service-calculator__product {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 110px;
    padding-block: 25px;
    padding-inline: var(--space-calculator-panel) 16px;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-card);
}

.service-calculator__product-icon {
    display: block;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
}

.service-calculator__product-icon svg {
    width: 50px;
    height: 50px;
}

.service-calculator__product-copy {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.service-calculator__product-title {
    color: var(--color-ink);
    font-size: var(--font-size-calculator-title);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-calculator__quantity {
    display: flex;
    align-items: center;
    gap: 8px;
}

.service-calculator__quantity-label {
    color: var(--color-services-muted);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.2;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.service-calculator__stepper {
    display: grid;
    grid-template-columns: repeat(3, 20px);
    align-items: center;
    justify-content: center;
    gap: var(--space-calculator-gap);
    width: 87px;
    min-height: 33px;
    padding: 5px 9px;
    background-color: rgb(255 255 255 / 50%);
    border: 1px solid var(--color-calculator-border);
    border-radius: var(--radius-calculator-control);
}

.service-calculator__stepper-button {
    position: relative;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    padding: 0;
    color: var(--color-ink);
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
    background: transparent;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
}

.service-calculator__stepper-button::before {
    position: absolute;
    inset: -12px;
    content: "";
}

.service-calculator__stepper-button:disabled {
    color: var(--color-services-muted);
    cursor: default;
}

.service-calculator__stepper-button:hover,
.service-calculator__stepper-button:focus-visible {
    color: var(--color-services-cta);
}

.service-calculator__stepper-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 1px;
}

.service-calculator__quantity-value {
    color: var(--color-ink);
    font-size: var(--font-size-calculator-small);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
}

.service-calculator__plans {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-calculator-gap);
    margin: 0;
    padding: 0;
    border: 0;
}

.service-calculator__plan {
    display: block;
    min-width: 0;
    cursor: pointer;
}

.service-calculator__plan-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 110px;
    padding: 24px 29px;
    color: var(--color-services-muted);
    border: 1px solid var(--color-calculator-border);
    border-radius: var(--radius-services-card);
    transition:
        color var(--transition),
        border-color var(--transition),
        box-shadow var(--transition);
}

.service-calculator__plan input:checked + .service-calculator__plan-body {
    color: var(--color-services-cta);
    border-color: var(--color-services-cta);
}

.service-calculator__plan input:focus-visible + .service-calculator__plan-body {
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}

.service-calculator__plan:hover .service-calculator__plan-body {
    border-color: var(--color-services-cta);
    box-shadow: 0 6px 20px rgb(0 1 5 / 6%);
}

.service-calculator__plan-copy {
    display: flex;
    flex-direction: column;
    gap: var(--space-calculator-gap);
}

.service-calculator__plan-heading {
    display: flex;
    align-items: center;
    gap: 5px;
}

.service-calculator__plan-label {
    font-size: var(--font-size-calculator-title);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-calculator__info,
.service-calculator__info svg {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.service-calculator__info {
    display: grid;
    place-items: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    padding: 0;
    margin: 0;
    color: var(--color-services-cta);
    background: transparent;
    border: 0;
    border-radius: var(--radius-calculator-control);
    cursor: pointer;
}

.service-calculator__info svg {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.service-calculator__info:hover,
.service-calculator__info:focus-visible {
    color: var(--color-services-cta-hover);
}

.service-calculator__info:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 2px;
}

.service-calculator__info-modal {
    width: min(calc(100% - 32px), 468px);
    max-width: none;
    max-height: calc(100dvh - 32px);
    padding: 0;
    margin: auto;
    overflow: visible;
    color: var(--color-ink);
    border: 0;
    background: transparent;
}

.service-calculator__info-modal::backdrop {
    background-color: var(--color-modal-backdrop);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.service-calculator__info-modal-dialog {
    position: relative;
    max-height: calc(100dvh - 32px);
    padding: 25px 20px 24px;
    overflow: auto;
    background-color: var(--color-surface);
    border-radius: var(--radius-services-panel);
    animation: service-calculator-info-modal-in var(--dur-content-reveal) var(--ease-content-reveal) both;
}

.service-calculator__info-modal-close {
    position: absolute;
    top: 8px;
    right: 8px;
    display: grid;
    place-items: center;
    width: var(--size-touch-target);
    height: var(--size-touch-target);
    padding: 10px;
    color: var(--color-ink);
    background: transparent;
    border: 0;
    border-radius: var(--radius-calculator-control);
    cursor: pointer;
}

.service-calculator__info-modal-close:hover,
.service-calculator__info-modal-close:focus-visible {
    color: var(--color-services-cta);
}

.service-calculator__info-modal-close:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 2px;
}

.service-calculator__info-modal-close svg {
    display: block;
    width: 24px;
    height: 24px;
}

.service-calculator__info-modal-icon {
    display: grid;
    place-items: center;
    width: 49px;
    height: 49px;
    background-color: var(--color-calculator-info-icon-surface);
    border-radius: var(--radius-services-card);
}

.service-calculator__info-modal-icon svg {
    display: block;
    width: 24px;
    height: 24px;
}

.service-calculator__info-modal-heading,
.service-calculator__info-modal-description,
.service-calculator__info-modal-section-heading {
    margin: 0;
}

.service-calculator__info-modal-heading {
    margin-top: 18px;
    font-size: var(--font-size-calculator-title);
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.service-calculator__info-modal-description {
    margin-top: 12px;
    color: var(--color-services-muted);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.3;
    letter-spacing: 0.02em;
}

.service-calculator__info-modal-divider {
    height: 1px;
    margin-block: 24px;
    background-color: var(--color-services-divider);
}

.service-calculator__info-modal-section + .service-calculator__info-modal-section {
    margin-top: 24px;
}

.service-calculator__info-modal-section-heading,
.service-calculator__info-modal-pill {
    padding: 10px 14px;
    color: var(--color-ink);
    font-size: var(--font-size-calculator-title);
    font-weight: 600;
    line-height: 1.2;
    background-color: var(--color-calculator-info-surface);
    border-radius: var(--radius-calculator-control);
}

.service-calculator__info-modal-list {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 14px 0 0;
    list-style: none;
}

.service-calculator__info-modal-item {
    display: grid;
    grid-template-columns: 7px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: var(--color-ink);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.35;
    letter-spacing: 0.02em;
}

.service-calculator__info-modal-bullet {
    width: 7px;
    height: 7px;
    margin-top: 6px;
    background-color: var(--color-services-cta);
    border-radius: 2px;
}

.service-calculator__info-modal-pill {
    display: inline-flex;
    min-width: 90px;
    color: var(--color-services-cta);
    font-size: 24px;
    font-weight: 600;
}

.service-calculator__info-modal--pro .service-calculator__info-modal-heading {
    margin-top: 28px;
}

.service-calculator__info-modal-list--checks {
    gap: 18px;
    margin-top: 28px;
}

.service-calculator__info-modal-list--checks .service-calculator__info-modal-item {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 14px;
    font-size: var(--font-size-calculator-row);
}

.service-calculator__info-modal-check,
.service-calculator__info-modal-check svg {
    display: block;
    width: 24px;
    height: 24px;
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-dialog {
    padding: 25px 20px 24px;
    overflow: auto;
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-close {
    top: 10px;
    right: 10px;
}

.service-calculator__info-modal-pro-header,
.service-calculator__info-modal-pro-copy,
.service-calculator__info-modal-item-copy {
    display: grid;
}

.service-calculator__info-modal-pro-header {
    gap: 20px;
}

.service-calculator__info-modal-pro-copy {
    gap: 10px;
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-pill {
    min-width: 0;
    width: fit-content;
    padding: 10px 20px;
    color: var(--color-services-cta);
    font-size: var(--font-size-calculator-row);
    font-weight: 600;
    letter-spacing: 0.02em;
    border-radius: 60px;
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-heading {
    margin: 0;
    font-size: var(--font-size-calculator-title);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0;
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-description {
    margin: 0;
    color: var(--color-services-muted);
    font-size: var(--font-size-calculator-small);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-calculator__info-modal-pro-content {
    margin-top: 19px;
    padding-top: 20px;
    border-top: 1px solid var(--color-services-divider);
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-list--checks {
    gap: 10px;
    margin: 0;
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-list--checks .service-calculator__info-modal-item {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 18px;
    min-height: 56px;
    font-size: var(--font-size-calculator-copy);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-list--checks .service-calculator__info-modal-item:nth-child(2) {
    min-height: 73px;
}

.service-calculator__info-modal--pro-figma .service-calculator__info-modal-check,
.service-calculator__info-modal--pro-figma .service-calculator__info-modal-check svg {
    width: 20px;
    height: 20px;
}

.service-calculator__info-modal-item-copy {
    gap: 5px;
}

.service-calculator__info-modal-item-title {
    color: var(--color-ink);
}

.service-calculator__info-modal-item-description {
    color: var(--color-services-muted);
}

.service-calculator__info-modal-pro-notice {
    display: flex;
    gap: 10px;
    align-items: center;
    min-height: 69px;
    padding: 10px;
    margin-top: 20px;
    background-color: var(--color-calculator-info-surface);
    border-radius: var(--radius-services-panel);
}

.service-calculator__info-modal-pro-notice-icon {
    display: grid;
    place-items: center;
    flex: 0 0 49px;
    width: 49px;
    height: 49px;
    background-color: var(--color-calculator-info-icon-surface);
    border-radius: var(--radius-services-card);
}

.service-calculator__info-modal-pro-notice-icon svg {
    display: block;
    width: 24px;
    height: 24px;
}

.service-calculator__info-modal-pro-notice p {
    margin: 0;
    color: var(--color-services-cta);
    font-size: var(--font-size-calculator-small);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

body.has-open-calculator-info-modal {
    overflow: hidden;
}

@keyframes service-calculator-info-modal-in {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-calculator__info-modal-dialog {
        animation: none;
    }
}

.service-calculator__plan-price {
    color: var(--color-ink);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-calculator__radio {
    position: relative;
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border: 1px solid var(--color-services-cta);
    border-radius: 50%;
}

.service-calculator__radio::after {
    position: absolute;
    inset: 3px;
    background-color: var(--color-services-cta);
    border-radius: 50%;
    opacity: 0;
    content: "";
    transition: opacity var(--transition);
}

.service-calculator__plan input:checked + .service-calculator__plan-body .service-calculator__radio::after {
    opacity: 1;
}

.service-calculator__other-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 53px;
    margin: var(--space-calculator-gap) auto 0;
    padding: 15px 26px;
    color: var(--color-services-cta);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    border: 1px solid var(--color-services-cta);
    border-radius: var(--radius-services-card);
    transition:
        color var(--transition),
        background-color var(--transition);
}

.service-calculator__other-link:hover,
.service-calculator__other-link:focus-visible {
    color: var(--color-surface);
    background-color: var(--color-services-cta);
}

.service-calculator__other-link:focus-visible,
.service-calculator__checkout:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}

.service-calculator__surcharge {
    min-height: 121px;
    margin-top: 103px;
    padding: var(--space-calculator-panel);
    background-color: var(--color-calculator-panel);
    border-radius: var(--radius-services-panel);
}

.service-calculator__surcharge-heading {
    display: flex;
    align-items: center;
    gap: 18px;
}

.service-calculator__surcharge-icon,
.service-calculator__surcharge-icon svg {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.service-calculator__surcharge-title {
    color: var(--color-ink);
    font-size: var(--font-size-calculator-title);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-calculator__surcharge-description {
    margin-top: 20px;
    padding-inline-start: 42px;
    color: var(--color-services-muted);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-calculator__right {
    display: flex;
    flex-direction: column;
    gap: var(--space-calculator-gap);
}

.service-calculator__summary,
.service-calculator__benefits {
    background-color: var(--color-calculator-panel);
    border-radius: var(--radius-services-panel);
}

.service-calculator__summary {
    display: flex;
    flex-direction: column;
    min-height: 459px;
    padding: var(--space-calculator-panel);
}

.service-calculator__summary-heading {
    color: var(--color-ink);
    font-size: var(--font-size-calculator-title);
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1;
    letter-spacing: 0.01em;
}

.service-calculator__summary-list {
    margin-top: 28px;
}

.service-calculator__summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 59px;
    color: var(--color-ink);
    font-size: var(--font-size-calculator-row);
    line-height: 1.2;
    letter-spacing: 0.02em;
    border-bottom: 1px solid var(--color-services-divider);
}

.service-calculator__summary-row strong {
    flex: 0 0 auto;
    font-weight: 600;
    white-space: nowrap;
}

.service-calculator__total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-top: 37px;
    color: var(--color-ink);
    font-size: var(--font-size-calculator-title);
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1;
    letter-spacing: 0.01em;
}

.service-calculator__total output {
    font-family: var(--font-family-base);
    font-size: var(--font-size-calculator-total);
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.service-calculator__checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 53px;
    margin-top: 25px;
    padding: 16px 26px;
    color: var(--color-surface);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    background-color: var(--color-services-cta);
    border-radius: var(--radius-services-card);
    transition: background-color var(--transition);
}

.service-calculator__checkout:hover,
.service-calculator__checkout:focus-visible {
    color: var(--color-surface);
    background-color: var(--color-services-cta-hover);
}

.service-calculator__checkout-arrow {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}

.service-calculator__count-note {
    margin-top: 20px;
    color: var(--color-services-muted);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
}

.service-calculator__benefits {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-calculator-gap);
    min-height: 168px;
    padding: var(--space-calculator-panel) 68px;
}

.service-calculator__benefit {
    display: flex;
    align-items: center;
    gap: var(--space-calculator-gap);
    color: var(--color-services-muted);
}

.service-calculator__benefit-icon {
    display: grid;
    place-items: center;
    flex: 0 0 49px;
    width: 49px;
    height: 49px;
    background-color: var(--color-calculator-benefit-icon);
    border-radius: var(--radius-services-card);
}

.service-calculator__benefit-icon svg {
    width: 24px;
    height: 24px;
}

.service-calculator__benefit p {
    font-size: var(--font-size-calculator-copy);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

@media (max-width: 1050px) {
    .service-calculator__eyebrow {
        margin-inline-start: 0;
    }

    .service-calculator__layout {
        grid-template-columns: minmax(0, 740px);
        justify-content: center;
    }

    .service-calculator__surcharge {
        margin-top: 40px;
    }

    .service-calculator__right {
        margin-top: var(--space-calculator-gap);
    }

    .service-calculator__summary {
        min-height: 0;
    }

    .service-calculator__benefits {
        min-height: 0;
        padding-inline: var(--space-calculator-panel);
    }
}

@media (max-width: 767px) {
    .service-calculator {
        width: min(100% - 32px, 500px);
        margin-top: 40px;
    }

    .service-calculator__layout {
        margin-top: 20px;
    }

    .service-calculator__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .service-calculator__product {
        min-height: 100px;
        padding-block: 20px;
        padding-inline: 24px;
    }

    .service-calculator__plan-body {
        min-height: 100px;
        padding: 20px 24px;
    }

    .service-calculator__surcharge {
        min-height: 0;
        margin-top: var(--space-calculator-panel);
        padding: 24px;
    }

    .service-calculator__surcharge-description {
        padding-inline-start: 0;
    }

    .service-calculator__summary,
    .service-calculator__benefits {
        padding: 24px;
    }

    .service-calculator__total {
        margin-top: var(--space-calculator-panel);
    }

    .service-calculator__info-modal {
        width: calc(100% - 24px);
        max-height: calc(100dvh - 24px);
    }

    .service-calculator__info-modal-dialog {
        max-height: calc(100dvh - 24px);
        padding: 20px 16px;
    }

    .service-calculator__info-modal-heading {
        font-size: var(--font-size-calculator-row);
    }

    .service-calculator__info-modal-list--checks .service-calculator__info-modal-item {
        font-size: var(--font-size-calculator-copy);
    }
}

@media (max-width: 400px) {
    .service-calculator__product {
        gap: 14px;
        padding: 20px;
    }

    .service-calculator__plans {
        gap: 8px;
    }

    .service-calculator__plan-body {
        position: relative;
        display: block;
        min-height: 96px;
        padding: 16px;
    }

    .service-calculator__radio {
        position: absolute;
        right: 14px;
        bottom: 14px;
    }

    .service-calculator__plan-label {
        font-size: var(--font-size-calculator-row);
    }

    .service-calculator__summary-row {
        align-items: flex-start;
        font-size: var(--font-size-calculator-copy);
    }

    .service-calculator__total {
        font-size: var(--font-size-calculator-row);
    }

    .service-calculator__total output {
        font-size: 21px;
    }
}

.service-related-services {
    width: min(100% - 48px, 1170px);
    margin: 80px auto 0;
    overflow: hidden;
}

.service-related-services__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0 0 0 40px;
    padding: 4px 10px;
    color: var(--color-ink);
    font-size: var(--font-size-calculator-row);
    line-height: 1.2;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.service-related-services__eyebrow > span {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2px;
}

.service-related-services__slider {
    width: 100%;
    margin-top: 30px;
    overflow: hidden;
}

.service-related-services__slide {
    width: 383px;
    min-width: 0;
}

.service-related-services__card {
    position: relative;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 20px;
    align-content: start;
    min-height: 187px;
    padding: 20px 30px 20px 55px;
    color: var(--color-ink);
    text-decoration: none;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-card);
    transition:
        box-shadow var(--transition),
        transform var(--transition);
}

.service-related-services__card:hover,
.service-related-services__card:focus-visible {
    box-shadow: 0 8px 24px rgb(0 1 5 / 10%);
    transform: translateY(-2px);
}

.service-related-services__card:focus-visible {
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}

.service-related-services__icon {
    display: grid;
    grid-row: span 3;
    place-items: center;
    width: 50px;
    height: 50px;
    background-color: var(--related-service-icon-background);
    border-radius: 50%;
}

.service-related-services__icon svg {
    display: block;
    width: 50px;
    height: 50px;
}

.service-related-services__icon svg:not([width="50"]) {
    width: 32px;
    height: 32px;
}

.service-related-services__copy {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.service-related-services__title {
    font-size: var(--font-size-calculator-title);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-related-services__quantity {
    color: var(--color-services-muted);
    font-size: var(--font-size-calculator-copy);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-related-services__quantity strong {
    color: var(--color-ink);
    font-weight: 600;
}

.service-related-services__divider {
    grid-column: 2;
    width: 178px;
    max-width: 100%;
    height: 1px;
    margin-top: 28px;
    background-color: var(--color-services-divider);
}

.service-related-services__prices {
    display: grid;
    grid-column: 2;
    gap: 15px;
    margin-top: 24px;
    font-size: var(--font-size-calculator-copy);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.service-related-services__prices > span {
    display: flex;
    gap: 30px;
    align-items: center;
}

.service-related-services__prices strong {
    min-width: 148px;
    color: var(--color-ink);
    font-weight: 600;
    white-space: nowrap;
}

.service-related-services__prices em {
    color: var(--color-services-muted);
    font-style: normal;
}

.service-related-services__prices > span:last-child em {
    color: var(--color-services-cta);
}

@media (min-width: 992px) {
    .service-related-services__prices > span {
        justify-content: flex-start;
        gap: 30px;
    }

    .service-related-services__prices strong {
        min-width: 0;
    }
}

.service-related-services__arrow {
    grid-column: 2;
    justify-self: end;
    margin-top: 20px;
    width: 48px;
    height: 8px;
}

.service-related-services__arrow svg {
    display: block;
    width: 100%;
    height: 100%;
}

.service-related-services__navigation {
    margin-top: 20px;
}

@media (max-width: 767px) {
    .service-related-services {
        width: min(100% - 32px, 500px);
        margin-top: 48px;
    }

    .service-related-services__eyebrow {
        margin-inline-start: 0;
    }

    .service-related-services__slider {
        margin-top: 20px;
    }

    .service-related-services__slide {
        width: min(383px, calc(100vw - 32px));
    }

    .service-related-services__card {
        padding-inline: 28px 24px;
    }
}

@media (max-width: 400px) {
    .service-related-services__card {
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 14px;
        min-height: 180px;
        padding: 20px;
    }

    .service-related-services__icon,
    .service-related-services__icon svg {
        width: 44px;
        height: 44px;
    }

    .service-related-services__icon svg:not([width="50"]) {
        width: 28px;
        height: 28px;
    }

    .service-related-services__prices strong {
        min-width: 122px;
    }
}

.service-tariff-comparison {
    width: min(100% - 48px, 950px);
    margin: 80px auto 0;
}

.service-tariff-comparison__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    margin: 0;
    padding: 4px 10px;
    color: var(--color-ink);
    font-size: var(--font-size-calculator-row);
    line-height: 1.2;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.service-tariff-comparison__marker,
.service-tariff-comparison__bullet {
    display: block;
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2px;
}

.service-tariff-comparison__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-calculator-gap);
    margin-top: 30px;
    align-items: start;
}

.service-tariff-comparison__card {
    min-width: 0;
    padding: 25px 30px;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-panel);
}

.service-tariff-comparison__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.service-tariff-comparison__title {
    margin: 0;
    color: var(--color-services-cta);
    font-size: var(--font-size-tariff-comparison-title);
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
}

.service-tariff-comparison__toggle {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    padding: 0;
    color: var(--color-ink);
    background-color: var(--color-surface);
    border: 0;
    border-radius: 10px;
    cursor: pointer;
}

.service-tariff-comparison__toggle::before {
    position: absolute;
    inset: -5px;
    content: "";
}

.service-tariff-comparison__toggle svg {
    width: 15px;
    height: 15px;
    transition: transform var(--transition);
}

.service-tariff-comparison__toggle[aria-expanded="false"] svg {
    transform: rotate(180deg);
}

.service-tariff-comparison__toggle:hover,
.service-tariff-comparison__toggle:focus-visible {
    background-color: rgb(255 255 255 / 72%);
    outline: 2px solid var(--color-ink);
    outline-offset: 3px;
}

.service-tariff-comparison__panel {
    overflow: hidden;
    transition: height 240ms ease;
}

.service-tariff-comparison__list {
    display: grid;
    gap: var(--space-tariff-comparison-gap);
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.service-tariff-comparison__item {
    display: grid;
    grid-template-columns: 7px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: var(--color-ink);
    font-size: var(--font-size-calculator-row);
    line-height: 1.6;
}

.service-tariff-comparison__bullet {
    margin-top: 9px;
}

@media (max-width: 767px) {
    .service-tariff-comparison {
        width: min(100% - 32px, 500px);
        margin-top: 48px;
    }

    .service-tariff-comparison__grid {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 20px;
    }

    .service-tariff-comparison__card {
        padding: 24px 20px;
    }

    .service-tariff-comparison__title {
        font-size: 22px;
    }

    .service-tariff-comparison__list {
        margin-top: 24px;
    }
}

/* Promotions page */
.promotions-page-hero {
    width: min(100% - (var(--container-padding) * 2), 820px);
    margin-top: 53px;
}

.promotions-catalog {
    width: min(100% - (var(--container-padding) * 2), var(--container-width));
    margin: 64px auto 0;
}

.promotions-catalog__group + .promotions-catalog__group {
    margin-top: 56px;
}

.promotions-catalog__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 25px;
    padding: 4px 10px;
    margin: 0 0 30px 40px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: var(--color-services-eyebrow);
    border-radius: 5px;
}

.promotions-catalog__marker {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background-color: var(--color-services-cta);
    border-radius: 2.133px;
}

.promotions-catalog__active-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.promotions-catalog__active-grid > .promotions-catalog__card[hidden] {
    display: none;
}

.promotions-catalog__card {
    display: grid;
    grid-template-columns: 185px minmax(0, 1fr);
    min-width: 0;
    min-height: 228px;
    overflow: hidden;
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-panel);
}

.promotions-catalog__image-wrap {
    position: relative;
    height: 228px;
    min-height: 228px;
    overflow: hidden;
}

.promotions-catalog__image {
    display: block;
    width: 100%;
    height: 228px;
    object-fit: cover;
}

.promotions-catalog__date,
.promotions-catalog__expired-label {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 4px 10px;
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    border-radius: 5px;
}

.promotions-catalog__date {
    bottom: 20px;
    left: 50%;
    color: var(--color-surface);
    white-space: nowrap;
    background-color: rgb(0 1 5 / 45%);
    backdrop-filter: blur(8px);
    transform: translateX(-50%);
}

.promotions-catalog__card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    min-width: 0;
    padding: 20px;
}

.promotions-catalog__card-title,
.promotions-catalog__description {
    margin: 0;
}

.promotions-catalog__card-title {
    color: var(--color-ink);
    font-size: 24px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0.02em;
}

@media (min-width: 768px) and (max-width: 1217px) {
    .promotions-catalog__card {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto 1fr;
    }

    .promotions-catalog__image-wrap {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .promotions-catalog__image {
        height: 100%;
    }

    .promotions-catalog__card-content {
        justify-content: flex-start;
    }

    .promotions-catalog__link {
        margin-block-start: auto;
    }
}

.promotions-catalog__description {
    color: var(--color-services-muted);
    font-size: 12px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.promotions-catalog__link,
.promotions-telegram-cta__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 53px;
    padding: 16px 26px;
    color: var(--color-surface);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    background-color: var(--color-services-cta);
    border-radius: var(--radius-services-card);
    transition:
        background-color var(--transition),
        transform var(--transition);
}

.promotions-catalog__link {
    width: min(100%, 314px);
}

.promotions-catalog__link:hover,
.promotions-catalog__link:focus-visible,
.promotions-telegram-cta__link:hover,
.promotions-telegram-cta__link:focus-visible {
    color: var(--color-surface);
    background-color: var(--color-services-cta-hover);
    transform: translateY(-2px);
}

.promotions-catalog__link:focus-visible,
.promotions-catalog__show-more:focus-visible,
.promotions-telegram-cta__link:focus-visible {
    outline: 3px solid var(--color-ink);
    outline-offset: 4px;
}

.promotions-catalog__link-icon,
.promotions-telegram-cta__icon {
    display: grid;
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    place-items: center;
}

.promotions-catalog__link-icon svg,
.promotions-telegram-cta__icon svg {
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}

.promotions-catalog__show-more {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 53px;
    padding: 16px 26px;
    margin: 20px auto 0;
    color: var(--color-services-cta);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    background: transparent;
    border: 1px solid var(--color-services-cta);
    border-radius: var(--radius-services-card);
    cursor: pointer;
    transition:
        color var(--transition),
        background-color var(--transition);
}

.promotions-catalog__show-more[hidden] {
    display: none;
}

.promotions-catalog__show-more:hover {
    color: var(--color-surface);
    background-color: var(--color-services-cta);
}

.promotions-catalog__expired-slider {
    overflow: hidden;
}

.promotions-catalog__expired-slider .swiper-wrapper {
    display: flex;
}

.promotions-catalog__expired-slider .swiper-slide {
    flex: 0 0 calc((100% - 10px) / 2);
    width: calc((100% - 10px) / 2);
}

.promotions-catalog__card--expired .promotions-catalog__image-wrap::after {
    position: absolute;
    inset: 0;
    content: "";
    background-color: rgb(0 1 5 / 42%);
}

.promotions-catalog__expired-label {
    z-index: 1;
    top: 50%;
    left: 50%;
    color: var(--color-surface);
    white-space: nowrap;
    background-color: var(--color-services-promo);
    transform: translate(-50%, -50%);
}

.promotions-catalog__card--expired .promotions-catalog__card-content {
    opacity: 0.5;
}

.promotions-catalog__navigation {
    margin-top: 20px;
}

.promotions-telegram-cta {
    display: grid;
    min-height: 249px;
    padding: 40px;
    margin: 56px auto 0;
    place-items: center;
    width: min(100% - (var(--container-padding) * 2), var(--container-width));
    background-color: var(--color-services-card);
    border-radius: var(--radius-services-panel);
}

.promotions-telegram-cta__panel {
    display: grid;
    justify-items: center;
    gap: 30px;
    width: min(100%, 652px);
    padding: 30px;
    background-color: var(--color-surface);
    border-radius: var(--radius-services-panel);
}

.promotions-telegram-cta__heading {
    margin: 0;
    color: var(--color-ink);
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-wide);
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-align: center;
}

/* Single promotion page */
.promo-detail {
    margin-top: 36px;
}

.promo-detail__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    color: var(--color-ink);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-decoration: none;
}

.promo-detail__back-icon {
    display: grid;
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    place-items: center;
}

.promo-detail__back-icon svg {
    width: 15px;
    height: 15px;
    transform: rotate(-90deg);
}

.promo-detail__back:hover,
.promo-detail__back:focus-visible {
    color: var(--color-services-cta-hover);
}

.promo-detail__back:focus-visible,
.promo-detail__order:focus-visible {
    outline: 3px solid var(--color-ink);
    outline-offset: 4px;
}

.promo-detail__content {
    display: grid;
    grid-template-columns: minmax(0, 561px) minmax(0, 511px);
    gap: 98px;
    align-items: start;
    margin-top: 30px;
}

.promo-detail__content--without-image {
    grid-template-columns: minmax(0, 511px);
    justify-content: end;
}

.promo-detail__image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 561 / 413;
    border-radius: 30px;
}

.promo-detail__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.promo-detail__date {
    position: absolute;
    top: 30px;
    left: 30px;
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 10px;
    color: var(--color-surface);
    font-size: 16px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1;
    letter-spacing: 0.02em;
    background-color: rgb(244 244 244 / 20%);
    border-radius: 5px;
    backdrop-filter: blur(10px);
}

.promo-detail__body,
.promo-detail__heading-group,
.promo-detail__details,
.promo-detail__detail-copy {
    display: flex;
    flex-direction: column;
}

.promo-detail__body {
    min-width: 0;
}

.promo-detail__heading-group {
    gap: 20px;
}

.promo-detail__title,
.promo-detail__description,
.promo-detail__detail-title,
.promo-detail__detail-text {
    margin: 0;
}

.promo-detail__title {
    color: var(--color-ink);
    font-size: 24px;
    font-weight: 800;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0.01em;
}

.promo-detail__description,
.promo-detail__detail-text {
    color: var(--color-promo-detail-muted);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.promo-detail__divider {
    height: 1px;
    margin-block: 30px;
    background-color: var(--color-services-divider);
}

.promo-detail__details {
    gap: 15px;
}

.promo-detail__detail {
    display: grid;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 30px;
    align-items: center;
}

.promo-detail__detail-icon {
    display: grid;
    width: 49px;
    height: 49px;
    color: var(--color-services-cta);
    background-color: var(--color-calculator-benefit-icon);
    border-radius: 15px;
    place-items: center;
}

.promo-detail__detail-icon--discount,
.promo-detail__detail-icon--period {
    background-color: rgb(110 185 187 / 20%);
}

.promo-detail__detail-icon svg {
    width: 24px;
    height: 24px;
}

.promo-detail__detail-copy {
    gap: 10px;
}

.promo-detail__detail-title {
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.1;
    letter-spacing: 0.02em;
}

.promo-detail__order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 53px;
    padding: 16px 26px;
    margin-top: 30px;
    color: var(--color-surface);
    font-size: 14px;
    font-weight: 600;
    font-stretch: var(--font-stretch-normal);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-decoration: none;
    background-color: var(--color-services-cta);
    border-radius: var(--radius-services-card);
    transition:
        background-color var(--transition),
        transform var(--transition);
}

.promo-detail__order:hover,
.promo-detail__order:focus-visible {
    color: var(--color-surface);
    background-color: var(--color-services-cta-hover);
    transform: translateY(-2px);
}

@media (max-width: 1217px) {
    .promo-detail__content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px;
    }
}

.promotions-telegram-cta__link {
    width: 100%;
}

@media (max-width: 767px) {
    .promotions-page-hero {
        width: min(100% - 32px, 820px);
        margin-top: 40px;
    }

    .promotions-page-hero__heading {
        font-size: clamp(24px, 7.5vw, 30px);
    }

    .promotions-catalog {
        width: min(100% - 32px, var(--container-width));
        margin-top: 40px;
    }

    .promotions-catalog__group + .promotions-catalog__group {
        margin-top: 40px;
    }

    .promotions-catalog__eyebrow {
        margin-inline-start: 0;
        margin-bottom: 20px;
    }

    .promotions-catalog__active-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .promotions-catalog__card {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: 200px auto;
        min-height: 0;
    }

    .promotions-catalog__image-wrap {
        height: 200px;
        min-height: 200px;
    }

    .promotions-catalog__image {
        height: 200px;
    }

    .promotions-catalog__card-content {
        gap: 12px;
        padding: 16px;
    }

    .promotions-catalog__card-title {
        font-size: 20px;
    }

    .promotions-catalog__link {
        width: 100%;
        padding-inline: 16px;
    }

    .promotions-catalog__date,
    .promotions-catalog__expired-label {
        font-size: 14px;
    }

    .promotions-catalog__expired-slider .swiper-slide {
        flex-basis: 100%;
        width: 100%;
    }

    .promotions-telegram-cta {
        min-height: 0;
        padding: 16px;
        margin-top: 40px;
        width: min(100% - 32px, var(--container-width));
    }

    .promotions-telegram-cta__panel {
        gap: 24px;
        padding: 30px 16px;
    }

    .promotions-telegram-cta__heading {
        font-size: 22px;
    }

    .promo-detail {
        margin-top: 20px;
    }

    .promo-detail__content,
    .promo-detail__content--without-image {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        margin-top: 24px;
    }

    .promo-detail__content--without-image {
        justify-content: stretch;
    }

    .promo-detail__image-wrap {
        border-radius: var(--radius-services-panel);
    }

    .promo-detail__date {
        top: 16px;
        left: 16px;
        font-size: 14px;
    }

    .promo-detail__heading-group {
        gap: 16px;
    }

    .promo-detail__title {
        font-size: 22px;
    }

    .promo-detail__divider {
        margin-block: 24px;
    }

    .promo-detail__detail {
        gap: 16px;
        align-items: start;
    }

    .promo-detail__order {
        align-self: stretch;
        margin-top: 24px;
    }
}

@media (max-width: 1024px) {
    .faq-page {
        padding-block: 32px 0;
    }

    .faq-page__heading {
        margin-bottom: 40px;
    }

    .faq-page__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .faq-page__sidebar {
        display: none;
    }

    .faq-page__navigation {
        padding: 20px;
        border-radius: 20px;
    }

    .faq-page__navigation-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .faq-page__navigation-link {
        gap: 10px;
        min-height: 50px;
    }

    .faq-page__navigation-number {
        flex-basis: 34px;
        font-size: 22px;
    }
}

@media (max-width: 640px) {
    .faq-page {
        padding-block: 24px 0;
    }

    .faq-page__sidebar {
        display: none;
    }

    .faq-page__heading {
        margin-bottom: 28px;
        line-height: 1.2;
    }

    .faq-page__navigation {
        padding: 12px;
        overflow-x: auto;
        border-radius: 15px;
    }

    .faq-page__navigation-list {
        display: flex;
        width: auto;
    }

    .faq-page__navigation-item {
        flex: 0 0 auto;
    }

    .faq-page__navigation-link {
        gap: 8px;
        min-height: 44px;
        padding: 8px;
        white-space: nowrap;
    }

    .faq-page__navigation-number {
        flex-basis: 30px;
        font-size: 20px;
    }

    .faq-page__categories {
        gap: 8px;
    }

    .faq-page__category {
        border-radius: 15px;
    }

    .faq-page__category-header {
        grid-template-columns: 50px minmax(0, 1fr) 35px;
        gap: 14px;
        min-height: 82px;
        padding: 16px;
    }

    .faq-page__category-icon {
        width: 50px;
        height: 50px;
        border-radius: 15px;
    }

    .faq-page__category-title {
        font-size: 18px;
    }

    .faq-page__category-content {
        padding-inline: 16px;
    }

    .faq-page__question {
        gap: 10px;
        min-height: 56px;
        padding-block: 16px;
        font-size: 13px;
    }

    .faq-page__answer-inner {
        padding-block: 12px 18px;
        font-size: 13px;
    }
}

/* Keep mobile H1 typography consistent and center section labels across page templates. */
@media (max-width: 767px) {
    html body[class] h1,
    html body[class] h1[class] {
        font-size: var(--font-size-mobile-h1);
    }

    .about-production__eyebrow,
    .acceptance-points__eyebrow,
    .advantages__eyebrow,
    .business-audience__eyebrow,
    .business-benefits__eyebrow,
    .business-cooperation-process__eyebrow,
    .delivery-nova-poshta-guide__eyebrow,
    .delivery-order-section__eyebrow,
    .faq-section__eyebrow,
    .locations-map__eyebrow,
    .promotions-catalog__eyebrow,
    .reviews-carousel__eyebrow,
    .service-calculator__eyebrow,
    .service-related-services__eyebrow,
    .service-tariff-comparison__eyebrow,
    .services-carousel__eyebrow,
    .services-page-categories__eyebrow,
    .services-page-price-accordion__eyebrow,
    .services-page-price-factors__eyebrow,
    .services-page-process__eyebrow,
    .services-page-submission-options__eyebrow,
    .trusted-brands__eyebrow,
    .useful-articles__eyebrow,
    .works-comparison__eyebrow,
    .how-to-submit__heading {
        display: flex;
        align-self: center;
        justify-self: center;
        width: fit-content;
        max-width: 100%;
        margin-inline: auto;
    }

    .reviews-carousel__header {
        margin-inline: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .delivery-options__link {
        transition: none;
    }

    .callback-form-section__panel.is-success .callback-form-section__success {
        animation: none;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
