:root {
  --deep-blue: #0D3B66;
  --sky-blue: #0EA5E9;
  --warm-yellow: #F4C542;
  --bg-offwhite: #F7F9FC;
  --text-gray: #4B5563;
}

body {
  background-color: var(--bg-offwhite);
  color: var(--text-gray);
  font-family: Poppins, Inter, system-ui, -apple-system, Segoe UI, Arial;
}

.container {
  max-width: 1120px
}

.navbar {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .04)
}

.nav-link {
  color: var(--deep-blue);
}

.nav-link:hover {
  color: var(--sky-blue);
}

.btn-primary {
  background-color: var(--deep-blue);
  border-color: var(--deep-blue);
}

.btn-primary:hover {
  background-color: #12467e;
  border-color: #12467e;
}

.btn-outline-primary {
  color: var(--deep-blue);
  border-color: var(--deep-blue)
}

.btn-outline-primary:hover {
  background-color: var(--deep-blue);
  color: #fff;
  border-color: var(--deep-blue)
}

.btn-accent {
  background-color: var(--warm-yellow);
  border-color: var(--warm-yellow);
  color: #1a1a1a;
}

.btn-accent:hover {
  background-color: #dbad35;
  border-color: #dbad35;
  color: #111;
}

.section {
  padding: 56px 0;
}

.hero-title {
  color: var(--deep-blue);
}

.brand-title {
  font-size: 1.15rem
}

.card-title {
  color: var(--deep-blue);
}

.card {
  border-color: rgba(0, 0, 0, .08)
}

.card:hover {
  box-shadow: 0 8px 24px rgba(13, 59, 102, .06)
}

.badge-sky {
  background-color: var(--sky-blue);
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

.gallery-grid img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 6px;
}

.brand-logo {
  height: 44px;
  width: auto;
  image-rendering: -webkit-optimize-contrast;
  filter: drop-shadow(0 1px 2px rgba(13, 59, 102, .12));
}

@media (max-width:576px) {
  .brand-logo {
    height: 38px
  }
}
