.serv {
  width: 100%;
  padding: calc(var(--section-space) + 8px) 32px;
  background: var(--color-bg);
}

.serv__header {
  width: min(1080px, 100%);
  margin-bottom: var(--space-48);
}

.serv__header > h2 {
  max-width: 980px;
}

.serv__header > p:not(.serv__eyebrow) {
  max-width: 920px;
}

.serv__eyebrow {
  margin-bottom: var(--space-12);
  color: var(--color-accent);
  font-size: var(--font-label);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.serv__support-copy {
  max-width: 920px;
  margin-inline: auto;
  color: var(--color-text);
  font-size: var(--font-body-lg);
  line-height: var(--leading-body);
}

.serv__actions {
  margin-top: var(--space-8);
}

.serv .cards {
  width: min(1280px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.service-card-link {
  display: flex;
  color: inherit;
}

.serv .card {
  width: 100%;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  padding: 28px;
  border-radius: 22px;
  background: rgba(var(--rgb-surface), 0.92);
  border: 1px solid rgba(var(--rgb-border), 0.78);
  box-shadow: 0 14px 30px rgba(var(--rgb-bg), 0.24);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
  backdrop-filter: blur(10px);
}

.service-card-link:hover .card {
  transform: translateY(-4px);
  border-color: rgba(var(--rgb-accent), 0.38);
  box-shadow: 0 20px 40px rgba(var(--rgb-bg), 0.3);
  background: rgba(var(--rgb-surface-elevated), 0.92);
}

.serv__card-label {
  margin-bottom: var(--space-12);
  color: var(--color-accent);
  font-size: var(--font-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.serv .card h3 {
  margin-bottom: var(--space-16);
  font-size: var(--font-h4);
  font-weight: 600;
  line-height: var(--leading-h4);
  color: var(--color-white);
}

.serv .card p {
  margin-bottom: auto;
  font-size: var(--font-body);
  line-height: var(--leading-body);
  color: var(--color-text-secondary);
}

.serv .card strong {
  margin-top: var(--space-24);
  color: var(--color-text);
  font-size: var(--font-small);
  line-height: var(--leading-small);
}

@media screen and (max-width: 1100px) {
  .serv .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 769px) {
  .serv {
    padding: var(--section-space-tight) 20px;
  }

  .serv .cards {
    grid-template-columns: 1fr;
  }
}
