.filterable-gallery{--fg-cols:4;max-width:1313px;color:var(--color-ink);margin:0 auto;padding:clamp(48px,7vw,96px) clamp(20px,4vw,48px);font-family:Chivo,system-ui,sans-serif;display:block}.filterable-gallery__tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 40px;padding:0;list-style:none;display:flex}.filterable-gallery__tab{all:unset;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-ink-12);-webkit-tap-highlight-color:transparent;border-radius:2px;padding:10px 20px;font-family:Arimo,system-ui,sans-serif;font-size:13px;font-weight:700;transition:background-color .2s cubic-bezier(.22,1,.36,1),color .2s cubic-bezier(.22,1,.36,1),border-color .2s cubic-bezier(.22,1,.36,1)}.filterable-gallery__tab:hover{background:var(--color-surface);border-color:var(--color-ink-24)}.filterable-gallery__tab:focus-visible{outline:2px solid var(--color-blue);outline-offset:3px}.filterable-gallery__tab--active,.filterable-gallery__tab--active:hover{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.filterable-gallery__grid{grid-template-columns:repeat(var(--fg-cols,4), minmax(0, 1fr));gap:10px;display:grid}.filterable-gallery__item{aspect-ratio:4/3;background:var(--color-surface-alt-warm);cursor:pointer;color:inherit;opacity:0;text-decoration:none;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden;transform:translateY(16px)}button.filterable-gallery__item{appearance:none;width:100%;font:inherit;text-align:left;cursor:zoom-in;border:0;margin:0;padding:0}.filterable-gallery__item.in{opacity:1;transform:translateY(0)}.filterable-gallery__item--hidden{display:none!important}.filterable-gallery__img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1);display:block}.filterable-gallery__item:hover .filterable-gallery__img{transform:scale(1.04)}.filterable-gallery__caption{background:linear-gradient(to top, var(--color-ink-82) 0%, var(--color-ink-00) 100%);color:var(--color-paper);opacity:0;pointer-events:none;padding:16px 18px;font-family:Chivo,system-ui,sans-serif;font-size:13px;line-height:1.4;transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.filterable-gallery__item:hover .filterable-gallery__caption,.filterable-gallery__item:focus-visible .filterable-gallery__caption{opacity:1;transform:translateY(0)}.filterable-gallery__item:focus-visible{outline:2px solid var(--color-blue);outline-offset:3px}@media (max-width:1024px){.filterable-gallery{--fg-cols:3}}@media (max-width:760px){.filterable-gallery{--fg-cols:2}.filterable-gallery__tabs{gap:6px}.filterable-gallery__tab{padding:8px 14px;font-size:12px}}@media (max-width:480px){.filterable-gallery{--fg-cols:1}}@media (prefers-reduced-motion:reduce){.filterable-gallery__item,.filterable-gallery__img,.filterable-gallery__caption,.filterable-gallery__tab{transition:none!important;transform:none!important}.filterable-gallery__item{opacity:1}}.fg__lightbox[hidden]{display:none}.fg__lightbox{background:var(--color-lightbox-92);z-index:9999;justify-content:center;align-items:center;padding:clamp(32px,5vw,80px);animation:.18s ease-out fgLightboxIn;display:flex;position:fixed;inset:0}@keyframes fgLightboxIn{0%{opacity:0}to{opacity:1}}.fg__lightbox-image{object-fit:contain;max-width:100%;max-height:100%;box-shadow:0 40px 80px -20px var(--color-black-60);border-radius:4px}.fg__lightbox-close,.fg__lightbox-prev,.fg__lightbox-next{appearance:none;background:var(--color-paper-08);color:var(--color-paper);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;line-height:1;transition:background .18s;display:flex;position:absolute}.fg__lightbox-close:hover,.fg__lightbox-prev:hover,.fg__lightbox-next:hover{background:var(--color-paper-18)}.fg__lightbox-close:focus-visible,.fg__lightbox-prev:focus-visible,.fg__lightbox-next:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.fg__lightbox-close{top:20px;right:20px}.fg__lightbox-prev{font-size:36px;top:50%;left:20px;transform:translateY(-50%)}.fg__lightbox-next{font-size:36px;top:50%;right:20px;transform:translateY(-50%)}@media (max-width:560px){.fg__lightbox-prev{left:10px}.fg__lightbox-next{right:10px}}
