footer {
        position: relative;
        background-color: #131314;
        padding-top: 74px;
        padding-bottom: calc(var(--spacing) * 20);
        color: #989899;
    }

    @media (width >= 64rem) {
        footer {
            padding-top: 90px;
        }
    }

    footer .simulation--mobile-bottom-edge {
        position: absolute;
        top: calc(var(--spacing) * -12);
        right: calc(var(--spacing) * 0);
        left: calc(var(--spacing) * 0);
    }

    footer .simulation--mobile-bottom-edge:first-child {
        z-index: 1;
        height: calc(var(--spacing) * 10);
        --tw-translate-y: calc(var(--spacing) * 6);
        translate: var(--tw-translate-x) var(--tw-translate-y);
        border-bottom-right-radius: 24px;
        border-bottom-left-radius: 24px;
        background-color: #F1F1F1;
    }

    footer .simulation--mobile-bottom-edge:last-child {
        z-index: 0;
        height: calc(var(--spacing) * 20);
        background-color: #131314;
    }

    footer .layer-up {
        margin-inline: auto;
        max-width: 1920px;
        padding-inline: calc(var(--spacing) * 3); }

    @media (width >= 40rem) {
        footer .layer-up {
            padding-inline: calc(var(--spacing) * 9);
        }
    }



    footer .layer-up .container-footer {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        border-color: #35463F;
        padding-bottom: calc(var(--spacing) * 12);
    }

    @media (width >= 40rem) {
        footer .layer-up .container-footer {
            padding-inline: calc(var(--spacing) * 2);
        }
    }

    @media (width >= 40rem) {
        footer .layer-up .container-footer {
            padding-bottom: 49px;
        }
    }

    @media (width >= 64rem) {
        footer .layer-up .container-footer {
            display: flex;
        }
    }

    @media (width >= 64rem) {
        footer .layer-up .container-footer {
            align-items: flex-start;
        }
    }

    @media (width >= 64rem) {
        footer .layer-up .container-footer {
            justify-content: space-between;
        }
    }

    @media (width >= 64rem) {
        footer .layer-up .container-footer {
            gap: calc(var(--spacing) * 10);
        }
    }

    @media (width >= 64rem) {
        footer .layer-up .container-footer {
            padding-bottom: 25px;
        }
    }

    footer .logo {
        height: 71px;
        max-width: 189px;
    }

    footer .new-promotion-newsletter-container {
        margin-top: calc(var(--spacing) * 6);
    }

    :where(footer .new-promotion-newsletter-container > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(var(--spacing) * 4 * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * 4 * (1 - var(--tw-space-y-reverse)));
    }

    @media (width >= 40rem) {
        footer .new-promotion-newsletter-container {
            margin-top: calc(var(--spacing) * 8);
        }
    }

    :where(.new-promotion-newsletter-container > div:first-child > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(var(--spacing) * 2 * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * 2 * (1 - var(--tw-space-y-reverse)));
    }

    footer .new-promotion-newsletter-container h2 {
        font-family: var(--font-bounded);
        font-size: var(--text-26);
        line-height: var(--tw-leading, var(--text-26--line-height));
        color: var(--color-white);
    }

    @media (width >= 64rem) {
        footer .new-promotion-newsletter-container h2 {
            font-size: var(--text-xl);
            line-height: var(--tw-leading, var(--text-xl--line-height));
        }
    }

    footer .new-promotion-newsletter-container p {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height));
    }

    @media (width >= 40rem) {
        footer .new-promotion-newsletter-container p {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
        }
    }

    @media (width >= 64rem) {
        footer .new-promotion-newsletter-container p {
            font-size: var(--text-base);
            line-height: var(--tw-leading, var(--text-base--line-height));
        }
    }

    footer .sending-phone-number-container {
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: calc(var(--spacing) * 2);
    }

    @media (width >= 40rem) {
        footer .sending-phone-number-container {
            gap: calc(var(--spacing) * 3);
        }
    }

    @media (width >= 64rem) {
        footer .sending-phone-number-container {
            grid-template-columns: 300px 1fr;
        }
    }

    footer .sending-phone-number-container > .input-container {
        position: relative;
    }

    @media (width >= 64rem) {
        footer .sending-phone-number-container > .input-container {
            max-width: 367px;
        }
    }

    footer .sending-phone-number-container input {
        box-sizing: border-box;
        width: 100%;
        border-radius: 12px;
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: #454F4D;
        background-color: #1F2322;
        padding-inline: calc(var(--spacing) * 4); padding-block: calc(var(--spacing) * 2.5);
        font-family: var(--font-inter);
        color: #FCFCFD;
    }

    footer .sending-phone-number-container input:focus {
        border-color: #FCFCFD;
    }

    footer .sending-phone-number-container input:focus {
        --tw-outline-style: none;
        outline-style: none;
    }

    @media (width >= 64rem) {
        footer .sending-phone-number-container input {
            padding-block: 17.5px;
        }
    }

    @media (width >= 64rem) {
        footer .sending-phone-number-container input {
            font-size: 16px;
        }
    }

    footer .sending-phone-number-container label {
        position: absolute;
        top: 50%;
        left: calc(var(--spacing) * 3);
        --tw-translate-y: calc(calc(1/2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
        font-family: var(--font-inter);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        color: #FCFCFD;
        transition-property: all;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration));
        --tw-duration: 300ms;
        transition-duration: 300ms;
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out);
    }

    footer .sending-phone-number-container label:is(:where(.peer):focus ~ *) {
        --tw-translate-y: calc(var(--spacing) * -6);
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    footer .sending-phone-number-container label:is(:where(.peer):focus ~ *) {
        background-color: #1F2322;
    }

    footer .sending-phone-number-container label:is(:where(.peer):focus ~ *) {
        padding-inline: calc(var(--spacing) * 0);
    }

    footer .sending-phone-number-container label:is(:where(.peer):focus ~ *) {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
    }

    footer .sending-phone-number-container label:is(:where(.peer):focus ~ *) {
        color: #FCFCFD;
    }

    footer .sending-phone-number-container label:is(:where(.peer):not(:placeholder-shown) ~ *) {
        --tw-translate-y: calc(var(--spacing) * -6);
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    footer .sending-phone-number-container label:is(:where(.peer):not(:placeholder-shown) ~ *) {
        background-color: #1F2322;
    }

    footer .sending-phone-number-container label:is(:where(.peer):not(:placeholder-shown) ~ *) {
        padding-inline: calc(var(--spacing) * 0);
    }

    footer .sending-phone-number-container label:is(:where(.peer):not(:placeholder-shown) ~ *) {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
    }

    footer .sending-phone-number-container label:is(:where(.peer):not(:placeholder-shown) ~ *) {
        color: #FCFCFD;
    }

    footer .method-communication-list-container {
        margin: calc(var(--spacing) * 0);
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            margin-top: 64px;
        }
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            margin-bottom: 50px;
        }
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            display: flex;
        }
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            align-items: center;
        }
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            justify-content: space-between;
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container {
            flex-direction: column;
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container {
            align-items: flex-start;
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container {
            justify-content: flex-start;
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container {
            gap: calc(var(--spacing) * 15);
        }
    }

    footer .method-communication-list-container .phone-number-container {
        margin-block: calc(var(--spacing) * 12);
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 4);
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container .phone-number-container {
            margin: calc(var(--spacing) * 0);
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container .phone-number-container {
            gap: calc(var(--spacing) * 8);
        }
    }

    footer .method-communication-list-container span {
        font-family: var(--font-bounded);
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
        color: var(--color-white);
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container span {
            font-size: var(--text-43);
            line-height: var(--tw-leading, var(--text-43--line-height));
        }
    }

    footer .map-site-container {
        margin-top: calc(var(--spacing) * 10);
        display: grid;
        gap: calc(var(--spacing) * 8);
    }

    @media (width < 64rem) {
        footer .map-site-container {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (width < 40rem) {
        footer .map-site-container {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }
    }

    @media (width >= 40rem) {
        footer .map-site-container {
            gap: calc(var(--spacing) * 6);
        }
    }

    @media (width >= 64rem) {
        footer .map-site-container {
            margin: calc(var(--spacing) * 0);
        }
    }

    @media (width >= 64rem) {
        footer .map-site-container {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    @media (width >= 64rem) {
        footer .map-site-container {
            align-items: flex-start;
        }
    }

    @media (width >= 64rem) {
        footer .map-site-container {
            gap: calc(var(--spacing) * 10);
        }
    }

    :where(footer .map-site-container .map-site > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(var(--spacing) * 4 * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * 4 * (1 - var(--tw-space-y-reverse)));
    }

    @media (width >= 40rem) {
        :where(footer .map-site-container .map-site > :not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start: calc(var(--spacing) * 6 * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * 6 * (1 - var(--tw-space-y-reverse)));
        }
    }

    @media (width >= 64rem) {
        footer .map-site-container .map-site:first-child {
            grid-row: span 2/span 2;
        }
    }

    @media (width >= 64rem) {
        footer .map-site-container .map-site:nth-child(3) {
            order: 4;
        }
    }

    @media (width >= 64rem) {
        footer .map-site-container .map-site:last-child {
            order: 3;
        }
    }

    @media (width >= 64rem) {
        footer .map-site-container .map-site:last-child {
            grid-row: span 2/span 2;
        }
    }

    footer .map-site-container h3 {
        font-family: var(--font-bounded);
        font-size: 24px;
        --tw-leading: 32px;
        line-height: 32px;
        color: var(--color-white);
    }

    :where(footer .map-site-container ul > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(var(--spacing) * 2 * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * 2 * (1 - var(--tw-space-y-reverse)));
    }

    footer .map-site-container ul {
        font-family: var(--font-inter);
        font-size: 16px;
        --tw-leading: 24px;
        line-height: 24px;
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
    }

    @media (width >= 40rem) {
        :where(footer .map-site-container ul > :not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start: calc(var(--spacing) * 3 * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * 3 * (1 - var(--tw-space-y-reverse)));
        }
    }

    footer .map-site-container ul li:has(.badge-xs) {
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 4);
    }

    footer .map-site-container ul li:has([class*=circle-]) {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    footer .map-site-container .map-site:nth-child(4) ul li {
        display: flex;
        max-width: 239px;
        justify-content: space-between;
    }

    footer .layer-down {
        margin-inline: auto;
        max-width: 1920px;
        padding-inline: calc(var(--spacing) * 4); padding-top: calc(var(--spacing) * 6);
    }

    @media (width >= 40rem) {
        footer .layer-down {
            padding-inline: calc(var(--spacing) * 12);
        }
    }

    @media (width >= 64rem) {
        footer .layer-down {
            display: flex;
        }
    }

    @media (width >= 64rem) {
        footer .layer-down {
            width: 100%;
        }
    }

    @media (width >= 64rem) {
        footer .layer-down {
            align-items: flex-end;
        }
    }

    @media (width >= 64rem) {
        footer .layer-down {
            justify-content: space-between;
        }
    }

    @media (width >= 64rem) {
        footer .layer-down {
            gap: calc(var(--spacing) * 20);
        }
    }

    @media (width >= 64rem) {
        footer .layer-down {
            padding-inline: calc(var(--spacing) * 25);
        }
    }

    @media (width >= 64rem) {
        footer .layer-down {
            padding-top: 30px;
        }
    }

    footer .layer-down p {
        text-align: justify;
        font-family: var(--font-inter);
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height));
        text-wrap: wrap;
    }

    footer .layer-down ul {
        margin-top: calc(var(--spacing) * 6);
    }

    :where(footer .layer-down ul > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(var(--spacing) * 1 * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * 1 * (1 - var(--tw-space-y-reverse)));
    }

    footer .layer-down ul {
        font-family: var(--font-inter);
        --tw-leading: 24px;
        line-height: 24px;
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
    }

    @media (width >= 40rem) {
        :where(footer .layer-down ul > :not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start: calc(6px * var(--tw-space-y-reverse)); margin-block-end: calc(6px * (1 - var(--tw-space-y-reverse)));
        }
    }

    @media (width >= 64rem) {
        :where(footer .layer-down ul > :not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start: calc(var(--spacing) * 2 * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * 2 * (1 - var(--tw-space-y-reverse)));
        }
    }

     footer .method-communication-list-container {
        margin: calc(var(--spacing) * 0);
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            margin-top: 64px;
        }
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            margin-bottom: 50px;
        }
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            display: flex;
        }
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            align-items: center;
        }
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container {
            justify-content: space-between;
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container {
            flex-direction: column;
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container {
            align-items: flex-start;
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container {
            justify-content: flex-start;
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container {
            gap: calc(var(--spacing) * 15);
        }
    }

    footer .method-communication-list-container .phone-number-container {
        margin-block: calc(var(--spacing) * 12);
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 4);
    }

    @media (width >= 40rem) {
        footer .method-communication-list-container .phone-number-container {
            margin: calc(var(--spacing) * 0);
        }
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container .phone-number-container {
            gap: calc(var(--spacing) * 8);
        }
    }

    footer .method-communication-list-container span {
        font-family: var(--font-bounded);
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
        color: var(--color-white);
    }

    @media (width >= 64rem) {
        footer .method-communication-list-container span {
            font-size: var(--text-43);
            line-height: var(--tw-leading, var(--text-43--line-height));
        }
    }

    .communication-list {
    list-style: none;
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 4);
}

[class*=rectangle-][data-circle-color=dark], [class*=circle-][data-circle-color=dark] {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-main-black-100);
}

.communication-list a, .communication-list a span {
    display: flex;
    justify-content: center;
    align-items: center;
}

.circle-48 {
    width: var(--circle-size-48);
    height: var(--circle-size-48);
    flex-shrink: 0;
    border-radius: calc(infinity * 1px);
}

.phone-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    width: var(--circle-size-75);
    height: var(--circle-size-75);
    flex-shrink: 0;
    border-radius: calc(infinity * 1px);
}

[class*="rectangle-"][data-circle-color="red"], [class*="circle-"][data-circle-color="red"] {
    background-color: var(--color-error);
}

.circle-red {
    width: var(--circle-size-8);
    height: var(--circle-size-8);
    flex-shrink: 0;
    border-radius: calc(infinity * 1px);
}

.business-badge {
    animation: pulse-shadow 1.2s linear infinite;
    background: #fcfcfd;
    border-radius: 4.5rem;
    box-shadow: 0 .25rem .875rem 0 hsla(0, 0%, 100%, .24);
    color: #35463f;
    font-size: .75rem;
    letter-spacing: -.01em;
    padding: .25rem .5rem;
}

@keyframes pulse-shadow {
    0% {
    box-shadow: 0 .25rem .875rem 0 hsla(0, 0%, 100%, .24);
}
50% {
    box-shadow: 0 .25rem .875rem 0 hsla(0, 0%, 100%, .48);
}
100% {
    box-shadow: 0 .25rem .875rem 0 hsla(0, 0%, 100%, .24);
}
}