
/* Portfolio photography: each artwork occupies its own full-width frame. */
.v4 .game-card:has(.portfolio-artwork){padding:0;min-height:0;isolation:isolate;box-shadow:0 0 0 1px #101d2512;transition:box-shadow .6s,transform .6s,background .6s}
.v4 .game-card:has(.portfolio-artwork) .game-top{position:absolute;top:19px;left:22px;right:22px;color:#e4ebee;z-index:4;font-size:.75rem;text-shadow:0 1px 12px #000}
.portfolio-artwork{position:relative;overflow:hidden;aspect-ratio:3/2;background:#0a151d;isolation:isolate}
.portfolio-artwork:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07121bb0,transparent 30%,transparent 78%,#101f2938);pointer-events:none;z-index:2}
.portfolio-photo{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.015) translate3d(0,0,0);transition:transform 1.1s cubic-bezier(.18,.6,.2,1),filter .8s;filter:saturate(.9)}
.artwork-light{position:absolute;inset:-70% -90%;background:linear-gradient(110deg,transparent 42%,#f1faff12 49%,#f1faff08 51%,transparent 58%);transform:translateX(-28%);opacity:0;z-index:3;pointer-events:none;transition:transform 1.3s ease,opacity .7s}
.v4 .game-card:has(.portfolio-artwork) .game-card-body{padding:25px 25px 30px;border:0;margin:0;min-height:160px}
.v4 .game-card:has(.portfolio-artwork) h3{font-size:1.65rem;line-height:1.2}
.v4 .game-card:has(.portfolio-artwork) p{font-size:.96rem;line-height:1.7;max-width:100%;margin-top:13px}
@media(hover:hover) and (pointer:fine){
 .v4 .game-card:has(.portfolio-artwork):hover{transform:translateY(-5px);box-shadow:0 18px 45px #10253122}
 .game-card:hover .portfolio-photo{transform:scale(1.065) translate3d(var(--art-x,0px),var(--art-y,0px),0);filter:saturate(1.04)}
 .game-card:hover .artwork-light{transform:translateX(28%);opacity:1}
}
@media(max-width:650px){
 .v4 .game-grid{gap:22px}
 .v4 .game-card:has(.portfolio-artwork) .game-card-body{padding:24px;min-height:0}
 .v4 .game-card:has(.portfolio-artwork) .game-top{top:17px;left:20px;right:20px;font-size:.75rem}
 .v4 .game-card:has(.portfolio-artwork) h3{font-size:1.7rem}
 .v4 .game-card:has(.portfolio-artwork) p{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){
 .portfolio-photo,.game-card:hover .portfolio-photo{transform:none!important;filter:none;transition:none}
 .artwork-light{display:none}
 .v4 .game-card:has(.portfolio-artwork):hover{transform:none}
}

