/* Image-led cards and motion follow the supplied React Bits Masonry reference. */
.gallery.masonry{position:relative;columns:auto;column-gap:0;width:100%;isolation:isolate;overflow-anchor:none}
.masonry>.work-card{position:absolute;top:0;left:0;display:block;margin:0;transform-origin:0 0;will-change:transform;vertical-align:initial;break-inside:auto}
.masonry .work-card-button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;border-radius:12px;background:none;outline:none;text-align:left;transform:none;-webkit-tap-highlight-color:transparent}
.masonry .work-card-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.masonry .work-image{display:block;position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;border-radius:12px;padding:0;background:#7f7f7f24;box-shadow:none;transform:none;transition:none}
.masonry .work-image:after{display:none}
.masonry .work-card-button:hover .work-image{transform:none;box-shadow:none}
.masonry .work-image img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none;background:transparent;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .5s ease}
.masonry .work-caption{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:baseline;padding:40px 14px 12px;color:#fff;background:linear-gradient(180deg,#0000 0%,#00000005 15%,#00000014 30%,#0000002e 45%,#0000004d 60%,#0000006b 75%,#00000080 88%,#0000008a 100%);pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.masonry .work-caption h3{font-size:14px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.masonry .work-caption>span{color:#fffc;font-size:11px;line-height:1.4}
.masonry .work-caption .work-category{grid-column:1/-1;margin:0;font-size:12px;line-height:1.4;letter-spacing:.02em;color:#fffc}
.masonry .work-card-button:hover .work-caption,.masonry .work-card-button:focus-visible .work-caption{opacity:1;transform:none}
.masonry .work-card[data-masonry-pending]{pointer-events:none}
.masonry .masonry-ghost{pointer-events:none;z-index:2}
.masonry .image-error{height:100%;min-height:0;aspect-ratio:auto!important;border-radius:12px;padding:12px;font-size:12px}
.masonry .retry-image{position:absolute;bottom:10px;left:10px;z-index:1;border-radius:999px;background:#fafaf7e6;padding:8px 12px;min-height:36px;font-size:10px;text-decoration:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.masonry .work-card-button:hover .work-image img{transform:scale(1.07)}}
@media(max-width:767px),(hover:none){.masonry .work-caption{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.masonry .work-image img,.masonry .work-caption{transition:none}.masonry .work-card-button:hover .work-image img{transform:none}}
