/* service.css (Service page specific styles) */
body {
  background-color: var(--paper);
}

#servicesSection {
  margin-top: 73px;
}

.pageSection {
  padding-block: 64px;
  background: var(--paper);
  scroll-margin-top: 80px;
}

.pageSectionAlt {
  background: color-mix(in oklch, var(--paper) 92%, var(--warm2) 8%);
}

.sectionInner {
  width: min(1120px, 100%);
  margin-inline: auto;
  padding-inline: 16px;
}

.sectionTitle {
  color: var(--warm3);
  font-size: clamp(22px, calc(20px + 0.625vw), 32px);
  font-weight: 950;
  margin-block-end: 10px;
  > span {
    display: inline-block;
  }
}

.sectionLead {
  font-size: clamp(14px, calc(13.2px + 0.25vw), 18px);
  line-height: 1.8;
  color: oklch(from #333 l c h / 0.9);
  font-weight: 800;
  margin-block-end: 26px;
}

.serviceGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.serviceCard {
  border-radius: var(--radius);
  border: 1px solid oklch(from #333 l c h / 0.1);
  background: oklch(from #fbfbfb l c h / 0.92);
  overflow: hidden;
  box-shadow: 0 10px 26px oklch(from #000 l c h / 0.04);
}

.serviceCardFigure {
  margin: 0;
}

.serviceCardFigure img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.serviceCardTitle {
  font-size: clamp(18px, calc(17.2px + 0.25vw), 22px);
  font-weight: 950;
  letter-spacing: -0.02em;
  padding: 16px 16px 6px;
  color: var(--ink);
}

.serviceCardText {
  font-size: clamp(13px, calc(12.4px + 0.1875vw), 16px);
  font-weight: 800;
  line-height: 1.8;
  padding: 0 16px 18px;
  color: oklch(from #333 l c h / 0.86);
}

/* mobile */
@media (width < 768px) {
  #servicesSection {
    margin-top: 55.5px;
  }
  .pageSection {
    padding-block: 56px;
  }

  .serviceGrid {
    grid-template-columns: 1fr;
  }

  .serviceCardFigure img {
    height: 220px;
  }
}
