/* Syncore Projects - typography normalization layer (v1.0.2).
   Loaded LAST so these rules win over core-block inline styles and the
   pattern stylesheets. Brings every page (incl. the block-built homepage)
   onto the same heading scale and alignment as the inner page templates:
     hero H1  = sp-h1    (46px / 36px / 30px)
     section  = sp-h2    (34px / 28px / 25px), centered
     eyebrows = sp-eyebrow (12px uppercase), centered with cyan rule
   Diagram micro-labels inside the homepage patterns are intentionally left
   at their designed sizes (they are legend chips, not section headers). */

/* ---------- Hero H1 (homepage cover + any non-template H1) ---------- */
.sp-main h1.wp-block-heading:not(.sp-h1) {
	font-family: var(--sp-font-head);
	font-size: 46px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.015em;
	text-align: left;
}

/* Homepage hero eyebrow (uppercase label directly above the hero H1) */
.sp-main .wp-block-cover p[style*="text-transform:uppercase"] {
	font-family: var(--sp-font-head);
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase;
	text-align: left;
}

/* ---------- Section header eyebrows (uppercase label + H2 section title) ---------- */
/* Standardize the small uppercase label that sits immediately above an H2. */
.sp-main p[style*="text-transform:uppercase"]:has(+ h2.wp-block-heading) {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 auto 14px;
	font-family: var(--sp-font-head);
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase;
	text-align: center;
	color: var(--sp-blue-2) !important;
}

.sp-main p[style*="text-transform:uppercase"]:has(+ h2.wp-block-heading)::before {
	content: '';
	display: inline-block;
	width: 26px;
	height: 2px;
	background: var(--sp-cyan);
	border-radius: 2px;
}

/* ---------- Section H2 (homepage inline-sized headings) ---------- */
.sp-main h2.wp-block-heading:not(.sp-h2) {
	font-family: var(--sp-font-head);
	font-size: 34px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.01em !important;
	text-align: center !important;
	margin-right: auto;
	margin-left: auto;
}

/* Keep split-layout columns left-aligned so paired diagram blocks stay intact */
.sp-main .wp-block-columns h2.wp-block-heading:not(.sp-h2) {
	text-align: left !important;
	margin-right: 0;
	margin-left: 0;
}

/* ---------- Card titles (capabilities grid on homepage) ---------- */
.sp-main .capabilities-card h3.wp-block-heading,
.sp-main .sp-card h3.wp-block-heading {
	font-family: var(--sp-font-head);
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
}

/* ---------- Responsive: mirror the responsive.css sp-* scale ---------- */
@media (max-width: 900px) {
	.sp-main h1.wp-block-heading:not(.sp-h1) {
		font-size: 36px;
	}

	.sp-main h2.wp-block-heading:not(.sp-h2) {
		font-size: 28px !important;
	}
}

@media (max-width: 640px) {
	.sp-main h1.wp-block-heading:not(.sp-h1) {
		font-size: 30px;
	}

	.sp-main h2.wp-block-heading:not(.sp-h2) {
		font-size: 25px !important;
	}
}