/* ═══ SERVICES ═══ */
.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

.svc-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 30px 26px;
  transition: var(--t);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.svc-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--teal), var(--teal-dk));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  border-radius: var(--r-xl) var(--r-xl) 0 0;
}
.svc-card:hover { border-color: var(--teal); box-shadow: var(--sh-3); transform: translateY(-4px); }
.svc-card:hover::after { transform: scaleX(1); }
.svc-card.featured {
  border-color: var(--teal);
  background: linear-gradient(160deg, var(--teal-lt) 0%, var(--white) 60%);
}
.svc-card.featured::after { transform: scaleX(1); }
.svc-ico         { font-size: 38px; display: block; margin-bottom: 18px; }
.svc-cat         { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--teal); margin-bottom: 10px; }
.svc-card h3     { font-size: 17px; font-weight: 700; margin-bottom: 10px; line-height: 1.35; }
.svc-card p      { font-size: 13.5px; color: var(--body); line-height: 1.78; margin-bottom: 18px; }
.svc-price       { font-family: 'Playfair Display', sans-serif; font-size: 20px; font-weight: 800; color: var(--teal); }
.svc-price-lbl   { font-size: 12px; color: var(--muted); margin-top: 2px; }
.svc-features    { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.svc-features li {
  font-size: 13px;
  color: var(--body);
  display: flex;
  align-items: flex-start;
  gap: 9px;
  line-height: 1.5;
}
.svc-features li::before { content: '→'; color: var(--teal); font-size: 12px; flex-shrink: 0; margin-top: 1px; }

/* ═══ PRICING CARDS ═══ */
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pricing-card {
  border: 1px solid var(--border);
  border-radius: var(--r-2xl);
  padding: 32px 28px;
  background: var(--white);
  transition: var(--t);
  position: relative;
}
.pricing-card:hover { box-shadow: var(--sh-2); transform: translateY(-4px); }
.pricing-card.popular {
  border: 2px solid var(--teal);
  background: linear-gradient(160deg, var(--teal-lt) 0%, var(--white) 50%);
}
.popular-badge {
  position: absolute;
  top: -13px; left: 50%;
  transform: translateX(-50%);
  background: var(--teal);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 5px 16px;
  border-radius: var(--r-pill);
  white-space: nowrap;
  box-shadow: var(--sh-teal);
}
.pricing-tier   { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-bottom: 12px; }
.pricing-price  {
  font-family: 'Playfair Display', sans-serif;
  font-size: 42px;
  font-weight: 900;
  color: var(--ink);
  line-height: 1;
  margin-bottom: 4px;
}
.pricing-period { font-size: 13px; color: var(--muted); margin-bottom: 22px; }
.pricing-desc   { font-size: 13.5px; color: var(--body); line-height: 1.75; margin-bottom: 22px; min-height: 60px; }

@media (max-width: 960px) {
  .svc-grid     { grid-template-columns: repeat(2, 1fr); }
  .pricing-grid { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; }
}
@media (max-width: 640px) {
  .svc-grid { grid-template-columns: 1fr; }
}
