:root {
  --primary: #071c3a;
  --secondary: #0d2d57;
  --accent: #18b4c5;
  --light-bg: #f4f7fb;
  --text: #223044;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  line-height: 1.7;
}

h1, h2, h3, h4 {
  color: var(--primary);
  line-height: 1.25;
}

.site-nav {
  background: rgba(7, 28, 58, 0.96);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.navbar-brand {
  letter-spacing: .5px;
  font-size: 1.15rem;
}

.navbar-brand span {
  font-weight: 500;
  opacity: .95;
}

.nav-link {
  color: rgba(255,255,255,.85) !important;
  margin-left: .55rem;
}

.nav-link.active,
.nav-link:hover {
  color: #fff !important;
}

.hero-section,
.page-banner {
  background-size: cover;
  background-position: center;
}

.py-6 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.eyebrow,
.section-title {
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .8rem;
  font-weight: 700;
  color: var(--accent);
}

.btn-accent {
  background: var(--accent);
  color: #fff;
  border: 1px solid var(--accent);
}

.btn-accent:hover {
  background: #1297a6;
  border-color: #1297a6;
  color: #fff;
}

.shadow-soft {
  box-shadow: 0 20px 40px rgba(16, 34, 68, 0.12);
}

.feature-card,
.service-card,
.info-card,
.contact-card,
.mission-box,
.mini-panel {
  background: #fff;
  border-radius: 1.25rem;
  padding: 1.6rem;
  box-shadow: 0 16px 34px rgba(11, 28, 52, 0.08);
  border: 1px solid rgba(10, 30, 55, 0.06);
}

.feature-card h3,
.service-card h3,
.info-card h3 {
  font-size: 1.15rem;
  margin-bottom: .75rem;
}

.feature-number {
  color: var(--accent);
  font-size: 1.75rem;
  font-weight: 800;
  margin-bottom: .8rem;
}

.bg-light-subtle {
  background: var(--light-bg);
}

.text-link {
  color: var(--secondary);
  font-weight: 700;
  text-decoration: none;
}

.text-link:hover {
  color: var(--accent);
}

.check-list {
  padding-left: 1.2rem;
  margin-bottom: 0;
}

.check-list li {
  margin-bottom: .7rem;
}

.check-list.large li {
  margin-bottom: .9rem;
}

.contact-line {
  display: flex;
  flex-direction: column;
  padding: .8rem 0;
  border-bottom: 1px solid rgba(7,28,58,.08);
}

.contact-line span {
  color: #64748b;
  font-size: .86rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.form-control {
  border-radius: .9rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(7,28,58,.12);
}

.form-control:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 .2rem rgba(24, 180, 197, .15);
}

.cta-strip {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
}

.site-footer {
  background: var(--primary);
  color: rgba(255,255,255,.8);
}

.site-footer a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  margin-left: 1rem;
}

.site-footer a:hover {
  color: #fff;
}

@media (max-width: 991.98px) {
  .hero-section .display-4 {
    font-size: 2.4rem;
  }
}
