:root { --bg-dark: #050508; --text-main: #ffffff; --accent-bus: #0ea5e9; --accent-fire: #ef4444; --accent-police: #6366f1; }
body, html { font-family: 'Inter', sans-serif; background: transparent; color: var(--text-main); height: 100%; width: 100%; overflow-x: hidden; }
html { background-color: var(--bg-dark); }
.navbar { background-color: rgba(5,5,8,0.85); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,0.1); }
#heroCarousel { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; pointer-events: none; }
.hero-carousel-item { height: 100vh; width: 100vw; background-size: cover; background-position: center; will-change: transform; }
.carousel-item.active .hero-carousel-item { animation: zoomEffect 10s ease-out forwards; }
@keyframes zoomEffect { 0% { transform: scale(1); } 100% { transform: scale(1.15); } }
.hero-carousel-item::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(5,5,8,0.95), rgba(5,5,8,0.3)); }
.slide-bus { background-image: url('../../img/slide_bus.jpg'); }
.slide-fire { background-image: url('../../img/slide_fire.jpg'); }
.slide-police { background-image: url('../../img/slide_police.jpg'); }
.hero-section { min-height: 100vh; display: flex; align-items: center; padding-top: 80px; }
.hero-content-wrapper { position: relative; z-index: 2; }
.hero-title { font-weight: 900; font-size: 4rem; text-shadow: 0 10px 40px rgba(0,0,0,0.8); }
.glass-card { background: rgba(15, 23, 42, 0.75); border: 1px solid rgba(255,255,255,0.1); border-radius: 24px; padding: 2rem; backdrop-filter: blur(20px); }
.form-control { background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.15); color: white; }
.btn-register-hero { background: linear-gradient(135deg, var(--accent-bus), #0284c7); border: none; padding: 12px; border-radius: 10px; width: 100%; color: white; font-weight: bold; }
.text-bus { color: var(--accent-bus); }