/* The footer stays within the shared page frame; legacy templates are retained. */
footer.fac-footer {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    background: #2e1a47 !important;
    color: #fff !important;
    isolation: isolate;
}
.fac-footer__scene {
    position: relative;
    overflow: hidden;
    width: 100%;
    /* Below 900px show a scaled 900px-wide window of the original artwork. */
    height: auto;
    aspect-ratio: 900 / 530;
    max-height: 530px;
    background: #fff;
    pointer-events: none;
    isolation: isolate;
}
.fac-footer__scene::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 3px;
    z-index: 6;
    background: #2e1a47;
}
.fac-footer__layer {
    position: absolute;
    inset-inline: 0;
    height: 100%;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 100%;
    transform: translate3d(0, var(--fac-footer-shift, 0px), 0);
}
/* Percentage offsets scale with the scene. The defaults also provide a
   complete resting composition with reduced motion or JavaScript disabled. */
.fac-footer__layer--1 { transform: none; bottom: 0; z-index: 5; background-image: url('/assets/footer-parallax/footer_layer1.png'); }
.fac-footer__layer--2 { bottom: -20.75471698%; z-index: 4; --fac-footer-shift: -4.98113208%; background-image: url('/assets/footer-parallax/footer_layer2.png'); }
.fac-footer__layer--3 { bottom: 0; z-index: 3; --fac-footer-shift: 23.54716981%; background-image: url('/assets/footer-parallax/footer-stadium-v2.svg'); }
.fac-footer__layer--4 { bottom: 20.75471698%; z-index: 2; --fac-footer-shift: 38.03773585%; background-image: url('/assets/footer-parallax/footer-skyline-facilities-v3.svg'); }
.fac-footer__layer--5 { bottom: 28.30188679%; z-index: 1; --fac-footer-shift: 56.15094340%; background-image: url('/assets/footer-parallax/footer_layer5.png'); }
.fac-footer__content {
    position: relative;
    z-index: 6;
    box-sizing: border-box;
    max-width: 1600px;
    /* Overlap the artwork edge to avoid a flash during mobile overscroll. */
    margin: -2px auto 0;
    padding: 50px clamp(24px, 4vw, 64px) 38px;
    font-family: var(--font-sans, sans-serif);
    font-size: 18px;
    line-height: 1.4;
}
.fac-footer__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(280px, calc(50vw - 360px), 360px) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}
.fac-footer__brand { grid-column: 2; grid-row: 1; text-align: center; }
.fac-footer__support { grid-column: 1; grid-row: 1; }
.fac-footer__contact { grid-column: 3; grid-row: 1; text-align: right; }
.fac-footer__maintenance--mobile { display: none; }
.fac-footer .fac-footer__brand-link { display: block; width: min(100%, 360px); margin: -20px auto 0; }
.fac-footer .fac-footer__logo { display: block; width: 100%; height: auto; margin: 0; }
.fac-footer p, .fac-footer .fac-footer__address {
    margin: 0 0 12px;
    color: #fff;
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
}
.fac-footer strong { font-weight: 700; }
.fac-footer a { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
.fac-footer a:hover { color: #f5d8c4 !important; }
.fac-footer a:focus-visible { outline: 3px solid #f5d8c4; outline-offset: 5px; border-radius: 3px; }
.fac-footer .fac-footer__social-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.fac-footer__social-list li { margin: 0; padding: 0; }
.fac-footer__social-list a {
    display: inline-flex;
    width: 44px;
    height: 44px;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border-radius: 50%;
    transition: background-color .15s ease;
}
.fac-footer__social-list a:hover { background: rgba(255, 255, 255, .12); }
.fac-footer__social-list img { display: block; width: 28px; height: 28px; margin: 0; }
.fac-footer .fac-footer__copyright { margin: 0; font-size: 18px; font-weight: 700; color: #fff; }
.fac-footer .fac-footer__feedback { margin-bottom: 0; font-size: 16px; }
.fac-footer .fac-footer__text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    color: #f5d8c4 !important;
    font-weight: 700;
    text-decoration: none !important;
}
.fac-footer .fac-footer__text-link:hover { color: #fff !important; text-decoration: none !important; }
.fac-footer__text-link > span:first-child { min-width: 0; }
.fac-footer__chevron {
    display: inline-block;
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-inline-end: 2px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
}
@media (max-width: 1279.98px) {
    /* Use both roots for Chrome versions before/after its root propagation fix.
       This class is present only near the page bottom, leaving top refresh alone. */
    html:has(footer.fac-footer--at-bottom),
    body:has(footer.fac-footer--at-bottom) {
        overscroll-behavior-y: none;
    }
    .fac-footer__maintenance--mobile { display: block; }
    .fac-footer__maintenance--desktop { display: none; }
    .fac-footer__columns { grid-template-columns: minmax(0, 1fr); gap: 30px; }
    .fac-footer__brand, .fac-footer__support, .fac-footer__contact {
        grid-column: auto;
        grid-row: auto;
        text-align: center;
    }
    .fac-footer__content { padding: 32px 24px 40px; }
    .fac-footer .fac-footer__brand-link { width: min(100%, 330px); margin-top: -16px; }
    .fac-footer__support { max-width: 430px; margin: 0 auto; }
}
@media (max-width: 359.98px) {
    /* Keep the final link above the fixed back-to-top button. */
    .fac-footer__content { padding-bottom: 88px; }
}
@media (prefers-reduced-motion: reduce) {
    .fac-footer__social-list a { transition: none; }
}
@media print {
    footer.fac-footer { display: none !important; }
}
