.gallery{padding-bottom:clamp(4.5rem,10vw,7rem)}.gallery__grid{columns:3 280px;column-gap:1rem}.gallery__item{break-inside:avoid;margin-bottom:1rem}.gallery__btn{position:relative;display:block;width:100%;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:zoom-in}.gallery__btn img{width:100%;height:auto;transition:transform .8s var(--ease),filter .4s var(--ease)}.gallery__btn:hover img{transform:scale(1.04)}.gallery__btn:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,10,12,.8));opacity:.85;transition:opacity var(--transition);pointer-events:none}.gallery__caption{position:absolute;left:1rem;right:1rem;bottom:.9rem;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.9rem;font-weight:500;text-align:left}.gallery__caption svg{opacity:0;transform:scale(.8);transition:opacity var(--transition),transform var(--transition)}.gallery__btn:hover .gallery__caption svg,.gallery__btn:focus-visible .gallery__caption svg{opacity:1;transform:none}.lightbox{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:4.5rem clamp(.75rem,6vw,5rem) 2rem;background:#050507f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lightbox__top{position:absolute;top:1rem;left:1.25rem;right:1rem;display:flex;align-items:center;justify-content:space-between}.lightbox__counter{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.lightbox__btn{display:grid;place-items:center;width:44px;height:44px;font-size:1.25rem;color:var(--text);background:#ffffff0f;border:1px solid var(--border-strong);border-radius:50%;transition:background-color var(--transition)}.lightbox__btn:hover{background:#ffffff1f}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.lightbox__nav--prev{left:clamp(.5rem,2vw,1.5rem)}.lightbox__nav--next{right:clamp(.5rem,2vw,1.5rem)}.lightbox__figure{display:flex;flex-direction:column;align-items:center;gap:.9rem;max-width:100%;max-height:100%}.lightbox__figure img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 9rem);object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 30px 80px #0009}.lightbox__figure figcaption{font-size:.95rem;color:var(--text-muted)}@media(max-width:600px){.lightbox__nav{top:auto;bottom:1rem;transform:none}}
