.gallery[data-astro-cid-rj65ajc3]{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));margin:0;padding:0;list-style:none;display:grid}.gallery__item[data-astro-cid-rj65ajc3]{aspect-ratio:4/3;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-alt);position:relative;overflow:hidden}@media (width<=700px){.gallery[data-astro-cid-rj65ajc3]{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=720px){.gallery__item--wide[data-astro-cid-rj65ajc3]{aspect-ratio:1;grid-area:span 2/span 2}}.gallery__img[data-astro-cid-rj65ajc3]{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.gallery__item[data-astro-cid-rj65ajc3]:hover .gallery__img[data-astro-cid-rj65ajc3]{transform:scale(1.05)}.gallery__trigger[data-astro-cid-rj65ajc3]{border-radius:inherit;width:100%;height:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.gallery__trigger[data-astro-cid-rj65ajc3]:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.gallery__trigger[data-astro-cid-rj65ajc3]:active .gallery__img[data-astro-cid-rj65ajc3]{transform:scale(1.02)}.gallery__placeholder[data-astro-cid-rj65ajc3]{background:radial-gradient(120% 120% at 70% 20%, color-mix(in srgb, var(--color-accent) 12%, transparent) 0%, transparent 60%), linear-gradient(135deg, var(--color-accent-soft), var(--color-surface-alt));color:color-mix(in srgb, var(--color-accent) 50%, transparent);place-items:center;display:grid;position:absolute;inset:0}.gallery-lightbox{width:100dvw;max-width:none;height:100dvh;max-height:none;padding:var(--space-5);background:color-mix(in srgb, var(--color-ink) 92%, transparent);color:var(--color-ink);border:0;inset:0}.gallery-lightbox[open]{place-items:center;display:grid}.gallery-lightbox::backdrop{background:0 0}.gallery-lightbox__panel{align-items:center;gap:var(--space-4);width:min(100%, var(--container-max));max-height:calc(100dvh - (2 * var(--space-5)));padding:var(--space-7) var(--space-5) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.gallery-lightbox__figure{text-align:center;touch-action:pan-y;min-width:0;margin:0}.gallery-lightbox__image{object-fit:contain;border-radius:var(--radius-lg);background:var(--color-surface-alt);width:100%;max-height:calc(100dvh - 11rem)}.gallery-lightbox__caption{justify-content:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--color-ink-soft);font-size:var(--fs-400);line-height:var(--lh-snug);display:flex}.gallery-lightbox__counter{color:var(--color-accent);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);flex:none}.gallery-lightbox__control{width:var(--space-7);height:var(--space-7);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-accent);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);place-items:center;padding:0;display:inline-grid}.gallery-lightbox__control:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.gallery-lightbox__control:active{transform:scale(.96)}.gallery-lightbox__control:focus-visible{outline:3px solid var(--color-focus);outline-offset:var(--space-1)}.gallery-lightbox__control:disabled{opacity:.45;cursor:default}.gallery-lightbox__close{top:var(--space-3);right:var(--space-3);position:absolute}@media (width<=700px){.gallery-lightbox{padding:var(--space-2)}.gallery-lightbox__panel{grid-template-columns:var(--space-7) minmax(0, 1fr) var(--space-7);gap:var(--space-2);max-height:calc(100dvh - (2 * var(--space-2)));padding:var(--space-7) var(--space-2) var(--space-4);border-radius:var(--radius-lg)}.gallery-lightbox__image{max-height:calc(100dvh - 12rem)}.gallery-lightbox__caption{gap:var(--space-1);flex-direction:column}}
