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

html {
	scroll-behavior: smooth;
	overflow-x: clip;
}

body.emm-body {
	margin: 0;
	overflow-x: clip;
	font-family: var(--emm-font);
	font-size: 16px;
	line-height: 1.5;
	color: var(--emm-ink);
	background: var(--emm-white);
	-webkit-font-smoothing: antialiased;
	padding-top: var(--emm-header-h);
}

body.home,
body.front-page,
body.page-template-page-merci {
	padding-top: 0;
}

.emm-body h1,
.emm-body h2,
.emm-body h3,
.emm-body h4,
.emm-body p,
.emm-body ul,
.emm-body ol,
.emm-body figure {
	margin: 0;
	padding: 0;
}

.emm-body a {
	color: inherit;
}

.emm-body img {
	max-width: 100%;
	height: auto;
	display: block;
	border: 0;
}

.emm-body .emm-footer__apchq-img {
	width: auto;
	max-width: 180px;
	height: 40px;
	max-height: 40px;
	object-fit: contain;
	object-position: left center;
}

.emm-hero__media img,
.emm-about__photo img,
.emm-service-card__media img,
.emm-ba__after img,
.emm-ba__before img,
.emm-feature__media img,
.emm-gallery__row img,
.emm-cta__bg img,
.emm-merci__bg img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

button {
	font-family: inherit;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.emm-skip {
	position: absolute;
	left: 12px;
	top: -40px;
	z-index: 1000;
	background: var(--emm-gold);
	color: var(--emm-white);
	padding: 8px 16px;
	border-radius: var(--emm-radius-btn-sm);
}

.emm-skip:focus {
	top: 12px;
}

.emm-body .wp-site-blocks,
.emm-body .is-layout-constrained,
.emm-body .is-layout-flow {
	padding: 0;
	margin: 0;
	max-width: none;
}

.emm-container {
	width: min(var(--emm-content-wide), calc(100% - (var(--emm-gutter) * 2)));
	margin-inline: auto;
}

.emm-eyebrow {
	margin: 0;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 100%;
	font-family: var(--emm-font);
	font-weight: 500;
	font-size: 16px;
	line-height: 1.3;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--emm-gold);
}

.emm-eyebrow__bar {
	display: block;
	width: 2px;
	height: 1em;
	background: currentColor;
	flex-shrink: 0;
}

:focus-visible {
	outline: 2px solid var(--emm-gold-text);
	outline-offset: 3px;
}

main > section[id] {
	scroll-margin-top: calc(var(--emm-header-h) + 12px);
}

.admin-bar main > section[id] {
	scroll-margin-top: calc(var(--emm-header-h) + var(--wp-admin--admin-bar--height, 32px) + 12px);
}

@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;
	}
}
