/* The film belongs to the hero, not to the viewport. */
.game-page .game-keyart{position:relative;isolation:isolate;aspect-ratio:16/9;width:100%;max-height:1080px;overflow:hidden;border-radius:6px;background:#08090f}
.game-keyart>.cover-composition,.game-keyart>img:first-child{width:100%;height:100%;max-height:none!important;object-fit:cover}
.game-keyart .cover-composition{height:100%;isolation:auto}.game-keyart .cover-composition>img:first-child{height:100%;max-height:none;object-fit:cover}.game-keyart .cover-wordmark{z-index:2}
.game-keyart .video-atmosphere{position:absolute;inset:0;z-index:1;opacity:0}.ambient-playing .game-keyart .video-atmosphere{opacity:1}
.game-keyart .ambient-video{filter:blur(var(--video-blur,2px)) brightness(var(--video-brightness,.65));transform:scale(1.015)}
.game-keyart .ambient-controls{position:absolute;right:18px;bottom:18px;z-index:3}
.game-page .game-wordmark{z-index:2}.portal{position:relative;isolation:isolate;overflow:hidden}.portal>.video-atmosphere{position:absolute;inset:0;z-index:-1}.portal .ambient-video{filter:blur(var(--video-blur,2px)) brightness(var(--video-brightness,.65))}
.cms-article{max-width:920px;margin:0 auto;padding:60px 5%;line-height:1.85}.cms-article img,.cms-article video{max-width:100%;height:auto;border-radius:8px}.cms-article figure{margin:28px 0}.cms-article figcaption{font-size:13px;opacity:.7}.cms-article h2{margin:35px 0 18px;font-size:32px}.cms-article h3{margin:24px 0 12px;font-size:25px}.cms-article p{white-space:pre-line}.cms-article blockquote{border-left:3px solid var(--game-accent,var(--accent));padding:14px 25px;margin:25px 0;background:#ffffff08}.cms-article a{color:var(--game-accent,var(--accent));text-decoration:underline}.cms-news-list{display:grid;gap:24px}.cms-news-card{display:block;border-bottom:1px solid #ffffff30;padding-bottom:25px}.cms-news-card img{max-height:240px;width:100%;object-fit:cover}.cms-news-card h2{margin:12px 0}.cms-article hr{border:0;border-top:1px solid #ffffff30;margin:35px 0}
@media(max-width:650px){.game-keyart .ambient-controls{right:8px;bottom:8px}.cms-article{padding:35px 5%}}

/* Fluid desktop layout: artwork uses the display; prose retains a readable measure. */
body>header,body>main,body>footer,.game-page main{width:100%;max-width:none}
.portal{width:100%}
.world-copy p,.overview>p,.studio-body>p{max-width:70ch}
.privacy-settings{appearance:none;background:none;border:0;padding:0;color:var(--muted);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;align-self:start;justify-self:start}
.privacy-settings:hover{color:var(--fg)}
@media(min-width:1400px){
 header,footer{padding-inline:4%}
 .game-grid{gap:32px}
 .dev-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
 .spotlight-caption{padding:28px 36px}
 .spotlight-caption h2{font-size:40px}
 .world-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
 .gallery-grid.single{max-width:none}
 .game-card h3{font-size:28px}
}
@media(min-width:2000px){
 .portal,.collection,.development,.world-section,.art-gallery,.mechanics-section,.trailer-section{padding-inline:5%}
 .spotlight-caption h2{font-size:48px}
 .game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 body:has(.intro) .game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Community destination cards, using each game's own key art. */
.community.discord-hub{display:block;padding:60px 4% 68px;background:linear-gradient(135deg,#17162c,#0c0b14 70%);border-top:1px solid #8480ff30;position:relative;overflow:hidden}
.discord-hub .discord-heading{display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:40px;margin-bottom:32px}
.discord-hub .discord-big-logo{width:240px;margin:0;grid-row:1/3}
.discord-hub .discord-heading h2{max-width:none;margin:0 0 8px;font-size:30px;line-height:1.2}
.discord-hub .discord-heading h2 br{display:none}
.discord-hub .discord-heading p{max-width:none;margin:0;color:#aaa8c3}
.discord-hub .server-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.discord-hub .server-link{--server-art:url('/assets/the-succubus-cabaret-header.webp');position:relative;isolation:isolate;overflow:hidden;min-height:300px;padding:24px;display:flex;align-items:flex-end;gap:12px;border:1px solid #ffffff24;border-radius:12px;background:#171324;box-shadow:0 12px 30px #0003;transition:transform .25s,border-color .25s}
.discord-hub .server-link:nth-child(2){--server-art:url('/assets/x-space-header.webp')}
.discord-hub .server-link:nth-child(3){--server-art:url('/assets/only-farm-header.webp')}
.discord-hub .server-link:nth-child(4){--server-art:url('/assets/guns-girls-header.webp')}
.discord-hub .server-link:before{content:'';position:absolute;inset:0;z-index:-2;background:var(--server-art) center top/auto 78% no-repeat;transition:transform .5s}
.discord-hub .server-link:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0b091000 20%,#100e1b55 42%,#100e1bf5 74%,#100e1b)}
.discord-hub .server-link>img{width:40px;height:40px;border-radius:10px;box-shadow:0 2px 12px #0005;margin-bottom:49px}
.discord-hub .server-link strong{font-size:18px;line-height:1.25;color:white;margin-bottom:14px}
.discord-hub .server-link small{display:inline-flex;align-items:center;gap:8px;background:#5865f2;color:#fff;padding:10px 14px;border-radius:6px;font-size:12px;font-weight:600;margin:0}
.discord-hub .server-arrow{position:absolute;right:18px;top:16px;border-radius:50%;background:#0b091080;border:1px solid #ffffff40;width:30px;height:30px;display:grid;place-items:center;color:#fff;font-size:18px}
.discord-hub .server-link:hover{transform:translateY(-5px);border-color:#8f95ff}
.discord-hub .server-link:hover:before{transform:scale(1.045)}
.discord-hub .server-link:focus-visible{outline:3px solid #a8afff;outline-offset:4px}
@media(min-width:1800px){.discord-hub .server-link{min-height:340px}.discord-hub .server-link strong{font-size:21px}}
@media(max-width:1100px){.discord-hub .server-list{grid-template-columns:repeat(2,minmax(0,1fr))}.discord-hub .server-link{min-height:280px}}
@media(max-width:650px){.community.discord-hub{padding:34px 5% 40px}.discord-hub .discord-heading{display:block;margin-bottom:24px}.discord-hub .discord-big-logo{width:200px;margin-bottom:22px}.discord-hub .discord-heading h2{font-size:25px}.discord-hub .server-list{grid-template-columns:1fr;gap:16px}.discord-hub .server-link{min-height:260px;padding:22px}.discord-hub .server-link:before{background-size:cover}.discord-hub .server-link strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.discord-hub .server-link,.discord-hub .server-link:before{transition:none}.discord-hub .server-link:hover,.discord-hub .server-link:hover:before{transform:none}}

/* Compact community grid grows to six columns as servers are added. */
.discord-hub .server-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.discord-hub .server-link{min-height:240px;padding:18px}
.discord-hub .server-link strong{font-size:17px}
.discord-hub .server-link>img{width:34px;height:34px;margin-bottom:46px}
@media(min-width:1800px){.discord-hub .server-list{grid-template-columns:repeat(6,minmax(0,1fr))}.discord-hub .server-link{min-height:240px}.discord-hub .server-link strong{font-size:17px}}
@media(max-width:650px){.discord-hub .server-list{grid-template-columns:1fr}.discord-hub .server-link{min-height:230px}}
