/* Services index — stacked phase sections (Editorial direction). */

.services-index__hero { padding-block: clamp(56px, 7vw, 96px) clamp(48px, 6vw, 80px); }
.services-index__intro { max-width: 820px; }
.services-index__intro .eyebrow { margin-bottom: 20px; }
.services-index__title {
  font-size: clamp(34px, 4.4vw, 68px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  font-weight: 500;
  text-wrap: balance;
}
.services-index__sub { margin-top: 26px; font-size: 18px; line-height: 1.72; color: var(--body-text); text-wrap: pretty; }

.service-phase {
  background: var(--bg);
  padding-block: clamp(60px, 8vw, 100px);
  padding-inline: var(--pad-inline);
  border-top: 1px solid var(--line-on-light);
}
.service-phase--alt { background: var(--bg-card); }

.service-phase__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
.service-phase__no { font-size: 11px; letter-spacing: 0.2em; color: var(--gold); margin-bottom: 20px; display: block; }
.service-phase__title { font-size: clamp(26px, 2.6vw, 38px); line-height: 1.14; letter-spacing: -0.02em; font-weight: 500; text-wrap: balance; }

.service-phase__desc { font-size: 17px; line-height: 1.75; color: var(--body-text); text-wrap: pretty; }
.service-phase__chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }

.service-phase__media { position: relative; height: 300px; border-radius: var(--radius); overflow: hidden; }
