@font-face {
    font-family: "Hanken Grotesk";
    src: url("https://www.below.es/css/fonts/hanken-grotesk-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: "Space Grotesk";
    src: url("https://www.below.es/css/fonts/space-grotesk-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
}

.below-portal-footer {
    --below-footer-ink: #f8f8f5;
    --below-footer-muted: #b9c0cc;
    --below-footer-border: rgba(255, 255, 255, 0.16);
    --below-footer-accent: #ff5a3c;
    box-sizing: border-box;
    margin-top: clamp(64px, 8vw, 120px);
    padding: 0;
    color: var(--below-footer-ink);
    background: #121a2b;
    font-family: "Hanken Grotesk", "Work Sans", Arial, sans-serif;
    text-align: left;
}

.below-portal-footer *,
.below-portal-footer *::before,
.below-portal-footer *::after {
    box-sizing: border-box;
}

.below-portal-footer .below-shell {
    width: min(calc(100% - 48px), 1280px);
    margin-inline: auto;
}

.below-portal-footer__top,
.below-portal-footer .below-footer__top {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(48px, 8vw, 128px);
    padding-block: clamp(56px, 7vw, 88px);
}

.below-portal-footer .below-footer__brand img {
    display: block;
    width: clamp(126px, 13vw, 164px);
    height: auto;
    filter: brightness(0) invert(1);
}

.below-portal-footer .below-footer__brand p {
    max-width: 360px;
    margin: 24px 0 0;
    color: var(--below-footer-muted);
    font-size: clamp(17px, 1.5vw, 21px);
    font-weight: 400;
    line-height: 1.45;
}

.below-portal-footer .below-footer__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 5vw, 72px);
}

.below-portal-footer .below-footer__nav h2 {
    margin: 0 0 20px;
    color: var(--below-footer-ink);
    font-family: "Space Grotesk", "Work Sans", Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.below-portal-footer .below-footer__nav a,
.below-portal-footer .below-footer__bottom a {
    display: block;
    width: fit-content;
    color: var(--below-footer-muted);
    font-family: "Hanken Grotesk", "Work Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
    text-decoration: none;
    transition: color 180ms ease;
}

.below-portal-footer .below-footer__nav a + a {
    margin-top: 12px;
}

.below-portal-footer .below-footer__nav a:hover,
.below-portal-footer .below-footer__bottom a:hover {
    color: var(--below-footer-accent);
}

.below-portal-footer .below-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-block: 22px 26px;
    border-top: 1px solid var(--below-footer-border);
    color: var(--below-footer-muted);
    font-size: 13px;
    line-height: 1.4;
}

.below-portal-footer .below-footer__bottom > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 18px;
}

.below-portal-footer .below-footer__bottom a {
    font-size: 13px;
}

@media (max-width: 760px) {
    .below-portal-footer .below-shell {
        width: min(calc(100% - 36px), 1280px);
    }

    .below-portal-footer .below-footer__top {
        grid-template-columns: 1fr;
        gap: 48px;
        padding-block: 52px;
    }

    .below-portal-footer .below-footer__nav {
        gap: 28px;
    }

    .below-portal-footer .below-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .below-portal-footer .below-footer__bottom > div {
        justify-content: flex-start;
    }
}

@media (max-width: 430px) {
    .below-portal-footer .below-footer__nav {
        grid-template-columns: 1fr;
        gap: 34px;
    }
}