/* Decorative artwork only: real product links remain in the collection. */
.nfg-hero-visual { position: relative; min-width: 0; padding-bottom: 36px; }
.nfg-game-orbit { position: relative; width: 100%; aspect-ratio: 1.3; max-width: 540px; margin-inline: auto; color: var(--ink); pointer-events: none; user-select: none; isolation: isolate; }
.nfg-orbit-disc { position: absolute; inset: 14% 10% 14%; border: 4px solid var(--ink); border-radius: 50%; background: var(--cyan); }
.nfg-orbit-path { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5; }
.nfg-floating-game { position: absolute; width: 43%; padding: 8px 8px 0; border: 4px solid var(--ink); border-radius: 22px; background: var(--cream); box-shadow: 0 6px 0 var(--shadow); animation: nfg-orbit-float 8s ease-in-out infinite; animation-play-state: paused; }
.nfg-floating-game-1 { top: 4%; left: 41%; --float-x: -6px; --float-y: 10px; animation-delay: -2s; }
.nfg-floating-game-2 { top: 35%; left: 0; background: var(--sage); --float-x: 8px; --float-y: -8px; animation-duration: 10s; animation-delay: -5s; }
.nfg-floating-game-3 { bottom: 13%; right: 0; background: var(--coral); --float-x: -8px; --float-y: -10px; animation-duration: 9s; animation-delay: -3s; }
.game-ui .nfg-floating-game .nfg-cover { border-width: 3px; border-radius: 12px; }
.nfg-cartridge-edge { display: flex; align-items: center; justify-content: end; gap: 5px; height: 20px; padding-right: 3px; }
.nfg-cartridge-edge > span { width: 14px; height: 3px; background: var(--ink); border-radius: 3px; }
.nfg-orbit-unlock { position: absolute; width: 39%; left: 32%; top: 38%; z-index: 2; --float-x: 0px; --float-y: -7px; animation: nfg-orbit-float 7s ease-in-out infinite; animation-delay: -1s; animation-play-state: paused; }
.nfg-orbit-unlock svg { display: block; width: 100%; height: auto; }
.nfg-orbit-caption { position: absolute; bottom: 1%; left: 12%; padding: 7px 15px; border: 3px solid var(--ink); border-radius: 999px; background: var(--cream); box-shadow: 0 4px 0 var(--shadow); font: 900 clamp(11px, 1.1vw, 14px)/1.3 var(--game-font); }
.nfg-orbit-spark { position: absolute; font-family: var(--game-font); line-height: 1; }
.nfg-orbit-spark-one { top: 10%; left: 14%; font-size: 48px; }
.nfg-orbit-spark-two { bottom: 18%; left: 11%; font-size: 34px; }
.nfg-orbit-dot { position: absolute; top: 39%; right: 6%; width: 19px; height: 19px; border: 3px solid var(--ink); border-radius: 50%; background: var(--cream); }
.nfg-motion-toggle { position: absolute; bottom: -2px; right: 0; display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; padding: 7px 12px; border: 0; border-radius: 16px; background: transparent; color: var(--muted-ink); font: 800 12px/1.2 var(--game-font); cursor: pointer; }
.nfg-motion-toggle[hidden] { display: none; }
.nfg-motion-toggle i { font-size: 18px; }
@media (hover: hover) and (pointer: fine) { .nfg-motion-toggle:hover { background: var(--cream); color: var(--ink); } }
.nfg-game-orbit[data-running="true"] :is(.nfg-floating-game, .nfg-orbit-unlock) { animation-play-state: running; }
@keyframes nfg-orbit-float {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(var(--float-x), var(--float-y)); }
}
@media (max-width: 991px) and (min-width: 768px) {
    .nfg-floating-game { padding: 5px 5px 0; border-width: 3px; border-radius: 16px; }
    .game-ui .nfg-floating-game .nfg-cover { border-width: 2px; border-radius: 8px; }
    .nfg-orbit-caption { font-size: 11px; padding: 5px 10px; }
}
@media (max-width: 767px) {
    .nfg-hero-visual { width: 100%; max-width: 420px; justify-self: center; padding-bottom: 34px; }
    .nfg-floating-game { padding: 5px 5px 0; border-width: 3px; border-radius: 16px; box-shadow: 0 4px 0 var(--shadow); }
    .game-ui .nfg-floating-game .nfg-cover { border-width: 2px; border-radius: 9px; }
    .nfg-cartridge-edge { height: 15px; gap: 4px; }
    .nfg-cartridge-edge > span { width: 10px; }
    .nfg-orbit-disc { border-width: 3px; }
    .nfg-orbit-spark-one { font-size: 32px; }
    .nfg-orbit-spark-two { font-size: 26px; }
    .nfg-orbit-dot { width: 14px; height: 14px; }
    .nfg-orbit-caption { font-size: 11px; padding: 5px 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .nfg-game-orbit :is(.nfg-floating-game, .nfg-orbit-unlock) { animation: none !important; transform: none; }
    .nfg-motion-toggle { display: none; }
}
