.hero-card.game-hero-image {
    max-width: 520px;
    padding: 0;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1.15 / 1;
    isolation: isolate;
    transform: rotate(1.5deg);
}

.game-hero-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.game-hero-image::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 35% 0 0;
    background: linear-gradient(transparent, rgba(7, 10, 17, 0.88));
}

.image-caption {
    position: absolute;
    z-index: 2;
    left: 27px;
    right: 27px;
    bottom: 24px;
    color: #fff;
}

.image-caption span {
    display: block;
    color: var(--lime);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.image-caption strong {
    display: block;
    margin-top: 3px;
    font-size: 22px;
    letter-spacing: -0.035em;
}

@media (max-width: 640px) {
    .hero-card.game-hero-image { padding: 0; aspect-ratio: 1.05 / 1; }
    .image-caption { left: 20px; right: 20px; bottom: 18px; }
}

.homepage-gallery { padding: 85px 0; background: #fff; }
.home-photo-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 18px; }
.home-photo-grid a { position: relative; height: 390px; overflow: hidden; border-radius: 24px; background: #10141f; }
.home-photo-grid img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .45s; }
.home-photo-grid a:hover img { transform: scale(1.025); }
.home-photo-grid a::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(5,8,14,.85)); }
.home-photo-grid span { position: absolute; z-index: 1; left: 22px; bottom: 18px; color: #fff; font-weight: 800; }
@media (max-width: 700px) { .home-photo-grid { grid-template-columns: 1fr; } .home-photo-grid a { height: 280px; } }
.brand-lockup { display: block; width: min(560px, 100%); height: auto; margin: 0 0 28px; }
