/* Text enlargement must grow the footer, not overflow fixed-height rows. */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    height: auto;
}

table.wrap {
    display: block;
    flex: 1 0 auto;
    height: auto;
}

table.wrap > tbody,
table.wrap > tbody > tr,
table.wrap > tbody > tr > td {
    display: block;
    height: auto;
}

table.wrap > tbody > tr > td {
    padding-bottom: 0;
}

header a.logo {
    background-image: url('/assets/img/brand-20261028/logo.svg');
    background-repeat: no-repeat;
    background-size: contain;
}

.page blockquote.site-intro {
    margin-left: 0;
}

footer {
    flex: 0 0 auto;
    height: auto;
    min-height: 161px;
    margin-top: 26px;
    padding-bottom: 28px;
    box-sizing: border-box;
    background-color: #484b4b;
    overflow: visible;
}

footer nav {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 20px 24px;
    margin: 40px auto 0;
}

footer ul {
    float: none;
    flex: 1 1 9em;
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
}

footer ul:last-of-type {
    flex: 1.6 1 13em;
}

footer li,
footer li.privacy-policy-link {
    height: auto;
    min-height: 0;
    line-height: 1.5;
    font-size: 1em;
    padding: 0.35em 1em;
    overflow-wrap: anywhere;
}

footer ul a {
    display: inline-block;
    max-width: 100%;
    line-height: inherit;
}

footer a.logo {
    display: block;
    float: none;
    flex: 0 0 125px;
    margin: 0 0 0 auto;
    background-image: url('/assets/img/brand-20261028/logo-footer.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

footer nav > .c {
    display: none;
}

@media (max-width: 700px) {
    footer nav {
        gap: 20px;
    }

    footer ul,
    footer ul:last-of-type {
        flex: 1 1 100%;
        max-width: none;
        margin: 0;
    }

    footer a.logo {
        flex-basis: 125px;
        margin: 4px auto 0;
    }
}
