.guide-intro {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .75fr);
  gap: calc(var(--gap) * 2);
  align-items: end;
}

.guide-intro-copy {
  min-width: 0;
}

.guide-intro h1 {
  max-width: var(--reading-max);
}

.guide-lead {
  max-width: var(--reading-max);
  margin-top: var(--gap);
  color: var(--muted);
  font-size: var(--large);
  line-height: var(--leading-wide);
}

.guide-lead .text-link {
  margin-inline-start: 8px;
  color: var(--text);
}

.guide-intro .fact-row {
  margin-top: var(--gap);
}

.guide-intro .callout {
  margin: 0;
  box-shadow: var(--panel-shadow);
}

.guide-intro .callout p {
  color: var(--muted);
}

.guide-intro .callout strong {
  color: var(--text);
}

.guide-article {
  max-width: var(--reading-max);
}

.guide-step {
  position: relative;
  padding-top: var(--section-space);
  padding-bottom: calc(var(--section-space) / 2);
  border-top: 1px solid var(--line);
  box-shadow: var(--groove-shadow);
}

.guide-step:first-of-type {
  border-top: 0;
  box-shadow: none;
}

.guide-step h2 {
  margin-top: 0;
}

.step-kicker {
  margin-bottom: 10px;
  color: var(--quiet);
  font-family: var(--mono);
  font-size: var(--micro);
  font-weight: var(--medium);
  letter-spacing: var(--tracking-label);
}

.guide-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 30px;
}

.guide-actions .text-link {
  color: var(--text);
}

.client-guides {
  display: grid;
  gap: var(--gap);
  margin-top: 34px;
}

.client-guide {
  min-width: 0;
  padding: var(--card-space);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, var(--panel-high), var(--panel));
  box-shadow: var(--panel-shadow);
}

.client-guide h3 {
  margin-top: 0;
  margin-bottom: 14px;
}

.client-guide p:last-child {
  margin-bottom: 0;
}

.guide-step .callout {
  margin-top: 34px;
}

@media (max-width: 900px) {
  .guide-intro {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .guide-intro .callout {
    max-width: var(--reading-max);
  }
}

@media (max-width: 768px) {
  .guide-intro {
    gap: var(--gap);
  }

  .guide-lead {
    font-size: var(--body-size);
  }

  .guide-step {
    padding-top: var(--section-space);
    padding-bottom: calc(var(--section-space) / 2);
  }

  .guide-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .guide-actions .button {
    width: 100%;
  }

  .guide-actions .text-link {
    width: fit-content;
  }

  .client-guide {
    padding: var(--card-space);
  }
}