.gameplay{position:relative;background:var(--bg);padding:85px 0 90px;border-block:1px solid #dbbd9126}
.gameplay-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}
.gameplay-heading h2{font-size:clamp(34px,3.6vw,54px);margin:0}
.gameplay-heading>p{max-width:270px;font-size:15px;color:var(--muted);margin:0}
.gameplay-panel{display:grid;grid-template-columns:1fr 1.7fr;gap:65px;align-items:center;padding:38px 0;border-top:1px solid var(--line)}
.gameplay-copy h3{font-size:clamp(26px,2.6vw,38px);margin:14px 0 20px}
.gameplay-copy p{color:var(--muted);font-size:16px;max-width:310px;margin-bottom:18px}
.gameplay-hint{font-size:11px;color:var(--gold)}
.gameplay-photos{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gameplay-shot{position:relative;display:block;padding:6px;border:1px solid #dbbd9159;background:#0b131c;overflow:hidden;transition:border-color .2s,transform .2s}
.gameplay-shot:first-child{grid-column:1/-1}
.gameplay-shot img{height:auto;aspect-ratio:2.38;object-fit:contain;transition:filter .2s}
.gameplay-shot:first-child img{aspect-ratio:2.38}
.gameplay-shot:only-child img{aspect-ratio:2.1}
.gameplay-shot:hover{border-color:var(--gold);transform:translateY(-2px)}
.gameplay-shot:hover img{filter:brightness(1.08)}
.gameplay-shot:after{content:'↗';position:absolute;right:14px;bottom:12px;width:28px;height:28px;display:grid;place-items:center;background:#0b131cce;border:1px solid #dbbd9159;color:#f2dfc4;font-size:16px}
.gameplay-photos:has(> :nth-child(2):last-child){grid-template-columns:1fr}
.gameplay-note{font-size:11px;color:#b8c6cf;margin:20px 0 0}
.gallery-dialog{width:min(1440px,96vw);max-width:96vw;max-height:96svh;padding:18px;border:1px solid #dbbd9180;background:#0b131c;color:var(--text);overflow:auto;box-shadow:0 20px 100px #0009}
.gallery-dialog::backdrop{background:#050b12ed}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.gallery-toolbar p{margin:0;font-size:12px;letter-spacing:.05em;color:var(--gold)}
.gallery-dialog button{font:inherit;color:var(--text);border:1px solid #dbbd9159;background:#172330;padding:8px 16px;cursor:pointer}
.gallery-dialog button:hover{border-color:var(--gold);background:#223345}
.gallery-dialog button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gallery-large{display:block;width:100%;height:auto;max-height:74svh;object-fit:contain;background:#070d14}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}
.gallery-caption{font-size:14px;color:var(--muted);margin:0}
.gallery-controls{display:flex;gap:8px;flex:none}
html.gallery-open{overflow:hidden}
@media(max-width:900px){.gameplay-panel{gap:30px;grid-template-columns:1fr 1.5fr}}
@media(max-width:760px){.gameplay{padding:55px 0}.gameplay-heading{display:block;margin-bottom:32px}.gameplay-heading>p{max-width:100%;margin-top:20px}.gameplay-panel{grid-template-columns:1fr;gap:20px;padding:30px 0}.gameplay-copy h3{font-size:29px;margin:10px 0 14px}.gameplay-copy p{max-width:100%;margin-bottom:10px}.gameplay-photos{gap:9px}.gameplay-shot{padding:4px}.gameplay-shot:first-child img,.gameplay-shot:only-child img{aspect-ratio:16/9}.gallery-dialog{padding:12px}.gallery-bottom{align-items:start;gap:12px;flex-direction:column}.gallery-controls{align-self:end}.gallery-large{max-height:67svh}.gallery-toolbar p{font-size:10px}}
/* Each category shows one image; the remaining photos stay inside its gallery. */
.gameplay-galleries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.gameplay-panel{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:26px 0 0;min-width:0}
.gameplay-copy{flex:1}
.gameplay-copy h3{font-size:clamp(23px,2.3vw,34px)}
.gameplay-copy p{max-width:none;font-size:15px;min-height:81px}
.gameplay-photos{display:block}
.gameplay-shot img,.gameplay-shot:first-child img,.gameplay-shot:only-child img{aspect-ratio:16/10;object-fit:cover}
.gameplay-hint{margin:12px 0 0;font-size:10px}
.gallery-inline-controls{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:8px;color:var(--gold);font-size:12px;letter-spacing:.08em}
.gallery-inline-controls button{background:transparent;border:1px solid #dbbd9140;color:var(--text);font:18px var(--sans);padding:4px 14px;cursor:pointer}
.gallery-inline-controls button:hover{border-color:var(--gold);background:#dbbd9114}
.gallery-inline-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gallery-inline-controls:has(button[hidden]){justify-content:center}
.gallery-controls[hidden],.gallery-inline-controls button[hidden]{display:none}
@media(max-width:900px){.gameplay-galleries{gap:20px}.gameplay-copy h3{font-size:24px}}
@media(max-width:760px){.gameplay-galleries{grid-template-columns:1fr;gap:32px}.gameplay-panel{padding-top:24px;gap:0}.gameplay-copy p{min-height:0}.gameplay-shot img,.gameplay-shot:first-child img,.gameplay-shot:only-child img{aspect-ratio:16/9}.gameplay-hint{margin-top:6px}}

/* Continue the original harbour scene behind the gallery panels. */
.gameplay>.wrap{position:relative;z-index:1}
.gameplay>.backdrop{object-position:62% center}
.gameplay>.shade,[data-scene=gameplay] .stage-shade{background:linear-gradient(90deg,#111923b3,#11192370),linear-gradient(0deg,#11192366,transparent 65%)}
[data-scene=gameplay] .scene-image{object-position:62% center}
.gameplay-copy,.gameplay-heading{text-shadow:0 2px 12px #07101bcc}
@media(max-width:760px){.gameplay>.backdrop,[data-scene=gameplay] .scene-image{object-position:57% center}.gameplay>.shade,[data-scene=gameplay] .stage-shade{background:linear-gradient(#1119239e,#111923b8)}}
/* A softly framed, clickable scene beside the title. */
.hero .hero-copy{display:grid;grid-template-columns:1fr 1.1fr;gap:18px;align-items:center}
.hero-intro{position:relative;z-index:2;min-width:0}
.hero-feature{position:relative;z-index:1;min-width:0;margin:0 0 0 -35px;padding-top:25px}
.hero .hero-shot{padding:8px;background:linear-gradient(120deg,#dbbd9112,#11192318);border:1px solid #dbbd914d;box-shadow:0 24px 70px #07101b45;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 97%,#0009);transition:border-color .25s,transform .25s}
.hero .hero-shot img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:42% center;mask-image:linear-gradient(90deg,#0007,#000 18%,#000 92%,#000b)}
.hero .hero-shot:hover{transform:translateY(-3px);border-color:#edcfaa99}
.hero-feature figcaption{display:flex;justify-content:space-between;gap:12px;margin:14px 8px 0 30px;color:#e2ccac;font-size:9px;letter-spacing:.14em}
.hero-feature figcaption span{font-size:11px;letter-spacing:0;color:#e4e4df}
@media(max-width:1050px) and (min-width:761px){.hero .hero-copy{grid-template-columns:1fr 1fr;gap:10px}.hero h1{font-size:70px}.hero-feature{margin-left:-22px}.hero-feature figcaption{display:block;line-height:2}.hero-feature figcaption span{display:block}.hero .hero-lead{font-size:16px}.hero-actions{gap:14px}}
@media(max-width:760px){.hero{height:auto;max-height:none;min-height:0}.hero .hero-copy{grid-template-columns:1fr;padding:140px 0 55px;gap:30px}.hero-feature{margin:0;padding:0}.hero .hero-shot{mask-image:linear-gradient(90deg,#000b,#000 8%,#000 94%,#000b)}.hero .hero-shot img{aspect-ratio:2.38;object-fit:contain;mask-image:none}.hero-feature figcaption{margin-left:8px;font-size:8px}.hero-feature figcaption span{font-size:10px}.hero .scroll-cue{display:none}}
