.zomblers-footer-redesign .site-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 0;
    border-top: 1px solid rgba(127, 149, 158, .24);
    background:
        radial-gradient(circle at 12% 22%, rgba(247, 37, 114, .07), transparent 25%),
        radial-gradient(circle at 87% 76%, rgba(168, 255, 26, .055), transparent 27%),
        #02070a;
    color: #eef1f1;
}

/* Legal pages use a document heading in the content flow, never the theme hero. */
.zomblers-legal-page main {
    background:
        radial-gradient(circle at 62% 18%, rgba(255, 0, 122, .045), transparent 34%),
        #01070a;
}

.zomblers-legal-page .single-hero {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 46px 24px 12px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}

.zomblers-legal-page .single-hero::before,
.zomblers-legal-page .single-hero::after { display: none !important; }

.zomblers-legal-page .single-hero h1 {
    width: min(820px, 100%);
    margin: 0 auto !important;
    color: #f0f2f2;
    font: 900 clamp(38px, 5vw, 62px)/.92 Bahnschrift, "Arial Narrow", sans-serif !important;
    letter-spacing: -.045em !important;
    text-align: left !important;
    text-transform: uppercase;
}

.zomblers-legal-page .article-shell {
    padding-top: 12px !important;
    padding-bottom: 90px !important;
    background: transparent !important;
}

.zomblers-legal-page .article-shell__content {
    width: min(820px, 100%);
    max-width: 820px;
    margin-inline: auto;
}

.zomblers-legal-page .article-shell__content h2 {
    margin-top: 44px;
    color: #eef1f1;
}

.zomblers-legal-page .article-shell__content p,
.zomblers-legal-page .article-shell__content li {
    color: #aab4b8;
    line-height: 1.75;
}

.zomblers-legal-page .article-shell__content a { color: #a8ff1a; }

.zomblers-footer-redesign .site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .9;
    background:
        radial-gradient(circle at 7% 24%, rgba(247,37,114,.58) 0 1px, transparent 2px),
        radial-gradient(circle at 10% 36%, rgba(168,255,26,.42) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 94% 18%, rgba(247,37,114,.42) 0 1px, transparent 2px),
        radial-gradient(circle at 91% 34%, rgba(168,255,26,.34) 0 1px, transparent 2px),
        linear-gradient(116deg, transparent 0 6%, rgba(247,37,114,.06) 6.1% 6.5%, transparent 6.6% 89%, rgba(168,255,26,.05) 89.1% 89.5%, transparent 89.6%);
    background-size: 31px 29px, 43px 37px, 37px 31px, 47px 41px, 100% 100%;
    -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 24%, transparent 77%, #000 100%);
    mask-image: linear-gradient(90deg, #000 0, transparent 24%, transparent 77%, #000 100%);
    pointer-events: none;
}

.zomblers-footer-redesign .site-footer::after {
    content: "";
    position: absolute;
    right: -42px;
    top: 8px;
    width: clamp(210px, 24vw, 360px);
    height: 190px;
    z-index: -1;
    opacity: .7;
    background:
        linear-gradient(128deg, transparent 0 31%, rgba(247,37,114,.10) 31.2% 34%, transparent 34.2% 45%, rgba(168,255,26,.08) 45.2% 47%, transparent 47.2%),
        linear-gradient(148deg, transparent 0 55%, rgba(255,255,255,.025) 55.2% 62%, transparent 62.2%);
    clip-path: polygon(8% 0, 100% 0, 92% 20%, 100% 33%, 78% 48%, 91% 59%, 62% 76%, 70% 92%, 0 100%, 21% 70%, 4% 59%, 30% 37%);
    pointer-events: none;
}

.zomblers-footer-redesign .site-footer__main,
.zomblers-footer-redesign .site-footer__legal {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 48px));
    max-width: none;
    margin-inline: auto;
}

.zomblers-footer-redesign .site-footer__main {
    display: grid !important;
    grid-template-columns: 176px minmax(460px, 1fr) 230px;
    gap: 28px;
    align-items: start;
    padding: 48px 0 24px;
}

/* The front page closes with the compact legal rail only. */
.home.zomblers-footer-redesign .site-footer__main {
    display: none !important;
}

.home.zomblers-footer-redesign .site-footer {
    min-height: 0;
    padding-top: 0;
}

.home.zomblers-footer-redesign .site-footer__legal {
    padding-top: 18px;
    padding-bottom: 18px;
}

.zomblers-footer-redesign .site-footer__main::before {
    content: "ZOMBLERS // HORDE SIGNAL";
    position: absolute;
    top: 18px;
    left: 0;
    color: #68777d;
    font: 700 9px/1 "IBM Plex Mono", Consolas, monospace;
    letter-spacing: .18em;
}

.zomblers-footer-redesign .site-footer__main::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 178px;
    width: 68px;
    height: 2px;
    background: linear-gradient(90deg, #f72572 0 45%, #a8ff1a 45%);
    pointer-events: none;
}

.zomblers-footer-redesign .brand-lockup--footer {
    position: relative;
    display: flex !important;
    width: 176px !important;
    height: auto !important;
    min-height: 0 !important;
    min-width: 0;
    overflow: visible !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
}

.zomblers-footer-redesign .brand-lockup--footer::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: -7px;
    left: -13px;
    width: 176px;
    height: 70px;
    opacity: .2;
    background:
        linear-gradient(101deg, transparent 0 10%, #f72572 10.5% 24%, transparent 24.5% 31%, #a8ff1a 31.5% 38%, transparent 38.5%),
        linear-gradient(176deg, transparent 0 28%, rgba(247,37,114,.75) 29% 44%, transparent 45%);
    clip-path: polygon(2% 23%, 22% 12%, 18% 0, 45% 14%, 69% 4%, 64% 19%, 100% 12%, 86% 42%, 96% 62%, 61% 55%, 71% 83%, 39% 66%, 11% 86%, 20% 55%, 0 62%);
    transform: rotate(-2deg);
    pointer-events: none;
}

.zomblers-footer-redesign .brand-lockup--footer .custom-logo-link {
    position: relative !important;
    z-index: 2;
    display: block !important;
    width: 160px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
}

.zomblers-footer-redesign .brand-lockup--footer .custom-logo {
    position: static !important;
    display: block !important;
    width: 160px !important;
    height: auto !important;
    max-width: none !important;
    max-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    object-fit: contain;
    object-position: left center;
    filter: drop-shadow(0 12px 20px rgba(0,0,0,.32));
}

.zomblers-footer-redesign .brand-lockup--footer .brand-lockup__name {
    display: none !important;
}

.zomblers-footer-redesign .brand-lockup--footer .brand-lockup__name a {
    position: relative;
    z-index: 2;
    color: inherit;
    text-decoration: none;
}

.zomblers-footer-redesign .brand-lockup--footer::after {
    content: "ESPORTS // EST. 2019";
    position: relative;
    z-index: 2;
    color: #6f7d82;
    font: 700 8px/1.5 "IBM Plex Mono", Consolas, monospace;
    letter-spacing: .13em;
}

.zomblers-footer-redesign .footer-nav__list .zh-footer-join {
    position: relative;
    z-index: 3;
    display: flex;
    width: auto;
    min-width: 118px;
    min-height: 37px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 15px;
    overflow: hidden;
    border: 1px solid rgba(247,37,114,.92);
    background: linear-gradient(105deg, #f72572 0 78%, #d70d57 78%);
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
    color: #fff;
    font: 900 9px/1 "IBM Plex Mono", Consolas, monospace;
    letter-spacing: .095em;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 8px 8px 0 rgba(247,37,114,.08);
    transition: transform .18s ease, background .18s ease, color .18s ease;
}

.zomblers-footer-redesign .footer-nav__list .zh-footer-join-item {
    grid-column: 2;
    justify-self: start;
    width: max-content;
    margin-top: 7px;
    border: 0;
}

.zomblers-footer-redesign .footer-nav__list .zh-footer-join::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .34;
    background: repeating-linear-gradient(118deg, transparent 0 10px, rgba(0,0,0,.36) 10px 11px);
}

.zomblers-footer-redesign .footer-nav__list .zh-footer-join b { color: #a8ff1a; font-size: 13px; }
.zomblers-footer-redesign .footer-nav__list .zh-footer-join:hover,
.zomblers-footer-redesign .footer-nav__list .zh-footer-join:focus-visible { padding: 10px 15px; transform: translate(-2px, -2px) rotate(-.4deg); background: #ff337f; color: #fff; }

.zomblers-footer-redesign .footer-nav,
.zomblers-footer-redesign .zc-social-links {
    position: relative;
    min-width: 0;
    padding-top: 19px;
}

.zomblers-footer-redesign .footer-nav::before,
.zomblers-footer-redesign .zc-social-links::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #a8ff1a;
    font: 700 9px/1 "IBM Plex Mono", Consolas, monospace;
    letter-spacing: .17em;
}

.zomblers-footer-redesign .footer-nav::before { content: "EXPLORE"; }
.zomblers-footer-redesign .zc-social-links::before { content: "FOLLOW THE HORDE"; }

.zomblers-footer-redesign .footer-nav__list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.zomblers-footer-redesign .footer-nav__list > li {
    min-width: 0;
    margin: 0;
    border-bottom: 1px solid rgba(127,149,158,.16);
}

.zomblers-footer-redesign .footer-nav__list > li > a {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 28px;
    align-items: center;
    justify-content: space-between;
    padding: 0 3px;
    color: #aab3b7;
    font: 700 9px/1 "IBM Plex Mono", Consolas, monospace;
    letter-spacing: .055em;
    text-decoration: none;
    transition: color .18s ease, padding .18s ease, border-color .18s ease;
}

.zomblers-footer-redesign .footer-nav__list > li:not(.zomblers-donations-menu-item) > a::after {
    content: "→";
    color: #516168;
    transition: color .18s ease, transform .18s ease;
}

.zomblers-footer-redesign .footer-nav__list > li > a:hover,
.zomblers-footer-redesign .footer-nav__list > li > a:focus-visible {
    padding-left: 8px;
    color: #fff;
}

.zomblers-footer-redesign .footer-nav__list > li > a:hover::after,
.zomblers-footer-redesign .footer-nav__list > li > a:focus-visible::after {
    color: #a8ff1a;
    transform: translateX(3px);
}

.zomblers-footer-redesign .footer-nav__list .zomblers-donations-menu-item {
    grid-column: 1;
    margin-top: 7px;
    border: 0;
}

.zomblers-footer-redesign .footer-nav__list .zomblers-donations-nav-button {
    min-height: 34px;
    justify-content: center;
    gap: 10px;
    padding: 0 18px;
    border: 1px solid #a8ff1a;
    background: #a8ff1a;
    color: #061006;
    font-weight: 900;
    letter-spacing: .1em;
}

.zomblers-footer-redesign .footer-nav__list .zomblers-donations-nav-button:hover,
.zomblers-footer-redesign .footer-nav__list .zomblers-donations-nav-button:focus-visible {
    padding-left: 18px;
    background: #b7ff43;
    color: #061006;
}

.zomblers-footer-redesign .zc-social-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 12px;
    margin: 0;
    list-style: none;
}

.zomblers-footer-redesign .zc-social-links > li {
    margin: 0;
    border-bottom: 1px solid rgba(127,149,158,.16);
}

.zomblers-footer-redesign .zc-social-links a {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 28px;
    align-items: center;
    justify-content: space-between;
    padding: 0 3px;
    color: #aab3b7;
    font: 700 9px/1 "IBM Plex Mono", Consolas, monospace;
    letter-spacing: .09em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .18s ease, padding .18s ease;
}

.zomblers-footer-redesign .zc-social-links a span {
    color: #f72572;
    font-size: 12px;
}

.zomblers-footer-redesign .zc-social-links a:hover,
.zomblers-footer-redesign .zc-social-links a:focus-visible {
    padding-left: 8px;
    color: #fff;
}

.zomblers-footer-redesign .site-footer a:focus-visible {
    outline: 2px solid #a8ff1a;
    outline-offset: 3px;
}

.zomblers-footer-redesign .site-footer__legal {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 11px 0 12px;
    border-top: 1px solid rgba(127,149,158,.24);
}

.zomblers-footer-redesign .site-footer__legal p {
    margin: 0;
    color: #66757b;
    font: 600 9px/1.5 "IBM Plex Mono", Consolas, monospace;
    letter-spacing: .04em;
}

.zomblers-footer-redesign .site-footer__legal p:nth-child(2) {
    display: flex;
    gap: 8px;
    color: #435159;
    white-space: nowrap;
}

.zomblers-footer-redesign .site-footer__legal a {
    position: relative;
    z-index: 2;
    color: #9aa5aa;
    text-decoration: none;
}

.zomblers-footer-redesign .site-footer__legal a:hover,
.zomblers-footer-redesign .site-footer__legal a:focus-visible { color: #a8ff1a; }

.zomblers-footer-redesign .site-footer__signoff {
    justify-self: end;
    color: #7c8990 !important;
    font-family: "Segoe Print", "Ink Free", cursive !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
}

@media (max-width: 920px) {
    .zomblers-footer-redesign .site-footer__main {
        grid-template-columns: 176px minmax(0, 1fr);
        gap: 28px;
    }

    .zomblers-footer-redesign .zc-social-links {
        grid-column: 1 / -1;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .zomblers-footer-redesign .zc-social-links::before { grid-column: 1 / -1; }
    .zomblers-footer-redesign .zc-social-links > li { border-top: 1px solid rgba(127,149,158,.16); }
    .zomblers-footer-redesign .zc-social-links a { padding-inline: 8px; }
    .zomblers-footer-redesign .site-footer__legal { grid-template-columns: 1fr auto; }
    .zomblers-footer-redesign .site-footer__signoff { display: none; }
}

@media (max-width: 620px) {
    .zomblers-legal-page .single-hero { padding: 34px 14px 10px !important; }
    .zomblers-legal-page .article-shell { padding-top: 10px !important; padding-bottom: 64px !important; }
    .zomblers-footer-redesign .site-footer__main,
    .zomblers-footer-redesign .site-footer__legal { width: min(100% - 28px, 1180px); }

    .zomblers-footer-redesign .site-footer__main {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 54px 0 24px;
    }

    .zomblers-footer-redesign .site-footer__main::before { top: 20px; }
    .zomblers-footer-redesign .site-footer__main::after { top: 22px; left: auto; right: 0; width: 52px; }
    .zomblers-footer-redesign .footer-nav__list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap-inline: 12px; }
    .zomblers-footer-redesign .footer-nav__list .zomblers-donations-menu-item { grid-column: 1; }
    .zomblers-footer-redesign .footer-nav__list .zh-footer-join-item { grid-column: 2; }
    .zomblers-footer-redesign .zc-social-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .zomblers-footer-redesign .zc-social-links::before { grid-column: 1 / -1; }
    .zomblers-footer-redesign .site-footer__legal {
        grid-template-columns: 1fr;
        gap: 9px;
        padding: 12px 0 15px;
    }
    .zomblers-footer-redesign .site-footer__legal p:nth-child(2) { flex-wrap: wrap; white-space: normal; }
}

@media (max-width: 390px) {
    .zomblers-footer-redesign .footer-nav__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zomblers-footer-redesign .footer-nav__list .zomblers-donations-menu-item { grid-column: 1; }
    .zomblers-footer-redesign .footer-nav__list .zh-footer-join-item { grid-column: 2; }
    .zomblers-footer-redesign .zc-social-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
    .zomblers-footer-redesign .site-footer a,
    .zomblers-footer-redesign .site-footer a::after { transition: none; }
}
