/* ── Services Filter — page-specific styles ── */

.services-filter {
  max-width: 1600px;
}

/* ── Service cards grid ── */
.services-filter__panel.is-active {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-content: start;
}

.services-filter__card {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 2.5rem 1.25rem;
  min-height: 220px;
  background: #005e91;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  transition: background 0.25s, transform 0.25s;
}

.services-filter__card:hover {
  background: #006da8;
  transform: translateY(-2px);
}

.services-filter__card-title {
  font-size: clamp(1.25rem, 1.6vw, 1.58rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.services-filter__card-desc {
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.32;
  opacity: 0.9;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .services-filter__panel.is-active {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .services-filter__panel.is-active {
    grid-template-columns: 1fr;
  }

  .services-filter__card {
    min-height: 160px;
    padding: 1.75rem 1.25rem;
  }
}
