:root{
  --hb-primary:#1466ff;
  --hb-dark:#0b1f3a;
  --hb-accent:#f24a28;        /* hot coral — primary CTAs & accents */
  --hb-accent-hover:#d83e1f;
  --hb-soft:#f4f7fb;
}
body{background:var(--hb-soft);color:#1c2733;}
a{color:var(--hb-primary);text-decoration:none;}
a:hover{text-decoration:underline;}

.hb-nav{background:var(--hb-dark);}
.hb-nav .navbar-brand{letter-spacing:.3px;}
.hb-footer{background:var(--hb-dark);color:#cbd5e1;}
.hb-footer a{color:#cbd5e1;}
.hb-footer a:hover{color:#fff;}

.btn-primary{--bs-btn-bg:var(--hb-accent);--bs-btn-border-color:var(--hb-accent);
  --bs-btn-hover-bg:var(--hb-accent-hover);--bs-btn-hover-border-color:var(--hb-accent-hover);
  --bs-btn-active-bg:var(--hb-accent-hover);--bs-btn-active-border-color:var(--hb-accent-hover);}
.btn-outline-primary{--bs-btn-color:var(--hb-accent);--bs-btn-border-color:var(--hb-accent);
  --bs-btn-hover-bg:var(--hb-accent);--bs-btn-hover-border-color:var(--hb-accent);
  --bs-btn-active-bg:var(--hb-accent-hover);--bs-btn-active-border-color:var(--hb-accent-hover);}
.text-hb-primary{color:var(--hb-primary)!important;}
.text-hb-accent{color:var(--hb-accent)!important;}
.bg-hb-dark{background:var(--hb-dark)!important;}
.badge-accent{background:var(--hb-accent);}

.hb-hero{
  background:linear-gradient(135deg,var(--hb-dark) 0%,#143a73 60%,var(--hb-primary) 130%);
  color:#fff;border-radius:0 0 28px 28px;
}
.hb-hero h1{font-weight:800;line-height:1.1;}
.hb-hero .lead{color:#d7e3f7;}

.hb-card{border:1px solid #e6ecf4;border-radius:16px;background:#fff;
  box-shadow:0 1px 2px rgba(13,31,58,.04);transition:.15s;}
.hb-card:hover{box-shadow:0 8px 28px rgba(13,31,58,.10);transform:translateY(-2px);}

.hb-step-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--hb-primary);color:#fff;font-weight:700;}

.hb-tier{border-radius:18px;border:1px solid #e6ecf4;background:#fff;height:100%;}
.hb-tier.featured{border:2px solid var(--hb-primary);box-shadow:0 12px 36px rgba(20,102,255,.16);}
.hb-tier .price{font-size:2rem;font-weight:800;}

.form-step{display:none;}
.form-step.active{display:block;}
.step-pill{font-size:.8rem;padding:.35rem .7rem;border-radius:999px;background:#e9eef6;color:#5b6b7f;}
.step-pill.active{background:var(--hb-primary);color:#fff;}
.step-pill.done{background:var(--hb-accent);color:#fff;}

.stat-tile{border-radius:14px;background:#fff;border:1px solid #e6ecf4;padding:1rem 1.25rem;}
.stat-tile .n{font-size:1.6rem;font-weight:800;color:var(--hb-dark);}

.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7a8d;}
.requirement-pass{color:#157347;}
.requirement-fail{color:#b02a37;}
.requirement-warn{color:#997404;}
#map{height:300px;border-radius:14px;border:1px solid #d8e1ee;}
.code-box{background:#0b1f3a;color:#d6e3ff;border-radius:10px;padding:14px 16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;overflow:auto;}

/* Hero "Live tracking preview" pulse dot */
.hb-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#16c79a;margin-right:6px;vertical-align:middle;
  box-shadow:0 0 0 0 rgba(22,199,154,.6);animation:hbPulse 1.8s infinite;}
@keyframes hbPulse{
  0%{box-shadow:0 0 0 0 rgba(22,199,154,.6);}
  70%{box-shadow:0 0 0 7px rgba(22,199,154,0);}
  100%{box-shadow:0 0 0 0 rgba(22,199,154,0);}
}
.bg-hb-primary-subtle{background:#e7f0ff!important;}
.border-hb-primary-subtle{border-color:#bcd5ff!important;}
