/* Special selector that means “default” / `html`. */
:root {
	--spacing: 1rem;

	font-size: 100%;
}

@media (width > 550px) {
	:root {
		--spacing: 2rem;

		font-size: 125%; /* Bumps everything up. */
	}
}

body {
	font-family: sans-serif;
	font-size: 1rem; /* Reference the size, as you have been. */
	padding: var(--spacing); /* Or use a spacing variable. */
}

section {
	/* The second value here is a “fallback”. */
	/* It’s used if a variable hasn’t been declared. */
	background-color: var(--background, aquamarine);
	padding: var(--spacing);
}

section:not(:first-child) {
	--background: gold; /* Only within this element. */

	/* You can use `calc` on number variables, too! */
	margin-block-start: calc(var(--spacing) * 2);
}
