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

html {
	scroll-behavior: smooth;
}

body.jb-theme {
	color: var(--jb-text);
	background: var(--jb-white);
}

body.jb-theme h1,
body.jb-theme h2,
body.jb-theme h3,
body.jb-theme h4 {
	color: var(--jb-heading);
	letter-spacing: -0.025em;
	text-wrap: balance;
}

body.jb-theme p {
	text-wrap: pretty;
}

body.jb-theme img {
	max-width: 100%;
	height: auto;
}

body.jb-theme a {
	text-underline-offset: 0.18em;
}

body.jb-theme :focus-visible {
	outline: 3px solid var(--jb-orange);
	outline-offset: 4px;
}

.jb-page {
	overflow: hidden;
}

.jb-lead {
	max-width: 720px;
	font-size: clamp(1.05rem, 1.7vw, 1.25rem);
	line-height: 1.75;
	color: var(--jb-text);
}

.jb-eyebrow {
	margin: 0 0 var(--jb-space-2);
	color: var(--jb-orange);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
