.project-gallery .project-visual{position:relative;cursor:zoom-in;background:#0b0b0a}.project-gallery .project-visual::after{content:'↗';position:absolute;right:14px;bottom:14px;width:38px;height:38px;border:1px solid rgba(240,197,107,.56);border-radius:999px;display:grid;place-items:center;background:rgba(9,9,8,.82);color:#f0c56b;font-size:18px;font-weight:900;opacity:0;transform:translateY(5px);transition:opacity .18s,transform .18s;pointer-events:none}.project-gallery .project-visual:hover::after,.project-gallery .project-visual:focus-within::after{opacity:1;transform:none}.project-gallery .project-visual img{transition:transform .22s,filter .22s}.project-gallery .project-visual:hover img{transform:scale(1.015);filter:brightness(1.04)}.gallery-lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(3,3,3,.94);backdrop-filter:blur(10px)}.gallery-lightbox.is-open{display:flex}.gallery-lightbox__stage{position:relative;width:min(1500px,100%);height:min(92vh,980px);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px}.gallery-lightbox__media{min-height:0;display:flex;align-items:center;justify-content:center}.gallery-lightbox__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 28px 80px rgba(0,0,0,.6);user-select:none}.gallery-lightbox__meta{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#fff}.gallery-lightbox__caption{min-width:0}.gallery-lightbox__title{margin:0 0 2px;font:700 16px/1.3 Inter,Arial,sans-serif}.gallery-lightbox__counter{margin:0;color:#b9b3a7;font-size:13px}.gallery-lightbox__control{position:absolute;z-index:2;width:48px;height:48px;border:1px solid rgba(240,197,107,.46);border-radius:999px;background:rgba(9,9,8,.86);color:#f0c56b;font:800 24px/1 Inter,Arial,sans-serif;display:grid;place-items:center;cursor:pointer;transition:background .15s,transform .15s}.gallery-lightbox__control:hover{background:#d59b34;color:#090908;transform:scale(1.04)}.gallery-lightbox__close{top:0;right:0}.gallery-lightbox__prev{left:0;top:50%;transform:translateY(-50%)}.gallery-lightbox__next{right:0;top:50%;transform:translateY(-50%)}.gallery-lightbox__prev:hover,.gallery-lightbox__next:hover{transform:translateY(-50%) scale(1.04)}body.gallery-lock{overflow:hidden}@media(max-width:650px){.project-gallery .project-visual::after{opacity:1;width:34px;height:34px;right:10px;bottom:10px}.gallery-lightbox{padding:10px}.gallery-lightbox__stage{height:94svh;gap:10px}.gallery-lightbox__image{border-radius:7px}.gallery-lightbox__control{width:42px;height:42px}.gallery-lightbox__close{top:4px;right:4px}.gallery-lightbox__prev{left:4px}.gallery-lightbox__next{right:4px}.gallery-lightbox__meta{padding:0 4px}.gallery-lightbox__title{font-size:14px}}@media(prefers-reduced-motion:reduce){.project-gallery .project-visual img,.project-gallery .project-visual::after,.gallery-lightbox__control{transition:none}}