/*
 * Heading Style Variations — front-end + editor styles.
 *
 * Three named styles for core/heading that map to the theme's typography
 * roles. The implicit "Default" (no class) falls back to theme.json's
 * styles.elements.h{N} rules. Token references only — no hardcoded sizes,
 * families, or colors (Foundation §2.6, §5.2).
 *
 * Note: CSS variables for digit-prefixed font-size slugs are kebabed by WP
 * (3xl -> --wp--preset--font-size--3-xl). The slug used here (small) has no
 * digit-letter boundary, so it passes through unchanged.
 *
 * Memory rule 19: no letter-spacing — character is driven by font + weight
 * + transform, not tracking.
 *
 * Specificity: theme.json styles.elements.h{N} render under :where(h1..h6)
 * with zero specificity, so a single class selector wins cleanly without
 * needing !important.
 */

/* --- Display ---------------------------------------------------------------
   Heavy, decorative heading using the display font role. Size is intentionally
   not overridden so the chosen heading level (h1..h6) keeps driving scale —
   the "display" character comes from the typeface and weight, not a fixed size. */
.wp-block-heading.is-style-display {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	line-height: 1.05;
}

/* --- Subtitle --------------------------------------------------------------
   Lighter, supporting heading using the primary (body) font role. Pairs under
   a strong heading or stands alone as a section lede. Size left to the heading
   level so it can scale down (h3/h4) without code changes. */
.wp-block-heading.is-style-subtitle {
	font-family: var(--wp--preset--font-family--primary);
	font-weight: 400;
	line-height: 1.4;
}

/* --- Annotation ------------------------------------------------------------
   Small, uppercase, monospaced label — for eyebrow text above a real heading,
   section badges, or technical captions. Size is locked to `small` because the
   character of the style is "small label," independent of heading level. */
.wp-block-heading.is-style-annotation {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: 1.3;
	text-transform: uppercase;
}
