/* Readable supporting copy, aligned with the homepage introduction. */
.problem-strip p,
.feature-grid p,
.workflow p {
  color: #acbdd0;
  font-size: 18px;
  line-height: 1.65;
}

/* Keep the contact form comfortable to scan on wide desktop displays. */
.contact-section {
  grid-template-columns: minmax(280px, 0.9fr) minmax(420px, 760px);
  align-items: start;
}

.contact-section .public-form {
  width: 100%;
  max-width: 760px;
  justify-self: end;
}

.public-form label,
#signupDialog label {
  font-size: 18px;
  line-height: 1.4;
}

.public-form .honeypot,
#signupDialog .honeypot {
  font-size: 11px;
}

/* Lightweight vector identities for the four product pillars. */
.feature-grid article {
  position: relative;
  min-height: 300px;
  overflow: hidden;
}

.feature-grid .feature-icon {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 82px;
  height: 82px;
  color: var(--teal);
}

.feature-grid .feature-icon circle:first-child {
  fill: currentColor;
  opacity: 0.1;
  stroke: none;
}

.feature-grid .feature-icon path,
.feature-grid .feature-icon .icon-detail {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.feature-grid .feature-icon .icon-dots {
  fill: currentColor;
  stroke: none;
}

.feature-grid h3 {
  margin-top: 54px;
}

@media (max-width: 950px) {
  .contact-section {
    grid-template-columns: 1fr;
  }

  .contact-section .public-form {
    justify-self: center;
  }
}

@media (max-width: 600px) {
  .feature-grid article {
    min-height: 260px;
  }
}
