:root {
  --font-family-sans: "Inter", "Segoe UI", Arial, sans-serif;
  --font-family-display: var(--font-family-sans);
  --font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-size-body: 1rem;
  --font-size-body-sm: 0.9375rem;
  --font-size-caption: 0.8125rem;
  --line-height-body: 1.6;
  --line-height-tight: 1.2;
  --line-height-heading: 1.12;
  --letter-spacing-heading: -0.02em;
  --letter-spacing-eyebrow: 0.08em;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-heavy: 800;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--font-family-sans);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  font-feature-settings: "cv11", "ss01";
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-title,
.card-title,
.modal-title,
.table-title {
  font-family: var(--font-family-display);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
}

button,
input,
optgroup,
select,
textarea,
.btn,
.form-control,
.form-select,
.navbar,
.sidebar,
table,
th,
td {
  font-family: inherit;
}

small,
.small,
.form-text {
  font-size: var(--font-size-body-sm);
}

code,
pre,
kbd,
samp {
  font-family: var(--font-family-mono);
}

@media (max-width: 576px) {
  html {
    font-size: 15px;
  }
}
