/* Service cards are intentionally namespaced and loaded after all global layers. */
.site-main .qct-svc-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)) !important;
  gap: clamp(1rem, 2.5vw, 1.75rem) !important;
  align-items: stretch !important;
  width: 100% !important;
}

.site-main .qct-svc-grid > .qct-svc-card {
  all: revert;
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 220px !important;
  overflow: hidden !important;
  padding: clamp(1.6rem, 3vw, 2.2rem) !important;
  border: 1px solid rgba(73, 53, 49, .12) !important;
  border-radius: clamp(18px, 2vw, 24px) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(250,246,243,.92)) !important;
  box-shadow: 0 18px 50px rgba(58,37,32,.07), 0 2px 8px rgba(58,37,32,.04) !important;
  color: var(--qct-color-text, #17151a) !important;
  font-family: inherit !important;
  text-align: left !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

.site-main .qct-svc-grid > .qct-svc-card::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--qct-color-accent, #e66b5f), rgba(230,107,95,.12)) !important;
  z-index: -1 !important;
}

.site-main .qct-svc-grid > .qct-svc-card > h3 {
  all: revert;
  display: block !important;
  color: var(--qct-color-ink, #211c1d) !important;
  font-family: inherit !important;
  font-size: clamp(1.08rem, 1.8vw, 1.22rem) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 .8rem !important;
}

.site-main .qct-svc-grid > .qct-svc-card > p {
  all: revert;
  display: block !important;
  color: var(--qct-color-muted, #686268) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

.site-main .qct-svc-grid > .qct-svc-card a {
  color: var(--qct-color-ink, #211c1d) !important;
  text-decoration-color: rgba(185,71,62,.45) !important;
  text-underline-offset: .22em !important;
}

.site-main .qct-svc-grid > .qct-svc-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(185,71,62,.28) !important;
  box-shadow: 0 26px 60px rgba(58,37,32,.11), 0 6px 16px rgba(58,37,32,.06) !important;
}

@media (max-width: 640px) {
  .site-main .qct-svc-grid > .qct-svc-card { min-height: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
  .site-main .qct-svc-grid > .qct-svc-card { transition: none !important; }
  .site-main .qct-svc-grid > .qct-svc-card:hover { transform: none !important; }
}
