.mosaic{--mosaic-cols: 4;--cap-title: clamp(.9375rem, 1.02vw, 1.0625rem);--cap-line: clamp(.75rem, .82vw, .875rem);--mosaic-gap: clamp(8px, .83vw, 12px);--mosaic-row-ratio: .904;display:flex;flex-direction:column;gap:var(--mosaic-gap);container-type:inline-size}.mosaic__batch{content-visibility:auto;display:grid;grid-template-columns:repeat(var(--mosaic-cols),1fr);grid-auto-rows:calc((100cqw - (var(--mosaic-cols) - 1) * var(--mosaic-gap)) / var(--mosaic-cols) * var(--mosaic-row-ratio));gap:var(--mosaic-gap)}.mosaic__tile{position:relative;margin:0;overflow:hidden;border:var(--stroke);border-radius:var(--radius);background:var(--c-grey-warm);cursor:pointer;transform:none}.mosaic__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--d-slow) var(--ease-out);will-change:transform}@media (hover: hover){.mosaic__tile:hover .mosaic__media{transform:scale(1.04)}}.mosaic__media--video{opacity:0;transition:opacity var(--d-fast) linear}.mosaic__tile[data-playing=true] .mosaic__media--video{opacity:1}.mosaic__cap{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15em;padding:var(--sp-4);text-align:center;color:var(--c-cream);background:color-mix(in srgb,var(--c-ink) 75%,transparent);opacity:0;transition:opacity .3s var(--ease-tint)}.mosaic__cap-title,.mosaic__cap-line{opacity:0;transform:translateY(10px);transition:opacity .32s var(--ease-out) .12s,transform .42s var(--ease-out) .12s}.mosaic__cap-title{transition-delay:.12s}.mosaic__cap-line:nth-of-type(2){transition-delay:165ms}.mosaic__cap-line:nth-of-type(3){transition-delay:.21s}@media (hover: hover){.mosaic__tile:hover .mosaic__cap{opacity:1}.mosaic__tile:hover .mosaic__cap-title,.mosaic__tile:hover .mosaic__cap-line{opacity:1;transform:none}}.mosaic__tile:focus-visible .mosaic__cap{opacity:1}.mosaic__tile:focus-visible .mosaic__cap-title,.mosaic__tile:focus-visible .mosaic__cap-line{opacity:1;transform:none}.mosaic__tile:focus-visible{outline:2px solid var(--c-ink);outline-offset:2px}.mosaic__tile:not(:hover):not(:focus-visible) .mosaic__cap-title,.mosaic__tile:not(:hover):not(:focus-visible) .mosaic__cap-line{transition-duration:.14s;transition-delay:0ms}.mosaic__cap-title{font-family:var(--font-body);font-weight:600;font-size:var(--cap-title);line-height:1.2}.mosaic__cap-line{font-weight:300;font-size:var(--cap-line);line-height:1.35;max-width:26ch;text-wrap:balance}.mosaic__sentinel{height:1px}@media (max-width: 1199px){.mosaic{--mosaic-cols: 3}}@media (max-width: 767px){.mosaic{--mosaic-cols: 2}}@media (prefers-reduced-motion: reduce){.mosaic__media{transition:none}.mosaic__tile:hover .mosaic__media{transform:none}.mosaic__cap,.mosaic__cap-title,.mosaic__cap-line{transition-duration:.01s;transition-delay:0s}.mosaic__cap-title,.mosaic__cap-line{transform:none}}
