.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease-out, transform 0.7s ease-out; }
.reveal.revealed { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

.hero-overlay { background: linear-gradient(135deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.1) 100%); }
.hero-swiper { height: 100vh; }
.hero-swiper .swiper-pagination-bullet { background: rgba(255,255,255,0.5); }
.hero-swiper .swiper-pagination-bullet-active { background: #fff; width: 28px; border-radius: 4px; }
.swiper-slide img { transition: transform 8s ease; }
.swiper-slide-active img { transform: scale(1.08); }

.project-card { position: relative; overflow: hidden; }
.project-card .project-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.1) 60%, transparent 100%); opacity: 0; transition: opacity 0.4s ease; display: flex; flex-direction: column; justify-content: flex-end; padding: 2rem; }
.project-card:hover .project-overlay { opacity: 1; }

.gallery-item { overflow: hidden; cursor: pointer; }
.gallery-item img { transition: transform 0.6s ease; }
.gallery-item:hover img { transform: scale(1.06); }

.lightbox { display: none; position: fixed; inset: 0; z-index: 999; background: rgba(0,0,0,0.95); justify-content: center; align-items: center; }
.lightbox.active { display: flex; }
.lightbox img { max-width: 90vw; max-height: 90vh; object-fit: contain; }
.lightbox-close { position: absolute; top: 1.5rem; right: 2rem; color: #fff; font-size: 2.5rem; cursor: pointer; background: none; border: none; line-height: 1; }

input, textarea { -webkit-appearance: none; appearance: none; }

.client-logo-wrap { display: flex; align-items: center; justify-content: center; height: 80px; padding: 1rem; }

@media (max-width: 768px) {
    .hero-swiper { height: 70vh; }
}
