.screenshots{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.screenshots .section-heading{margin-bottom:38px}
.gallery-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.gallery-category{color:var(--red);font-weight:800;font-size:10px;letter-spacing:1.8px;margin-bottom:18px;display:block}
.gallery-copy h3{font-size:clamp(27px,3vw,38px);line-height:1.2;letter-spacing:-1px;margin:0 0 18px;max-width:390px}
.gallery-copy>p{color:var(--muted);font-size:15px;max-width:390px;min-height:80px}
.gallery-controls{display:flex;align-items:center;gap:14px;margin:30px 0 23px}
.gallery-controls .icon-button{height:46px;width:46px;border:1px solid #d3dae4;background:white}
.gallery-controls .icon-button:hover{background:var(--yellow);border-color:var(--yellow)}
.gallery-controls #gallery-prev svg{transform:rotate(180deg)}
.gallery-status{font-size:12px;letter-spacing:2px;font-weight:750;min-width:66px;text-align:center;font-variant-numeric:tabular-nums}
.gallery-choices{display:flex;gap:8px;flex-wrap:wrap}
.gallery-choices button{width:43px;height:43px;border:1px solid #d3dae4;border-radius:10px;background:transparent;color:var(--muted);font-size:11px;font-weight:750}
.gallery-choices button[aria-current=true]{background:var(--navy);color:white;border-color:var(--navy);box-shadow:inset 0 -3px var(--yellow)}
.gallery-hint{display:block;margin-top:20px;font-size:11px;color:var(--muted)}
.gallery-stage{height:625px;position:relative;display:flex;justify-content:center;align-items:center;min-width:0;isolation:isolate;background:var(--navy);border-radius:30px;padding:38px 24px;overflow:hidden;touch-action:pan-y pinch-zoom}
.gallery-stage:before{content:"";position:absolute;z-index:-1;width:470px;height:470px;border:1px solid #ffffff17;border-radius:50%;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff03}
.gallery-stage:after{content:"";position:absolute;width:100px;height:4px;background:var(--yellow);bottom:0;left:calc(50% - 50px)}
.gallery-open{display:flex;padding:0;border:7px solid #1a273e;border-radius:35px;background:#0b1524;box-shadow:0 22px 45px #0005,0 0 0 1px #8795af66;overflow:hidden;max-width:100%;height:545px;aspect-ratio:707/1536;cursor:zoom-in}
.gallery-open img{display:block;width:100%;height:100%;object-fit:contain;background:#0b1524}
.is-landscape .gallery-open{width:100%;height:auto;aspect-ratio:1536/707;border-radius:26px}
.gallery-note{font-size:11px;color:var(--muted);margin:25px 0 0;max-width:780px}
.screen-dialog{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:94vh;padding:0;border:1px solid #d3dae4;border-radius:20px;background:#f6f8fb;overflow:auto}
.screen-dialog::backdrop{background:#04102be0;backdrop-filter:blur(6px)}
.screen-dialog .dialog-top{position:sticky;top:0;background:#fff;gap:12px;z-index:1;padding:16px 22px}
.screen-dialog h2{font-size:17px;letter-spacing:-.3px;margin:0;line-height:1.4}
.screen-dialog .close-dialog{flex-shrink:0}
.screen-dialog-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(90vh - 92px);margin:15px auto;object-fit:contain}
@media(max-width:1120px){.gallery-layout{gap:30px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.gallery-stage{height:570px}.gallery-open{height:500px}}
@media(max-width:800px){.gallery-layout{grid-template-columns:1fr;gap:26px}.gallery-copy{display:contents}.gallery-category{margin:0}.gallery-copy h3{margin:0;max-width:none;min-height:65px}.gallery-copy>p{margin:0;min-height:75px;max-width:none;font-size:14px}.gallery-stage{grid-row:4;height:545px;padding:30px 18px;border-radius:24px}.gallery-open{height:485px}.gallery-controls{grid-row:5;justify-content:center;margin:0}.gallery-choices{grid-row:6;justify-content:center}.gallery-hint{grid-row:7;text-align:center;margin:0}.gallery-note{margin-top:22px}.screen-dialog .dialog-top{padding:12px}.screen-dialog h2{font-size:14px}}
@media(max-width:380px){.gallery-stage{height:510px}.gallery-open{height:455px}.gallery-choices{gap:6px}.gallery-choices button{width:39px;height:39px}}
