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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--msa-slate-50);
	color: var(--msa-slate-900);
	font-family: var(--msa-font);
	-webkit-font-smoothing: antialiased;
	line-height: 1.5;
}

a {
	color: var(--msa-indigo);
	text-decoration: none;
}

a:hover {
	color: var(--msa-indigo-hover);
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--msa-indigo);
	outline-offset: 2px;
}

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

h1,
h2,
h3,
h4,
p {
	margin: 0;
}

.msa-container {
	/* Under border-box: 1120 content + 32 + 32 pad = 1184 outer (ZIP measure). */
	max-width: calc(var(--msa-content-max) + (2 * var(--msa-pad-x)));
	margin: 0 auto;
	padding-left: var(--msa-pad-x);
	padding-right: var(--msa-pad-x);
}

.msa-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
	background: var(--msa-slate-900);
	color: var(--msa-white);
	padding: 8px 16px;
}

.msa-skip-link:focus {
	left: 16px;
	top: 16px;
}

.msa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	border-radius: var(--msa-radius);
	border: 1px solid transparent;
	cursor: pointer;
}

.msa-btn--primary {
	background: var(--msa-emerald);
	color: var(--msa-white);
}

.msa-btn--primary:hover {
	background: var(--msa-emerald-hover);
	color: var(--msa-white);
}

.msa-btn--secondary {
	background: var(--msa-white);
	color: var(--msa-indigo);
	border-color: #c7d2fe;
}

.msa-btn--secondary:hover {
	background: #eef2ff;
	color: var(--msa-indigo-hover);
}
