/* Shared footer contract for every current public frontend page. */
.footer__area.as-site-footer {
    /* The footer used to carry a third and fourth navy (#101c4f, #0b153f)
       that no other surface on the site used. It now sits on the page navy,
       with the bottom bar a step deeper — the relationship the approved
       board shows. */
    --as-footer-width: var(--as-content-width);
    --as-footer-navy: var(--as-navy);
    --as-footer-deep: var(--as-navy-deep);
    --as-footer-text: var(--as-on-dark);
    --as-footer-muted: var(--as-on-dark-muted);
    --as-footer-line: var(--as-line-on-dark);
    margin-top: 0 !important;
    background: var(--as-footer-navy);
    color: var(--as-footer-text);
    font-family: var(--tg-body-font-family, "Inter", sans-serif);
}

.as-site-footer .footer__top .container,
.as-site-footer .footer__bottom .container {
    width: min(var(--as-footer-width), calc(100% - 64px));
    max-width: var(--as-footer-width);
    padding-inline: 0;
}

.as-site-footer .footer__top {
    padding: 32px 0 18px !important;
}

.as-site-footer .footer__top > .container > .row {
    row-gap: 28px;
}

.as-site-footer .footer__widget,
.as-site-footer .footer__content p,
.as-site-footer .footer__contact-content p,
.as-site-footer .copy-right-text p {
    margin-bottom: 0;
}

.as-site-footer .footer__top .row [class*="col-"]:nth-child(2) .footer__widget,
.as-site-footer .footer__top .row [class*="col-"]:nth-child(3) .footer__widget {
    margin-left: 0;
}

.as-site-footer .footer__widget .logo {
    margin-bottom: 14px !important;
}

.as-site-footer .footer__widget .logo img {
    width: auto;
    max-width: 150px;
    max-height: 46px;
}

.as-site-footer .footer__widget-title {
    margin-bottom: 14px;
    color: #fff;
    font-family: var(--tg-heading-font-family, "Poppins", sans-serif);
    font-size: var(--as-text-base);
    font-weight: 600;
    line-height: 1.35;
}

.as-site-footer .footer__content p,
.as-site-footer .footer__content li,
.as-site-footer .footer__contact-content p {
    color: var(--as-footer-text);
    font-family: var(--tg-body-font-family, "Inter", sans-serif);
    font-size: var(--as-text-sm);
    line-height: 1.55;
}

.as-site-footer .footer__content p {
    max-width: 315px;
    margin-bottom: 12px;
}

.as-site-footer .footer__content li + li {
    margin-top: 5px;
}

.as-site-footer .footer__link li + li {
    margin-top: 6px;
}

.as-site-footer .footer__link li a {
    color: var(--as-footer-text);
    font-family: var(--tg-heading-font-family, "Poppins", sans-serif);
    font-size: var(--as-text-md);
    font-weight: 500;
    line-height: 1.55;
}

.as-site-footer .footer__link li a:hover,
.as-site-footer .footer__bottom-menu li a:hover {
    color: #fff;
}

.as-site-footer .footer__contact-content p {
    max-width: 310px;
    margin-bottom: 12px;
}

.as-site-footer .footer__social {
    gap: 8px;
}

.as-site-footer .footer__social li a {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
}

.as-site-footer .footer__social li a img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.as-site-footer .footer__bottom {
    padding: 13px 0;
    border-top: 1px solid var(--as-footer-line);
    background: var(--as-footer-deep);
}

.as-site-footer .copy-right-text p,
.as-site-footer .footer__bottom-menu li a {
    color: var(--as-footer-muted);
    font-family: var(--tg-body-font-family, "Inter", sans-serif);
    font-size: var(--as-text-sm);
    line-height: 1.5;
}

.as-site-footer a:focus-visible {
    outline: var(--as-focus-ring-on-dark);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .as-site-footer .footer__top > .container > .row {
        row-gap: 26px;
    }
}

@media (max-width: 767px) {
    .as-site-footer .footer__top .container,
    .as-site-footer .footer__bottom .container {
        width: calc(100% - 28px);
        max-width: none;
    }

    .as-site-footer .footer__top {
        padding: 28px 0 20px !important;
    }

    .as-site-footer .footer__top > .container > .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 18px;
        margin-inline: 0;
    }

    .as-site-footer .footer__top > .container > .row > [class*="col-"] {
        width: auto;
        padding: 0;
    }

    .as-site-footer .footer__top > .container > .row > [class*="col-"]:first-child,
    .as-site-footer .footer__top > .container > .row > [class*="col-"]:last-child {
        grid-column: 1 / -1;
    }

    .as-site-footer .footer__bottom .row {
        gap: 8px;
        margin-inline: 0;
        text-align: center;
    }

    .as-site-footer .footer__bottom-menu ul {
        justify-content: center;
    }
}
