.dbl-cg--bg-shade-50 {
  background-color: #F3F7FA;
}
.dbl-cg--bg-navy {
  background-color: #00497A;
}
.dbl-cg--bg-section {
  background-color: var(--dbl-color-section-bg, #EDF4F9);
}
.dbl-cg--bg-gradient-shade {
  background: linear-gradient(to bottom, #ffffff 0%, #E6EEF6 100%);
}
.dbl-cg--bg-gradient-spring {
  background: linear-gradient(to bottom, #ffffff 0%, #EEF6E4 100%);
}
.dbl-cg__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dbl-color-winter-700, #005988);
  text-align: center;
}
.dbl-cg__heading {
  margin: 0 0 2rem;
  font-size: var(--dbl-h2-size, 2rem);
  font-weight: var(--dbl-h2-weight, 600);
  line-height: var(--dbl-h2-lh, 2.25rem);
  color: var(--dbl-color-winter-700, #005988);
  text-align: center;
}
.dbl-cg__heading:has(+ .dbl-cg__subheading) {
  margin-bottom: 0.75rem;
}
.dbl-cg__subheading {
  margin: 0 auto 2rem;
  max-width: 44rem;
  font-size: var(--dbl-body-size, 1rem);
  font-weight: 400;
  line-height: 1.5rem;
  color: var(--dbl-color-text-muted, #6B7280);
  text-align: center;
}
.dbl-cg--bg-navy .dbl-cg__eyebrow, .dbl-cg--bg-navy .dbl-cg__heading, .dbl-cg--bg-navy .dbl-cg__subheading {
  color: #ffffff;
}
.dbl-cg__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}
.dbl-cg--cols-3 .dbl-cg__grid {
  grid-template-columns: repeat(3, 1fr);
}
.dbl-cg--cols-4 .dbl-cg__grid {
  grid-template-columns: repeat(4, 1fr);
}
.dbl-cg__card {
  background: #ffffff;
  border-radius: 12px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-around;
  border: 1px solid #A6BCD6;
}
.dbl-cg--card-bg-white .dbl-cg__card {
  background: #ffffff;
  border-color: #A6BCD6;
}
.dbl-cg--card-bg-shade-200 .dbl-cg__card {
  background: #D6E4F1;
  border-color: #D6E4F1;
}
.dbl-cg--card-bg-top-thick-navy-border .dbl-cg__card {
  background: #ffffff;
  border: 1px solid #D6E4F1;
  border-top: none;
  position: relative;
  box-shadow: 0 6px 24px 0 rgba(20, 30, 60, 0.08);
}
.dbl-cg--card-bg-top-thick-navy-border .dbl-cg__card::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 1px;
  right: 1px;
  height: 6px;
  background: #005988;
  border-radius: 12px 12px 0 0;
  pointer-events: none;
}
.dbl-cg--cols-2 .dbl-cg__card--span-2 {
  grid-column: span 2;
}
.dbl-cg--cols-3 .dbl-cg__card--span-2 {
  grid-column: span 2;
}
.dbl-cg--cols-3 .dbl-cg__card--span-3 {
  grid-column: span 3;
}
.dbl-cg--cols-4 .dbl-cg__card--span-2 {
  grid-column: span 2;
}
.dbl-cg--cols-4 .dbl-cg__card--span-3 {
  grid-column: span 3;
}
.dbl-cg--cols-4 .dbl-cg__card--span-4 {
  grid-column: span 4;
}
.dbl-cg--align-center .dbl-cg__card {
  align-items: center;
  text-align: center;
}
.dbl-cg--align-right .dbl-cg__card {
  align-items: flex-end;
  text-align: right;
}
.dbl-cg--wrap-content .dbl-cg__card--has-icon {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1rem;
  row-gap: 0.75rem;
  align-items: center;
  text-align: left;
}
.dbl-cg--wrap-content .dbl-cg__card--has-icon > .dbl-cg__icon-wrap {
  grid-column: 1;
  align-self: start;
}
.dbl-cg--wrap-content .dbl-cg__card--has-icon > :not(.dbl-cg__icon-wrap) {
  grid-column: 2;
}
.dbl-cg--wrap-content.dbl-cg--align-center .dbl-cg__card--has-icon, .dbl-cg--wrap-content.dbl-cg--align-right .dbl-cg__card--has-icon {
  text-align: left;
}
.dbl-cg__icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background-color: #E8F7FD;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dbl-cg__icon-wrap svg {
  width: 28px;
  height: 28px;
}
.dbl-cg__card-heading {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--dbl-color-winter-700, #005988);
}
.dbl-cg__card-body {
  margin: 0;
  font-size: var(--dbl-body-size, 1rem);
  font-weight: 400;
  line-height: 1.5rem;
  color: var(--dbl-color-text-muted, #6B7280);
  flex: 1;
}
.dbl-cg__card-body p {
  margin: 0 0 0.75em;
}
.dbl-cg__card-body p:last-child {
  margin-bottom: 0;
}
.dbl-cg__card-footer {
  margin-top: 0.25rem;
}
.dbl-cg__empty {
  color: var(--dbl-color-text-muted, #6B7280);
  font-size: var(--dbl-font-size-sm, 0.875rem);
  text-align: center;
  padding: 2rem 0;
}
@media (max-width: 1024px) {
  .dbl-cg--cols-3 .dbl-cg__grid, .dbl-cg--cols-4 .dbl-cg__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .dbl-cg--cols-3 .dbl-cg__card--full, .dbl-cg--cols-4 .dbl-cg__card--full {
    grid-column: span 2;
  }
}
@media (max-width: 767px) {
  .dbl-cg__grid, .dbl-cg--cols-3 .dbl-cg__grid, .dbl-cg--cols-4 .dbl-cg__grid {
    grid-template-columns: 1fr;
  }
  .dbl-cg--wrap-content .dbl-cg__card--has-icon {
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }
  .dbl-cg--wrap-content .dbl-cg__card--has-icon > .dbl-cg__icon-wrap, .dbl-cg--wrap-content .dbl-cg__card--has-icon > :not(.dbl-cg__icon-wrap) {
    grid-column: 1;
    grid-row: auto;
  }
}
