/* TODO implement responsive font size ranges */
.hds-h12xl {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-4xl);
    font-weight: var(--hds-font-weight-bold);
    letter-spacing: var(--hds-letter-spacing-neg-6);
    line-height: var(--hds-line-height-1);
}

.hds-h1xl {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-3xl);
    font-weight: var(--hds-font-weight-bold);
    letter-spacing: var(--hds-letter-spacing-neg-5);
    line-height: var(--hds-line-height-2);
}

.hds-h1 {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-2xl);
    font-weight: var(--hds-font-weight-bold);
    letter-spacing: var(--hds-letter-spacing-neg-4);
    line-height: var(--hds-line-height-3);
}

.hds-h2 {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-xl);
    font-weight: var(--hds-font-weight-bold);
    letter-spacing: var(--hds-letter-spacing-neg-1);
    line-height: var(--hds-line-height-5);
}

.hds-h3 {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-md);
    font-weight: var(--hds-font-weight-bold);
    letter-spacing: var(--hds-letter-spacing-neg-2);
    line-height: var(--hds-line-height-7);
}

.hds-h4 {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-sm);
    font-weight: var(--hds-font-weight-semibold);
    letter-spacing: var(--hds-letter-spacing-neg-2);
    line-height: var(--hds-line-height-10);
}

.hds-h5 {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-xs);
    font-weight: var(--hds-font-weight-semibold);
    letter-spacing: var(--hds-letter-spacing-neg-2);
    line-height: var(--hds-line-height-8);
}

.hds-h6 {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-2xs);
    font-weight: var(--hds-font-weight-semibold);
    letter-spacing: var(--hds-letter-spacing-neg-1);
    line-height: var(--hds-line-height-11);
}

.hds-content-label {
    font-family: var(--hds-font-family-dm-mono), sans-serif !important;
    font-size: var(--hds-font-size-3xs);
    font-weight: var(--hds-font-weight-normal);
    letter-spacing: var(--hds-letter-spacing-neg-2);
    line-height: var(--hds-line-height-13);
}

.hds-form-label {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-2xs);
    font-weight: var(--hds-font-weight-semibold);
    letter-spacing: var(--hds-letter-spacing-neg-1);
    line-height: var(--hds-line-height-11);
}

/* nonstandard; matching Figma */
.hds-form-input, .hds-form-select {
    font-family: var(--hds-font-family-public-sans), sans-serif !important;
    font-size: var(--hds-font-size-2xs);
    font-weight: var(--hds-font-weight-normal);
    letter-spacing: var(--hds-letter-spacing-auto);
    line-height: var(--hds-line-height-11);
}

.hds-paragraph {
    font-family: var(--hds-font-family-public-sans), sans-serif !important;
    font-size: var(--hds-font-size-xs);
    font-weight: var(--hds-font-weight-normal);
    letter-spacing: var(--hds-letter-spacing-auto);
    line-height: var(--hds-line-height-12);
}

/* nonstandard; matching nasa.gov */
.hds-heading-footer {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-sm);
    font-weight: var(--hds-font-weight-semibold);
    letter-spacing: var(--hds-letter-spacing-auto);
    line-height: var(--hds-line-height-10);
}

/* nonstandard; matching nasa.gov */
.hds-paragraph-footer {
    font-family: var(--hds-font-family-public-sans), sans-serif !important;
    font-size: var(--hds-font-size-2xs);
    font-weight: var(--hds-font-weight-normal);
    letter-spacing: var(--hds-letter-spacing-auto);
    line-height: var(--hds-line-height-8);
}

.hds-button {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-xs);
    font-weight: var(--hds-font-weight-semibold);
    letter-spacing: var(--hds-letter-spacing-neg-2);
    line-height: var(--hds-line-height-8);
}

.hds-caption {
    font-family: var(--hds-font-family-public-sans), sans-serif !important;
    font-size: var(--hds-font-size-3xs);
    font-weight: var(--hds-font-weight-normal);
    letter-spacing: var(--hds-letter-spacing-1);
    line-height: var(--hds-line-height-9);
}

.hds-blockquote {
    font-family: var(--hds-font-family-inter), sans-serif !important;
    font-size: var(--hds-font-size-xl);
    font-weight: var(--hds-font-weight-light);
    letter-spacing: var(--hds-letter-spacing-neg-3);
    line-height: var(--hds-line-height-14);
}

.hds-number-lg {
    font-family: var(--hds-font-family-dm-mono), sans-serif !important;
    font-size: var(--hds-font-size-4xl);
    font-weight: var(--hds-font-weight-light);
    letter-spacing: var(--hds-letter-spacing-neg-5);
    line-height: var(--hds-line-height-1);
}

.hds-number-md {
    font-family: var(--hds-font-family-dm-mono), sans-serif !important;
    font-size: var(--hds-font-size-2xl);
    font-weight: var(--hds-font-weight-light);
    letter-spacing: var(--hds-letter-spacing-auto);
    line-height: var(--hds-line-height-3);
}

.hds-number-sm {
    font-family: var(--hds-font-family-dm-mono), sans-serif !important;
    font-size: var(--hds-font-size-xl);
    font-weight: var(--hds-font-weight-light);
    letter-spacing: var(--hds-letter-spacing-auto);
    line-height: var(--hds-line-height-4);
}