.gallery__grid.gallery__grid--mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-2);align-items:stretch}.gallery__grid--mosaic .gallery__item{display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0;min-inline-size:0;min-block-size:0}.gallery__grid--mosaic .gallery__link{position:relative;display:block;overflow:hidden;aspect-ratio:4 / 3;background:var(--tint);border-radius:0}.gallery__grid.gallery__grid--mosaic img{position:absolute;inset:0;display:block;inline-size:100%;block-size:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 40%;border:0;border-radius:0;background:var(--tint);transition:transform .48s var(--ease-out)}.gallery__grid--mosaic .gallery__link:hover img{transform:scale(1.03)}.gallery__grid.gallery__grid--mosaic figcaption{margin-block-start:var(--space-2);font-size:var(--fs-micro);line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.gallery__grid--mosaic .gallery__item--lead,.gallery__grid--mosaic .gallery__item--half,.gallery__grid--mosaic .gallery__item--third{grid-column:1 / -1}.gallery__grid--mosaic .gallery__item--lead .gallery__link,.gallery__grid--mosaic .gallery__item--half .gallery__link,.gallery__grid--mosaic .gallery__item--third .gallery__link{aspect-ratio:3 / 2}@media(min-width:40rem){.gallery__grid.gallery__grid--mosaic{gap:var(--space-3)}}@media(min-width:64rem){.gallery__grid.gallery__grid--mosaic{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:var(--space-3)}.gallery__grid--mosaic .gallery__item{grid-column:span 3}.gallery__grid--mosaic .gallery__item--lead{grid-column:span 6;grid-row:span 2}.gallery__grid--mosaic .gallery__item--lead .gallery__link{aspect-ratio:auto;min-block-size:0}.gallery__grid--mosaic .gallery__item--half{grid-column:span 6}.gallery__grid--mosaic .gallery__item--third{grid-column:span 4}.gallery__grid--mosaic .gallery__item--half .gallery__link,.gallery__grid--mosaic .gallery__item--third .gallery__link{aspect-ratio:4 / 3}}.lightbox{position:fixed;inset:0;inline-size:100vw;block-size:100vh;block-size:100dvh;max-inline-size:none;max-block-size:none;margin:0;padding:0;border:0;background:#0f1b2deb;background:color-mix(in srgb,var(--navy) 92%,transparent);color:var(--paper);overscroll-behavior:contain}.lightbox::backdrop{background:transparent}.lightbox[open]{animation:lightbox-in var(--dur) var(--ease-out) both}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}html:has(.lightbox[open]){overflow:hidden}.lightbox__stage{display:grid;place-items:center;inline-size:100%;block-size:100%;touch-action:pan-y}.lightbox__img{display:block;inline-size:auto;block-size:auto;max-inline-size:100vw;max-block-size:100vh;max-block-size:100dvh;object-fit:contain;user-select:none;-webkit-user-drag:none}.lightbox__caption{position:absolute;inset-inline:0;inset-block-end:0;box-sizing:border-box;inline-size:100%;max-inline-size:none;margin:0;padding:var(--space-7) var(--space-8) var(--space-4);text-align:center;font-size:var(--fs-sm);line-height:1.4;color:var(--paper);background:linear-gradient(to top,#0f1b2dbf,#0f1b2d00);background:linear-gradient(to top,color-mix(in srgb,var(--navy) 75%,transparent),transparent);text-wrap:balance}.lightbox__count{display:block;margin-block-end:var(--space-1);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;opacity:.7}.lightbox__btn{position:absolute;display:grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;padding:0;border:0;border-radius:50%;background:#0f1b2d99;background:color-mix(in srgb,var(--navy) 60%,transparent);color:var(--paper);cursor:pointer;transition:background-color var(--dur) var(--ease-out),scale var(--dur) var(--ease-out)}.lightbox__btn svg{inline-size:1.25rem;block-size:1.25rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lightbox__btn:hover{background:var(--navy)}.lightbox__btn:active{scale:.94}.lightbox__close{inset-block-start:var(--space-4);inset-inline-end:var(--space-4)}.lightbox__prev,.lightbox__next{inset-block-start:50%;translate:0 -50%}.lightbox__prev{inset-inline-start:var(--space-4)}.lightbox__next{inset-inline-end:var(--space-4)}[dir=rtl] .lightbox__prev svg,[dir=rtl] .lightbox__next svg{scale:-1 1}@media(prefers-reduced-motion:reduce){.lightbox[open]{animation:none}.gallery__grid.gallery__grid--mosaic img,.lightbox__btn{transition:none}}.lightbox__btn{transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.lightbox__btn:hover{background:var(--navy);color:var(--ember)}
