.google-gallery { padding: 72px var(--pad); color: #0B1B57; background: #EEF1F8; }
.google-gallery h2 { margin: 12px 0 22px; font: clamp(34px,5vw,66px)/1 var(--display); letter-spacing: -.05em; }
.google-gallery > p { font-size: 14px; line-height: 1.6; }
.google-gallery-track { --photo-width: min(70vw,600px); position: relative; display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 12px max(0px,calc((100% - var(--photo-width)) / 2)) 24px; }
.google-gallery-track figure { flex: 0 0 var(--photo-width); margin: 0; scroll-snap-align: center; opacity: .65; transform: scale(.94); transition: opacity 300ms ease, transform 300ms ease; }
.google-gallery-track figure.is-current { opacity: 1; transform: scale(1); }
.google-gallery-track img { display: block; width: 100%; height: 300px; object-fit: cover; }
.google-gallery-track figcaption { padding: 12px 0; font-size: 11px; line-height: 1.5; }
.google-gallery-track figcaption a { text-decoration: underline; }
.google-gallery-action { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 20px; color: white; background: #1F4FD8; border-radius: 50px; margin-top: 14px; }
.google-gallery-source { display: inline-block; margin-left: 18px; text-decoration: underline; font-size: 13px; }
.gallery-controls { display: flex; gap: 22px; align-items: center; justify-content: center; }
.gallery-controls button, .gallery-close { min-width: 48px; min-height: 48px; border: 1px solid currentColor; border-radius: 50%; color: inherit; background: transparent; cursor: pointer; font-size: 24px; }
.gallery-controls button:disabled { opacity: .3; cursor: default; }
.gallery-controls button:focus-visible, .gallery-close:focus-visible, .google-gallery-track a:focus-visible { outline: 3px solid #8DB4E6; outline-offset: 4px; }
body.gallery-open { overflow: hidden; }
.gallery-lightbox { width: min(1100px,94vw); max-width: 94vw; max-height: 94dvh; padding: 64px 24px 20px; border: 1px solid #8DB4E6; color: #EEF1F8; background: #0B1B57; }
.gallery-lightbox::backdrop { background: rgba(3,9,30,.92); }
.gallery-lightbox > img { display: block; width: 100%; height: min(65dvh,650px); object-fit: contain; touch-action: pan-y; }
.gallery-close { position: absolute; top: 10px; right: 14px; }
.gallery-credit { text-align: center; font-size: 12px; padding: 14px 0; }
.gallery-credit a { text-decoration: underline; }
.gallery-lightbox .gallery-controls p { margin: 0; }
@media(prefers-reduced-motion:reduce) { .google-gallery-track figure { transition: none; transform: none; } }
@media(max-width:760px) { .google-gallery { padding: 48px 20px; } .google-gallery-track img { height: 245px; } .google-gallery-source { margin: 18px 0 0; display: block; } }
