:root {
  --jgm-primary: #3c93fa;
  --bs-primary: #3c93fa;
  --bs-primary-rgb: 60, 147, 250;
  --bs-link-color: #3c93fa;
  --bs-link-color-rgb: 60, 147, 250;
  --bs-link-hover-color: #2e76c8;
  --bs-link-hover-color-rgb: 46, 118, 200;
}

html { scroll-behavior: smooth; scroll-padding-top: 72px; }

body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

.navbar-brand { letter-spacing: -0.01em; }

header.bg-primary { background: linear-gradient(135deg, #3c93fa 0%, #2e76c8 100%) !important; }

section { scroll-margin-top: 72px; }

.card { border: 0; }

.accordion-button:not(.collapsed) { background-color: #ecf4ff; color: #3c93fa; }

.btn-primary {
  --bs-btn-bg: #3c93fa;
  --bs-btn-border-color: #3c93fa;
  --bs-btn-hover-bg: #2e76c8;
  --bs-btn-hover-border-color: #2870be;
  --bs-btn-active-bg: #2870be;
  --bs-btn-active-border-color: #2269b3;
  --bs-btn-disabled-bg: #3c93fa;
  --bs-btn-disabled-border-color: #3c93fa;
  --bs-btn-focus-shadow-rgb: 60, 147, 250;
}

.btn-outline-primary {
  --bs-btn-color: #3c93fa;
  --bs-btn-border-color: #3c93fa;
  --bs-btn-hover-bg: #3c93fa;
  --bs-btn-hover-border-color: #3c93fa;
  --bs-btn-focus-shadow-rgb: 60, 147, 250;
  --bs-btn-active-bg: #3c93fa;
  --bs-btn-active-border-color: #3c93fa;
  --bs-btn-disabled-color: #3c93fa;
  --bs-btn-disabled-border-color: #3c93fa;
}

a { text-underline-offset: 2px; }

/* Service area section */
.area-section {
  background:
    radial-gradient(circle at 20% 0%, rgba(60, 147, 250, 0.08), transparent 60%),
    radial-gradient(circle at 80% 100%, rgba(60, 147, 250, 0.06), transparent 55%),
    #f8f9fa;
}

/* Featured "Based in" hero card */
.area-hero {
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,0.15), transparent 50%),
    linear-gradient(135deg, #3c93fa 0%, #1f6fd8 100%);
}
.area-hero::before {
  content: "";
  position: absolute;
  top: -40px; right: -40px;
  width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(255,255,255,0.18), transparent 70%);
  border-radius: 50%;
  z-index: 1;
  pointer-events: none;
}

/* Location pills */
.area-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background: #f1f6ff;
  color: #1f6fd8;
  border: 1px solid rgba(60, 147, 250, 0.2);
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 600;
  transition: transform 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
  cursor: default;
}
.area-pill:hover {
  background: #3c93fa;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 0.4rem 0.9rem rgba(60, 147, 250, 0.25);
}
.area-pill-county {
  background: #fff;
  border-color: #dee2e6;
  color: #495057;
}
.area-pill-county:hover {
  background: #212529;
  color: #fff;
  border-color: #212529;
  box-shadow: 0 0.4rem 0.9rem rgba(0,0,0,0.15);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .area-pill { transition: none; }
  .area-pill:hover { transform: none; }
}
