:root {
	--vit-color-primary: #111111;
	--vit-color-secondary: #4a4a4a;
	--vit-color-background: #ffffff;
	--vit-color-surface: #f4f4f4;
	--vit-color-surface-alt: #eeeeee;
	--vit-color-text: #111111;
	--vit-color-muted: #666666;
	--vit-color-border: #dddddd;
	--vit-color-border-soft: #e5e5e5;
	--vit-color-border-subtle: #eeeeee;
	--vit-divider-color: #e5e5e5;
	--vit-focus-outline: #555555;
	--vit-link-color: #111111;
	--vit-link-hover-color: #555555;
	--vit-link-visited-color: #333333;
	--vit-header-background: #ffffff;
	--vit-header-text: #111111;
	--vit-header-link: #111111;
	--vit-header-link-hover: #555555;
	--vit-header-hover-background: #f1f1f1;
	--vit-submenu-background: #ffffff;
	--vit-submenu-text: #111111;
	--vit-submenu-hover-background: #f1f1f1;
	--vit-submenu-hover-text: #111111;
	--vit-footer-background: #ffffff;
	--vit-footer-text: #111111;
	--vit-footer-heading: #111111;
	--vit-footer-link: #111111;
	--vit-footer-link-hover: #555555;
	--vit-footer-border: #dddddd;
	--vit-button-background: #111111;
	--vit-button-text: #ffffff;
	--vit-button-hover-background: #444444;
	--vit-button-hover-text: #ffffff;
	--vit-button-border: #111111;
	--vit-button-border-width: 1px;
	--vit-button-radius: 4px;
	--vit-input-background: #ffffff;
	--vit-input-text: #111111;
	--vit-input-border: #d4d4d4;
	--vit-input-focus-border: #777777;
	--vit-card-background: #ffffff;
	--vit-card-border: #e2e2e2;
	--vit-card-shadow: 0 4px 18px rgba(0, 0, 0, .06);
	--vit-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--vit-font-heading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--vit-font-navigation: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--vit-site-max-width: 1320px;
	--vit-content-width: 860px;
	--vit-reading-width: 860px;
	--vit-radius: 4px;
	--vit-spacing-scale: 1;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body {
	margin: 0;
	overflow-wrap: break-word;
	color: var(--vit-color-text);
	background: var(--vit-color-background);
	font-family: var(--vit-font-body);
	font-size: var(--vit-font-base-size, 16px);
	font-weight: var(--vit-body-weight, 400);
	line-height: var(--vit-line-height, 1.6);
}
body.vit-mobile-open { overflow: hidden; }
img, video, iframe, svg { max-width: 100%; height: auto; }
img { display: block; }
h1, h2, h3, h4, h5, h6 {
	color: var(--vit-color-text);
	font-family: var(--vit-font-heading);
	font-weight: var(--vit-heading-weight, 800);
	text-transform: var(--vit-heading-transform, none);
	letter-spacing: var(--vit-letter-spacing, 0);
}
a {
	color: var(--vit-link-color);
	text-decoration-line: var(--vit-link-decoration, none);
	text-decoration-thickness: var(--vit-link-thickness, 1px);
	text-underline-offset: var(--vit-link-offset, 3px);
	transition: color var(--vit-link-transition, 160ms) ease;
}
a:visited { color: var(--vit-link-visited-color); }
a:hover { color: var(--vit-link-hover-color); text-decoration-line: var(--vit-link-hover-decoration, underline); }
:focus-visible {
	outline: 2px solid var(--vit-focus-outline);
	outline-offset: 2px;
}
.screen-reader-text, .skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.screen-reader-text:focus, .skip-link:focus {
	top: 10px;
	left: 10px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto;
	clip-path: none;
	overflow: visible;
	white-space: normal;
	color: #ffffff;
	background: #111111;
}
.vit-container { width: min(calc(100% - 32px), var(--vit-site-max-width)); margin-inline: auto; }
.vit-container-wide { width: min(calc(100% - 32px), var(--vit-site-max-width)); margin-inline: auto; }
.vit-main { min-height: 60vh; }

.vit-button,
.wp-element-button:not(.vit-no-theme-button),
.wp-block-button__link:not(.vit-no-theme-button),
.vit-theme button:not(.vit-no-theme-button):not(.vit-icon-button):not(.vit-footer-menu-toggle):not(.vit-mobile-subtoggle):not(.vit-privacy-button),
.vit-theme input[type="submit"]:not(.vit-no-theme-button),
.vit-theme input[type="button"]:not(.vit-no-theme-button),
.vit-theme input[type="reset"]:not(.vit-no-theme-button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: var(--vit-button-padding-y, 10px) var(--vit-button-padding-x, 18px);
	border: var(--vit-button-border-width) solid var(--vit-button-border);
	border-radius: var(--vit-button-radius);
	color: var(--vit-button-text);
	background: var(--vit-button-background);
	box-shadow: var(--vit-button-shadow, none);
	font: inherit;
	font-size: var(--vit-button-font-size, 14px);
	font-weight: var(--vit-button-weight, 700);
	text-transform: var(--vit-button-transform, none);
	text-decoration: none;
	cursor: pointer;
}
.vit-button:hover, .vit-button:focus-visible,
.wp-element-button:not(.vit-no-theme-button):hover, .wp-element-button:not(.vit-no-theme-button):focus-visible,
.wp-block-button__link:not(.vit-no-theme-button):hover,
.vit-theme button:not(.vit-no-theme-button):not(.vit-icon-button):not(.vit-footer-menu-toggle):not(.vit-mobile-subtoggle):not(.vit-privacy-button):hover,
.vit-theme input[type="submit"]:not(.vit-no-theme-button):hover,
.vit-theme input[type="button"]:not(.vit-no-theme-button):hover,
.vit-theme input[type="reset"]:not(.vit-no-theme-button):hover {
	color: var(--vit-button-hover-text);
	background: var(--vit-button-hover-background);
	border-color: var(--vit-button-hover-background);
	text-decoration: none;
}
.vit-button-outline { color: var(--vit-button-background); background: var(--vit-color-background); }
.vit-no-theme-button { all: revert; }
.vit-plugin-full-width button:not(.vit-button):not(.wp-element-button),
.vit-plugin-full-width input[type="submit"]:not(.vit-button),
.vit-plugin-full-width input[type="button"]:not(.vit-button),
.vit-plugin-full-width input[type="reset"]:not(.vit-button) {
	display: revert;
	min-height: revert;
	padding: revert;
	border: revert;
	border-radius: revert;
	color: revert;
	background: revert;
	box-shadow: revert;
	font: revert;
	text-transform: revert;
}
.vit-plugin-full-width input:not(.vit-button),
.vit-plugin-full-width select,
.vit-plugin-full-width textarea {
	min-height: revert;
	padding: revert;
	border: revert;
	border-radius: revert;
	color: revert;
	background: revert;
	font: revert;
}
input[type="text"], input[type="email"], input[type="url"], input[type="search"], input[type="number"], input[type="tel"], input[type="password"], select, textarea {
	max-width: 100%;
	min-height: 44px;
	padding: 9px 12px;
	border: 1px solid var(--vit-input-border);
	border-radius: var(--vit-radius);
	color: var(--vit-input-text);
	background: var(--vit-input-background);
	font: inherit;
}
textarea { min-height: 120px; }
input:focus, select:focus, textarea:focus { border-color: var(--vit-input-focus-border); outline: 2px solid rgba(17, 17, 17, .18); outline-offset: 1px; box-shadow: none; }
.vit-plugin-full-width input:focus, .vit-plugin-full-width select:focus, .vit-plugin-full-width textarea:focus { border-color: revert; outline: revert; outline-offset: revert; box-shadow: revert; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
