Usage
--heading-font-familyand --heading-colorfor global type tone --heading-font-sizeand --heading-font-size-ratiofor hierarchy scale --heading-font-weightand --heading-font-weight-decrementfor weight progression --heading-spacing-top, --heading-spacing-bottom, and --heading-spacing-ratiofor rhythm --heading-numberingwhen you need numbered headings
--heading-font-size--heading-font-size-ratio--heading-font-weight--heading-font-weight-decrement--heading-spacing-*--content-spacing
--heading-upper-*--heading-lower-*--heading-h1-*--heading-h2-*--heading-border-*--heading-background-*--heading-padding
Tokens
--heading-font-family | var(--font-family-serif) | |
--heading-font-size | <h1> | calc(var(--text-font-size) * 2.0) |
--heading-font-size-print | <h1> | calc(var(--text-font-size-print) * 1.75) |
--heading-font-size-ratio | 0.85 | |
--heading-font-weight | <h1> | var(--font-weight-bold) |
--heading-font-weight-decrement | 50 | |
--heading-line-height | var(--line-height-tight) | |
--heading-letter-spacing | -0.025em | |
--heading-spacing-top | <h1> | calc(var(--content-spacing) * 1.5) |
--heading-spacing-bottom | <h1> | calc(var(--content-spacing) * 0.5) |
--heading-spacing-ratio | 0.8 | |
--heading-spacing-adjacent-ratio | 0.5 | |
--heading-color | var(--text-color-primary) | |
--heading-color-dark | var(--text-color-primary) | |
--heading-color-opacity-decrement | 0 | |
--heading-upper-color | var(--heading-color) | |
--heading-lower-color | var(--heading-color) | |
--heading-h1-color | var(--heading-upper-color) | |
--heading-h2-color | var(--heading-upper-color) | |
--heading-h3-color | var(--heading-upper-color) | |
--heading-h4-color | var(--heading-lower-color) | |
--heading-h5-color | var(--heading-lower-color) | |
--heading-h6-color | var(--heading-lower-color) | |
--heading-numbering | none | |
--heading-upper-font-style | normal | |
--heading-lower-font-style | normal | |
--heading-h1-font-style | var(--heading-upper-font-style) | |
--heading-h2-font-style | var(--heading-upper-font-style) | |
--heading-h3-font-style | var(--heading-upper-font-style) | |
--heading-h4-font-style | var(--heading-lower-font-style) | |
--heading-h5-font-style | var(--heading-lower-font-style) | |
--heading-h6-font-style | var(--heading-lower-font-style) | |
--heading-h1-font-variant | normal | |
--heading-h2-font-variant | normal | |
--heading-h3-font-variant | normal | |
--heading-h4-font-variant | normal | |
--heading-h5-font-variant | normal | |
--heading-h6-font-variant | normal | |
--heading-h1-letter-spacing | var(--heading-letter-spacing) | |
--heading-h2-letter-spacing | var(--heading-letter-spacing) | |
--heading-h3-letter-spacing | var(--heading-letter-spacing) | |
--heading-h4-letter-spacing | var(--heading-letter-spacing) | |
--heading-h5-letter-spacing | var(--heading-letter-spacing) | |
--heading-h6-letter-spacing | var(--heading-letter-spacing) | |
--heading-h1-font-weight | var(--heading-font-weight) | |
--heading-h2-font-weight | ||
--heading-h3-font-weight | ||
--heading-h4-font-weight | ||
--heading-h5-font-weight | ||
--heading-h6-font-weight | ||
--heading-border-width | 0 | |
--heading-border-style | solid | |
--heading-border-color | var(--color-gray-300) | |
--heading-border-color-dark | var(--color-gray-700) | |
--heading-upper-border-width | var(--heading-border-width) | |
--heading-upper-border-style | var(--heading-border-style) | |
--heading-upper-border-color | var(--heading-border-color) | |
--heading-lower-border-width | var(--heading-border-width) | |
--heading-lower-border-style | var(--heading-border-style) | |
--heading-lower-border-color | var(--heading-border-color) | |
--heading-h1-border-width | var(--heading-upper-border-width) | |
--heading-h1-border-style | var(--heading-upper-border-style) | |
--heading-h1-border-color | var(--heading-upper-border-color) | |
--heading-h2-border-width | var(--heading-upper-border-width) | |
--heading-h2-border-style | var(--heading-upper-border-style) | |
--heading-h2-border-color | var(--heading-upper-border-color) | |
--heading-h3-border-width | var(--heading-upper-border-width) | |
--heading-h3-border-style | var(--heading-upper-border-style) | |
--heading-h3-border-color | var(--heading-upper-border-color) | |
--heading-h4-border-width | var(--heading-lower-border-width) | |
--heading-h4-border-style | var(--heading-lower-border-style) | |
--heading-h4-border-color | var(--heading-lower-border-color) | |
--heading-h5-border-width | var(--heading-lower-border-width) | |
--heading-h5-border-style | var(--heading-lower-border-style) | |
--heading-h5-border-color | var(--heading-lower-border-color) | |
--heading-h6-border-width | var(--heading-lower-border-width) | |
--heading-h6-border-style | var(--heading-lower-border-style) | |
--heading-h6-border-color | var(--heading-lower-border-color) | |
--heading-background-color | transparent | |
--heading-background-color-dark | transparent | |
--heading-upper-background-color | var(--heading-background-color) | |
--heading-lower-background-color | var(--heading-background-color) | |
--heading-h1-background-color | var(--heading-upper-background-color) | |
--heading-h2-background-color | var(--heading-upper-background-color) | |
--heading-h3-background-color | var(--heading-upper-background-color) | |
--heading-h4-background-color | var(--heading-lower-background-color) | |
--heading-h5-background-color | var(--heading-lower-background-color) | |
--heading-h6-background-color | var(--heading-lower-background-color) | |
--heading-padding | 0 | |
--heading-upper-padding | var(--heading-padding) | |
--heading-lower-padding | var(--heading-padding) | |
--heading-h1-padding | var(--heading-upper-padding) | |
--heading-h2-padding | var(--heading-upper-padding) | |
--heading-h3-padding | var(--heading-upper-padding) | |
--heading-h4-padding | var(--heading-lower-padding) | |
--heading-h5-padding | var(--heading-lower-padding) |
Examples
Default Headings
:root {
/* No design token overrides */
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Compact Headings
:root {
--heading-font-size: 1.875rem;
--heading-font-size-ratio: 0.833; /* Minor Third inverted - subtle differences */
--heading-spacing-top: calc(var(--content-spacing) * 0.75);
--heading-spacing-bottom: calc(var(--content-spacing) * 0.25);
--heading-font-weight: 600;
--heading-color: var(--color-blue-900);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Spacious Headings
:root {
--heading-font-size: 3rem;
--heading-font-size-ratio: 0.75; /* Perfect Fourth inverted - noticeable hierarchy */
--heading-spacing-top: calc(var(--content-spacing) * 2);
--heading-spacing-bottom: calc(var(--content-spacing) * 0.75);
--heading-letter-spacing: -0.03em;
--heading-color: var(--color-green-800);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Editorial Headings
:root {
--heading-font-family: Georgia, serif;
--heading-font-size: 2.25rem;
--heading-font-size-ratio: 0.8; /* Major Third inverted - traditional harmony */
--heading-font-weight: 400;
--heading-font-weight-decrement: 0;
--heading-line-height: 1.3;
--heading-color: var(--color-amber-800);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Minimal Headings
:root {
--heading-font-size: 2rem;
--heading-font-size-ratio: 0.87; /* Subtle scale */
--heading-font-weight: 500;
--heading-font-weight-decrement: 100;
--heading-color-opacity-decrement: 0.08; /* Subtle opacity reduction */
--heading-letter-spacing: 0;
--heading-color: var(--color-gray-700);
--heading-color-dark: var(--color-gray-100); /* Lighter for dark mode */
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Opacity Hierarchy
:root {
--heading-font-size: 2.5rem;
--heading-font-size-ratio: 0.85;
--heading-font-weight: 600;
--heading-font-weight-decrement: 0; /* Keep same weight */
--heading-color-opacity-decrement: 0.12; /* Progressive opacity reduction */
--heading-color: var(--color-indigo-800);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Dramatic Headings
:root {
--heading-font-size: 4rem;
--heading-font-size-ratio: 0.618; /* Golden Ratio for maximum contrast */
--heading-font-weight: 800;
--heading-letter-spacing: -0.04em;
--heading-spacing-ratio: 0.6;
--heading-color: var(--color-red-900);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Classical Book Typography
:root {
/* h1-h2: Bold roman */
--heading-h1-font-style: normal;
--heading-h2-font-style: normal;
--heading-h2-font-variant: small-caps;
--heading-h2-letter-spacing: 0.05em; /* Small-caps need extra tracking */
/* h3: Bold roman */
--heading-h3-font-style: normal;
/* h4-h6: Italic with normal weight */
--heading-lower-font-style: italic;
--heading-h4-font-weight: 400;
--heading-h5-font-weight: 400;
--heading-h6-font-weight: 400;
/* Typography settings */
--heading-font-family: 'Crimson Pro', Georgia, serif;
--heading-font-size: 2rem;
--heading-font-size-ratio: 0.85;
--heading-color: var(--color-gray-900);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Bottom Border Headings
:root {
/* Borders on h1 and h2 only */
--heading-h1-border-width: 2px;
--heading-h1-border-color: var(--color-blue-500);
--heading-h2-border-width: 1px;
--heading-h2-border-color: var(--color-gray-300);
/* Add padding-bottom for spacing between text and border */
--heading-h1-padding: 0 0 0.5rem 0;
--heading-h2-padding: 0 0 0.375rem 0;
/* Typography */
--heading-font-size: 2rem;
--heading-font-weight: 600;
--heading-color: var(--color-gray-900);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Callout-Style Headings
:root {
/* Background colors for upper headings */
--heading-h1-background-color: var(--color-purple-100);
--heading-h2-background-color: var(--color-purple-50);
/* Padding to create space around text */
--heading-h1-padding: 0.75rem 1rem;
--heading-h2-padding: 0.5rem 0.875rem;
/* Optional: add subtle borders */
--heading-h1-border-width: 0 0 0 4px;
--heading-h1-border-color: var(--color-purple-600);
/* Typography */
--heading-font-size: 2rem;
--heading-font-weight: 600;
--heading-color: var(--color-gray-900);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Mixed Border Styles
:root {
/* h1: Thick bottom border with color */
--heading-h1-border-width: 3px;
--heading-h1-border-color: var(--color-teal-500);
--heading-h1-padding: 0 0 0.5rem 0;
/* h2: Subtle gray background with no border */
--heading-h2-background-color: var(--color-gray-50);
--heading-h2-padding: 0.375rem 0.75rem;
--heading-h2-border-width: 0;
/* h3: Thin bottom border */
--heading-h3-border-width: 1px;
--heading-h3-border-color: var(--color-gray-200);
/* Typography */
--heading-font-size: 2.25rem;
--heading-font-size-ratio: 0.85;
--heading-color: var(--color-gray-900);
}Heading One
Heading Two
Heading Three
Heading Four
Heading Five
Heading Six
Tips
--heading-font-size--heading-font-size-ratio
--heading-font-weight--heading-font-weight-decrement
--heading-upper-*--heading-lower-*--heading-h1-*--heading-h6-*
--heading-border-*--heading-background-*--heading-padding
--heading-color-opacity-decrement