@font-face {
	font-family: "Onest";
	src: url("../fonts/onest/Onest-Variable.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "JetBrains Mono";
	src: url("../fonts/jetbrains-mono/JetBrainsMono-Regular.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

:root {
	--delim-header-height: 5.5rem;
	--delim-rule: rgb(245 242 236 / 16%);
	--delim-muted: #aab2b7;
	--delim-ease: cubic-bezier(.22, 1, .36, 1);
}

html {
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	overflow-x: hidden;
	background:
		linear-gradient(90deg, transparent calc(25% - 1px), rgb(245 242 236 / 5%) 25%, transparent calc(25% + 1px)),
		linear-gradient(90deg, transparent calc(75% - 1px), rgb(245 242 236 / 5%) 75%, transparent calc(75% + 1px)),
		#0d1114;
}

a {
	text-underline-offset: .28em;
	text-decoration-thickness: 1px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid #f5f2ec;
	outline-offset: 4px;
	box-shadow: 0 0 0 6px #f68428;
}

.site-header {
	position: relative;
	z-index: 20;
	min-height: var(--delim-header-height);
	padding-block: 1rem;
	border-bottom: 1px solid var(--delim-rule);
	background: rgb(8 11 14 / 96%);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 3.5rem;
	gap: 1.5rem;
}

.delim-wordmark {
	display: inline-flex;
	align-items: baseline;
	gap: .75rem;
	color: #f5f2ec;
	text-decoration: none;
	white-space: nowrap;
}

.delim-wordmark strong {
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	letter-spacing: .12em;
}

.delim-wordmark span,
.delim-wordmark small {
	color: var(--delim-muted);
	font-family: "JetBrains Mono", monospace;
	font-size: .72rem;
	font-weight: 400;
	letter-spacing: .18em;
}

.site-navigation {
	display: flex;
	overflow-x: auto;
	gap: 1.25rem;
	align-items: center;
	margin-left: auto;
	scrollbar-width: none;
	white-space: nowrap;
}

.site-navigation::-webkit-scrollbar {
	display: none;
}

.site-navigation a {
	color: #f5f2ec;
	text-decoration: none;
}

.site-navigation a:hover {
	color: #f68428;
}

.site-languages {
	display: flex;
	gap: .6rem;
	align-items: center;
	padding-left: 1.25rem;
	border-left: 1px solid var(--delim-rule);
	font-family: "JetBrains Mono", monospace;
	font-size: .7rem;
	letter-spacing: .08em;
}

.site-languages a,
.site-languages span {
	color: var(--delim-muted);
	text-decoration: none;
}

.site-languages a:hover {
	color: #f68428;
}

.site-languages a[aria-current="page"] {
	color: #f5f2ec;
	text-decoration: underline;
	text-decoration-color: #f68428;
}

.site-languages span[aria-disabled="true"] {
	opacity: .42;
	cursor: not-allowed;
}

.wp-block-navigation__responsive-container.is-menu-open {
	background: #0d1114 !important;
	color: #f5f2ec !important;
}

.foundation-hero {
	display: grid;
	min-height: calc(100svh - var(--delim-header-height));
	align-items: center;
	padding-block: clamp(4rem, 10vw, 9rem);
	background:
		radial-gradient(circle at 82% 28%, rgb(246 132 40 / 18%), transparent 28rem),
		linear-gradient(135deg, #11171a 0%, #0d1114 58%, #080b0e 100%);
}

.foundation-hero__inner {
	margin-inline: 0 auto !important;
}

.foundation-eyebrow,
.site-footer__label {
	color: var(--delim-muted);
	font-size: .78rem;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.foundation-hero h1 {
	max-width: 13ch;
	margin-block: 1.75rem;
	letter-spacing: -.055em;
}

.foundation-lead {
	max-width: 46rem;
	color: #c3c9cd;
}

.wp-block-button__link {
	transition: transform 180ms var(--delim-ease), box-shadow 180ms var(--delim-ease);
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 .75rem 2rem rgb(246 132 40 / 22%);
}

.content-shell,
.not-found {
	min-height: 65vh;
	padding-block: clamp(4rem, 9vw, 8rem);
}

.content-shell > h1,
.not-found h1 {
	letter-spacing: -.045em;
}

.content-card {
	padding-block: 2rem;
	border-top: 1px solid var(--delim-rule);
}

.site-footer {
	padding-block: 2rem;
	border-top: 1px solid var(--delim-rule);
	background: #080b0e;
}

.site-footer__inner,
.site-footer__contacts {
	gap: 1rem 2rem;
}

.site-footer__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.site-footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1.5rem;
	align-items: center;
}

.site-footer p {
	margin: 0;
}

.site-footer a {
	color: #f68428;
}

.delim-contact-phone-list,
.delim-contact-phone {
	display: flex;
}

.delim-contact-phone-list {
	flex-direction: column;
	gap: .45rem;
}

.delim-contact-phone {
	flex-wrap: wrap;
	gap: .25rem .65rem;
	align-items: baseline;
}

.delim-contact-phone__role {
	color: var(--delim-muted);
	font-size: .78em;
}

@media (max-width: 47.99rem) {
	:root {
		--delim-header-height: 6.75rem;
	}

	body {
		background: #0d1114;
	}

	.site-header {
		padding-block: .75rem;
	}

	.site-header__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: .75rem 1rem;
		min-height: 0;
	}

	.delim-wordmark {
		gap: .45rem;
	}

	.delim-wordmark span,
	.delim-wordmark small {
		font-size: .6rem;
	}

	.site-languages {
		grid-row: 1;
		grid-column: 2;
		gap: .45rem;
		padding-left: .75rem;
	}

	.site-navigation {
		grid-row: 2;
		grid-column: 1 / -1;
		width: 100%;
		justify-content: space-between;
		margin-left: 0;
		padding-top: .75rem;
		border-top: 1px solid var(--delim-rule);
		font-size: .875rem;
	}

	.foundation-hero h1 {
		font-size: clamp(2.75rem, 15vw, 4.5rem) !important;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
