.solutions-hero {
  padding-top: var(--space-16);
}

.solutions-section-header {
  margin-bottom: var(--space-6);
  max-width: 56rem;
}

.solutions-section-header--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.solutions-hero__grid {
  align-items: center;
}

.solutions-hero__lead {
  font-size: var(--font-size-lg);
  color: var(--color-text-muted);
  margin-bottom: var(--space-6);
}

.solutions-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.solutions-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.solutions-hero__meta-item {
  opacity: 0.9;
}

.solutions-hero__figure {
  max-width: 520px;
  margin-left: auto;
}

.solutions-hero__caption,
.solutions-urban__caption,
.solutions-commercial__caption,
.solutions-case-study__caption,
.solutions-testimonial__caption,
.solutions-inspiration__caption {
  padding: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.solutions-urban__grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: var(--space-8);
}

.solutions-urban__figure,
.solutions-commercial__figure,
.solutions-case-study__figure,
.solutions-testimonial__figure,
.solutions-inspiration__figure {
  height: 100%;
}

.solutions-urban__figure img,
.solutions-commercial__figure img,
.solutions-case-study__figure img,
.solutions-testimonial__figure img,
.solutions-inspiration__figure img {
  height: 100%;
  object-fit: cover;
}

.solutions-card__footer {
  display: flex;
  justify-content: flex-start;
  gap: var(--space-3);
}

.solutions-commercial__grid,
.solutions-case-study__grid,
.solutions-safety__grid,
.solutions-inspiration__grid {
  align-items: center;
  gap: var(--space-10);
}

.solutions-commercial__items,
.solutions-case-study__items,
.solutions-safety__items,
.solutions-inspiration__items {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.solutions-feature h3 {
  margin-bottom: var(--space-2);
}

.solutions-commercial__cta,
.solutions-partners__cta,
.solutions-inspiration__cta,
.solutions-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.solutions-pillars__grid,
.solutions-partners__grid {
  margin-top: var(--space-6);
}

.solutions-partners__cta {
  justify-content: center;
  margin-top: var(--space-6);
}

.solutions-case-study__link,
.solutions-safety__link {
  margin-top: var(--space-4);
}

.solutions-safety__aside {
  max-width: 420px;
  margin-left: auto;
}

.solutions-testimonial__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
  gap: var(--space-8);
  align-items: center;
}

.solutions-testimonial__card .card__body p:last-child {
  margin-bottom: 0;
}

.solutions-testimonial__author {
  margin-top: var(--space-3);
  color: var(--color-text);
}

.solutions-testimonial__footer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.solutions-testimonial__cta[aria-disabled="true"] {
  opacity: 0.6;
  cursor: default;
}

.solutions-inspiration__visual {
  max-width: 520px;
  margin-left: auto;
}

.solutions-final-cta {
  padding-top: var(--space-10);
  padding-bottom: var(--space-10);
}

.solutions-final-cta__inner {
  border-radius: var(--radius-xl);
  padding: var(--space-8) var(--space-6);
  background: radial-gradient(circle at top left, rgba(58, 164, 127, 0.16), transparent 60%), var(--color-surface-muted);
  box-shadow: var(--shadow-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
}

.solutions-final-cta__content {
  max-width: 40rem;
}

.solutions-final-cta__content p {
  margin-top: var(--space-2);
}

@media (max-width: 1024px) {
  .solutions-testimonial__wrapper {
    grid-template-columns: 1fr;
  }

  .solutions-urban__grid {
    grid-template-columns: 1fr;
  }

  .solutions-safety__aside {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .solutions-hero {
    padding-top: var(--space-12);
  }

  .solutions-hero__figure,
  .solutions-inspiration__visual {
    margin: 0;
  }

  .solutions-final-cta__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .solutions-hero__actions,
  .solutions-commercial__cta,
  .solutions-partners__cta,
  .solutions-inspiration__cta,
  .solutions-final-cta__actions {
    width: 100%;
  }

  .solutions-final-cta__actions {
    justify-content: flex-start;
  }
}
