/* Type: one variable family, restrained weights, and a reading rhythm. */
:root {
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  font-synthesis: none;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 20px;
  line-height: 1.55;
  font-weight: 400;
}

h1,
h2,
h3,
h4,
p {
  margin-top: 0;
}

p {
  margin-bottom: 20px;
}

h1,
h2,
h3,
h4,
strong {
  font-weight: 600;
}

h1 {
  margin-bottom: 0;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.08;
  letter-spacing: -2px;
  text-wrap: balance;
}

h2 {
  font-size: 28px;
  line-height: 1.25;
  letter-spacing: -0.5px;
  text-wrap: balance;
}

h3 {
  font-size: 22px;
  line-height: 1.3;
  letter-spacing: -0.25px;
}

h4 {
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: -0.15px;
}

a {
  text-decoration: none;
}

.c-wordmark {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -1px;
}

.c-masthead-note,
.c-rail-note,
.c-date-note,
.c-footer {
  font-size: 16px;
  line-height: 1.5;
}

.c-eyebrow {
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.c-hero-intro {
  font-size: 22px;
  line-height: 1.55;
}

.c-button,
.c-check-link,
.c-question-link,
.c-text-button,
.c-footer-link {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
}

.c-question-link > span,
.c-source-link > span:last-child,
.c-check-link > span {
  font-size: 20px;
  font-weight: 400;
}

.c-sheet-legend {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -0.3px;
}

.c-sheet-intro,
.c-cost-row,
.c-worksheet-status,
.c-copy-fallback,
.c-copy-field {
  font-size: 18px;
  line-height: 1.55;
}

.c-cost-row input::before {
  font-size: 24px;
  line-height: 1;
  font-weight: 500;
}

.c-source-link strong {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
}

.c-source-link > span > span {
  font-size: 16px;
  line-height: 1.5;
}

.c-carry-list {
  font-size: 22px;
  line-height: 1.45;
  letter-spacing: -0.3px;
}

@media (max-width: 800px) {
  body {
    font-size: 18px;
  }

  h1 {
    font-size: clamp(36px, 9.8vw, 56px);
    letter-spacing: -1.25px;
    line-height: 1.12;
  }

  h2 {
    font-size: 27px;
  }

  .c-hero-intro {
    font-size: 20px;
  }

  .c-wordmark {
    font-size: 26px;
  }

  .c-eyebrow {
    letter-spacing: 1.4px;
  }

  .c-carry-list {
    font-size: 20px;
  }
}
