/* ─── SERVICES ─── */
#services { background: var(--bg-2); }

.services-header {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 80px;
  max-width: 720px;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
}

.service-card {
  background: var(--bg-2);
  padding: 52px 40px;
  position: relative;
  overflow: hidden;
  transition: background .3s;
  cursor: default;
}

.service-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 2px;
  background: var(--green);
  transition: width .4s ease;
}

.service-card:hover { background: var(--bg); }
.service-card:hover::before { width: 100%; }

.service-num {
  font-family: var(--serif);
  font-size: .8rem;
  color: var(--green-light);
  letter-spacing: .1em;
  margin-bottom: 28px;
  display: block;
}

.service-icon {
  width: 44px; height: 44px;
  margin-bottom: 28px;
  color: var(--green);
}

.service-title {
  font-family: var(--serif);
  font-size: 1.45rem;
  font-weight: 400;
  margin-bottom: 16px;
  line-height: 1.2;
  color: var(--ink);
}

.service-desc {
  font-size: .83rem;
  color: var(--gray);
  line-height: 1.75;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 1024px) {
  .services-header { grid-template-columns: 1fr; gap: 32px; }
  .services-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .services-grid { grid-template-columns: 1fr; }
  .service-card { padding: 40px 28px; }
}
