/* ===== Brand palette ===== */
:root{
  --sc-dark:#0a1137;    /* deep navy */
  --sc-blue:#0d6efd;    /* bootstrap primary */
  --sc-teal:#22d1c3;    /* accent */
  --sc-light:#f5f7fc;   /* section bg */
}

/* ===== Global tweaks ===== */
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}

.lead{max-width:42rem;margin-inline:auto;}

/* ===== Login Modal ===== */
#loginModal .modal-content {
  border: none;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

#loginModal .modal-header {
  padding: 1.5rem 1.5rem 0 1.5rem;
}

#loginModal .btn-close {
  background-size: 1.2em;
  opacity: 0.6;
  transition: opacity 0.2s;
}

#loginModal .btn-close:hover {
  opacity: 1;
}

#loginModal .modal-body {
  padding: 0 1.5rem 1.5rem 1.5rem;
}

#loginModal .form-floating > .form-control:focus {
  border-color: var(--sc-blue);
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

#loginModal .btn-primary {
  background-color: var(--sc-blue);
  border-color: var(--sc-blue);
  font-weight: 500;
  transition: all 0.2s;
}

#loginModal .btn-primary:hover {
  background-color: #0b5ed7;
  border-color: #0a58ca;
  transform: translateY(-1px);
}

/* ===== Hero ===== */
.hero{
  background-image:url("../img/hero-bg.jpg"); /* abstract gradient */
  background-size:cover;background-position:center;
  color:#fff;
  text-align:center;
  padding:6rem 1rem 5rem;
}
.hero h1{font-weight:700;font-size:clamp(2.1rem,6vw,3rem);}
.hero .btn-outline-light:hover{color:#000;background:#fff;border-color:#fff;}

/* ===== Section headers ===== */
.section-title{font-weight:700;margin-bottom:1.25rem;text-align:center;}

.testimonial-blockquote {
  background: #ffffff;
  border-left: 4px solid var(--sc-blue);
  max-width: 720px;
}

.quote-icon {
  font-size: 2rem;
  color: var(--sc-blue);
}

/* ===== Cards ===== */
.icon-card{
  background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:0.75rem;
  padding:2rem 1.5rem;text-align:center;transition:.3s box-shadow;
}
.icon-card:hover{box-shadow:0 1rem 2rem -.5rem rgba(0,0,0,.15);}
.icon-circle{
  width:60px;height:60px;
  background:var(--sc-blue);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;font-size:1.75rem;margin-bottom:1rem;
}

/* ===== Stats Section ===== */
.quote-background {
  background:var(--sc-dark);
  color:#fff;
  text-align:center;
  padding:1rem;
}

.results{
  background:#0a0d27;
  color:#fff;
  text-align:center;
  padding:5rem 1rem;
}
.results h2{color:#fff;}

.results .kpi-card{
  background:rgba(255,255,255,.05);
  border:0;
  border-radius:.75rem;
  padding:2rem 1rem;
}

.results .kpi-number{
  font-size:2.0rem;          /* much larger */
  font-weight:700;
  color:var(--sc-teal);      /* bright accent */
  line-height:1;
  margin:0;
}

.results .kpi-icon{
  font-size:1.5rem;          /* slightly smaller than number */
  vertical-align:middle;
  margin-right:.25rem;
}

.results .kpi-label{
  font-size:1rem;
  color:#d3d8ff;
  margin-top:.4rem;
}

/* ===== CTA ===== */
.cta-light {
  background-color: var(--sc-light); /* soft gray-blue */
  color: #000;
}

.cta-light h2 {
  font-size: clamp(1.9rem, 5vw, 2.6rem);
  color: var(--sc-dark); /* deep navy headline */
}

.cta-light .btn-outline-dark {
  border: 2px solid var(--sc-dark);
  color: var(--sc-dark);
  font-weight: 500;
}

.cta-light .btn-outline-dark:hover {
  background-color: var(--sc-dark);
  color: #fff;
}

/* ===== Footer ===== */
footer {
  background:var(--sc-dark);
  color:#fff;
  text-align:center;
  padding:2rem;
}

.form-signin {
  max-width: 400px;
  padding: 1rem;
}

.form-signin .form-floating:focus-within {
  z-index: 2;
}

.form-signin input[type="text"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
