:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0}img{max-width:100%}[hidden]{display:none!important}
/* Visual project lightbox */
.visual-lightbox{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(7,11,17,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.visual-lightbox[hidden]{display:none}
.visual-lightbox img{display:block;max-width:min(92vw,1500px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 24px 90px rgba(0,0,0,.38)}
.visual-lightbox button{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;width:48px;height:48px;color:#fff;background:rgba(20,24,30,.64);cursor:pointer;transition:background .2s,transform .2s}
.visual-lightbox button:hover{background:rgba(255,255,255,.2);transform:scale(1.06)}
.visual-lightbox button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.visual-lightbox .vl-close{top:22px;right:22px}.visual-lightbox .vl-prev{left:22px}.visual-lightbox .vl-next{right:22px}
.visual-lightbox .vl-caption{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);max-width:80vw;color:#fff;font:500 14px var(--sans);text-align:center;text-shadow:0 2px 8px #000}
@media(max-width:640px){.visual-lightbox{padding:16px}.visual-lightbox img{max-width:94vw;max-height:82vh}.visual-lightbox .vl-close{top:14px;right:14px}.visual-lightbox .vl-prev{left:12px}.visual-lightbox .vl-next{right:12px}.visual-lightbox button{width:42px;height:42px}}
