.gallery-page{background:#fff}.gallery-page .gallery-intro{max-width:760px;margin-bottom:2.5rem}.gallery-page .gallery-intro h1{color:#111;font-size:clamp(2.5rem,5vw,4rem)}.gallery-page .gallery-intro p{color:#555;margin-top:1rem;font-size:1.125rem}.gallery-page .gallery-filters{border-bottom:1px solid #ddd;flex-wrap:wrap;justify-content:center;gap:.4rem 1.5rem;padding:.4rem;display:flex}.gallery-page .gallery-filters button{color:#222;background:0 0;border:0;border-bottom:2px solid #0000;flex-shrink:0;min-height:48px;padding:.65rem 0;font-size:1.2rem;font-weight:700}.gallery-page .gallery-filters button:is([aria-pressed=true],:hover,:focus-visible){color:var(--primary)}.gallery-page .gallery-filters button[aria-pressed=true]{border-bottom-color:var(--primary)}.gallery-page :is(button,a):focus-visible,.gallery-viewer :is(button,a):focus-visible{outline:2px solid var(--primary);outline-offset:4px}.gallery-page .gallery-status{color:#555;margin:1.5rem 0}.gallery-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem .5rem;margin:0;padding:0;list-style:none;display:grid}.gallery-page .gallery-grid li{min-width:0}.gallery-page .gallery-tile{aspect-ratio:4/3;cursor:zoom-in;background:#eee;border:0;width:100%;padding:0;display:block;position:relative}.gallery-page .gallery-tile-media{width:100%;height:100%;display:block;overflow:hidden}.gallery-page .gallery-tile img{object-fit:cover;width:100%;height:100%;display:block}.gallery-photo-pending{color:#666;text-align:center;background:#eee;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;padding:1.5rem;display:flex}.gallery-photo-pending strong{color:#333;font-size:1.35rem}.gallery-photo-pending>span{font-size:.875rem}.gallery-page .gallery-tile-info{color:#fff;box-shadow:inset 0 -3px var(--primary);opacity:0;pointer-events:none;background:#000000b8;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;padding:1.2rem;display:flex;position:absolute;inset:0}.gallery-page .gallery-tile-info strong{font-size:1.4rem}.gallery-page .gallery-tile:is(:hover,:focus-visible) .gallery-tile-info{opacity:1}.gallery-page .gallery-expand{align-items:center;gap:.65rem;font-size:.9rem;display:inline-flex}.gallery-page .gallery-expand svg{color:var(--primary)}.gallery-page .gallery-empty{padding:2rem 0}.gallery-viewer{color:#fff;background:#111;border:1px solid #444;border-radius:0;flex-direction:column;gap:1rem;width:calc(100vw - 2rem);max-width:1200px;max-height:calc(100dvh - 2rem);padding:1.5rem;display:flex;overflow-y:auto}.gallery-viewer-heading{padding-right:3rem}.gallery-viewer-heading h2{color:#fff;font-size:1.5rem}.gallery-viewer-heading p{color:#ccc;margin-top:.5rem}.gallery-viewer-media{min-height:0}.gallery-viewer-media img{object-fit:contain;width:100%;height:min(65dvh,760px);display:block}.gallery-viewer-media .gallery-photo-pending{height:min(55dvh,640px);min-height:180px}.gallery-viewer-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.gallery-viewer-paging{align-items:center;gap:1rem;display:flex}.gallery-viewer button{min-width:44px;min-height:44px}.gallery-viewer-paging button{color:#fff;background:#111;border:1px solid #666;padding:.5rem .75rem}.gallery-viewer-paging button:is(:hover,:focus-visible){border-color:var(--primary);color:var(--primary)}.gallery-viewer a{text-underline-offset:4px;padding-block:.6rem;text-decoration:underline;display:inline-block}.gallery-viewer>button{color:#fff;opacity:1}.gallery-page .gallery-cta{color:#fff;background:#111;padding:3rem 0}.gallery-page .gallery-cta .container{justify-content:space-between;align-items:center;gap:2rem;display:flex}.gallery-page .gallery-cta h2{color:#fff;font-size:clamp(1.75rem,3vw,2.25rem)}.gallery-page .gallery-cta p{color:#ccc;margin-top:.75rem}@media (width>=600px) and (prefers-reduced-motion:no-preference){.gallery-page .gallery-filters button{transition:color .16s,transform .16s}.gallery-page .gallery-filters button:is(:hover,:focus-visible){transform:scale(1.04)}}@media (prefers-reduced-motion:no-preference){.gallery-page .gallery-tile-media>*{transition:transform .25s}.gallery-page .gallery-tile-info{transition:opacity .2s}.gallery-page .gallery-tile:is(:hover,:focus-visible) .gallery-tile-media>*{transform:scale(1.035)}}@media (prefers-reduced-motion:reduce){.gallery-viewer,.gallery-viewer button{transition:none;animation:none}[data-state]:has(+.gallery-viewer){transition:none;animation:none}}@media (width<=1023px){.gallery-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (hover:none),(width<=599px){.gallery-page .gallery-tile-info{display:none}.gallery-page .gallery-photo-pending{padding-bottom:1.5rem}}@media (width<=599px){.gallery-page .gallery-filters{overscroll-behavior-x:contain;flex-wrap:nowrap;justify-content:flex-start;gap:1.5rem;padding:.5rem;overflow-x:auto}.gallery-page .gallery-grid{grid-template-columns:minmax(0,1fr);gap:.5rem}.gallery-page .gallery-cta .container{flex-direction:column;align-items:flex-start}.gallery-viewer{padding:1rem}.gallery-viewer-paging{gap:.5rem;font-size:.875rem}}
