/* ============================================================
   SERVICES
   ============================================================ */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
}

.service-card {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--deep-2);
  border: 1px solid var(--border);
  transition: transform var(--dur-med) var(--ease-out), border-color var(--dur-med);
  perspective: 800px;
}
.service-card:hover {
  transform: translateY(-8px) rotateX(2deg);
  border-color: var(--border-hi);
}

.service-media {
  position: relative;
  height: 170px;
  overflow: hidden;
}
.service-media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease-out);
}
.service-card:hover .service-media img { transform: scale(1.08); }
.service-media::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(11,8,24,0) 30%, var(--deep-2) 100%);
}

.service-icon {
  position: absolute;
  top: var(--sp-3); left: var(--sp-3);
  width: 44px; height: 44px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(10, 8, 22, 0.7);
  border: 1px solid var(--border-hi);
  backdrop-filter: blur(10px);
  color: var(--cyan);
  z-index: 2;
}
.service-icon svg { width: 21px; height: 21px; }

.service-body { padding: var(--sp-4); }
.service-title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  margin-bottom: 0.5rem;
}
.service-desc {
  color: var(--ink-dim);
  font-size: 0.92rem;
}

.service-arrow {
  margin-top: var(--sp-3);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--violet-2);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity var(--dur-fast), transform var(--dur-fast);
}
.service-card:hover .service-arrow { opacity: 1; transform: translateX(0); }
.service-arrow svg { width: 14px; height: 14px; }

@media (max-width: 980px) {
  .services-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .services-grid { grid-template-columns: 1fr; }
}
