.gallery-filters{position:sticky;top:68px;z-index:20;display:flex;gap:8px;padding:14px 0;margin:0 0 28px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;background:linear-gradient(180deg,rgba(255,255,255,.92) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:5}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filter{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:.5em 1.1em;border-radius:999px;background:#ffffffa6;border:1px solid var(--line);font-weight:600;font-size:.88rem;color:var(--text);cursor:pointer;white-space:nowrap;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;-webkit-tap-highlight-color:transparent}.gallery-filter:hover{border-color:var(--brand);color:var(--brand);background:#ffffffd9}.gallery-filter.active{background:linear-gradient(135deg,var(--brand),var(--brand-600));color:#fff;border-color:var(--brand);box-shadow:0 6px 18px -6px #49bb1980}.gallery-filter__count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#0b12201a;font-size:.72rem;font-weight:700;color:var(--ink)}.gallery-filter.active .gallery-filter__count{background:#ffffff40;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px}.gallery-item{position:relative;margin:0;cursor:pointer;outline:none;border-radius:14px;overflow:hidden;transition:opacity .35s ease,transform .4s cubic-bezier(.16,1,.3,1)}.gallery-item--feat{grid-column:span 2;grid-row:span 2}.gallery-item.is-hidden{display:none}.gallery-item__media{position:relative;width:100%;height:100%;overflow:hidden;border-radius:14px}.gallery-item__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.gallery-item:hover .gallery-item__media img,.gallery-item:focus-visible .gallery-item__media img{transform:scale(1.07)}.gallery-item:focus-visible .gallery-item__media{box-shadow:0 0 0 3px var(--brand)}.gallery-item__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;background:linear-gradient(180deg,transparent 30%,rgba(11,18,32,.75));opacity:0;transition:opacity .3s ease;border-radius:14px;color:#fff}.gallery-item:hover .gallery-item__overlay,.gallery-item:focus-visible .gallery-item__overlay{opacity:1}.gallery-item__cat{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-400);margin-bottom:4px}.gallery-item__title{font-size:.95rem;font-weight:700;line-height:1.25;color:#fff}.gallery-item__zoom{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#fffffff2;color:var(--ink);display:grid;place-items:center;transform:scale(.6) rotate(-15deg);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.gallery-item:hover .gallery-item__zoom,.gallery-item:focus-visible .gallery-item__zoom{transform:scale(1) rotate(0)}@media(hover:none){.gallery-item__overlay{opacity:1}.gallery-item__zoom{display:none}}.gallery-empty{text-align:center;padding:60px 0;color:var(--muted);font-size:1.05rem}@media(max-width:960px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.gallery-item--feat{grid-column:span 2;grid-row:span 1}}@media(max-width:420px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:240px}.gallery-item--feat{grid-column:span 1;grid-row:span 1}}.lightbox{position:fixed;inset:0;z-index:9999;background:#070c16f5;display:grid;grid-template-rows:1fr auto auto;opacity:0;transition:opacity .35s ease}.lightbox.open{opacity:1}.lightbox[hidden]{display:none}.lightbox__viewport{position:relative;display:flex;align-items:center;justify-content:center;padding:70px 20px 16px;min-height:0;overflow:hidden}.lightbox__stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.lightbox__img{display:block;max-width:calc(100vw - 40px);max-height:calc(100vh - 220px);width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 40px 100px -20px #000000b3;user-select:none;-webkit-user-drag:none;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease}.lightbox__img.swipe-next{transform:translate(-30px);opacity:0}.lightbox__img.swipe-prev{transform:translate(30px);opacity:0}.lightbox__info{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 24px;color:#fff}.lightbox__caption{font-size:.95rem;font-weight:600;color:#ffffffe6;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox__counter{flex-shrink:0;font-size:.8rem;font-weight:500;color:#fff9;background:#ffffff14;padding:.3em .8em;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox__close,.lightbox__nav{position:absolute;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:background .2s ease,transform .2s ease,border-color .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10}.lightbox__close{top:18px;right:18px;width:44px;height:44px}.lightbox__nav{top:50%;transform:translateY(calc(-50% - 20px));width:50px;height:50px}.lightbox__nav:hover,.lightbox__close:hover{background:#ffffff38;border-color:#fff6}.lightbox__close:active,.lightbox__nav:active{transform:scale(.92)}.lightbox__nav:hover{transform:translateY(calc(-50% - 20px)) scale(1.06)}.lightbox__nav--prev{left:16px}.lightbox__nav--next{right:16px}.lightbox__thumbs{display:flex;gap:6px;padding:10px 20px 14px;overflow-x:auto;overflow-y:hidden;background:#00000059;border-top:1px solid rgba(255,255,255,.06);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.lightbox__thumbs::-webkit-scrollbar{height:3px}.lightbox__thumbs::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.lightbox__thumb{flex-shrink:0;width:72px;height:54px;padding:0;border:2px solid transparent;background:none;cursor:pointer;border-radius:6px;overflow:hidden;transition:border-color .2s ease,transform .2s ease,opacity .2s ease;opacity:.6}.lightbox__thumb img{width:100%;height:100%;object-fit:cover;display:block}.lightbox__thumb:hover{transform:translateY(-2px);opacity:1}.lightbox__thumb.active{border-color:var(--brand);box-shadow:0 0 12px #49bb1980;opacity:1}@media(max-width:720px){.lightbox__viewport{padding:58px 10px 10px}.lightbox__img{max-width:calc(100vw - 20px);max-height:calc(100vh - 200px)}.lightbox__nav{width:38px;height:38px}.lightbox__nav--prev{left:6px}.lightbox__nav--next{right:6px}.lightbox__close{width:36px;height:36px;top:10px;right:10px}.lightbox__info{padding:0 14px}.lightbox__caption{font-size:.85rem}.lightbox__thumbs{padding:8px 12px}.lightbox__thumb{width:56px;height:42px}}@media(prefers-reduced-motion:reduce){.lightbox,.lightbox__img,.gallery-item{transition:none!important}.gallery-item__zoom{transform:scale(1)!important}}
