.gallery-main{background:#101113;color:#f6f7f8;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.gallery-intro,.gallery-browse,.gallery-cta{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.gallery-intro{padding:90px 0 44px}
.gallery-main :is(h1,h2){font-family:inherit}
.gallery-intro h1{font-size:clamp(2rem,4.5vw,3.75rem);line-height:1.1;letter-spacing:.025em;margin:12px 0 20px;font-weight:400}
.gallery-intro p{margin:0;color:#c2c9cf}
.gallery-main h2{font-size:clamp(.95rem,2.4vw,1.35rem);font-weight:400;letter-spacing:.06em;margin:0 0 16px}
.collection-grid,.photo-grid{display:grid;gap:12px}
.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:42px}
.gallery-main button,#photo-viewer button{font:inherit;cursor:pointer;color:inherit}
.gallery-main button:focus-visible,#photo-viewer button:focus-visible,.photo-grid a:focus-visible{outline:2px solid #6de0fa;outline-offset:3px}
.collection{position:relative;isolation:isolate;text-align:left;aspect-ratio:1.55;overflow:hidden;padding:12px;background:#21272b;border:1px solid #57616a}
.collection img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.collection::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0a0e14 3%,transparent 94%);z-index:-1}
.collection span{position:absolute;bottom:10px;left:10px;right:8px}
.collection strong,.collection small{display:block}
.collection strong{font-weight:400;line-height:1.1}
.collection small{margin-top:5px;font-size:.75rem;color:#d5e5ee}
.collection:hover,.collection[aria-pressed=true]{border-color:#6de0fa}
.collection[aria-pressed=true]{box-shadow:inset 0 0 0 1px #6de0fa}
.gallery-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:14px}
.gallery-toolbar h2,.gallery-toolbar p{margin:0}
.gallery-toolbar p{font-size:.85rem;color:#c2c9cf}
#gallery-all{margin-left:auto}
#gallery-all,#gallery-more,.gallery-cta a{background:#1b252a;border:1px solid #5e8490;padding:8px 15px;text-decoration:none;color:#eefcff}
#gallery-all[aria-pressed=true],#gallery-all:hover,#gallery-more:hover,.gallery-cta a:hover{background:#25536a}
.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0}
.photo-grid [hidden],#gallery-more[hidden]{display:none}
.photo-grid a{position:relative;display:block;aspect-ratio:4/3;background:#23292e;overflow:hidden}
.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .22s ease}
.photo-grid a:hover img{transform:scale(1.035)}
.photo-expand{position:absolute;bottom:8px;right:8px;display:grid;place-items:center;width:30px;height:30px;color:white;background:#101113c9}
.gallery-more{text-align:center;margin-top:24px}
.gallery-cta{text-align:center;padding:48px 0 64px}
.gallery-cta a{display:inline-block}
#photo-viewer{box-sizing:border-box;width:min(1100px,calc(100% - 20px));max-width:none;max-height:calc(100dvh - 20px);padding:10px;background:#101113;color:#fff;border:1px solid #53636e;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
#photo-viewer::backdrop{background:#06080aeb}
body:has(#photo-viewer[open]){overflow:hidden}
.viewer-bar,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}
.viewer-bar p{margin:0;text-align:center;font-size:.88rem}
#photo-viewer button{flex:none;min-width:44px;min-height:44px;background:#222d34;border:1px solid #596a76;font-size:1.35rem}
#viewer-image{display:block;width:100%;height:min(72dvh,760px);object-fit:contain;touch-action:pan-y}
@media(max-width:700px){
  .gallery-intro,.gallery-browse,.gallery-cta{width:calc(100% - 32px)}
  .gallery-intro{padding:65px 0 32px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .collection-grid{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.photo-grid img{transition:none}}
@media(max-width:440px){.collection-grid{gap:6px}.collection{aspect-ratio:1}.collection strong{font-size:.82rem}}
