/* Four equal games, led by large cinematic frames rather than thumbnails. */
.hub-page .shell { max-width:1440px; }
.hub-page main { padding:16px 0 36px; }
.hub-page .hub-intro { margin:0 0 16px; max-width:none; }
.hub-page .hub-intro h1 { font-size:clamp(48px,5vw,68px); line-height:1.12; max-width:none; }
.hub-page .hub-section-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; gap:16px; }
.hub-page .hub-section-heading h2 { font:inherit; margin:0; color:var(--muted); font-size:16px; }
.hub-page .hub-gallery-toggle { min-height:44px; padding:8px 0 8px 16px; background:none; color:var(--muted); font-size:14px; }
.hub-page .hub-gallery-toggle:hover { color:var(--ink); background:none; }
.hub-page .game-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 32px; }
.hub-page .game-card { display:flex; flex-direction:column; min-width:0; overflow:visible; background:none; border:0; border-radius:0; text-decoration:none; }
.hub-page .game-card-image { width:100%; aspect-ratio:2/1; background:#0e1210; isolation:isolate; }
.hub-page .hub-card-slides { position:absolute; inset:0; display:block; aspect-ratio:auto; border:0; border-radius:0; }
.hub-page .hub-card-slides img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; aspect-ratio:auto; filter:none; }
.hub-page .game-card-copy { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 20px; padding:14px 0 0; }
.hub-page .game-card-footer { grid-column:2; grid-row:1; }
.hub-page .game-card h3 { font-size:clamp(24px,2.2vw,32px); letter-spacing:-.035em; line-height:1.2; margin:0; }
.hub-page .game-card p { color:var(--muted); font-size:16px; line-height:1.5; grid-column:1/-1; margin:0; max-width:none; }
.hub-page .card-action { display:inline-flex; min-height:44px; align-items:center; padding:4px 0; margin:0; border:0; font-size:15px; color:var(--ink); text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:6px; text-decoration-thickness:2px; }
.hub-page .game-card:is(:hover,:focus-visible) .card-action { color:var(--accent); }
.hub-page .game-card:focus-visible { outline:2px solid var(--accent); outline-offset:8px; }
.hub-page .platform-footer { margin-top:10px; border:0; font-size:14px; }
@media(prefers-reduced-motion:no-preference) { .hub-page .card-action { transition:color .18s ease; } }
@media(max-width:1000px) {
 .hub-page .game-cards { gap:36px 24px; }
 .hub-page .game-card-copy { grid-template-columns:minmax(0,1fr); gap:8px; }
 .hub-page .game-card-footer { grid-column:1; grid-row:3; }
}
@media(max-width:600px) {
 .hub-page main { padding-top:18px; }
 .hub-page .hub-intro { margin-bottom:14px; }
 .hub-page .hub-intro h1 { font-size:clamp(42px,10vw,58px); max-width:12ch; }
 .hub-page .hub-section-heading { margin-bottom:18px; }
 .hub-page .game-cards { grid-template-columns:minmax(0,1fr); gap:32px; }
 .hub-page .game-card-image { aspect-ratio:16/9; }
 .hub-page .game-card h3 { font-size:28px; }
 .hub-page .game-card p { font-size:15px; }
 .hub-page .card-action { font-size:15px; }
}
