:root {
  --mira-red: #e4002b;
  --mira-red-dark: #c00024;
  --mira-gray-900: #232323;
  --mira-gray-700: #4a4a4a;
  --mira-gray-100: #f7f7f8;
}

html, body { scroll-behavior: smooth; }
body { font-family: 'Work Sans', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; color: var(--mira-gray-900); }
.brand-text { font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: 0.2px; color: var(--mira-gray-900); }

.navbar .nav-link { color: var(--mira-gray-700); }
.navbar .nav-link:hover { color: var(--mira-red); }
.btn-mira { background: var(--mira-red); color: #fff; border-color: var(--mira-red); }
.btn-mira:hover { background: var(--mira-red-dark); border-color: var(--mira-red-dark); color: #fff; }
.text-mira { color: var(--mira-red); }
.bg-mira-soft { background: linear-gradient(0deg, #fff 0%, var(--mira-gray-100) 100%); }

.hero-section { background: radial-gradient(1200px 400px at 10% 10%, #f4433620 0%, transparent 60%), linear-gradient(135deg, var(--mira-red) 0%, #ff4d4d 60%, #ff7575 100%); padding: 80px 0; }
.hero-section .hero-card { border-left: 4px solid var(--mira-red); }

.section-py { padding: 72px 0; }
.section-title { font-family: 'Montserrat', sans-serif; font-weight: 700; }

.service-card i { display: inline-block; }
.service-card { border-top: 4px solid var(--mira-red); }

.metric .display-6 { line-height: 1; }

.cta-section { background: linear-gradient(90deg, var(--mira-red) 0%, var(--mira-red-dark) 100%); color: #fff; }

.map-card { background: #fff; height: 100%; }
.map-card iframe { width: 100%; height: 340px; border: 0; }

footer { font-family: 'Work Sans', sans-serif; }

/* Reveal-on-scroll animations */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; will-change: opacity, transform; }
.reveal.in-view { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }
.reveal-delay-5 { transition-delay: .5s; }

/* Responsiveness tweaks */
@media (max-width: 991px) {
  .hero-section { padding: 60px 0; }
}