.page-head{padding:4.5rem 0 3rem}
.page-head p{margin-top:1.2rem;font-size:1.2rem}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:3rem 0 2rem}
.chip{font:700 .98rem var(--body);padding:.55rem 1.2rem;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.grid{columns:3 280px;column-gap:1.4rem}
.shot{display:block;break-inside:avoid;margin:0 0 1.6rem;background:none;border-radius:0}
.shot[hidden]{display:none}
.open{display:block;position:relative;width:100%;aspect-ratio:var(--ar);padding:0;border:0;border-radius:16px;overflow:hidden;cursor:zoom-in;background:linear-gradient(135deg,transparent 48%,rgba(255,192,0,.35) 48% 52%,transparent 52%),var(--navy);background-size:34px 34px,auto}
.open img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph{position:absolute;left:1rem;bottom:.8rem;color:#C9DBF5;font-size:.85rem}
figcaption{margin-top:.6rem;font-weight:700;color:var(--navy)}
figcaption small{display:block;font-weight:400;color:#44587A}
dialog{border:0;border-radius:18px;padding:1rem;width:min(960px,94vw);background:var(--white)}
dialog::backdrop{background:rgba(11,36,80,.82)}
.v-img img{width:100%;max-height:74vh;object-fit:contain;border-radius:10px}
.v-empty{aspect-ratio:3/2;display:grid;place-items:center;background:var(--navy);color:#C9DBF5;border-radius:10px}
.v-cap{margin:.8rem 0 0;font-weight:500}
.close{float:right;margin:0 0 .6rem .6rem;font:700 .95rem var(--body);padding:.4rem 1rem;border-radius:999px;border:2px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer}
@media (max-width:820px){.page-head{padding-top:2.5rem}}
