:root {
  --si-navy: #0b2e4f;
  --si-blue: #1657a3;
  --si-blue-light: #eaf2fb;
  --si-accent: #2f8fd6;
  --si-ink: #17232e;
  --si-muted: #5b6b7a;
  --si-border: #e2e8ef;
  --si-bg: #f7f9fc;
}

body.si-body {
  font-family: 'Public Sans', 'Segoe UI', Arial, sans-serif;
  color: var(--si-ink);
  background: #fff;
}

a { text-decoration: none; }

.si-navbar {
  background: #fff;
  border-bottom: 1px solid var(--si-border);
  box-shadow: 0 1px 2px rgba(11, 46, 79, 0.04);
}
.si-navbar .navbar-brand {
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--si-navy);
  letter-spacing: .2px;
}
.si-navbar .navbar-brand span { color: var(--si-accent); }
.si-navbar .nav-link {
  color: var(--si-ink);
  font-weight: 500;
  padding: .5rem 1rem;
}
.si-navbar .nav-link:hover,
.si-navbar .nav-link.active { color: var(--si-blue); }
.si-navbar .btn-si-cta {
  background: var(--si-blue);
  color: #fff;
  border-radius: .5rem;
  padding: .5rem 1.1rem;
  font-weight: 600;
}
.si-navbar .btn-si-cta:hover { background: var(--si-navy); color: #fff; }

.si-hero {
  background: linear-gradient(135deg, var(--si-navy) 0%, var(--si-blue) 100%);
  color: #fff;
  padding: 5rem 0 6rem;
}
.si-hero h1 {
  font-weight: 700;
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  line-height: 1.25;
}
.si-hero p.lead {
  color: #dbe8f7;
  font-size: 1.1rem;
  max-width: 40rem;
}
.si-hero .btn-hero-primary {
  background: #fff;
  color: var(--si-navy);
  font-weight: 600;
  border-radius: .6rem;
  padding: .7rem 1.4rem;
}
.si-hero .btn-hero-primary:hover { background: var(--si-blue-light); }
.si-hero .btn-hero-outline {
  border: 1px solid rgba(255,255,255,.5);
  color: #fff;
  font-weight: 600;
  border-radius: .6rem;
  padding: .7rem 1.4rem;
}
.si-hero .btn-hero-outline:hover { background: rgba(255,255,255,.12); }

.si-stats {
  margin-top: -3rem;
  position: relative;
  z-index: 2;
}
.si-stat-card {
  background: #fff;
  border-radius: .9rem;
  box-shadow: 0 12px 28px rgba(11, 46, 79, .12);
  padding: 1.5rem;
  text-align: center;
}
.si-stat-card .si-stat-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--si-blue);
}
.si-stat-card .si-stat-label {
  color: var(--si-muted);
  font-size: .92rem;
}

.si-section { padding: 4.5rem 0; }
.si-section-bg { background: var(--si-bg); }
.si-section-title {
  font-weight: 700;
  color: var(--si-navy);
  margin-bottom: .5rem;
}
.si-section-lead { color: var(--si-muted); margin-bottom: 2.5rem; max-width: 42rem; }

.si-service-card {
  border: 1px solid var(--si-border);
  border-radius: .9rem;
  padding: 1.75rem;
  height: 100%;
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}
.si-service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(11, 46, 79, .1);
}
.si-service-icon {
  width: 3rem;
  height: 3rem;
  border-radius: .7rem;
  background: var(--si-blue-light);
  color: var(--si-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}
.si-service-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--si-ink); }
.si-service-card p { color: var(--si-muted); font-size: .93rem; margin-bottom: 0; }

.si-verify-box {
  background: var(--si-blue-light);
  border-radius: 1rem;
  padding: 2.25rem;
}
.si-verify-box form .form-control {
  border-radius: .6rem 0 0 .6rem;
  border: 1px solid var(--si-border);
  padding: .75rem 1rem;
}
.si-verify-box .btn-verify {
  background: var(--si-blue);
  color: #fff;
  border-radius: 0 .6rem .6rem 0;
  font-weight: 600;
  padding: .75rem 1.4rem;
}
.si-verify-box .btn-verify:hover { background: var(--si-navy); color: #fff; }

.si-result-card {
  border: 1px solid var(--si-border);
  border-radius: .75rem;
  padding: 1.1rem 1.4rem;
  background: #fff;
  margin-bottom: .75rem;
}
.si-result-card .si-badge-valid {
  background: #e6f6ec;
  color: #1c7a3c;
  border-radius: .4rem;
  padding: .2rem .6rem;
  font-size: .8rem;
  font-weight: 600;
}

.si-contact-card {
  border: 1px solid var(--si-border);
  border-radius: .9rem;
  padding: 1.5rem;
  height: 100%;
  background: #fff;
}
.si-contact-card .si-service-icon { margin-bottom: .75rem; }
.si-contact-card .text-muted small { color: var(--si-muted) !important; }

.si-footer {
  background: var(--si-navy);
  color: #cfe0f2;
  padding: 3rem 0 1.5rem;
}
.si-footer a { color: #cfe0f2; }
.si-footer a:hover { color: #fff; }
.si-footer h5 { color: #fff; font-weight: 700; }
.si-footer .si-copy {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 2rem;
  padding-top: 1.25rem;
  color: #9db6cf;
  font-size: .88rem;
}

@media (max-width: 767.98px) {
  .si-hero { padding: 3.5rem 0 5rem; text-align: center; }
  .si-hero p.lead { margin-left: auto; margin-right: auto; }
  .si-stats { margin-top: -2.25rem; }
}
