@media (min-width: 768px) and (max-width: 1366px) {
    .site-footer {
        padding: 26px 0 14px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .site-footer .wrap {
        width: min(100% - 36px, 1180px) !important;
        max-width: 1180px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    .site-footer .footer-main {
        display: grid !important;
        grid-template-columns: minmax(180px, 1.3fr) minmax(110px, .75fr) minmax(145px, .95fr) minmax(185px, 1.15fr) !important;
        gap: 18px 24px !important;
        align-items: start !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .site-footer .footer-brand,
    .site-footer .footer-nav,
    .site-footer .footer-services,
    .site-footer .footer-contact {
        grid-area: auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .site-footer .footer-brand {
        display: block !important;
    }

    .site-footer .footer-logo {
        margin: 0 0 10px !important;
        gap: 9px !important;
        white-space: nowrap !important;
    }

    .site-footer .footer-brand-mark {
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px !important;
    }

    .site-footer .footer-logo-image {
        width: 32px !important;
        height: 32px !important;
    }

    .site-footer .footer-logo-word {
        font-size: 15px !important;
        line-height: 1.15 !important;
    }

    .site-footer .footer-description {
        max-width: 260px !important;
        margin: 0 !important;
        font-size: 11.5px !important;
        line-height: 1.45 !important;
    }

    .site-footer .footer-socials {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        margin-top: 12px !important;
        width: 100% !important;
    }

    .site-footer .footer-socials a {
        width: 28px !important;
        height: 28px !important;
        flex: 0 0 28px !important;
        font-size: 10px !important;
    }

    .site-footer .footer-socials svg {
        width: 12px !important;
        height: 12px !important;
    }

    .site-footer .footer-column {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 5px !important;
    }

    .site-footer .footer-column h4 {
        margin: 1px 0 5px !important;
        font-size: 9.5px !important;
        line-height: 1.2 !important;
        letter-spacing: .18em !important;
    }

    .site-footer .footer-column a,
    .site-footer .footer-column > span {
        font-size: 11.5px !important;
        line-height: 1.25 !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .site-footer .footer-contact-line {
        gap: 5px !important;
    }

    .site-footer .footer-contact-icon {
        min-width: 14px !important;
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    .site-footer .footer-contact-card {
        display: none !important;
    }

    .site-footer .footer-bottom {
        width: min(100% - 36px, 1180px) !important;
        max-width: 1180px !important;
        margin: 16px auto 0 !important;
        padding-top: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px 14px !important;
        flex-wrap: wrap !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .site-footer .footer-tagline {
        font-size: 9.5px !important;
        line-height: 1.25 !important;
        letter-spacing: .15em !important;
    }

    .site-footer .footer-bottom-right {
        font-size: 10px !important;
        line-height: 1.25 !important;
        gap: 6px 12px !important;
    }
}

@media (min-width: 768px) and (max-width: 920px) {
    .site-footer .footer-main {
        grid-template-columns: minmax(165px, 1.2fr) minmax(95px, .68fr) minmax(125px, .88fr) minmax(165px, 1.05fr) !important;
        gap: 16px 16px !important;
    }

    .site-footer .footer-description {
        max-width: 230px !important;
        font-size: 10.75px !important;
    }

    .site-footer .footer-logo-word {
        font-size: 14px !important;
    }

    .site-footer .footer-socials a {
        width: 26px !important;
        height: 26px !important;
        flex-basis: 26px !important;
    }

    .site-footer .footer-column h4 {
        font-size: 9px !important;
    }

    .site-footer .footer-column a,
    .site-footer .footer-column > span {
        font-size: 10.75px !important;
    }
}

@media (min-width: 601px) and (max-width: 767px) {
    .site-footer {
        padding: 28px 0 16px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .site-footer .wrap {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        padding-inline: 0 !important;
    }

    .site-footer .footer-main {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px 24px !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    .site-footer .footer-brand,
    .site-footer .footer-contact {
        grid-column: 1 / -1 !important;
    }

    .site-footer .footer-brand {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px 14px !important;
        max-width: none !important;
    }

    .site-footer .footer-logo {
        margin: 0 !important;
    }

    .site-footer .footer-description {
        margin: 0 !important;
        max-width: none !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }

    .site-footer .footer-socials {
        margin: 0 !important;
        gap: 5px !important;
        flex-wrap: nowrap !important;
    }

    .site-footer .footer-socials a {
        width: 27px !important;
        height: 27px !important;
        flex: 0 0 27px !important;
        font-size: 10px !important;
    }

    .site-footer .footer-socials svg {
        width: 12px !important;
        height: 12px !important;
    }

    .site-footer .footer-column {
        gap: 5px !important;
    }

    .site-footer .footer-column h4 {
        margin-bottom: 4px !important;
        font-size: 9px !important;
    }

    .site-footer .footer-column a,
    .site-footer .footer-column > span {
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    .site-footer .footer-contact {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 6px 14px !important;
    }

    .site-footer .footer-contact h4 {
        margin: 0 !important;
    }

    .site-footer .footer-contact-card {
        display: none !important;
    }

    .site-footer .footer-bottom {
        width: calc(100% - 32px) !important;
        margin: 14px auto 0 !important;
        padding-top: 9px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 600px) {
    .site-footer {
        padding: 38px 0 calc(22px + env(safe-area-inset-bottom)) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .site-footer .wrap {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    .site-footer .footer-main {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 26px !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    .site-footer .footer-brand,
    .site-footer .footer-column,
    .site-footer .footer-contact {
        width: 100% !important;
        max-width: 100% !important;
        align-items: center !important;
        text-align: center !important;
    }

    .site-footer .footer-logo {
        justify-content: center !important;
        margin-inline: auto !important;
        margin-bottom: 16px !important;
    }

    .site-footer .footer-description {
        margin-inline: auto !important;
        text-align: center !important;
    }

    .site-footer .footer-socials {
        width: 100% !important;
        justify-content: center !important;
        margin-top: 18px !important;
    }

    .site-footer .footer-contact-line {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .site-footer .footer-contact-card {
        max-width: 420px !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    .site-footer .footer-bottom {
        width: calc(100% - 32px) !important;
        margin: 30px auto 0 !important;
        padding-top: 18px !important;
        align-items: center !important;
        text-align: center !important;
        flex-direction: column !important;
    }

    .site-footer .footer-tagline,
    .site-footer .footer-bottom-right {
        width: 100% !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }

    .site-footer,
    .site-footer h2,
    .site-footer h3,
    .site-footer h4,
    .site-footer p,
    .site-footer li,
    .site-footer a {
        text-align: center !important;
    }
}

@media (max-width: 360px) {
    .site-footer .footer-contact-card {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    .site-footer .footer-contact-card-arrow {
        display: none !important;
    }
}
