/* Page-specific composition and deliberate exceptions. */

.p-experts__main {
  padding: 0;
}

.p-experts__grid {
  gap: 0;
  margin: 0;
}

.p-experts__intro {
  padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 6vw, 5rem);
}

.p-experts__grid .c-expert-card__link::after {
  height: 58%;
  background: linear-gradient(
    180deg,
    rgb(0 0 0 / 0) 0%,
    rgb(0 0 0 / 0.08) 30%,
    rgb(0 0 0 / 0.82) 100%
  );
}

.p-experts__grid .c-expert-card__caption {
  padding: clamp(1.25rem, 3vw, 2.5rem);
}

.p-experts__grid .c-expert-card__name {
  font-size: clamp(1.1rem, 1.8vw, 1.45rem);
}

.p-experts .c-cta {
  display: grid;
  grid-template-columns: minmax(12rem, 0.7fr) minmax(0, 1.3fr);
  grid-template-rows: auto auto;
  gap: 1rem clamp(2rem, 8vw, 7rem);
  align-content: center;
  max-width: none;
  min-height: clamp(25rem, 36vw, 32rem);
  margin: 0;
  padding: clamp(3rem, 9vw, 8rem);
  border-radius: 0;
  background: linear-gradient(
    110deg,
    var(--brand-color-green),
    var(--brand-color-teal)
  );
  text-align: left;
}

.p-experts .c-cta__title {
  grid-row: 1 / 3;
  align-self: center;
  margin: 0;
}

.p-experts .c-cta__text {
  align-self: end;
  max-width: 38rem;
  margin: 0;
}

.p-experts .c-cta__action {
  align-self: start;
  margin: 0;
}

.p-offer__statement {
  max-width: 62rem;
  margin-inline: auto;
  padding: clamp(5rem, 10vw, 9rem) clamp(2rem, 6vw, 5rem);
  font-size: clamp(1.65rem, 3.2vw, 2.75rem);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}

.p-offer__content {
  max-width: 62rem;
  padding: 0 clamp(2rem, 5vw, 4rem) clamp(5rem, 10vw, 9rem);
}

.p-offer__content h2 {
  margin-top: clamp(4rem, 8vw, 7rem);
  text-align: left;
}

.p-offer__content h3 {
  margin-top: 3rem;
}

.p-offer__references {
  margin: 0;
}

.p-offer__references .l-grid {
  gap: 0;
}

.p-offer-page .c-cta {
  max-width: none;
  margin: 0;
  padding: clamp(3rem, 8vw, 7rem);
  background: var(--brand-color-gray);
}

.p-contact__main,
.p-newsletter__main {
  padding: 0;
}

.p-contact__body {
  display: grid;
  grid-template-columns: minmax(14rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(3rem, 8vw, 7rem);
  padding: clamp(4rem, 9vw, 8rem) clamp(1.5rem, 7vw, 6rem);
}

.p-contact__person {
  align-self: start;
}

.p-contact__person [role="button"] {
  width: auto;
}

.p-contact__body .content-page,
.p-newsletter__content {
  width: 100%;
  margin: 0;
  padding: 0;
}

.p-newsletter__content {
  padding: clamp(4rem, 9vw, 8rem) clamp(1.5rem, 7vw, 6rem);
}

@media (max-width: 599px) {
  .p-experts .c-cta {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 1.5rem;
    min-height: 0;
    padding: 4rem 1.5rem;
  }

  .p-experts .c-cta__title {
    grid-row: auto;
  }

  .p-offer__statement {
    padding: 4rem 1.5rem;
  }

  .p-offer__content {
    padding: 0 1.5rem 5rem;
  }

  .p-contact__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
    padding: 4rem 1.5rem;
  }

  .p-newsletter__content {
    padding: 4rem 1.5rem;
  }
}
