:root{
  --hs-navy:#1F2A37;
  --hs-slate:#223247;
  --hs-teal:#3A6E8C;
  --hs-blue:#2F5F7A;
  --hs-gold:#C5A23F;
  --hs-ivory:#F8F6F1;
  --hs-muted:#6B7280;
  --hs-border:rgba(31,42,55,.12);
  --hs-shadow:0 12px 28px rgba(0,0,0,.10);
  --hs-radius:18px;
  --hs-radius-sm:12px;
}

.hscl-wrap{ width:100%; }
.hscl-container{ width:min(1100px, calc(100% - 32px)); margin:0 auto; }

.hscl-hero{
  padding:72px 0 42px;
  border-bottom:1px solid var(--hs-border);
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(58,110,140,0.18), transparent 60%),
    radial-gradient(800px 600px at 90% 20%, rgba(197,162,63,0.16), transparent 55%),
    linear-gradient(180deg,#fff,#fff);
}
.hscl-hero-grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:24px; align-items:center; }
@media (max-width:900px){ .hscl-hero-grid{ grid-template-columns:1fr; } }

.hscl-kicker{
  display:inline-flex; gap:10px; align-items:center;
  padding:8px 12px; border:1px solid var(--hs-border);
  border-radius:999px; background:rgba(248,246,241,.7);
  font-weight:700; color:var(--hs-navy); font-size:.9rem;
}

.hscl-h1{
  margin:14px 0 10px;
  font-size:clamp(2rem, 3.6vw, 3.1rem);
  line-height:1.08; letter-spacing:-0.02em; color:var(--hs-navy);
}

.hscl-sub{ margin:0 0 18px; font-size:1.08rem; line-height:1.55; color:#334155; max-width:58ch; }

.hscl-cta{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }

.hscl-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 18px; border-radius:999px; font-weight:800;
  text-decoration:none !important; border:1px solid transparent; cursor:pointer;
}
.hscl-btn-primary{
  background:linear-gradient(135deg,var(--hs-blue),var(--hs-teal));
  color:#fff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.10);
}
.hscl-btn-secondary{
  background:#fff; color:var(--hs-navy) !important;
  border-color:var(--hs-border);
}
.hscl-btn-secondary:hover{ background:rgba(248,246,241,.7); }

.hscl-section{ padding:56px 0; }
.hscl-alt{
  background:linear-gradient(180deg, rgba(248,246,241,.55), rgba(255,255,255,1));
  border-top:1px solid var(--hs-border);
  border-bottom:1px solid var(--hs-border);
}

.hscl-h2{ font-size:clamp(1.5rem, 2.2vw, 2rem); letter-spacing:-0.01em; color:var(--hs-navy); margin:0 0 10px; }
.hscl-lead{ color:#334155; margin:0 0 20px; max-width:70ch; line-height:1.6; }
.hscl-muted{ color:#475569; line-height:1.55; }
.hscl-fine{ color:var(--hs-muted); font-size:.92rem; line-height:1.55; }

.hscl-card{ background:#fff; border:1px solid var(--hs-border); border-radius:var(--hs-radius); box-shadow:var(--hs-shadow); overflow:hidden; }
.hscl-card-pad{ padding:18px 18px 16px; }

.hscl-badge{
  display:inline-flex; gap:8px; align-items:center;
  padding:8px 12px; border-radius:999px;
  background:rgba(197,162,63,.12);
  border:1px solid rgba(197,162,63,.35);
  color:#5a4512;
  font-weight:900; font-size:.9rem;
}

.hscl-cert{ width:100%; height:auto; display:block; border-radius:14px; border:1px solid rgba(31,42,55,.12); background:linear-gradient(180deg,#fff,#f7f7f7); }

.hscl-grid-3{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
@media (max-width:900px){ .hscl-grid-3{ grid-template-columns:1fr; } }
.hscl-mini{ padding:16px 16px 14px; border-radius:var(--hs-radius-sm); border:1px solid var(--hs-border); background:#fff; }
.hscl-mini h3{ margin:0 0 6px; font-size:1.05rem; color:var(--hs-navy); }
.hscl-mini p{ margin:0; color:#475569; line-height:1.55; font-size:.98rem; }

/* Calculator */
.hscl-calc{ display:grid; grid-template-columns:1fr .9fr; gap:14px; }
@media (max-width:900px){ .hscl-calc{ grid-template-columns:1fr; } }
.hscl-controls label{ display:block; font-weight:900; color:var(--hs-navy); margin:12px 0 6px; }
.hscl-controls input[type="range"]{ width:100%; }

.hscl-out{ padding:16px; border-radius:var(--hs-radius-sm); border:1px solid var(--hs-border); background:rgba(248,246,241,.65); }
.hscl-label{ font-weight:900; color:#334155; }
.hscl-num{ font-size:1.8rem; font-weight:900; color:var(--hs-navy); letter-spacing:-0.02em; }
.hscl-num-sm{ font-size:1.5rem; }
.hscl-pill{
  color:#6a4f10;
  background:rgba(197,162,63,.16);
  border:1px solid rgba(197,162,63,.35);
  padding:2px 8px;
  border-radius:999px;
  font-weight:900;
  font-size:.95rem;
  align-self:flex-start;
}

.hscl-out-grid{ margin-top:14px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:650px){ .hscl-out-grid{ grid-template-columns:1fr; } }

/* Territory checker */
.hscl-row{ display:flex; gap:10px; flex-wrap:wrap; }
.hscl-input{
  flex:1 1 240px;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(31,42,55,.18);
  background:#fff;
  font-size:1rem;
}
.hscl-msg{
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(197,162,63,.35);
  background:rgba(197,162,63,.14);
  color:var(--hs-navy);
  font-weight:900;
  display:none;
}