:root {
  --brand: #0d6efd;
  --brand-dark: #0a58ca;
  --soft: #f8f9fa;
  --text: #212529;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
}
.hero {
  background: linear-gradient(135deg, rgba(13,110,253,.95), rgba(13,202,240,.80)), url('https://images.unsplash.com/photo-1542838132-92c53300491e?auto=format&fit=crop&w=1600&q=80') center/cover;
  color: white;
  min-height: 72vh;
  display: flex;
  align-items: center;
}
.section-title {
  font-weight: 700;
  margin-bottom: 1rem;
}
.icon-box {
  border: 1px solid #e9ecef;
  border-radius: 1rem;
  padding: 1.4rem;
  height: 100%;
  background: white;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,.04);
}
.page-header {
  background: linear-gradient(135deg, #0d6efd, #20c997);
  color: white;
  padding: 5rem 0 3rem;
}
.footer {
  background: #111827;
  color: #d1d5db;
}
.footer a { color: #ffffff; text-decoration: none; }
.badge-soft {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  color: white;
}
.card-hover {
  transition: transform .2s ease, box-shadow .2s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 1rem 2rem rgba(0,0,0,.1);
}
.cta-box {
  background: var(--soft);
  border-radius: 1rem;
}
.map-frame {
  width: 100%;
  min-height: 380px;
  border: 0;
  border-radius: 1rem;
}
.navbar-brand span {
  font-weight: 800;
}
.small-note {
  font-size: .92rem;
  color: #6c757d;
}
