/* Genuine, uncropped app captures. Captions stay outside the artwork. */
.games-gallery{max-width:920px;margin:42px auto 0;padding-top:34px;border-top:1px solid #b3d0c52e}
.games-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}
.games-gallery-heading .eyebrow{color:var(--pink);margin-bottom:12px}
.games-gallery-heading h3{font:400 clamp(1.9rem,3.2vw,2.65rem)/1.15 var(--serif);letter-spacing:-.025em}
.games-gallery-heading>p{max-width:220px;color:var(--muted);font-size:.875rem;line-height:1.7}
.games-gallery-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#95b3a8 transparent;padding:8px 4px 24px;scroll-padding-inline:4px}
.game-card{flex:0 0 calc((100% - 56px)/3);min-width:0;scroll-snap-align:start}
.game-shot{display:block;border:1px solid #e3d4aa66;border-radius:12px;padding:5px;background:#092e32;box-shadow:0 14px 24px #001b2333;overflow:hidden;cursor:zoom-in;transition:border-color .2s,box-shadow .2s}
.game-shot img{width:100%;height:auto;object-fit:contain;border-radius:7px}
.game-shot:hover{border-color:#f0dba8;box-shadow:0 14px 30px #001b2366}
.game-card figcaption{text-align:center;padding:20px 4px 4px}
.game-card h4{margin:0 0 6px;font:400 clamp(1.3rem,2vw,1.65rem)/1.25 var(--serif);color:var(--pearl)}
.game-card figcaption p{font-size:.875rem;color:var(--muted);line-height:1.6}
.games-gallery-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:0;flex-shrink:0}
.games-gallery-controls[hidden]{display:none}
.games-gallery-controls button,.game-lightbox button{width:46px;height:46px;flex-shrink:0;border:1px solid #b7cfc677;border-radius:50%;background:#153e42;color:var(--pearl);font:400 1.9rem/1 var(--serif);cursor:pointer;touch-action:manipulation}
.games-gallery-controls button:hover,.game-lightbox button:hover{background:#285457}
.games-gallery-controls button:disabled{opacity:.35;cursor:default}
.games-gallery-position{min-width:64px;text-align:center;font-size:.8rem;color:var(--muted)}
.games-gallery-note{text-align:center;color:var(--muted);font-size:.75rem;margin-top:22px}
.games-launch-link{display:table;margin:22px auto 0;padding:12px 22px;border:1px solid #edc5b6;border-radius:30px;text-decoration:none;color:var(--pearl);text-align:center;font-size:.9rem}
.games-launch-link:hover{background:#edc5b61a}
.games-launch-link span{padding-left:8px}
.games-gallery :focus-visible,.game-lightbox :focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.game-lightbox{box-sizing:border-box;width:min(720px,100% - 24px);max-width:none;height:min(980px,100dvh - 24px);max-height:none;padding:14px 18px;border:1px solid #a8c0ad66;border-radius:18px;background:#082e33;color:var(--pearl);overflow:hidden}
.game-lightbox[open]{display:flex;flex-direction:column}
.game-lightbox::backdrop{background:#001719ed}
.game-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:10px;flex-shrink:0}
.game-lightbox-bar h2{font:400 1.4rem/1.2 var(--serif)}
.game-lightbox-view{flex:1;min-height:0;display:flex;justify-content:center;touch-action:pan-y}
.game-lightbox-view img{width:100%;height:100%;object-fit:contain}
.game-lightbox-controls{display:flex;justify-content:center;align-items:center;gap:24px;padding-top:10px;flex-shrink:0}
.game-lightbox-controls p{font-size:.8rem;min-width:44px;text-align:center}
@media(max-width:900px){.game-card{flex-basis:calc((100% - 28px)/2)}.games-gallery-heading{display:block}.games-gallery-heading>p{max-width:none;margin-top:16px}}
@media(max-width:599px){.games-gallery{margin-top:42px;padding-top:30px}.games-gallery-heading{margin-bottom:22px}.games-gallery-heading h3{max-width:290px}.games-gallery-track{gap:18px;margin-right:-12px}.game-card{flex-basis:86%}.game-card h4{font-size:1.5rem}.games-launch-link{font-size:.85rem;padding:12px 18px}.game-lightbox{padding:10px;width:calc(100% - 12px);height:calc(100dvh - 12px);border-radius:12px}.game-lightbox-bar h2{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.game-shot{transition:none}}

.gallery-hint{margin-top:14px;font-size:.8rem;line-height:1.6;color:var(--muted)}
.gallery-mobile-hint{display:none}
.gallery-collection-note{max-width:620px;margin:20px auto 0;text-align:center;color:var(--muted);font-size:.875rem;line-height:1.7}
.gallery-collection-note strong{color:var(--pearl);font-weight:600}
.game-lightbox-description{max-width:500px;margin:10px auto 0;text-align:center;font-size:.8125rem;line-height:1.5;flex-shrink:0;color:var(--muted)}
@media(max-width:900px){.games-gallery-heading{display:flex;align-items:center}.games-gallery-heading h3{font-size:2rem}}
@media(max-width:599px){.games-gallery-heading{display:block}.games-gallery-controls{justify-content:flex-start;margin-top:18px}.gallery-mobile-hint{display:inline}.gallery-desktop-hint{display:none}.gallery-collection-note{text-align:left}.game-lightbox-description{font-size:.75rem}}

/* Give the gallery a quiet ending and the landing footer a clear rhythm. */
.games-gallery-note{margin-top:10px;font-size:.6875rem;letter-spacing:.035em;color:#a7bfbd}
.gallery-collection-note{margin:28px auto 0;text-align:center;font-size:.8125rem;line-height:1.65}
.gallery-collection-note strong{display:block;margin-bottom:5px;font:400 1.25rem/1.3 var(--serif);color:var(--pearl)}
.games-launch-link{margin-top:24px;padding:11px 24px;font-size:.875rem}
.landing .site-footer{padding:32px 0 24px}
.landing .site-footer>.wrap{max-width:920px}
.landing .footer-top{display:block;margin-bottom:22px;padding-right:56px}
.landing .footer-wordmark{font-size:1.2rem}
.landing .footer-top p{margin-top:8px;font-size:.8125rem}
.landing .site-footer nav{display:grid;grid-template-columns:repeat(4,max-content);gap:4px 28px}
.landing .site-footer nav a{font-size:.75rem;min-height:40px;line-height:1.5}
.landing .footer-bottom{margin-top:18px;padding-top:18px;font-size:.6875rem;gap:12px}
.landing .visitor-counter{margin-top:8px;font-size:.6875rem}
@media(max-width:599px){
 .gallery-collection-note{text-align:center}
 .landing .site-footer nav{grid-template-columns:1fr 1fr;gap:0 16px}
 .landing .site-footer nav a{font-size:.75rem;min-height:40px}
 .landing .footer-bottom{flex-wrap:nowrap;font-size:.6875rem}
 .landing .footer-top{margin-bottom:18px}
}

/* Keep each full capture and its caption within the available viewport. */
.game-shot{width:fit-content;max-width:100%;margin-inline:auto}
.game-shot img{width:auto;max-width:100%;height:auto;max-height:min(480px,calc(100svh - 300px));object-fit:contain}
.game-card figcaption{padding-top:14px}
@media(max-width:599px){
 .games-gallery{padding-top:20px}
 .games-gallery-heading{margin-bottom:12px}
 .games-gallery-heading .eyebrow{font-size:.625rem;margin-bottom:8px}
 .games-gallery-heading h3{font-size:1.75rem}
 .gallery-hint{margin-top:8px;font-size:.75rem}
 .games-gallery-controls{margin-top:10px;gap:10px}
 .games-gallery-controls button{width:44px;height:44px}
 .games-gallery-track{padding-top:4px;padding-bottom:12px}
 .game-shot img{max-height:min(440px,max(120px,calc(100svh - 330px)))}
 .game-card figcaption{padding:12px 2px 4px}
 .game-card h4{font-size:1.25rem;margin-bottom:6px}
 .game-card figcaption p{font-size:.875rem;line-height:1.5}
}

/* A quiet freshwater setting lets the artwork lead the gallery. */
.games-gallery{position:relative;isolation:isolate;border-top:0;padding:24px 20px 28px;border-radius:24px;overflow:hidden}
.games-gallery::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#032a31d9,#032a3180 35%,#032a31ef 78%),url('/assets/hidden-waters-960.webp') center/cover no-repeat;opacity:.85;pointer-events:none}
.games-gallery-heading{margin-bottom:20px}
.games-gallery-heading h3{font-size:2rem}
.gallery-hint{margin-top:6px}
.game-shot{padding:3px;background:#092e3280;border-color:#d9d8bb66;box-shadow:0 12px 30px #00161980}
.game-card figcaption p{color:#d7e5df}
@media(max-width:599px){
 .games-gallery{--showcase-height:min(540px,max(180px,calc(100svh - 215px)));margin-inline:-12px;padding:18px 12px 24px;border-radius:18px}
 .games-gallery-heading{display:block;text-align:center;margin-bottom:14px}
 .games-gallery-heading h3{max-width:none;font-size:1.65rem;line-height:1.2}
 .gallery-hint{font-size:.6875rem;line-height:1.5;margin-top:5px}
 .games-gallery-track{gap:0;margin:0;padding:0 0 8px;scroll-padding:0;scrollbar-width:none}
 .games-gallery-track::-webkit-scrollbar{display:none}
 .game-card{flex-basis:100%;scroll-snap-align:center}
 .game-shot{max-width:calc(100% - 96px)}
 .game-shot img{max-height:var(--showcase-height);width:auto;max-width:100%}
 .game-card figcaption{padding:12px 8px 0}
 .game-card h4{font-size:1.3rem}
 .game-card figcaption p{font-size:.875rem;line-height:1.5;max-width:360px;margin-inline:auto}
 .games-gallery-controls{display:contents}
 .games-gallery-controls button{position:absolute;z-index:2;top:calc(90px + var(--showcase-height)/2);transform:translateY(-50%);width:44px;height:44px;background:#052c34b3;border-color:#dfdfbe66}
 .games-gallery-controls [data-games-prev]{left:12px}
 .games-gallery-controls [data-games-next]{right:12px}
 .games-gallery-position{position:absolute;right:20px;top:66px;min-width:0;font-size:.625rem;color:#d7e5df}
 .gallery-collection-note{margin-top:32px}
}
