:root {
  --navy: #102A43;
  --blue: #0B69A3;
  --ember: #F05A28;
  --flame: #FF7700;
  --ink: #0F172A;
}
html { scroll-behavior: smooth; }
[x-cloak] { display: none !important; }
body { font-family: Manrope, system-ui, sans-serif; }
.font-display { font-family: "Plus Jakarta Sans", Manrope, sans-serif; }
.btn-ember {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 9999px;
  background: linear-gradient(135deg, #F05A28, #FF7700);
  color: #fff;
  font-weight: 700;
  padding: .7rem 1.25rem;
  box-shadow: 0 10px 24px rgba(240, 90, 40, .35);
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-ember:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(240, 90, 40, .45); }
.btn-ghost {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  font-weight: 700;
  padding: .7rem 1.25rem;
  backdrop-filter: blur(8px);
}
.btn-ghost:hover { background: rgba(255,255,255,.1); }
.glass-card {
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(226,232,240,.8);
  box-shadow: 0 18px 50px rgba(16,42,67,.08);
}
.section-kicker {
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 800;
  color: #F05A28;
}
.hero-overlay {
  background:
    linear-gradient(180deg, rgba(16,42,67,.55) 0%, rgba(16,42,67,.78) 55%, rgba(15,23,42,.92) 100%);
}
.stat-num { font-variant-numeric: tabular-nums; }
.service-card:hover .svc-img { transform: scale(1.06); }
.svc-img { transition: transform .5s ease; }
.swiper-pagination-bullet-active { background: #F05A28 !important; }
.page-hero {
  background:
    radial-gradient(circle at 20% 20%, rgba(11,105,163,.35), transparent 40%),
    linear-gradient(135deg, #102A43 0%, #0B69A3 70%);
}
.filter-chip.active {
  background: #102A43;
  color: #fff;
}
iframe.map-embed { width: 100%; min-height: 360px; border: 0; border-radius: 1.25rem; }
.dropzone {
  border: 2px dashed #cbd5e1;
  border-radius: 1rem;
  padding: 1.5rem;
  text-align: center;
  background: #f8fafc;
}
.dropzone.drag { border-color: #F05A28; background: #fff7ed; }
