/* Base: fonts, body, document defaults, alignment helpers. */

@font-face {
	font-family: "FontAwesome";
	font-display: block;
	src: url("../fonts/fa-solid-900.woff2") format("woff2");
}

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}
body {
	font-family: var(--font-sans);
	font-size: var(--text-md);
	line-height: 1.6;
	color: var(--text-main);
	overflow-x: hidden;
}

/* Global accessibility fallback */
:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}
img { max-width: 100%; height: auto; }

main { margin: 0; padding: 0; }

/* Sticky footer: on short pages (e.g. Thank You) keep the footer pinned to the
   bottom of the viewport instead of floating up under the content. The block
   theme wraps everything in .wp-site-blocks; let <main> absorb any extra height. */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.wp-site-blocks > main {
	flex: 1 0 auto;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* full-bleed helper */
.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.jmu-page-title-band {
	box-sizing: border-box;
	width: auto;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	background: var(--color-primary);
	color: var(--text-inverse);
	padding: var(--space-xs) 40px var(--space-sm);
}
.jmu-page-title-band h1 {
	margin: 0;
	color: var(--text-inverse);
	font-size: 42px;
	font-weight: 600;
	line-height: 50.4px;
}
.jmu-page-title-subtitle {
	margin: 0;
	font-size: var(--text-2xl);
	font-weight: 600;
	line-height: 28.8px;
}
