@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter/InterVariable.woff2") format("woff2-variations");
	unicode-range: U+0020-017F, U+2010-205E, U+20AC, U+2122, U+2190-2199, U+2212;
}

:root {
	--wm-color-bg: #faf9fb;
	--wm-color-bg-soft: #f5f3f7;
	--wm-color-surface: #fff;
	--wm-color-surface-raised: #fff;
	--wm-color-text: #17151c;
	--wm-color-text-soft: #344054;
	--wm-color-text-muted: #667085;
	--wm-color-border: #e8e4eb;
	--wm-color-border-strong: #d3ced7;
	--wm-color-primary: #635bff;
	--wm-color-primary-hover: #4f46d8;
	--wm-color-primary-strong: #342e81;
	--wm-color-primary-soft: #f0efff;
	--wm-color-violet: #7c3aed;
	--wm-color-violet-soft: #f5f0ff;
	--wm-color-accent: #14b8a6;
	--wm-color-accent-soft: #ecfdf9;
	--wm-color-success: #157f3d;
	--wm-color-success-soft: #f0fdf4;
	--wm-color-warning: #a14f08;
	--wm-color-warning-soft: #fff8eb;
	--wm-color-danger: #b42318;
	--wm-color-danger-soft: #fff1f0;
	--wm-font-xs: .78rem;
	--wm-font-sm: .9rem;
	--wm-font-base: 1rem;
	--wm-font-body: 1rem;
	--wm-font-lead: clamp(1.05rem, 1.25vw, 1.16rem);
	--wm-font-h4: 1.125rem;
	--wm-font-h3: clamp(1.3rem, 1.8vw, 1.62rem);
	--wm-font-h2: clamp(1.7rem, 2.8vw, 2.45rem);
	--wm-font-h1: clamp(2.15rem, 4vw, 3.6rem);
	--wm-font-display: clamp(2.5rem, 5vw, 4.4rem);
	--wm-space-1: 4px;
	--wm-space-2: 8px;
	--wm-space-3: 12px;
	--wm-space-4: 16px;
	--wm-space-5: 20px;
	--wm-space-6: 24px;
	--wm-space-8: 32px;
	--wm-space-10: 40px;
	--wm-space-12: 48px;
	--wm-space-16: 64px;
	--wm-space-20: 80px;
	--wm-radius-sm: 8px;
	--wm-radius-md: 12px;
	--wm-radius-lg: 18px;
	--wm-radius-xl: 24px;
	--wm-shadow-sm: 0 1px 2px rgba(23, 21, 28, .04), 0 4px 12px rgba(23, 21, 28, .035);
	--wm-shadow-md: 0 12px 30px rgba(44, 39, 66, .08);
	--wm-shadow-lg: 0 22px 54px rgba(44, 39, 66, .12);
	--wm-focus-ring: 0 0 0 4px rgba(99, 91, 255, .2);
	--wm-content: 760px;
	--wm-wide: 1280px;
	--wm-dashboard: 1280px;
	--wm-sidebar: 320px;
	--wm-header-height: 78px;
	--wm-transition: 180ms ease;
	font-synthesis: none;
}

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

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--wm-color-bg);
	color: var(--wm-color-text);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	font-weight: 440;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.admin-bar { --wm-admin-offset: 32px; }

button,
input,
select,
textarea { font: inherit; }

button,
summary,
input[type="button"],
input[type="submit"] { -webkit-tap-highlight-color: transparent; }

img,
svg,
video,
iframe { max-width: 100%; }

img { height: auto; }

figure { margin: 0; }

::selection { background: #dcd8ff; color: var(--wm-color-primary-strong); }

.alignleft { float: left; margin: 0 var(--wm-space-6) var(--wm-space-4) 0; }
.alignright { float: right; margin: 0 0 var(--wm-space-4) var(--wm-space-6); }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text,
.gallery-caption { color: var(--wm-color-text-muted); font-size: .875rem; }
.sticky,
.bypostauthor { scroll-margin-block-start: calc(var(--wm-header-height) + var(--wm-space-4)); }

a {
	color: var(--wm-color-primary-hover);
	text-decoration-thickness: .08em;
	text-underline-offset: .18em;
}

a:hover { color: var(--wm-color-primary); }

:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wm-color-primary);
	outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block: 0 var(--wm-space-4);
	color: var(--wm-color-text);
	font-weight: 780;
	letter-spacing: -.04em;
	line-height: 1.08;
	text-wrap: balance;
}

h1 { font-size: var(--wm-font-h1); }
h2 { font-size: var(--wm-font-h2); }
h3 { font-size: var(--wm-font-h3); }
h4 { font-size: var(--wm-font-h4); }

p { margin-block: 0 var(--wm-space-5); }

ul,
ol { padding-inline-start: 1.25em; }

hr {
	border: 0;
	border-block-start: 1px solid var(--wm-color-border);
	margin-block: var(--wm-space-10);
}

table {
	width: 100%;
	border-collapse: collapse;
}

th,
td {
	padding: var(--wm-space-4);
	border-block-end: 1px solid var(--wm-color-border);
	text-align: start;
	vertical-align: middle;
}

th {
	background: var(--wm-color-bg-soft);
	font-size: .875rem;
	font-weight: 720;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
select,
textarea {
	width: 100%;
	min-height: 52px;
	padding: 12px 15px;
	border: 1px solid var(--wm-color-border-strong);
	border-radius: var(--wm-radius-sm);
	background: #fff;
	color: var(--wm-color-text);
}

textarea { min-height: 140px; resize: vertical; }

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus { border-color: var(--wm-color-primary); box-shadow: var(--wm-focus-ring); outline: 0; }

label {
	display: inline-block;
	margin-block-end: var(--wm-space-2);
	font-size: .9375rem;
	font-weight: 670;
}

input[type="checkbox"],
input[type="radio"] {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	margin: 0;
	accent-color: var(--wm-color-primary);
	cursor: pointer;
}

label:has(input[type="checkbox"]),
label:has(input[type="radio"]),
input[type="checkbox"] + label,
input[type="radio"] + label {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: var(--wm-space-2);
	margin-block-end: 0;
	cursor: pointer;
}

::placeholder { color: #7b8493; opacity: 1; }

.wm-site-shell {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

.wm-main { flex: 1; min-width: 0; }

.wm-container {
	width: min(calc(100% - 2 * var(--wm-space-6)), var(--wm-wide));
	margin-inline: auto;
}

.wm-container--content { max-width: var(--wm-content); }
.wm-container--wide { max-width: var(--wm-wide); }

.wm-section { padding-block: clamp(40px, 6vw, 68px); }
.wm-section--tight { padding-block: clamp(28px, 4vw, 48px); }
.wm-section--soft { background: var(--wm-color-bg-soft); }

.wm-screen-reader-text,
.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.wm-skip-link {
	position: fixed;
	inset-block-start: var(--wm-space-3);
	inset-inline-start: var(--wm-space-3);
	z-index: 100000;
	padding: var(--wm-space-3) var(--wm-space-4);
	border-radius: var(--wm-radius-sm);
	background: var(--wm-color-text);
	color: #fff;
	font-weight: 700;
	transform: translateY(-180%);
}

.wm-skip-link:focus { color: #fff; transform: translateY(0); }

.wm-prose {
	color: var(--wm-color-text-soft);
	font-size: var(--wm-font-body);
	line-height: 1.75;
	overflow-wrap: break-word;
}

.wm-prose > * { max-width: 100%; }
.wm-prose > * + * { margin-block-start: 1.4em; }
.wm-prose :where(h2, h3, h4) { color: var(--wm-color-text); margin-block-start: 1.8em; }
.wm-prose h2 { font-size: clamp(1.55rem, 2.4vw, 2.1rem); }
.wm-prose h3 { font-size: clamp(1.25rem, 1.8vw, 1.55rem); }
.wm-prose :where(ul, ol) { padding-inline-start: 1.35em; }
.wm-prose li + li { margin-block-start: .45em; }
.wm-prose blockquote {
	margin-inline: 0;
	padding-inline-start: var(--wm-space-6);
	border-inline-start: 3px solid var(--wm-color-primary);
	color: var(--wm-color-text-muted);
}

.alignwide { max-width: var(--wm-wide); margin-inline: auto; }
.alignfull { width: 100%; max-width: none; }

@media (max-width: 782px) {
	body.admin-bar { --wm-admin-offset: 46px; }
	body { font-size: 16px; }
	.wm-container { width: min(calc(100% - 2 * var(--wm-space-4)), var(--wm-wide)); }
	.wm-prose { font-size: 1rem; }
}

@media (max-width: 360px) {
	.wm-container { width: min(calc(100% - 24px), var(--wm-wide)); }
}

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