body{background:#f1f6fc}.gallery-main{padding:75px 0 100px}.gallery-main h1{font-size:clamp(2rem,4vw,3.5rem);color:#0c2d58}.gallery-intro{color:#52677e;max-width:720px;margin:16px 0 42px}.gallery-section{scroll-margin-top:115px;margin:0 0 70px}.gallery-section h2{color:#0d2e57;font-size:2rem}.gallery-section p{color:#53667d;margin:6px 0 24px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.shot{padding:0;border:1px solid #d9e5f2;border-radius:14px;overflow:hidden;background:white;text-align:left;cursor:pointer;box-shadow:0 5px 22px #10355a14;transition:transform .2s,box-shadow .2s}.shot:hover{transform:translateY(-3px);box-shadow:0 12px 28px #10355a2b}.shot img{display:block;width:100%;height:205px;object-fit:contain;background:#e8eff7}.shot span{display:block;padding:13px 16px;color:#18375a;font-weight:650}dialog{position:fixed;inset:0;max-width:min(96vw,1450px);max-height:95vh;border:0;border-radius:16px;padding:50px 65px 24px;background:#071b33;color:white}dialog::backdrop{background:#001225e8}dialog figure{margin:0;text-align:center}dialog img{max-width:100%;max-height:75vh;object-fit:contain}dialog figcaption{padding:12px}dialog button{position:absolute;background:#123e70;color:white;border:0;border-radius:8px;cursor:pointer;font-size:30px;padding:5px 14px}.close-viewer{top:8px;right:12px}.previous{top:50%;left:10px}.next{top:50%;right:10px}@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shot img{height:145px}dialog{padding:52px 34px 20px}}@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}.shot img{height:210px}}