html {
	background: var(--color-background);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

html {
	scrollbar-width: thin;
	scrollbar-gutter: stable;
	scrollbar-color: var(--color-travertine) var(--color-alabaster);
}

body {
	background: var(--color-background);
	color: var(--color-text);
	font-size: var(--font-size-base);
	font-weight: 450;
}

h1,
.h1 {
	font-size: var(--space-9);
	line-height: 110%;
	font-weight: inherit;
}

h2,
.h2 {
	font-size: var(--space-8);
	line-height: 110%;
	font-weight: inherit;
}

h3,
.h3 {
	font-size: var(--space-7);
	line-height: 110%;
	font-weight: inherit;
}

h4,
.h4 {
	font-size: var(--space-6);
	line-height: 110%;
	font-weight: inherit;
}

h5,
.h5 {
	font-size: var(--space-5);
	line-height: 110%;
	font-weight: inherit;
}

h6,
.h6 {
	font-size: 1.25rem;
	line-height: 1.5rem;
	font-weight: inherit;
}

p {
	line-height: 125%;
}

p + p,
.entry-content > * + * {
	margin-block-start: 1em;
}

a {
	color: var(--color-accent);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover {
	text-decoration-thickness: 0.12em;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--color-accent);
	outline-offset: 2px;
	box-shadow: var(--shadow-focus);
}

button,
input,
select,
textarea {
	border: 1px solid var(--color-border);
}

input,
select,
textarea {
	background: var(--color-background);
	color: var(--color-text);
	padding: var(--space-3) var(--space-4);
	width: 100%;
}

label {
	display: block;
	font-weight: 600;
}

::selection {
	background: var(--color-accent);
	color: var(--color-accent-contrast);
}

/* THEME UTILITIES */

.header-spacing {
	margin-top: var(--header-height);
}

.divider {
	position: relative;

	&::after {
		content: '';
		position: absolute;
		top: 0;
		translate: 0 -100%;
		width: calc(100% / 3);
		height: var(--grid-gap-inline);
		background: inherit;
		border: 0;
		border-style: solid;
		border-color: inherit;
	}

	&.left::after {
		left: 0;
		border-right-width: 1px;
	}

	&.center::after {
		left: calc(100% / 3);
		border-inline-width: 1px;
	}

	&.right::after {
		right: 0;
		border-left-width: 1px;
	}
}

@media (min-width: 768px) {
	.vertical-lines {
		position: relative;

		* {
			z-index: 1;
		}

		&::before {
			position: absolute;
			top: 0;
			left: calc(100% / 3);
			content: '';
			width: calc(100% / 3);
			height: 100%;
			border: 0;
			border-left-width: 1px;
			border-right-width: 1px;
			border-style: solid;
			border-color: inherit;
			z-index: 0;
		}
	}
}

.position-sticky.top-0 {
	top: var(--header-height);
}

/* COLORS */

.surface-primary {
	background: var(--color-surface-primary);
	border: var(--color-border-primary);
	color: var(--color-text-primary);
}

.surface-secondary {
	background: var(--color-surface-secondary);
	border: var(--color-border-secondary);
	color: var(--color-text-primary);
}

.surface-inverted {
	background: var(--color-surface-inverted);
	border: var(--color-border-inverted);
	color: var(--color-text-inverted);
}

.text-primary {
	color: var(--color-text-primary);
}

.text-secondary {
	color: var(--color-text-secondary);
}

.text-inverted {
	color: var(--color-text-inverted);
}

.otgs-development-site-front-end {
	display: none !important;
}