/* Partnership page — V3.0 design (Figma 17:217). */

/* ------------------------------------------------------------------- Hero */

.pt-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}

/* ------------------------------------------------- Problem / SLA splits --- */

.pt-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.42fr);
  align-items: center;
  gap: var(--space-6);
}

.pt-lead {
  margin-block-start: var(--space-4);
  max-inline-size: 62ch;
  color: rgb(5 50 37 / 0.78);
}

.pt-sla-cta {
  display: flex;
  margin-block-start: var(--space-5);
}

.pt-art {
  color: var(--green-700);
}

.pt-art svg {
  inline-size: 100%;
  block-size: auto;
  max-block-size: 22rem;
  display: block;
  margin-inline-start: auto;
}

/* ----------------------------------------------------------- What we offer */

/* Mirrors .pt-sla-cta. btn-light rather than btn-dark: this band is
   theme-invert, so a green fill would sit invisibly on green. */
.pt-offer-cta {
  display: flex;
  margin-block-start: var(--space-5);
}

.pt-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.pt-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid rgb(250 247 242 / 0.35);
  border-radius: var(--radius-md);
}

.pt-card-title {
  margin: 0;
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  /* Two of the three titles wrap to two lines and one to three; a min height
     keeps the body copy on a shared baseline across the row. */
  min-block-size: 2lh;
}

.pt-card-p {
  margin: 0;
  font-size: var(--text-sm);
  color: rgb(250 247 242 / 0.78);
}

/* ----------------------------------------------------------- Responsive --- */

@media (max-width: 60rem) {
  .pt-cards { grid-template-columns: minmax(0, 1fr); }
  .pt-card-title { min-block-size: 0; }
}

@media (max-width: 48rem) {
  .pt-split {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  /* Sketch below the copy it illustrates, centred. */
  .pt-art svg { margin-inline: auto; max-block-size: 15rem; }

  .pt-hero-actions .btn { flex: 1 1 0; justify-content: center; white-space: nowrap; }

}
