.hero { position: relative; min-height: 80vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; z-index: -1; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(5,5,5,0.7), rgba(5,5,5,0.9)); }
.hero-content { position: relative; z-index: 1; max-width: 800px; }
.hero-subtitle { font-size: var(--text-lg); color: var(--gray-300); margin-bottom: var(--space-6); }
.stat-number { display: block; font-family: var(--font-display); font-size: var(--text-4xl); font-weight: 700; color: var(--primary); text-shadow: var(--shadow-neon); margin-bottom: var(--space-2); }
.stat-label { font-size: var(--text-sm); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.feature-image img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg), var(--shadow-neon); transition: transform var(--transition-slow); }
.feature-image:hover img { transform: scale(1.02); }
.bg-surface { background-color: var(--bg-surface); padding-block: var(--space-12); }
@media (min-width: 768px) { .feature-reverse { direction: rtl; } .feature-reverse > * { direction: ltr; } }
.max-w-3xl { max-width: 48rem; }
.mx-auto { margin-inline: auto; }
.py-8 { padding-block: var(--space-8); }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-4); }
.gallery-item { overflow: hidden; border-radius: var(--radius-lg); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-normal); }
.gallery-item:hover img { transform: scale(1.05); }
.faq-question { cursor: pointer; display: flex; justify-content: space-between; align-items: center; margin-bottom: 0; }
.faq-question::after { content: '+'; font-size: var(--text-xl); color: var(--primary); transition: transform var(--transition-fast); }
.faq-item.active .faq-question::after { transform: rotate(45deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height var(--transition-normal); }
.faq-item.active .faq-answer { max-height: 200px; margin-top: var(--space-4); }
.cta-box { background: linear-gradient(145deg, var(--bg-surface-alt), var(--bg-surface)); border-color: var(--primary); box-shadow: var(--shadow-neon); padding: var(--space-12) var(--space-6); }
@media (max-width: 768px) { .grid-cols-2, .grid-cols-3 { grid-template-columns: 1fr; } .hero { min-height: 60vh; padding-block: var(--space-12); } .hero-content h1 { font-size: var(--text-4xl); } .feature-reverse { direction: ltr; } }