.home-services {
  --service-bg: #ffffff;
  --service-card: #ffffff;
  --service-title: #172031;
  --service-text: #596272;
  --service-border: #e2e6ed;
  --service-accent: #a80b50;
  --service-icon-bg: #fbf0f5;
  padding: 80px 0;
  background: var(--service-bg);
}
.dark-mode .home-services {
  --service-bg: #100e19;
  --service-card: #191622;
  --service-title: #f4f3f8;
  --service-text: #c0bdcc;
  --service-border: #37313f;
  --service-accent: #ff91be;
  --service-icon-bg: #30202c;
}
.home-services-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 32px;
}
.home-services-heading > div { max-width: 720px; }
.home-services-heading h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 750;
  color: var(--service-title);
}
.home-services-heading p { margin: 0; color: var(--service-text); font-size: 0.97rem; line-height: 1.9; }
.home-services-all {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  min-height: 44px;
  color: var(--service-accent);
  font-size: 0.88rem;
  font-weight: 650;
  text-decoration: none;
}
.home-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.home-service-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 28px;
  background: var(--service-card);
  border: 1px solid var(--service-border);
  border-radius: 12px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.home-service-card:hover,
.home-service-card:focus-within { border-color: var(--service-accent); box-shadow: 0 8px 24px rgba(25, 20, 40, 0.06); }
.home-service-icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 22px; border-radius: 10px; background: var(--service-icon-bg); color: var(--service-accent); font-size: 1.2rem; }
.home-service-card h3 { margin: 0 0 12px; color: var(--service-title); font-size: 1.12rem; font-weight: 700; line-height: 1.65; }
.home-service-card p { flex-grow: 1; margin: 0 0 22px; color: var(--service-text); font-size: 0.92rem; line-height: 1.9; }
.home-service-card a { display: flex; width: 100%; min-height: 44px; padding-top: 16px; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--service-border); color: var(--service-accent); font-size: 0.85rem; font-weight: 650; text-decoration: none; }
.home-services a:hover { color: var(--service-accent); text-decoration: underline; text-underline-offset: 4px; }
.home-services a:focus-visible { outline: 2px solid var(--service-accent); outline-offset: 4px; }
@media (max-width: 991.98px) {
  .home-services { padding: 56px 0; }
  .home-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-services-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (max-width: 575.98px) {
  .home-services-grid { grid-template-columns: 1fr; gap: 16px; }
  .home-service-card { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-service-card { transition: none; }
}
