/* Color preview scoped to the Technology Partners page. */
.technology-partners-preview {
  --brand-blue: #04347c;
  --brand-medium-blue: #3668b0;
  --brand-green: #049b22;
  --brand-bright-green: #5dd679;
  --brand-light-gray: #f8f8f8;
  background-color: var(--brand-light-gray);
  color: var(--brand-medium-blue);
}
.technology-partners-preview h1,
.technology-partners-preview h2,
.technology-partners-preview h3,
.technology-partners-preview h4,
.technology-partners-preview h5,
.technology-partners-preview h6 { color: var(--brand-medium-blue); }
.technology-partners-preview .btn-brand {
  background-color: #087b23;
  border: 2px solid #087b23;
  color: #fff;
  font-weight: 700;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.technology-partners-preview .btn-brand:hover,
.technology-partners-preview .btn-brand:focus,
.technology-partners-preview .btn-brand:active {
  background-color: #06631c;
  border-color: #06631c;
  color: #fff;
}
.technology-partners-preview a.hero-link,
.technology-partners-preview a.faq-link {
  color: var(--brand-medium-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.technology-partners-preview a.hero-link:hover,
.technology-partners-preview a.faq-link:hover { text-decoration-thickness: 2px; }
.technology-partners-preview a:focus-visible,
.technology-partners-preview button:focus-visible {
  outline: 3px solid var(--brand-medium-blue);
  outline-offset: 4px;
  box-shadow: 0 0 0 4px var(--brand-light-gray);
}
.technology-partners-preview .page-header {
  background-color: var(--brand-light-gray) !important;
}
.technology-partners-preview .hero-overlay-navy {
  background-color: var(--brand-blue);
  border-left: 4px solid var(--brand-green);
  border-radius: 16px;
  padding: 40px;
}
.technology-partners-preview .hero-overlay-navy .text-white-50 {
  color: #fff !important;
}
.technology-partners-preview .hero-overlay-navy a {
  color: var(--brand-bright-green) !important;
}
.technology-partners-preview .testimonial-section { background-color: #fff; }
.technology-partners-preview .partner-card {
  border-left: 4px solid var(--brand-green);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.technology-partners-preview .partner-card:hover {
  border-left-color: var(--brand-bright-green);
  box-shadow: 0 6px 28px rgba(54, 104, 176, .16) !important;
}
.technology-partners-preview .check-green { color: var(--brand-green) !important; }
.technology-partners-preview .bg-design-agency-about,
.technology-partners-preview .bg-light-subtle { background: var(--brand-light-gray) !important; }
.technology-partners-preview .table-brand {
  --bs-table-color: var(--brand-medium-blue);
  --bs-table-bg: transparent;
  color: var(--brand-medium-blue);
}
.technology-partners-preview .table-brand thead th {
  background-color: var(--brand-medium-blue);
  color: #fff;
  font-weight: 600;
  border-bottom: none;
  padding: 14px 16px;
}
.technology-partners-preview .table-brand tbody tr:hover {
  background-color: var(--brand-light-gray);
}
.technology-partners-preview .accordion-button,
.technology-partners-preview .accordion-body { color: var(--brand-medium-blue); }
.technology-partners-preview .accordion-button:not(.collapsed) {
  background-color: var(--brand-medium-blue);
  color: #fff;
  box-shadow: none;
}
.technology-partners-preview .accordion-button:not(.collapsed)::after {
  filter: brightness(0) invert(1);
}
.technology-partners-preview .main-header .navbar,
.technology-partners-preview .main-header .navbar .dropdown-menu.custom-dropdown-menu,
.technology-partners-preview .offcanvas {
  background-color: var(--brand-blue) !important;
}
.technology-partners-preview .main-header .navbar .nav-link,
.technology-partners-preview .offcanvas .nav-link { color: #fff !important; }
.technology-partners-preview .main-header .navbar .dropdown-link i,
.technology-partners-preview .navbar .dropdown-toggle::before,
.technology-partners-preview .offcanvas .dropdown-toggle::before {
  color: var(--brand-bright-green) !important;
}
.technology-partners-preview .footer-top {
  background: var(--brand-blue) !important;
  color: #fff;
}
.technology-partners-preview .footer-top h4,
.technology-partners-preview .footer-top p,
.technology-partners-preview .footer-top li { color: #fff; }
.technology-partners-preview .footer-top a { color: var(--brand-bright-green); }
.technology-partners-preview .footer-bottom,
.technology-partners-preview .footer-bottom a,
.technology-partners-preview .footer-bottom p { color: var(--brand-blue); }
@media (max-width: 767px) {
  .technology-partners-preview .hero-overlay-navy { padding: 28px 24px; }
}
/* Alternate the four content sections: white, light gray, white, light gray. */
.technology-partners-preview .main-wrapper > section.partners-section-white {
  background: #ffffff !important;
}
.technology-partners-preview .main-wrapper > section.partners-section-gray {
  background: var(--brand-light-gray) !important;
}

/* Match the approved illustrated service cards, retaining official partner logos. */
.technology-partners-preview .partner-art-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--brand-medium-blue);
  box-shadow: 0 3px 10px rgba(54, 104, 176, .12);
}
.technology-partners-preview .partner-card-artwork {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}
.technology-partners-preview .partner-card-copy {
  position: relative;
  flex: 1;
  margin: -16px 12px 12px;
  padding: 24px;
  border-radius: 10px;
  background: #fff;
  color: var(--brand-medium-blue);
  text-align: left;
}
.technology-partners-preview .partner-card-copy h3,
.technology-partners-preview .partner-card-copy p { color: var(--brand-medium-blue); }
.technology-partners-preview .partner-logo-panel {
  display: flex;
  align-items: center;
  min-height: 72px;
  margin-bottom: 16px;
  background: #fff;
}
.technology-partners-preview .partner-logo-panel img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(180px, 100%);
  max-height: 64px;
  object-fit: contain;
}
/* Keep partner cards in a stable responsive grid. */
.technology-partners-preview .partner-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
}
.technology-partners-preview .partner-card-grid > div {
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) and (max-width: 991px) {
  .technology-partners-preview .partner-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .technology-partners-preview .partner-card-grid { grid-template-columns: 1fr; }
}