/**
 * Typography scale — Barlow Condensed headings, Inter body.
 */

h1, h2, h3, h4, h5, h6,
.bes-h1, .bes-h2, .bes-h3, .bes-h4 {
	font-family: var(--bes-font-head);
	font-weight: 700;
	line-height: var(--bes-lh-head);
	color: var(--bes-text);
	margin: 0;
	letter-spacing: -0.005em;
}

h1, .bes-h1 {
	font-size: var(--bes-fs-h1);
	line-height: var(--bes-lh-tight);
	text-transform: uppercase;
	letter-spacing: -0.01em;
}

h2, .bes-h2 {
	font-size: var(--bes-fs-h2);
	text-transform: uppercase;
}

h3, .bes-h3 {
	font-size: var(--bes-fs-h3);
}

h4, .bes-h4 {
	font-size: var(--bes-fs-h4);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

p {
	margin: 0 0 1em;
}

p:last-child { margin-bottom: 0; }

a {
	color: inherit;
	transition: color var(--bes-dur-fast) var(--bes-ease);
}

a:hover {
	color: var(--bes-gold-600);
}

strong, b {
	font-weight: 600;
	color: var(--bes-text);
}

em, i {
	font-style: italic;
}

blockquote {
	margin: 0;
	padding: 0;
	font-family: var(--bes-font-head);
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: 600;
	line-height: 1.3;
	color: var(--bes-text);
}

small {
	font-size: var(--bes-fs-small);
	color: var(--bes-text-muted);
}

/* Eyebrow / label */
.bes-eyebrow {
	display: inline-block;
	font-family: var(--bes-font-body);
	font-size: var(--bes-fs-eyebrow);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bes-grey);
	margin-bottom: var(--bes-space-4);
}

.bes-eyebrow--gold { color: var(--bes-gold-600); }
.bes-eyebrow--on-dark { color: var(--bes-gold); }

/* Section number (01, 02 …) */
.bes-section-number {
	display: block;
	font-family: var(--bes-font-head);
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--bes-gold);
	letter-spacing: -0.02em;
	margin-bottom: var(--bes-space-3);
}

/* Text alignment utilities */
.bes-text-center { text-align: center; }
.bes-text-left   { text-align: left; }
.bes-text-right  { text-align: right; }

/* Link with gold underline animation */
.bes-link {
	display: inline-block;
	position: relative;
	font-weight: 500;
	color: var(--bes-text);
}

.bes-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 2px;
	background: var(--bes-gold);
	transition: width var(--bes-dur) var(--bes-ease);
}

.bes-link:hover { color: var(--bes-black); }
.bes-link:hover::after { width: 100%; }

.bes-link--on-dark { color: var(--bes-silver); }
.bes-link--on-dark:hover { color: var(--bes-gold); }

/* Rich text content (block editor output) */
.bes-content > * + * { margin-top: 1em; }

.bes-content h2 {
	margin-top: 2em;
	padding-top: 0.5em;
	border-top: 4px solid var(--bes-gold);
}

.bes-content h3 { margin-top: 1.75em; }

.bes-content ul,
.bes-content ol {
	margin: 1em 0;
	padding-left: 1.5em;
	list-style: disc;
}

.bes-content ol { list-style: decimal; }

.bes-content li + li { margin-top: 0.4em; }

.bes-content img {
	margin: 1.5em 0;
}

.bes-content blockquote {
	margin: 2em 0;
	padding: 20px 24px;
	border-left: 4px solid var(--bes-gold);
	background: var(--bes-silver-50);
}

.bes-content a {
	color: var(--bes-text);
	text-decoration: underline;
	text-decoration-color: var(--bes-gold);
	text-underline-offset: 3px;
}

.bes-content a:hover {
	color: var(--bes-gold-600);
}