footer.cooper-footer {
    --footer-red: #ae0003;
    --footer-ink: #26272b;
    padding: 0;
    background: #f9fafb;
    color: var(--footer-ink);
    text-align: left;
    font: 400 1rem/1.5 Lato, Arial, sans-serif;
}
.cooper-footer::before { content: none; }
.cooper-footer__inner, .cooper-footer__bottom {
    width: min(100% - 4rem, 80rem);
    margin-inline: auto;
}
.cooper-footer__inner { padding-block: clamp(2rem, 4vw, 4rem) 2rem; }
.cooper-footer__identity, .cooper-footer__actions, .cooper-footer__bottom {
    display: flex;
    align-items: center;
}
.cooper-footer__identity { justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.cooper-footer__identity > a { display: inline-flex; }
.cooper-footer__identity > a img { display: block; width: clamp(11rem, 18vw, 15rem); height: auto; }
.cooper-footer__actions { flex-wrap: wrap; gap: .75rem; }
.cooper-footer__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    padding: .625rem 1rem .625rem .625rem;
    min-height: 2.75rem;
    border-radius: .25rem;
    background: var(--footer-red);
    color: white;
    font-size: .9375rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-decoration: none;
}
.cooper-footer__actions a:hover { background: #870003; }
.cooper-footer__actions img { width: 1.5rem; height: 1.5rem; }
.cooper-footer .cooper-footer__sections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.cooper-footer__group + .cooper-footer__group { border-left: 1px solid #98a2b3; padding-left: 1rem; }
.cooper-footer__group h2 {
    margin: 0 0 1rem;
    color: var(--footer-red);
    font: 700 1rem/1.625 Lato, Arial, sans-serif;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.cooper-footer__group ul { margin: 0; padding: 0; list-style: none; }
.cooper-footer__group li { break-inside: avoid; padding-bottom: .65rem; }
.cooper-footer .cooper-footer__group a {
    display: inline;
    padding: 0;
    color: inherit;
    font: inherit;
    text-decoration: none;
}
.cooper-footer .cooper-footer__group a:hover, .cooper-footer .cooper-footer__group a:focus-visible {
    color: var(--footer-red);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.cooper-footer__toggle, .cooper-footer__overview { display: none; }
.cooper-footer__band { background: var(--footer-ink); color: white; }
.cooper-footer__bottom { gap: 2rem; padding-block: 1.75rem 2.25rem; }
.cooper-footer .cooper-footer__social { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.cooper-footer__social a { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; }
.cooper-footer__social img { display: block; width: 2rem; height: 2rem; }
.cooper-footer__social a:hover img { opacity: .8; }
.cooper-footer .cooper-footer__bottom p { margin: 0; color: white; font: 400 .875rem/1.6 Lato, Arial, sans-serif; }
.cooper-footer :focus-visible { outline: 3px solid var(--footer-red); outline-offset: 3px; }
.cooper-footer__band :focus-visible { outline-color: white; }
@media (min-width: 75rem) {
    .cooper-footer__group ul { column-count: 2; column-gap: 1.5rem; }
}
@media (max-width: 48rem) {
    .cooper-footer__inner, .cooper-footer__bottom { width: min(100% - 2.5rem, 40rem); }
    .cooper-footer__identity { flex-direction: column; }
    .cooper-footer__actions { display: grid; width: 100%; }
    .cooper-footer .cooper-footer__sections { display: block; border-bottom: 1px solid #98a2b3; }
    .cooper-footer__group, .cooper-footer__group + .cooper-footer__group {
        border-top: 1px solid #98a2b3;
        border-left: 0;
        padding-left: 0;
    }
    .cooper-footer__group h2 { margin: 0; }
    .cooper-footer .cooper-footer__group .cooper-footer__desktop-title { display: none; }
    .cooper-footer__toggle {
        display: flex;
        width: 100%;
        justify-content: space-between;
        align-items: center;
        gap: .75rem;
        border: 0;
        padding: 1rem .125rem;
        background: transparent;
        color: var(--footer-ink);
        font: 900 .875rem/1.5 Lato, Arial, sans-serif;
        letter-spacing: .05em;
        text-transform: uppercase;
        text-align: left;
        cursor: pointer;
    }
    .cooper-footer__toggle::after {
        content: '';
        width: .55rem;
        height: .55rem;
        margin-right: .3rem;
        flex: none;
        border: solid currentColor;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }
    .cooper-footer__toggle[aria-expanded="true"] { color: var(--footer-red); }
    .cooper-footer__toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
    .cooper-footer__group ul { display: none; }
    .cooper-footer__group ul.cooper-footer__open, .cooper-footer__overview { display: block; }
    .cooper-footer__bottom { flex-direction: column; align-items: flex-start; gap: .75rem; }
    .cooper-footer .cooper-footer__social { width: 100%; max-width: 18rem; justify-content: space-between; gap: 0; }
}
@media (max-width: 40rem) {
    /* Leave room for the optional fixed Feedback launcher at the bottom left. */
    body:has(#cooper-feedback-root) .cooper-footer__bottom { padding-bottom: 4.5rem; }
}
