/**
 * DevCrabs base typography & site shell.
 */
*,
*::before,
*::after {
	box-sizing: border-box;
}

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

body.devcrabs-site {
	margin: 0;
	min-height: 100vh;
	background-color: var(--dc-background);
	color: var(--dc-foreground);
	font-family: var(--dc-font-sans);
	font-feature-settings: "ss01", "cv11";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.5;
}

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

body.devcrabs-site a {
	color: inherit;
	text-decoration: none;
}

body.devcrabs-site ul,
body.devcrabs-site ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.devcrabs-site h1,
body.devcrabs-site h2,
body.devcrabs-site h3,
body.devcrabs-site h4 {
	margin: 0;
	font-family: var(--dc-font-display);
	letter-spacing: -0.02em;
	font-weight: 600;
}

body.devcrabs-site p {
	margin: 0;
}

body.devcrabs-site .dc-site {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--dc-background);
	color: var(--dc-ink);
}

body.devcrabs-site .dc-main {
	flex: 1 1 auto;
}
