/* Community. The shared header, navigation and footer keep the XFG foundation. */
.xfg-community-v2{background:#18191b;color:#f4f3ef;--community-charcoal:#18191b;--community-yellow:#ffd000}
.xfg-community-v2::before{display:none}
.xfg-community-v2 main{overflow:visible}
.xfg-community-v2 :is(h1,h2,h3){text-transform:uppercase;font-family:'XFG Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:.4px}
.xfg-community-v2 .community-frame{width:min(1440px,calc(100% - 96px));margin-inline:auto}
.community-lead{position:relative;isolation:isolate;aspect-ratio:2/1;background:#18191b;box-shadow:10px 8px 6px #00000080;z-index:1}
.community-lead__art{position:absolute;inset:0;z-index:-1}
.community-lead__art img{width:100%;height:100%;object-fit:contain}
.community-lead__inner{height:100%;display:flex;align-items:center;padding-top:54px}
.community-lead__copy{width:31%;max-width:470px}
.community-lead h1{font-size:clamp(54px,5.5vw,96px);line-height:.96;margin:0}
.community-lead p{margin:24px 0 0;max-width:360px;font-size:clamp(16px,1.2vw,19px);line-height:1.6;color:#d6d6d3}
.community-hub{position:relative;padding:80px 0 78px;background:#18191b}
.community-hub::before,.xfg-community-v2 .site-footer--compact::before{content:'';position:absolute;inset:0 0 auto;height:20px;background:linear-gradient(#000,transparent);pointer-events:none}
.community-hub__heading{text-align:center;margin-bottom:38px}
.community-hub__heading h2{font-size:clamp(36px,3.6vw,56px);line-height:1.05;margin:0}
.community-hub__heading p{margin:14px 0 0;color:#c8c8c8;font-size:17px;line-height:1.55}
.community-hub__grid{display:grid;grid-template-columns:1.24fr 1fr 1fr;gap:24px;align-items:stretch}
.community-route{position:relative;display:flex;flex-direction:column;isolation:isolate;min-width:0;border-radius:14px;background:#242527;box-shadow:10px 8px 6px #00000080;text-decoration:none;transition:box-shadow .35s ease,transform .35s cubic-bezier(.2,.65,.25,1);cursor:pointer}
.community-route::after{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid #ffffff12;pointer-events:none}
.community-route__media{position:relative;overflow:hidden;height:240px;border-radius:14px 14px 0 0;background:#0c0c0c}
.community-route__media>img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.65,.25,1)}
.community-route--clips .community-route__media>img{object-position:25% center}
.community-route--discord .community-discord-art{object-position:90% center;filter:brightness(.65)}
.community-squad-art{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.community-squad-art img{width:100%;height:100%;object-fit:cover;min-width:0;object-position:50% 20%;transition:transform .6s cubic-bezier(.2,.65,.25,1)}
.community-squad-art img:nth-child(1){object-position:56% 30%}
.community-squad-art img:nth-child(2){object-position:47% center}
.community-squad-art img:nth-child(3){object-position:56% center}
.community-squad-art img:nth-child(4){object-position:40% center}
.community-route__copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:26px 26px 28px}
.community-route h3{font-size:30px;line-height:1.1;margin:0;max-width:310px;color:#f5f4ef}
.community-route__copy p{color:#c9c9c7;line-height:1.55;font-size:16px;margin:14px 0 22px;max-width:330px}
.community-route__action{display:block;padding:8px 0 0;margin-top:auto;min-height:36px;font:700 17px/1.3 'XFG Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#ffd000}
.community-route:is(:hover,:focus-visible){transform:translateY(-5px);box-shadow:10px 14px 8px #0009;text-decoration:none}
.community-route:is(:hover,:focus-visible) .community-route__media img{transform:scale(1.055)}
.community-route:focus-visible{outline:2px solid #ffd000;outline-offset:6px}
.community-play{position:absolute;inset:0;display:grid;place-content:center}
.community-play>span{position:relative;display:block;width:62px;height:62px;border-radius:50%;background:#ffd000;box-shadow:0 0 0 10px #ffd00040;transition:box-shadow .3s ease,transform .3s ease}
.community-play>span::after{position:absolute;top:21px;left:26px;width:0;height:0;content:'';border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:15px solid #151515}
.community-route--clips:is(:hover,:focus-visible) .community-play>span{animation:community-play-ring 1.6s ease-in-out infinite;transform:scale(1.04)}
@keyframes community-play-ring{0%,100%{box-shadow:0 0 0 10px #ffd00040}50%{box-shadow:0 0 0 16px #ffd00018}}
.community-discord-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.community-discord-mark>img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 4px 12px #0009)}
.community-hub__action{position:relative;display:flex;justify-content:center;align-items:center;margin-top:46px;gap:24px}
.community-hub__action::before,.community-hub__action::after{content:'';flex:1;height:1px;background:#ffffff2c}
.community-forums{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;min-width:224px;padding:12px 25px;color:#ffd000;border:1px solid #ffd00080;border-radius:3px;background:transparent;font:700 18px/1.2 'XFG Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;transition:background .24s,color .24s,border-color .24s;text-decoration:none}
.community-forums:is(:hover,:focus-visible){background:#ffd000;color:#111;border-color:#ffd000;text-decoration:none}
.community-forums:focus-visible{outline:2px solid #ffd000;outline-offset:5px}
.community-close{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:2/1;background:#18191b;box-shadow:10px 8px 6px #00000080}
.community-close__art{position:absolute;inset:0;z-index:-1}
.community-close__art img{width:100%;height:100%;object-fit:contain}
.community-close__copy{position:relative;width:min(430px,30vw);padding:34px 30px 32px;text-align:center;background:#0006;border-radius:20px;isolation:isolate}
.community-close__copy::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none}
.community-close h2{margin:0;font-size:clamp(48px,4.4vw,72px);line-height:.96}
.community-close p{margin:18px 0 0;font-size:16px;line-height:1.6;color:#d4d2d1}
.xfg-community-v2 .site-footer--compact{position:relative}
.xfg-community-v2 .site-footer--compact .footer-privacy-choices{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0;border:0;border-radius:0;background:transparent;color:#adabab;font:400 14px/20px 'XFG Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.5632px;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.xfg-community-v2 .site-footer--compact .footer-privacy-choices:is(:hover,:focus-visible){color:#fff;background:transparent}
.xfg-community-v2 .site-footer--compact .footer-privacy-choices:focus-visible{outline:2px solid #ffd000;outline-offset:4px}
.xfg-community-v2 .site-footer--compact .footer-privacy-choices svg{display:block;flex:none;width:28px;height:14px;margin-left:5px}
@media(min-width:761px){
 .xfg-community-v2 .site-footer--compact .footer-legal-links{column-gap:0}
 .xfg-community-v2 .site-footer--compact .footer-legal-links>:is(a,button)+:is(a,button)::before{position:static;display:block;flex:0 0 1px;width:1px;height:12px;margin-inline:16px;border-radius:0;background:#ffffff6b;content:'';transform:none;pointer-events:none}
}
@media(max-width:1100px) and (min-width:761px){
 .xfg-community-v2 .community-frame{width:calc(100% - 64px)}
 .community-route__media{height:210px}.community-route__copy{padding:22px 20px 24px}.community-route h3{font-size:27px}
 .community-hub__grid{gap:20px}.community-route__copy p{font-size:15px}
 .community-lead h1{font-size:clamp(45px,5.5vw,65px)}.community-lead p{font-size:16px}
}
@media(max-width:760px){
 .xfg-community-v2 .community-frame{width:calc(100% - 40px)}
 .community-lead{aspect-ratio:auto;padding-top:0;display:flex;flex-direction:column}
 .community-lead__art{position:relative;width:100%;aspect-ratio:2/1}
 .community-lead__inner{display:block;height:auto;padding:24px 0 32px;text-align:center}
 .community-lead__copy{width:100%;max-width:none}
 .community-lead h1{font-size:44px;line-height:.96}.community-lead h1 br{display:none}.community-lead h1 br::after{content:' '}
 .community-lead p{max-width:380px;margin:16px auto 0;font-size:16px;line-height:1.55}
 .community-hub{padding:46px 0 48px}
 .community-hub__heading{margin-bottom:28px}.community-hub__heading h2{font-size:36px}.community-hub__heading p{font-size:16px;margin-top:12px;max-width:280px;margin-inline:auto}
 .community-hub__grid{grid-template-columns:1fr;gap:26px}.community-route__media{height:auto;aspect-ratio:1.75/1}.community-route__copy{padding:23px 24px 24px}
 .community-route h3{font-size:31px;max-width:none}.community-route__copy p{font-size:16px;margin:13px 0 14px;max-width:none}.community-route__action{font-size:17px;min-height:38px}
 .community-hub__action{gap:15px;margin-top:36px}.community-forums{min-width:190px;min-height:48px;font-size:17px;padding-inline:17px}
 .community-close{aspect-ratio:auto;display:flex;flex-direction:column}
 .community-close__art{position:relative;width:100%;aspect-ratio:2/1}
 .community-close__copy{width:calc(100% - 72px);max-width:380px;margin:-86px auto 40px;padding:26px 24px 28px;border-radius:20px;background:#0006}
 .community-close h2{font-size:42px;line-height:.98}.community-close h2 br{display:none}
 .community-close p{font-size:16px;line-height:1.55;max-width:290px;margin:16px auto 0}
 .xfg-community-v2 .site-footer--compact .footer-privacy-choices{width:100%}
}
@media(prefers-reduced-motion:reduce){.community-route,.community-route__media img,.community-play>span,.community-forums{transition:none}.community-route:is(:hover,:focus-visible){transform:none}.community-route--clips:is(:hover,:focus-visible) .community-play>span{animation:none}}

/* Fade the hero photograph into the same page charcoal. */
.community-lead{box-shadow:none}
.community-lead__art::after{content:'';position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(to bottom,#18191b00,#18191b);pointer-events:none}
.community-hub::before{display:none}
.community-close__copy{transform:translateY(-18px)}
.community-squad-art{display:block;background:#18191b}
.community-squad-stack{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;width:100%;height:100%;isolation:isolate}
.community-game-card{position:relative;min-width:0;width:100%;height:100%;overflow:visible;clip-path:inset(0 calc(-1 * var(--wave-reserve)) 0 0);border-radius:0;background:#18191b;box-shadow:none;--stack-hover-x:10%;--wave-reserve:0px}
.community-game-card[data-wave-index="0"]{z-index:1}
.community-game-card[data-wave-index="1"]{z-index:2}
.community-game-card[data-wave-index="2"]{z-index:3}
.community-game-card[data-wave-index="3"]{z-index:4}
.community-game-card:not([data-wave-index="3"])::after{content:'';position:absolute;top:0;bottom:0;right:-2px;width:10px;z-index:1;pointer-events:none;background:linear-gradient(to right,transparent,#00000012 65%,#0000002b);opacity:0;transition:opacity .28s ease;transition-delay:var(--shadow-exit)}
.community-game-card[data-wave-index="0"]{--shadow-enter:0ms;--shadow-exit:300ms}
.community-game-card[data-wave-index="1"]{--shadow-enter:100ms;--shadow-exit:200ms}
.community-game-card[data-wave-index="2"]{--shadow-enter:200ms;--shadow-exit:100ms}
.community-route--squad:focus-visible .community-game-card::after{opacity:1;transition-delay:var(--shadow-enter)}
@media(hover:hover) and (pointer:fine){.community-route--squad:hover .community-game-card::after{opacity:1;transition-delay:var(--shadow-enter)}}
.community-game-card>img{position:absolute;display:block;left:calc(-1 * var(--wave-reserve));top:0;width:calc(100% + var(--wave-reserve));max-width:none;height:100%}
.community-squad-art img,.community-squad-art img:nth-child(n){object-fit:cover;object-position:center}
.community-game-card[data-wave-index="0"]{--image-focus:50%;--image-remainder:.5}
.community-game-card[data-wave-index="1"]{--image-focus:54%;--image-remainder:.46}
.community-game-card[data-wave-index="2"]{--image-focus:54%;--image-remainder:.46}
.community-game-card[data-wave-index="3"]{--image-focus:74%;--image-remainder:.26}
.community-squad-art .community-game-card>img{object-position:calc(var(--image-focus) + var(--wave-reserve) * var(--image-remainder)) center}
.community-route__media>.community-discord-art{transform:translateX(-24px);transition:transform .8s cubic-bezier(.22,.61,.36,1);width:calc(100% + 24px);max-width:none}
.community-route--clips .community-route__media>img{width:100%;max-width:none;object-position:65% center;transform:none;transition:transform .6s cubic-bezier(.2,.65,.25,1)}
.community-route:is(:hover,:focus-visible){transform:none}
.community-route .community-squad-art img,.community-route:is(:hover,:focus-visible) .community-squad-art img{transition:none;transform:none}
.community-route:is(:hover,:focus-visible) .community-route__media>img{transform:translateX(-24px)}
.community-route--clips:is(:hover,:focus-visible) .community-route__media>img{transform:none}
.community-route--clips:focus-visible .community-route__media>img{transform:scale(1.055)}
.community-route--discord:focus-visible .community-discord-art{transform:translateX(0)}
@media(hover:hover) and (pointer:fine){.community-route--clips:hover .community-route__media>img{transform:scale(1.055)}.community-route--discord:hover .community-discord-art{transform:translateX(0)}}
.community-route--discord .community-route__media{background:#18191b}
.community-route--discord .community-discord-art{object-fit:cover;object-position:center}
.community-route--discord .community-discord-mark{inset:64% 0 auto;height:68px;transform:translateY(-50%)}
.community-play>span{box-shadow:0 0 1.5px 10px #ffd00040}
@keyframes community-play-ring{0%,100%{box-shadow:0 0 1.5px 10px #ffd00040}50%{box-shadow:0 0 1.5px 16px #ffd00018}}
@media(prefers-reduced-motion:reduce){.community-game-card::after{transition:none}.community-route__media>.community-discord-art{transition:none;transform:translateX(-12px)}.community-route--discord:is(:hover,:focus-visible) .community-discord-art{transform:translateX(-12px)}.community-route--clips .community-route__media>img,.community-route--clips:is(:hover,:focus-visible) .community-route__media>img{transition:none;transform:none}}
@media(max-width:760px){
 .community-lead__art::after{height:32%}
 .community-route__media{aspect-ratio:16/9}
 .community-close{aspect-ratio:3/2;display:grid;place-items:center}
 .community-close__art{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
 .community-close__copy{width:58%;max-width:280px;margin:0;padding:18px 16px;border-radius:20px;transform:translateY(-12px)}
 .community-close h2{font-size:34px;line-height:.98}
 .community-close h2 br{display:initial}
 .community-close p{font-size:16px;line-height:1.55;margin:12px auto 0}
}

/* The Discord glyph breathes gently without the play button's expanding ring. */
.xfg-community-v2 .community-discord-mark > img {
    transform-origin: center;
    transform: none;
}

.xfg-community-v2 .community-route--discord:focus-visible .community-discord-mark > img {
    animation: community-discord-breathe 2.6s ease-in-out infinite;
}

@media (hover: hover) and (pointer: fine) {
    .xfg-community-v2 .community-route--discord:hover .community-discord-mark > img {
        animation: community-discord-breathe 2.6s ease-in-out infinite;
    }
}

@keyframes community-discord-breathe {
    0%, 100% { transform: scale(1); filter: drop-shadow(0 4px 12px #0009); }
    50% { transform: scale(1.07); filter: drop-shadow(0 4px 12px #0009) drop-shadow(0 0 9px #ffffff35); }
}

@media (prefers-reduced-motion: reduce) {
    .xfg-community-v2 .community-route--discord:is(:hover, :focus-visible) .community-discord-mark > img {
        animation: none;
        transform: none;
    }
}

/* Match the hero fade at the closing banner, ending in the footer's gray. */
.xfg-community-v2 .community-close { background:#1b1b1b; box-shadow:none; }
.xfg-community-v2 .community-close__art::after {
 content:'';
 position:absolute;
 inset:auto 0 0;
 height:26%;
 background:linear-gradient(to bottom,#1b1b1b00,#1b1b1b);
 pointer-events:none;
}
.xfg-community-v2 .site-footer--compact::before { display:none; }
@media(max-width:760px) {
 .xfg-community-v2 .community-close__art::after { height:32%; }
}
