* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #000; font-family: sans-serif; overflow-x: hidden; }

/* Loader */
#loader { position: fixed; inset: 0; background: #000; display: flex; align-items: center; justify-content: center; z-index: 10000; }
.spinner { width: 50px; height: 50px; border: 5px solid #222; border-top: 5px solid #fff; border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Video Popup Overlay */
.video-popup { position: fixed; inset: 0; background: #000; display: flex; align-items: center; justify-content: center; z-index: 9000; }
.video-container { position: relative; width: 90%; max-width: 1200px; aspect-ratio: 16 / 9; }
.video-container video { width: 100%; height: 100%; object-fit: contain; }

/* Overlay & Buttons */
.video-start-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.8); display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; z-index: 9001; }
.play-btn { width: 80px; height: 80px; border-radius: 50%; border: none; background: #fff; font-size: 30px; cursor: pointer; margin-bottom: 10px; }
.pause-btn { position: absolute; bottom: 20px; right: 20px; padding: 10px; background: rgba(255,255,255,0.5); border: none; cursor: pointer; }
.hidden { display: none; }
.close-video { position: absolute; top: 20px; right: 30px; font-size: 60px; color: #fff; cursor: pointer; z-index: 9002; }

/* Photo Grid Table */
.grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 1px; width: 100%; }
.grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; cursor: pointer; transition: 0.3s; }
.grid img:hover { filter: brightness(1.3); }

/* Lightbox */
.lightbox { position: fixed; inset: 0; background: rgba(0,0,0,0.9); display: none; align-items: center; justify-content: center; z-index: 11000; }
.lightbox img { max-width: 90%; max-height: 80vh; }
.close-lightbox { position: absolute; top: 20px; right: 40px; font-size: 50px; color: #fff; cursor: pointer; }