.ta-services-list {
  background: var(--ta-color-page-bg);
  color: var(--ta-color-navy-deep);
  font-family: var(--ta-font-primary);
  padding-block: var(--ta-section-padding-y);
}

.ta-services-list .ta-services-list__container {
  width: min(100% - calc(var(--ta-container-padding-x) * 2), var(--ta-container-max-width));
  margin-inline: auto;
}

.ta-services-list .ta-services-list__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ta-space-3);
  margin-block-end: var(--ta-space-7);
  text-align: center;
}

.ta-services-list .ta-services-list__title {
  margin: 0;
  color: var(--ta-color-navy-deep);
  font-size: var(--ta-type-section-title-size);
  font-weight: var(--ta-type-section-title-weight);
  line-height: var(--ta-type-section-title-line-height);
  letter-spacing: var(--ta-type-section-title-letter-spacing);
}

.ta-services-list .ta-services-list__title-line {
  width: var(--ta-footer-icon-size);
  height: var(--ta-menu-active-height);
  border-radius: var(--ta-menu-active-radius);
  background: var(--ta-color-turquoise);
}

.ta-services-list .ta-services-list__intro {
  max-width: var(--ta-container-max-width);
  margin: 0;
  color: var(--ta-news-excerpt-color);
  font-size: var(--ta-type-card-text-size);
  font-weight: var(--ta-type-card-text-weight);
  line-height: var(--ta-type-card-text-line-height);
}

.ta-services-list .ta-services-list__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ta-news-card-gap);
}

.ta-services-list .ta-services-list__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--ta-news-card-bg);
  border: var(--ta-news-card-border-width) solid var(--ta-news-card-border-color);
  border-radius: var(--ta-news-card-radius);
  box-shadow: var(--ta-news-card-shadow);
}

.ta-services-list .ta-services-list__media {
  display: block;
  overflow: hidden;
  aspect-ratio: var(--ta-news-image-aspect-ratio);
  background: var(--ta-news-image-bg);
  line-height: 0;
}

.ta-services-list .ta-services-list__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--ta-transition-normal);
}

.ta-services-list .ta-services-list__card:hover .ta-services-list__media img {
  transform: scale(1.035);
}

.ta-services-list .ta-services-list__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "content icon"
    "more more";
  align-items: start;
  gap: var(--ta-space-4);
  flex: 1 1 auto;
  padding: var(--ta-news-card-padding-y) var(--ta-news-card-padding-x);
}

.ta-services-list .ta-services-list__content {
  grid-area: content;
  min-width: 0;
}

.ta-services-list .ta-services-list__icon {
  grid-area: icon;
  width: var(--ta-footer-icon-size);
  height: var(--ta-footer-icon-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--ta-radius-circle);
  background: var(--ta-news-image-bg);
  color: var(--ta-color-turquoise);
  font-size: var(--ta-news-meta-icon-size);
}

/* Icons used by this section are defined locally because the global icon
   stylesheet intentionally contains only the shared project subset. */
.ta-services-list .bi-tools::before { content: "\f5db"; }
.ta-services-list .bi-rulers::before { content: "\f523"; }
.ta-services-list .bi-gear-wide-connected::before { content: "\f3e3"; }
.ta-services-list .bi-shield-check::before { content: "\f52f"; }
.ta-services-list .bi-clipboard2-check::before { content: "\f725"; }
.ta-services-list .bi-graph-up-arrow::before { content: "\f673"; }

.ta-services-list .ta-services-list__card-title {
  margin: 0 0 var(--ta-news-card-title-margin-bottom);
  color: var(--ta-color-navy-deep);
  font-size: var(--ta-type-card-title-size);
  font-weight: var(--ta-type-card-title-weight);
  line-height: var(--ta-type-card-title-line-height);
}

.ta-services-list .ta-services-list__card-title a {
  color: inherit;
  text-decoration: none;
}

.ta-services-list .ta-services-list__excerpt {
  margin: 0;
  color: var(--ta-news-excerpt-color);
  font-size: var(--ta-type-card-text-size);
  font-weight: var(--ta-type-card-text-weight);
  line-height: var(--ta-type-card-text-line-height);
}

.ta-services-list .ta-services-list__more {
  grid-area: more;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: var(--ta-type-section-link-gap);
  color: var(--ta-color-turquoise);
  font-size: var(--ta-type-card-action-size);
  font-weight: var(--ta-type-section-link-weight);
  text-decoration: none;
  transition: color var(--ta-transition-normal);
}

.ta-services-list .ta-services-list__more:hover {
  color: var(--ta-color-navy-deep);
}

.ta-services-list .ta-services-list__more i {
  line-height: 1;
  transition: transform var(--ta-transition-normal);
}

.ta-services-list .ta-services-list__more:hover i {
  transform: translateX(var(--ta-news-icon-hover-shift));
}

.ta-services-list .ta-services-list__empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: var(--ta-space-8);
  text-align: center;
  color: var(--ta-news-excerpt-color);
}

.ta-services-list .ta-services-list__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--ta-space-2);
  margin-block-start: var(--ta-space-8);
}

.ta-services-list .ta-services-list__pagination .page-numbers {
  min-width: var(--ta-action-height);
  min-height: var(--ta-action-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: var(--ta-space-3);
  border: var(--ta-news-card-border-width) solid var(--ta-news-card-border-color);
  border-radius: var(--ta-action-border-radius);
  background: var(--ta-news-card-bg);
  color: var(--ta-color-navy-deep);
  text-decoration: none;
  font-weight: var(--ta-type-section-link-weight);
}

.ta-services-list .ta-services-list__pagination .page-numbers.current,
.ta-services-list .ta-services-list__pagination a.page-numbers:hover {
  border-color: var(--ta-color-turquoise);
  background: var(--ta-color-turquoise);
  color: var(--ta-color-white);
}
