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

body {
	margin: 0;
	background: var(--color-paper);
	color: var(--color-ink);
	font-family: var(--font-sans);
	line-height: 1.6;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
	:where(
		a,
		button,
		input:not([type="checkbox"]):not([type="radio"]),
		textarea,
		select,
		.pg-btn,
		.pg-card__link,
		.pg-nav--desktop .pg-nav__list a,
		.pg-nav--desktop .pg-nav__list .sub-menu a,
		.pg-nav-toggle,
		.pg-nav-mobile__link,
		.pg-nav-mobile__toggle,
		.pg-nav-mobile__close,
		.pg-year-list__link,
		.pg-footer a,
		.pg-swiper__nav,
		.pg-header,
		.pg-lightbox,
		.pg-lightbox__swiper,
		.pg-feature,
		.pg-split
	) {
		transition-property: color, background-color, border-color, box-shadow, opacity, transform;
		transition-duration: var(--transition-duration);
		transition-timing-function: var(--transition-easing);
	}

	:where(.pg-btn) {
		transition-property: color, background-color, border-color, box-shadow, opacity;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	:root {
		--transition-duration: 0.01ms;
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-display);
	line-height: 1.25;
	color: var(--color-forest);
}

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

a {
	color: var(--color-vine);
}

a:hover,
a:focus-visible {
	color: var(--color-forest);
}
