.bento-gallery{width:100%;max-width:none;margin:0;padding:calc(var(--navbar-height) + var(--space-sm)) clamp(10px,.8vw,18px) var(--space-4xl)}.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;line-height:normal}.masonry.masonry--2-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.masonry__item{position:relative;display:block;width:100%;aspect-ratio:4 / 3;overflow:hidden;cursor:pointer;background:transparent;isolation:isolate}.masonry__item.hidden{display:none}.masonry__item img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .8s var(--ease-out-expo)}.masonry__item[data-aspect=portrait] img,.masonry__item[data-aspect=tall] img{object-position:center top}.masonry__item:hover img{transform:none}.masonry__overlay{display:none}.masonry__item:hover .masonry__overlay,.masonry__item:focus-visible .masonry__overlay{display:none}.masonry__category{font-family:var(--font-primary);font-size:var(--fs-xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gray-400);margin-bottom:var(--space-2xs)}.masonry__title{font-family:var(--font-display);font-size:clamp(.875rem,.75rem + .35vw,1.2rem);font-weight:var(--fw-regular);letter-spacing:var(--ls-wide);text-transform:uppercase;line-height:var(--lh-snug);color:var(--white);max-width:18ch}.masonry__item[data-bento-size=large] .masonry__title{font-size:clamp(1.1rem,.9rem + .6vw,1.6rem);max-width:22ch}.masonry__like{position:absolute;left:clamp(10px,1.1vw,16px);bottom:clamp(10px,1.1vw,16px);z-index:3;display:inline-flex;align-items:center;gap:7px;min-width:42px;height:34px;padding:0 10px;border:0;border-radius:999px;background:#ffffffe6;color:var(--black);box-shadow:0 10px 28px #0000002e;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity var(--transition-fast),visibility var(--transition-fast),transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.masonry__item:hover .masonry__like,.masonry__item:focus-within .masonry__like,.masonry__like.is-liked{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.masonry__like:hover{background:var(--black);color:var(--white)}.masonry__like.is-liked{background:#fffffff5;color:#e8344e}.masonry__like.is-liked:hover{background:#e8344e;color:#fff}.masonry__like.is-syncing{cursor:pointer}.masonry__like svg{width:16px;height:16px;flex:0 0 auto}.masonry__like-icon path{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;transition:fill .25s ease,stroke .25s ease}.masonry__like.is-liked .masonry__like-icon path{fill:currentColor;stroke:currentColor}.masonry__like.is-liked .masonry__like-icon{animation:likePopIn .4s cubic-bezier(.17,.89,.32,1.49)}@keyframes likePopIn{0%{transform:scale(.3)}50%{transform:scale(1.3)}75%{transform:scale(.85)}to{transform:scale(1)}}.heart-bubble{position:absolute;z-index:4;pointer-events:none;font-size:14px;line-height:1;color:#e8344e;opacity:0;animation:heartFloat .9s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes heartFloat{0%{opacity:1;transform:translate(0) scale(1) rotate(0)}50%{opacity:.8;transform:translate(var(--hb-x, 10px),-28px) scale(1.15) rotate(var(--hb-r, 15deg))}to{opacity:0;transform:translate(var(--hb-x2, 18px),-55px) scale(.5) rotate(var(--hb-r2, -10deg))}}.masonry__like-count{font-family:var(--font-primary);font-size:.72rem;line-height:1}.lightbox{position:fixed;inset:0;padding:clamp(16px,2vw,28px);background-color:#000000f2;z-index:var(--z-tooltip);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-base),visibility var(--transition-base)}.lightbox.open{opacity:1;visibility:visible;pointer-events:auto}.lightbox__stage{position:relative;display:flex;align-items:center;justify-content:center;width:min(1200px,calc(100vw - 120px));height:min(82vh,calc(100vh - 120px))}.lightbox__image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform:scale(.97);opacity:1;transition:transform var(--transition-slow),opacity var(--transition-base)}.lightbox__image.is-loading{opacity:0}.lightbox.open .lightbox__image{transform:scale(1)}.lightbox__close,.lightbox__prev,.lightbox__next{position:absolute;color:var(--white);cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;transition:background var(--transition-fast),border-color var(--transition-fast)}.lightbox__close:hover,.lightbox__prev:hover,.lightbox__next:hover{background-color:#ffffff1f;border-color:#ffffff40}.lightbox__close{top:var(--space-xl);right:var(--space-xl);font-size:2rem}.lightbox__prev,.lightbox__next{top:50%;transform:translateY(-50%)}.lightbox__prev{left:var(--space-xl)}.lightbox__next{right:var(--space-xl)}.lightbox__counter{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);font-family:var(--font-primary);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);color:var(--text-light-muted)}@media(max-width:1180px){.masonry{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.bento-gallery{padding-top:calc(var(--navbar-height) + var(--space-xs));padding-inline:4px}.masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.masonry__item{aspect-ratio:4 / 3}.masonry__title{max-width:none}.lightbox{padding:14px}.lightbox__stage{width:min(100%,calc(100vw - 32px));height:min(74vh,calc(100vh - 96px))}}@media(max-width:520px){.masonry,.masonry.masonry--2-cols{grid-template-columns:1fr;gap:6px}.masonry__item{aspect-ratio:4 / 3}.masonry__item img{width:100%;height:100%;object-fit:cover}.masonry__like{opacity:1;visibility:visible;pointer-events:auto;transform:none}.lightbox{padding:12px}.lightbox__stage{width:100%;height:min(68vh,calc(100vh - 96px))}.lightbox__prev,.lightbox__next,.lightbox__close{width:44px;height:44px}.lightbox__prev{left:var(--space-sm)}.lightbox__next{right:var(--space-sm)}.lightbox__close{top:var(--space-sm);right:var(--space-sm)}.lightbox__counter{bottom:var(--space-md)}}
