/* ============================================================
   Preschem — typography
   ------------------------------------------------------------
   theme.json owns the base heading scale (size, weight,
   letter-spacing, text-transform, line-height, font-family).
   Only non-typography concerns (margins) and bespoke utility
   classes live here. Section-specific overrides like
   `.ps-hero h1` belong in components.css.
   ============================================================ */

@font-face {
	font-family: 'Turbinado';
	src: url('../fonts/turbinado_light-webfont.woff2') format('woff2'),
	     url('../fonts/turbinado_light-webfont.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Turbinado';
	src: url('../fonts/turbinado-webfont.woff2') format('woff2'),
	     url('../fonts/turbinado-webfont.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Turbinado';
	src: url('../fonts/turbinado_bold-webfont.woff2') format('woff2'),
	     url('../fonts/turbinado_bold-webfont.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

html {
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body, .entry-content, .site-content {
	font-family: var(--ps-font-sans);
	font-weight: 400;
	color: var(--ps-black);
}

/* Margin only — typography handled by theme.json. */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	color: var(--ps-black);
	margin: 0 0 .5em;
}

/* ------------------------------------------------------------
   Specificity guard — Kadence parent emits per-page inline CSS
   that re-targets `h1`/`h2`/etc. and beats theme.json in the
   cascade (same specificity, later load order). Re-apply the
   brand scale via `body`-prefixed selectors so our values win
   without resorting to !important.

   VALUES still come from theme.json (--wp--preset--font-size-*),
   so theme.json remains the single source of truth.
   ------------------------------------------------------------ */
html body h1 {
	font-size: var(--wp--preset--font-size--hero);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.025em;
	line-height: 1.0;
}
html body h2 {
	font-size: var(--wp--preset--font-size--xxl);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.08;
}
html body h3 {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.15;
}
html body h4 {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	line-height: 1.2;
}
html body h5 {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	line-height: 1.2;
}
html body h6 {
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.2;
}

/* Utility classes (non-heading text styles). */
.ps-eyebrow {
	display: inline-block;
	font-weight: 600;
	font-size: .75rem;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ps-lead {
	font-size: clamp(1.05rem, 1.4vw, 1.25rem);
	line-height: 1.55;
	max-width: 60ch;
}

a { color: var(--ps-black); text-underline-offset: 3px; }
a:hover { color: var(--ps-burnt-orange); }
