@font-face {
  font-family: "Be Vietnam Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/be-vietnam-pro-400.woff2") format("woff2");
}

@font-face {
  font-family: "Be Vietnam Pro";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/be-vietnam-pro-500.woff2") format("woff2");
}

@font-face {
  font-family: "Be Vietnam Pro";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/be-vietnam-pro-600.woff2") format("woff2");
}

@font-face {
  font-family: "Be Vietnam Pro";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/be-vietnam-pro-700.woff2") format("woff2");
}

@font-face {
  font-family: "Be Vietnam Pro";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/be-vietnam-pro-800.woff2") format("woff2");
}

@font-face {
  font-family: "Be Vietnam Pro";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/be-vietnam-pro-900.woff2") format("woff2");
}

:root {
  --font-sans: "Be Vietnam Pro", Arial, Helvetica, sans-serif;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-sans) !important;
}

body {
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
.hero-title,
.subheading,
.section-head h2,
.card h3,
.service-card h3,
.issue-card-title,
.specialty h3,
.article-card strong,
.doctor-card-body strong,
.visit-card h2,
.cta h2 {
  font-family: var(--font-sans) !important;
  letter-spacing: 0 !important;
}

h1,
.hero-title {
  font-weight: 800;
}

h2,
.section-head h2,
.about-content h2,
.visit-card h2,
.cta h2 {
  font-weight: 800;
}

h3,
.card h3,
.service-card h3,
.specialty h3,
.article-card strong,
.issue-card-title {
  font-weight: 700;
}

p,
li,
.lead,
.hero-copy,
.section-head p,
.card p,
.service-card p,
.issue-card-desc,
.specialty p,
.article-card span {
  font-weight: 400;
}

.button,
.card-link,
.service-cta,
.issue-card-cta,
.nav a,
.nav summary,
.badge,
.label,
.eyebrow,
summary,
details summary,
.faq summary,
.comparison-header,
.comparison-cell span,
.step-number,
.decision-number,
.card-icon,
.summary-icon {
  font-weight: 700;
}

.eyebrow {
  letter-spacing: 0.02em !important;
}

strong,
b {
  font-weight: 700;
}

.lead,
.hero-copy,
.section-head p {
  line-height: 1.65;
}

.button,
.card-link,
.service-cta,
.issue-card-cta {
  line-height: 1.25;
}

.badge,
.label,
.eyebrow,
.nav a,
.nav summary {
  line-height: 1.3;
}

.card h3,
.service-card h3,
.issue-card-title,
.specialty h3,
.article-card strong {
  line-height: 1.28;
}

.card p,
.service-card p,
.issue-card-desc,
.specialty p,
.article-card span,
li {
  line-height: 1.6;
}

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

  h1,
  .hero-title {
    line-height: 1.12;
    white-space: normal !important;
  }

  h2,
  .section-head h2 {
    line-height: 1.18;
  }
}
