*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

html { -webkit-text-size-adjust: 100%; }

body {
	background: var(--wbw-cream);
	color: var(--wbw-text);
	font-family: var(--wbw-font-body);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection { background: var(--wbw-green); color: #fff; }

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

a { color: inherit; text-decoration: none; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--wbw-font-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 0.5em;
	color: var(--wbw-text);
}

p { margin: 0 0 1em; }

button, input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}

button { cursor: pointer; }

.wbw-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wbw-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wbw-green);
	font-weight: 500;
}

.wbw-eyebrow--on-dark { color: var(--wbw-green-pale); }

.wbw-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Editor-content typography (guide article body) */
.wbw-prose {
	font-size: 18px;
	line-height: 1.72;
	color: var(--wbw-text-alt);
}
.wbw-prose h2 {
	font-size: 28px;
	margin: 40px 0 18px;
}
.wbw-prose h3 { font-size: 22px; margin: 32px 0 14px; }
.wbw-prose p { margin: 0 0 24px; }
.wbw-prose a { color: var(--wbw-green); text-decoration: underline; }
.wbw-prose img { border-radius: var(--wbw-radius-md); }
