.gal-filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:34px}.gal-fil{font-family:var(--font-mono);font-size:14px;padding:9px 18px;border-radius:var(--r-pill);background-color:var(--glass-fill-soft);border:1px solid var(--stroke-2);color:var(--fg-2);transition:background-color var(--t-glow) var(--ease-hover),border-color var(--t-glow) var(--ease-hover),color var(--t-glow) var(--ease-hover)}.gal-fil:hover{background-color:#ffffff1f;border-color:#b7a5d080;color:var(--fg)}.gal-fil.on{background:linear-gradient(120deg,var(--iris),var(--peony));color:#fff;border-color:transparent}.gal{column-count:3;column-gap:var(--gap-grid)}.gal-item{break-inside:avoid;margin:0 0 var(--gap-grid);position:relative;border-radius:var(--r-3);overflow:hidden;border:1px solid var(--stroke);cursor:zoom-in;background:var(--surface)}.gal-item img{width:100%;height:auto;display:block;transition:transform .35s var(--ease-hover),opacity .45s var(--ease-smooth)}.gal-item img.img-wait{opacity:0}.gal-item{transition:transform var(--t-lift) var(--ease-hover),box-shadow var(--t-glow) var(--ease-hover),border-color var(--t-glow) var(--ease-hover)}.gal-item:hover{transform:translateY(-4px);border-color:#b7a5d066;box-shadow:0 18px 44px #6c4e893d}.gal-item figcaption{position:absolute;inset-inline:0;bottom:0;padding:26px 16px 13px;font-family:var(--font-mono);font-size:14px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);opacity:0;transform:translateY(6px);transition:.25s var(--ease-hover)}.gal-item:hover figcaption,.gal-item:focus-within figcaption{opacity:1;transform:none}.gal-item.hide{display:none}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.gal-item{perspective:900px;transform-style:preserve-3d}.gal-item .gal-face{display:block;border-radius:inherit;overflow:hidden;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s var(--ease-hover),box-shadow .3s var(--ease-hover);will-change:transform}.gal .gal-item.reveal{transform:translateY(30px) translateZ(-140px) rotateX(12deg);opacity:0}.gal .gal-item.reveal.in{transform:none;opacity:1}}.gal-empty{text-align:center;color:var(--fg-3);margin-top:20px}@media(max-width:980px){.gal{column-count:2}}@media(max-width:600px){.gal{column-count:1}}.lb{position:fixed;inset:0;z-index:120;background:var(--glass-scrim);backdrop-filter:var(--glass-blur-modal);-webkit-backdrop-filter:var(--glass-blur-modal);display:grid;place-items:center;padding:clamp(16px,5vw,64px)}.lb[hidden]{display:none}.lb img{max-width:100%;max-height:82vh;border-radius:var(--r-3);box-shadow:0 30px 80px #000000b3}.lb-x{position:absolute;top:18px;inset-inline-end:18px;width:46px;height:46px;border-radius:50%;background:var(--glass-fill-soft);border:1px solid var(--stroke-2);color:#fff;font-size:18px;transition:background-color var(--t-glow) var(--ease-hover),border-color var(--t-glow) var(--ease-hover)}.lb-x:hover{background-color:#ffffff29;border-color:#b7a5d080}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:var(--glass-fill-soft);border:1px solid var(--stroke-2);color:#fff;font-size:30px;line-height:1;transition:background-color var(--t-glow) var(--ease-hover),border-color var(--t-glow) var(--ease-hover)}.lb-nav:hover{background-color:#ffffff29;border-color:#b7a5d080}.lb-prev{inset-inline-start:18px}.lb-next{inset-inline-end:18px}.lb-x,.lb-nav{z-index:1}.lb-cap{position:absolute;bottom:22px;inset-inline:0;text-align:center;font-family:var(--font-mono);color:var(--fg-2)}.lb:not([hidden]){animation:lbVeil .28s var(--ease-smooth) both}.lb:not([hidden]) img{animation:lbPhoto .42s var(--ease-smooth) both}@keyframes lbVeil{0%{opacity:0}to{opacity:1}}@keyframes lbPhoto{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.gal-fil{transition:background-color var(--t-glow) var(--ease-hover),border-color var(--t-glow) var(--ease-hover),color var(--t-glow) var(--ease-hover),transform var(--t-lift) var(--ease-hover)}.gal-fil:focus-visible{background-color:#ffffff1f;border-color:#b7a5d080;color:var(--fg)}.gal-fil:active{transform:scale(.95)}
