/* FADE-UP */
.fade-up { opacity:0; transform:translateY(28px); transition:opacity .55s ease,transform .55s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }
.fade-up.d1 { transition-delay:.10s; }
.fade-up.d2 { transition-delay:.20s; }
.fade-up.d3 { transition-delay:.30s; }
.fade-up.d4 { transition-delay:.40s; }
.fade-up.d5 { transition-delay:.50s; }
.fade-up.d6 { transition-delay:.60s; }

/* LIGHTBOX */
#lightbox { display:none; position:fixed; inset:0; z-index:9999; align-items:center; justify-content:center; }
#lightbox.open { display:flex; }
.lb-overlay { position:absolute; inset:0; background:rgba(5,15,35,.93); }
.lb-content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; max-width:90vw; }
.lb-img { max-width:88vw; max-height:80vh; object-fit:contain; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.6); }
.lb-caption { color:rgba(255,255,255,.75); font-size:14px; margin-top:12px; text-align:center; }
.lb-close { position:absolute; top:-48px; right:0; background:none; border:none; color:#fff; font-size:2.4rem; cursor:pointer; opacity:.75; transition:opacity .2s; }
.lb-close:hover { opacity:1; }
.lb-prev, .lb-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12); border:none; color:#fff; font-size:2.2rem; cursor:pointer; width:48px; height:64px; display:flex; align-items:center; justify-content:center; border-radius:6px; transition:background .2s; z-index:2; }
.lb-prev { left:-60px; } .lb-next { right:-60px; }
.lb-prev:hover, .lb-next:hover { background:rgba(255,255,255,.25); }
@media (max-width:600px) { .lb-prev{left:-38px;} .lb-next{right:-38px;} }
