:root {
	--yp-ivory: #F7F3EB;
	--yp-white: #FFFDFC;
	--yp-green: #234B4A;
	--yp-green-dark: #1D403F;
	--yp-sage: #647A72;
	--yp-heading: #102333;
	--yp-text: #344847;
	--yp-muted: #74716D;
	--yp-gold: #C79A38;
	--yp-gold-dark: #AE8228;
	--yp-border: #E3DDD3;

	--yp-font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--yp-font-size-base: 16px;
	--yp-line-height-base: 1.7;

	--yp-content-width: 1060px;
	--yp-wide-width: 1240px;
	--yp-side-gap: 40px;
	--yp-side-gap-tablet: 28px;
	--yp-side-gap-mobile: 22px;
	--yp-side-gap-small: 18px;

	--yp-section-space: 80px;
	--yp-section-space-tablet: 64px;
	--yp-section-space-mobile: 52px;
	--yp-section-space-small: 46px;

	--yp-space-xs: 8px;
	--yp-space-sm: 16px;
	--yp-space-md: 24px;
	--yp-space-lg: 32px;
	--yp-space-xl: 48px;

	--yp-radius-sm: 8px;
	--yp-radius-md: 16px;
	--yp-radius-lg: 24px;
	--yp-radius-pill: 999px;

	--yp-transition-fast: 200ms ease;
	--yp-transition-normal: 250ms ease;
}

.yp-theme {
	background: var(--yp-ivory);
	color: var(--yp-text);
	font-family: var(--yp-font-family);
	font-size: var(--yp-font-size-base);
	line-height: var(--yp-line-height-base);
}

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

.yp-theme h1,
.yp-theme h2,
.yp-theme h3,
.yp-theme h4,
.yp-theme h5,
.yp-theme h6 {
	color: var(--yp-heading);
	font-family: var(--yp-font-family);
	line-height: 1.2;
}

.yp-skip-link {
	position: absolute;
	z-index: 100000;
	top: 8px;
	left: 8px;
	padding: 10px 14px;
	transform: translateY(-150%);
	background: var(--yp-green);
	color: var(--yp-white);
	border-radius: var(--yp-radius-sm);
}
.yp-skip-link:focus { transform: translateY(0); }

@media (max-width: 1000px) {
	:root {
		--yp-side-gap: var(--yp-side-gap-tablet);
		--yp-section-space: var(--yp-section-space-tablet);
	}
}
@media (max-width: 767px) {
	:root {
		--yp-side-gap: var(--yp-side-gap-mobile);
		--yp-section-space: var(--yp-section-space-mobile);
	}
}
@media (max-width: 450px) {
	:root {
		--yp-side-gap: var(--yp-side-gap-small);
		--yp-section-space: var(--yp-section-space-small);
	}
}
@media (prefers-reduced-motion: reduce) {
	.yp-theme *,
	.yp-theme *::before,
	.yp-theme *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
