.legal-copy h2 {
  margin-top: 56px;
  font-size: var(--step-2);
}

.legal-copy p,
.legal-copy li {
  color: var(--muted);
}

.success-panel {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 120px 24px 64px;
  background: var(--ink);
  color: var(--white);
}

.success-card {
  width: min(100%, 720px);
  padding: clamp(32px, 7vw, 72px);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius-md);
  text-align: center;
}

.success-card p {
  margin-inline: auto;
  color: #b6c6ce;
}

.success-logo {
  width: 96px;
  height: 96px;
  margin: 0 auto 32px;
  border-radius: 8px;
}

.success-actions {
  justify-content: center;
}

@media (max-width: 980px) {
  .page-hero-grid,
  .detail-intro,
  .directory-grid,
  .project-feature,
  .contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-index {
    justify-self: start;
  }

  .detail-intro h2,
  .directory-nav {
    position: relative;
    top: auto;
  }

  .service-photo-break {
    grid-template-columns: 1fr;
  }

  .service-photo-break .photo {
    min-height: 440px;
  }

  .project-feature-media {
    min-height: 520px;
  }
}

@media (max-width: 767px) {
  .page-hero {
    min-height: 520px;
    padding: 136px 0 56px;
  }

  .page-hero-grid {
    gap: 40px;
  }

  .page-hero .hero-index {
    display: none;
  }

  .breadcrumb {
    margin-bottom: 32px;
  }

  .capability-list,
  .process-grid,
  .decision-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .process-card {
    min-height: 240px;
    padding: 28px;
  }

  .process-card .kicker-number {
    margin-bottom: 40px;
  }

  .service-photo-break .photo {
    min-height: 360px;
  }

  .service-photo-break .copy {
    padding: 48px 24px;
  }

  .directory-block {
    padding: 28px;
  }

  .directory-block h2 {
    font-size: var(--step-3);
    hyphens: auto;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .project-feature-media {
    min-height: 460px;
  }

  .project-feature-copy {
    padding: 40px 24px;
  }

  .contact-layout {
    gap: 48px;
  }

  .field-full {
    grid-column: 1;
  }
}

@media (min-width: 768px) and (max-width: 860px) {
  .decision-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
