/* Reset + base typography + shared primitives (buttons, eyebrow, container). */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--bu-sans);
	color: var(--bu-ink);
	background: var(--bu-cream);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: var(--bu-navy); }

::selection { background: var(--bu-gold); color: var(--bu-dark-2); }

h1, h2, h3, h4 {
	font-family: var(--bu-serif);
	color: var(--bu-navy);
	margin: 0;
	line-height: 1.1;
	letter-spacing: -.01em;
}

p { margin: 0; }

/* ---- Layout container ---- */
.bu-container {
	max-width: var(--bu-container);
	margin: 0 auto;
	padding-left: var(--bu-gutter);
	padding-right: var(--bu-gutter);
	width: 100%;
}

/* ---- Eyebrow label (dash + uppercase text) ---- */
.bu-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: var(--bu-eyebrow-ls);
	text-transform: uppercase;
	color: var(--bu-gold-ink);
}
.bu-eyebrow::before {
	content: "";
	width: 30px;
	height: 2px;
	background: var(--bu-gold);
}
.bu-eyebrow--light { color: var(--bu-gold-hi); }
.bu-eyebrow--plain::before { display: none; }

/* ---- Buttons ---- */
.bu-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--bu-sans);
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	padding: 15px 28px;
	border-radius: var(--bu-radius-sm);
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.bu-btn__arrow { font-size: 18px; line-height: 0; }

.bu-btn--gold { background: var(--bu-gold); color: var(--bu-dark-2); }
.bu-btn--gold:hover { background: var(--bu-gold-dk); }

.bu-btn--outline {
	background: transparent;
	color: var(--bu-navy);
	border: 1.5px solid #C9BFA8;
	padding: 14px 26px;
}
.bu-btn--outline:hover { border-color: var(--bu-navy); background: #F2EAD9; }

.bu-btn--dark { background: var(--bu-dark); color: #FBF1DC; }
.bu-btn--dark:hover { background: #000; }

/* ---- Inline "read more" link with arrow ---- */
.bu-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 15px;
	color: var(--bu-navy);
	text-decoration: none;
	transition: gap .15s, color .15s;
}
.bu-more:hover { gap: 12px; color: var(--bu-gold); }

/* ---- Section rhythm ---- */
.bu-section { padding: 90px 0; }
@media (max-width: 900px) { .bu-section { padding: 60px 0; } }

.bu-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
	margin-bottom: 46px;
}
.bu-section-head h2 {
	font-weight: 700;
	font-size: clamp(32px, 3.4vw, 46px);
	line-height: 1.06;
	margin-top: 16px;
}

.bu-sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ---- Long-form prose (single posts, static pages) ---- */
.bu-prose { font-size: 18px; line-height: 1.7; color: var(--bu-ink); }
.bu-prose > * + * { margin-top: 1.15em; }
.bu-prose h2 { font-size: clamp(26px, 2.6vw, 34px); margin-top: 1.6em; }
.bu-prose h3 { font-size: clamp(21px, 2vw, 26px); margin-top: 1.4em; }
.bu-prose a { color: var(--bu-navy); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--bu-gold); }
.bu-prose a:hover { color: var(--bu-gold-dk); }
.bu-prose img { border-radius: 12px; margin: 1.6em 0; }
.bu-prose blockquote { border-left: 3px solid var(--bu-gold); padding-left: 24px; margin-left: 0; font-family: var(--bu-serif); font-style: italic; font-size: 1.25em; color: var(--bu-navy); }
.bu-prose ul, .bu-prose ol { padding-left: 1.3em; }
.bu-prose li + li { margin-top: .4em; }

/* Pagination */
.pagination, .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px;
	border: 1px solid var(--bu-border); border-radius: 10px; text-decoration: none; color: var(--bu-navy); font-weight: 600; background: var(--bu-panel);
}
.pagination .page-numbers.current { background: var(--bu-navy); color: #fff; border-color: var(--bu-navy); }
