/* Reading scale inspired by professional IP service portals: fewer tiny labels,
   stronger section hierarchy and comfortable text at desktop and mobile sizes. */
body {
  font-size: 17px;
}

nav a,
.nav-cta {
  font-size: 15px;
}

.eyebrow,
.section-tag {
  font-size: 13px;
  line-height: 1.5;
}

.lead {
  font-size: 21px;
  line-height: 1.65;
}

.button {
  font-size: 16px;
  padding: 18px 25px;
}

.hero-proof {
  font-size: 13px;
  line-height: 1.5;
}

.intro > p:last-child,
.section-head > p,
.ecosystem > div > p:last-child {
  font-size: 18px;
  line-height: 1.75;
}

.cards {
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.cards article {
  min-height: 300px;
  margin-left: 0;
  padding: 40px 36px;
}

.num,
.cards a {
  font-size: 14px;
}

.cards h3 {
  font-size: 29px;
  line-height: 1.25;
}

.cards p {
  font-size: 17px;
  line-height: 1.7;
}

.market-list h3 {
  font-size: 26px;
}

.market-list p {
  font-size: 16px;
  line-height: 1.6;
}

.market-list b,
.market-list span {
  font-size: 14px;
}

.steps h3 {
  font-size: 24px;
}

.steps p {
  font-size: 16px;
  line-height: 1.7;
}

.eco-grid span {
  font-size: 17px;
  line-height: 1.4;
}

.contact > div > p:not(.section-tag) {
  font-size: 18px;
  line-height: 1.7;
}

.contact-info {
  font-size: 17px;
}

label {
  font-size: 14px;
  line-height: 1.5;
}

input,
select,
textarea,
form button {
  font-size: 16px;
}

form small,
footer p,
footer div,
footer > span {
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .cards {
    grid-template-columns: 1fr;
  }

  .steps {
    grid-template-columns: 1fr 1fr;
    gap: 32px 12px;
  }
}

@media (max-width: 560px) {
  body {
    font-size: 16px;
  }

  h1 {
    font-size: 49px;
    line-height: 1.05;
  }

  .lead {
    font-size: 19px;
  }

  .cards article {
    padding: 32px 26px;
  }

  .cards h3 {
    font-size: 26px;
  }

  .steps {
    grid-template-columns: 1fr;
  }

  form small,
  footer p,
  footer div,
  footer > span {
    font-size: 13px;
  }
}
