/* Base: reset, typography, layout helpers. */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

body {
	margin: 0;
	background: var(--nt-white);
	color: var(--nt-text);
	font-family: var(--nt-font-body);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

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

h1, h2, h3, h4, button, .nt-label {
	font-family: var(--nt-font-head);
	color: var(--nt-navy);
}
h1, h2, h3, h4 { margin: 0 0 .5em; line-height: 1.2; font-weight: 700; }
h1 { font-size: 42px; }
h2 { font-size: 34px; }
h3 { font-size: 19px; font-weight: 600; }
p { margin: 0 0 1em; }

a { color: var(--nt-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color var(--nt-ease); }
a:hover { color: var(--nt-navy); }

:focus-visible { outline: 2px solid var(--nt-blue); outline-offset: 2px; }

button { font: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }

ul, ol { padding-left: 1.2em; }

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

.nt-skip {
	position: absolute; left: 12px; top: -60px; z-index: 1000;
	background: var(--nt-navy); color: var(--nt-white); padding: 10px 16px; border-radius: var(--nt-radius-sm);
	font-family: var(--nt-font-head); font-weight: 600; text-decoration: none;
}
.nt-skip:focus { top: 12px; color: var(--nt-white); }

.nt-container {
	width: 100%;
	max-width: calc(var(--nt-max) + var(--nt-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--nt-gutter);
}
.nt-container--narrow { max-width: calc(860px + var(--nt-gutter) * 2); }
.nt-container--checkout { max-width: calc(var(--nt-max-checkout) + var(--nt-gutter) * 2); }

.nt-section { padding: 88px 0; }
.nt-section--surface { background: var(--nt-surface); }
.nt-section__more { margin: 32px 0 0; }

.nt-h2 { font-size: 36px; margin-bottom: 20px; }
.nt-h3 { font-size: 19px; font-weight: 700; margin-bottom: 8px; }
.nt-lead { font-size: 18px; color: var(--nt-text-2); max-width: 680px; }
.nt-muted { color: var(--nt-muted); }

.nt-page { padding-top: 56px; padding-bottom: 88px; }
.nt-page-title { font-size: 40px; margin-bottom: 24px; }

.nt-prose { color: var(--nt-text); }
.nt-prose > *:last-child { margin-bottom: 0; }
.nt-prose ul, .nt-prose ol { margin: 0 0 1em; }
.nt-prose li { margin-bottom: .35em; }
.nt-page__content { max-width: none; }

.nt-main { display: block; min-height: 50vh; }

@media (max-width: 860px) {
	body { font-size: 16px; }
	h1 { font-size: 28px; }
	h2, .nt-h2 { font-size: 25px; }
	.nt-section { padding: 40px 0; }
	.nt-page { padding-top: 32px; padding-bottom: 48px; }
	.nt-page-title { font-size: 28px; margin-bottom: 18px; }
	.nt-lead { font-size: 16px; }
}
