@charset "UTF-8";

:root {
	--space-3xs: clamp(.25rem, .2411rem + .0446vi, .3125rem);
	--space-2xs: clamp(.5rem, .4821rem + .0893vi, .625rem);
	--space-xs: clamp(.75rem, .7232rem + .1339vi, .9375rem);
	--space-s: clamp(1rem, .9643rem + .1786vi, 1.25rem);
	--space-m: clamp(1.5rem, 1.4464rem + .2679vi, 1.875rem);
	--space-l: clamp(2rem, 1.9286rem + .3571vi, 2.5rem);
	--space-xl: clamp(3rem, 2.8929rem + .5357vi, 3.75rem);
	--space-2xl: clamp(4rem, 3.8571rem + .7143vi, 5rem);
	--space-3xl: clamp(5rem, 4.8214rem + .8929vi, 6.25rem);
	--space-4xl: clamp(6rem, 5.7857rem + 1.0714vi, 7.5rem);
	--space-5xl: clamp(7rem, 6.75rem + 1.25vi, 8.75rem);
	--space-6xl: clamp(8rem, 7.7143rem + 1.4286vi, 10rem);
	--space-7xl: clamp(9rem, 8.6786rem + 1.6071vi, 11.25rem);
	--space-8xl: clamp(10rem, 9.6429rem + 1.7857vi, 12.5rem);
	--space-3xs-2xs: clamp(.25rem, .1964rem + .2679vi, .625rem);
	--space-2xs-xs: clamp(.5rem, .4375rem + .3125vi, .9375rem);
	--space-xs-s: clamp(.75rem, .6786rem + .3571vi, 1.25rem);
	--space-s-m: clamp(1rem, .875rem + .625vi, 1.875rem);
	--space-m-l: clamp(1.5rem, 1.3571rem + .7143vi, 2.5rem);
	--space-l-xl: clamp(2rem, 1.75rem + 1.25vi, 3.75rem);
	--space-xl-2xl: clamp(3rem, 2.7143rem + 1.4286vi, 5rem);
	--space-2xl-3xl: clamp(4rem, 3.6786rem + 1.6071vi, 6.25rem);
	--space-3xl-4xl: clamp(5rem, 4.6429rem + 1.7857vi, 7.5rem);
	--space-4xl-5xl: clamp(6rem, 5.6071rem + 1.9643vi, 8.75rem);
	--space-5xl-6xl: clamp(7rem, 6.5714rem + 2.1429vi, 10rem);
	--space-6xl-7xl: clamp(8rem, 7.5357rem + 2.3214vi, 11.25rem);
	--space-7xl-8xl: clamp(9rem, 8.5rem + 2.5vi, 12.5rem);
	--space-xs-m: clamp(.75rem, .5893rem + .8036vi, 1.875rem);
	--space-4xl-8xl: clamp(6rem, 5.0714rem + 4.6429vi, 12.5rem);
	--space-s-l: clamp(1rem, .7857rem + 1.0714vi, 2.5rem);
	--space-2xl-8xl: clamp(4rem, 2.7857rem + 6.0714vi, 12.5rem)
}

@font-face {
	font-family: IBM Plex Sans;
	src: url(assets/fonts/IBMPlexSans-Light.woff2) format("woff2");
	font-style: normal;
	font-weight: 300;
	font-display: swap
}

@font-face {
	font-family: IBM Plex Mono;
	src: url(assets/fonts/IBMPlexMono-Regular.woff2) format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap
}

@font-face {
	font-family: IBM Plex Sans;
	src: url(assets/fonts/IBMPlexSans-Regular.woff2) format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap
}

@font-face {
	font-family: IBM Plex Sans;
	src: url(assets/fonts/IBMPlexSans-Italic.woff2) format("woff2");
	font-style: italic;
	font-weight: 400;
	font-display: swap
}

@font-face {
	font-family: IBM Plex Sans;
	src: url(assets/fonts/IBMPlexSans-Medium.woff2) format("woff2");
	font-style: normal;
	font-weight: 500;
	font-display: swap
}

@font-face {
	font-family: IBM Plex Sans;
	src: url(assets/fonts/IBMPlexSans-MediumItalic.woff2) format("woff2");
	font-style: italic;
	font-weight: 500;
	font-display: swap
}

@font-face {
	font-family: IBM Plex Sans Condensed;
	src: url(assets/fonts/IBMPlexSansCond-Light.woff2) format("woff2");
	font-style: normal;
	font-weight: 300;
	font-display: swap
}

@font-face {
	font-family: IBM Plex Sans Condensed;
	src: url(assets/fonts/IBMPlexSansCond-Regular.woff2) format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap
}

@font-face {
	font-family: IBM Plex Sans Condensed;
	src: url(assets/fonts/IBMPlexSansCond-Medium.woff2) format("woff2");
	font-style: normal;
	font-weight: 500;
	font-display: swap
}

@font-face {
	font-family: Merriweather;
	src: url(assets/fonts/Merriweather-Regular.woff2) format("woff2");
	font-style: normal;
	font-weight: 500;
	font-display: swap
}

@font-face {
	font-family: Merriweather;
	src: url(assets/fonts/Merriweather-Light.ttf) format("truetype");
	font-style: normal;
	font-weight: 400;
	font-display: swap
}

:root {
	--initial-vh: 1vh;
	--actual-vh: 1vh;
	--body-font-size: 16px;
	--font-family-heading: "IBM Plex Sans Condensed", sans-serif;
	--font-family-body: "IBM Plex Sans", sans-serif;
	--font-family-simple: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--body-background-color: var(--color-light-01);
	--body-text-color: var(--color-dark-01);
	--column-width: calc((100vw - var(--container-padding) * 2 - var(--gutter) * (var(--columns) - 1)) / var(--columns));
	--column-width-gutter: calc(var(--column-width) + var(--gutter));
	--column-width-2-gutter: calc(var(--column-width) + var(--gutter) * 2);
	--site-header-height: calc(var(--space-2xl));
	--height-without-header: calc(var(--initial-vh) * 100 - var(--site-header-height));
	--fast-start-easing: cubic-bezier(.17, .67, .1, .99);
	--faster-start-easing: cubic-bezier(.19, 1, .22, 1);
	--slow-start-easing: cubic-bezier(.73, 0, 0, 1);
	--content-list-image-size: calc(var(--space-8xl) * 1.2);
	--color-image-background: var(--color-accent-01);
	--color-error: #FA5050;
	--color-dark-01: #0f131c;
	--color-dark-02: #1F283B;
	--color-dark-03: #364363;
	--color-light-01: #F2F5FA;
	--color-light-02: #EAF0F9;
	--color-grey-01: #CDD3E1;
	--color-grey-02: #7B8397;
	--color-accent-01: #9EAEE9;
	--color-accent-02: #A2D1CE;
	--color-gradient-01: linear-gradient(to right, #7485CA 0%, #81B7D4 46%, #85C4C0 100%);
	--color-gradient-02: linear-gradient(to left, #83BCCC 0%, #85C3C0 100%);
	--breakpoints-xs: 0;
	--breakpoints-sm2: 450px;
	--breakpoints-sm: 768px;
	--breakpoints-md: 992px;
	--breakpoints-lg: 1440px;
	--breakpoints-xl: 1919px;
	--breakpoints-xxl: 2400px
}

:root {
	--container-padding: 24px
}

@media (min-width: 768px) {
	:root {
		--container-padding: 3vw
	}
}

:root {
	--gutter: 10px
}

@media (min-width: 768px) {
	:root {
		--gutter: 1vw
	}
}

:root {
	--columns: 12
}

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

* {
	padding: 0;
	margin: 0
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-color: var(--body-background-color, #fff);
	color: var(--body-text-color, #000);
	font-family: var(--font-family-body);
	font-size: var(--body-font-size);
	font-weight: var(--body-font-weight, 400);
	line-height: var(--body-line-height, 1.6);
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-webkit-tap-highlight-color: transparent;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%
}

img,
picture,
video,
canvas,
svg {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%
}

article,
figure,
footer,
header,
aside,
main,
nav {
	display: block
}

input,
button,
select,
optgroup,
textarea {
	color: var(--body-text-color, currentcolor);
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit
}

table {
	border-collapse: collapse
}

a[href^="tel:"] {
	text-decoration: none !important
}

a[href^="mailto:"] {
	-webkit-user-select: auto !important;
	-moz-user-select: auto !important;
	user-select: auto !important
}

button,
[role=button] {
	padding: 0;
	border: none;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
	font: inherit;
	text-align: left
}

select {
	word-wrap: normal
}

select:disabled {
	opacity: 1
}

textarea {
	resize: vertical
}

fieldset {
	min-width: 0;
	border: 0
}

svg,
symbol {
	overflow: visible
}

iframe {
	border: none
}

dfn {
	font-style: normal
}

abbr {
	text-decoration: none
}

hr {
	height: 0;
	color: inherit
}

code,
kbd,
samp,
pre {
	font-family: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
	font-size: 1em
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

html.no-js body {
	display: none
}

::-moz-selection {
	color: var(--color-dark-02);
	background: var(--color-accent-02);
	-webkit-background-clip: border-box;
	-webkit-text-fill-color: var(--color-dark-02)
}

::selection {
	color: var(--color-dark-02);
	background: var(--color-accent-02);
	-webkit-background-clip: border-box;
	-webkit-text-fill-color: var(--color-dark-02)
}

#site-content {
	position: relative;
	width: 100%
}

a {
	color: currentcolor;
	outline: none;
	text-decoration: none;
	-webkit-touch-callout: none
}

a:hover {
	text-decoration: none
}

*:focus {
	outline: none
}

ul {
	list-style: none
}

:root {
	--font-base-multiplier: 1
}

@media (max-width: 767.98px) {
	:root {
		--font-base-multiplier: 1.2
	}
}

:root {
	--font-base-multiplier: 1;
	--fluid-22-78: clamp(1.375rem, .875rem + 2.5vi, 4.875rem);
	--fluid-20-30: calc(clamp(1.25rem, 1.0983rem + .6472vw, 2.5rem) * var(--font-base-multiplier));
	--fluid-18-30: calc(clamp(1.125rem, .943rem + .7767vw, 1.875rem) * var(--font-base-multiplier));
	--fluid-16-22: calc(clamp(1rem, .909rem + .3883vw, 1.375rem) * var(--font-base-multiplier));
	--fluid-14-16: calc(clamp(.875rem, .8447rem + .1294vw, 1rem) * var(--font-base-multiplier));
	--fluid-12-16: clamp(.75rem, .7143rem + .1786vi, 1rem);
	--fluid-10-14: clamp(.625rem, .5893rem + .1786vi, .875rem);
	--h1: max(50px, calc(50px + 40 * ((100vw - 375px) / 1545)));
	--h2: max(30px, calc(30px + 20 * ((100vw - 375px) / 1545)));
	--h3: max(20px, calc(20px + 4 * ((100vw - 375px) / 1545)));
	--sub1: max(14px, calc(14px + 6 * ((100vw - 375px) / 1545)));
	--sub2: max(12px, calc(12px + 2 * ((100vw - 375px) / 1545)));
	--body1: 16px;
	--body2: max(12px, calc(12px + 2 * ((100vw - 375px) / 1545)));
	--btn1: max(14px, calc(14px + 2 * ((100vw - 375px) / 1545)));
	--link-header: 16px;
	--link-footer: max(14px, calc(14px + 2 * ((100vw - 375px) / 1545)));
	--input-text: 16px;
	--prose-h1: max(35px, calc(35px + 15 * ((100vw - 375px) / 1545)));
	--prose-h2: max(27px, calc(27px + 9 * ((100vw - 375px) / 1545)));
	--prose-h3: max(20px, calc(20px + 4 * ((100vw - 375px) / 1545)));
	--prose-caption: 14px;
	--prose-body: max(16px, min(calc(16px + 2 * ((100vw - 375px) / 1545)), 18px));
	--prose-body2: 16px;
	--prose-link: 18px
}

.not-supported--content {
	position: absolute;
	top: 50%;
	left: 50%;
	display: none;
	transform: translate3d(-50%, -50%, 0)
}

html #not-supported-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	overscroll-behavior: none;
	touch-action: none;
	display: none
}

html.not-supported #canvas,
html.not-supported #ui {
	display: none
}

html.not-supported body,
html.not-supported #not-supported-container {
	display: block
}

html.not-supported--device .not-supported--content#ns-device,
html.not-supported--browser .not-supported--content#ns-browser,
html.not-supported--webgl .not-supported--content#ns-webgl,
html.not-supported--orientation .not-supported--content#ns-orientation {
	z-index: 99999;
	display: block;
	padding: 10px;
	border: 1px solid var(--color-error)
}

.o-button {
	font-size: var(--btn1);
	font-family: var(--font-family-heading);
	font-weight: 500;
	display: inline-block;
	padding: var(--space-s) var(--space-m);
	color: var(--color, currentColor);
	position: relative;
	overflow: hidden;
	text-transform: uppercase;
	line-height: 1;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.o-button:has(.o-icon) {
	padding-right: calc(var(--space-s) * 1.2)
}

@media (max-width: 767.98px) {
	.o-button {
		padding: calc(var(--space-s) * .8) calc(var(--space-m) * .8)
	}

	.o-button:has(.o-icon) {
		padding-right: calc(var(--space-s) * 1)
	}
}

.o-button:hover>span:nth-child(2)>span {
	transform: translate(calc(var(--fluid-12-16) * .9))
}

.o-button:hover>span:nth-child(2)>span div:first-child {
	transform: none
}

.o-button:hover>span:nth-child(2)>span .o-icon:first-child {
	transform: translate(calc(-1 * var(--fluid-12-16)))
}

.o-button:hover>span:nth-child(2)>span .o-icon:last-child {
	transform: translate(calc(-1 * var(--fluid-12-16) + 2px))
}

.o-button>span>span {
	display: flex;
	transition: transform 1s var(--fast-start-easing)
}

.o-button>span>span span {
	background: var(--background, var(--color-dark-01));
	z-index: 1
}

.o-button>span>span .o-icon:first-child {
	position: absolute
}

.o-button>span>span .o-icon:first-child {
	transform: translate(-3px, 1px);
	transition: transform 1s var(--fast-start-easing)
}

.o-button>span>span .o-icon:last-child {
	transition: transform 1s var(--fast-start-easing)
}

.o-button:before {
	content: "";
	background: var(--background, var(--color-dark-01));
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: polygon(var(--radius, 10px) 0, 100% 0, 100% 0, 100% calc(100% - var(--radius, 10px)), calc(100% - var(--radius, 10px)) 100%, 0 100%, 0 100%, 0 var(--radius, 10px));
	transition: clip-path 1s var(--faster-start-easing)
}

.o-button>span:nth-child(1),
.o-button>span:nth-child(2) {
	pointer-events: none
}

.o-button>span:nth-child(1):before,
.o-button>span:nth-child(1):after,
.o-button>span:nth-child(2):before,
.o-button>span:nth-child(2):after {
	content: "";
	width: 2px;
	height: var(--radius, 10px);
	background: currentColor;
	z-index: 1;
	position: absolute;
	transform-origin: 50% 50%;
	transition: transform 1s var(--faster-start-easing), opacity 1s var(--faster-start-easing)
}

.o-button>span:nth-child(1):before {
	top: var(--radius, 10px);
	left: var(--radius, 10px);
	transform: translate(-50%, -50%) rotate(45deg)
}

.o-button>span:nth-child(1):after {
	top: calc(100% - var(--radius, 10px));
	left: calc(100% - var(--radius, 10px));
	transform: translate(-50%, -50%) rotate(45deg)
}

.o-button>span:nth-child(2) {
	display: flex;
	align-items: center
}

.o-button>span:nth-child(2):before {
	top: var(--radius, 10px);
	left: calc(100% - var(--radius, 10px));
	transform: translate(calc(-50% - var(--line-offset-animation, 20px)), calc(-50% - var(--line-offset-animation, 20px))) rotate(-45deg);
	opacity: 0
}

.o-button>span:nth-child(2):after {
	top: calc(100% - var(--radius, 10px));
	left: var(--radius, 10px);
	transform: translate(calc(-50% + var(--line-offset-animation, 20px)), calc(-50% + var(--line-offset-animation, 20px))) rotate(-45deg);
	opacity: 0
}

.o-button:hover:before {
	clip-path: polygon(0 0, calc(100% - var(--radius, 10px)) 0, 100% var(--radius, 10px), 100% 100%, 100% 100%, var(--radius, 10px) 100%, 0 calc(100% - var(--radius, 10px)), 0 0)
}

.o-button:hover>span:nth-child(1):before {
	transform: translate(calc(-50% + var(--line-offset-animation, 20px)), calc(-50% - var(--line-offset-animation, 20px))) rotate(45deg);
	opacity: 0
}

.o-button:hover>span:nth-child(1):after {
	transform: translate(calc(-50% - var(--line-offset-animation, 20px)), calc(-50% + var(--line-offset-animation, 20px))) rotate(45deg);
	opacity: 1
}

.o-button:hover>span:nth-child(2):before {
	transform: translate(-50%, -50%) rotate(-45deg);
	opacity: 1
}

.o-button:hover>span:nth-child(2):after {
	transform: translate(-50%, -50%) rotate(-45deg);
	opacity: 1
}

.o-background {
	--radius: 20px;
	z-index: -1;
	position: absolute;
	top: 0;
	left: calc(.25 * var(--container-padding));
	width: calc(100% + var(--container-padding) * -.5);
	clip-path: polygon(var(--radius) 0, 100% 0, 100% calc(100% - var(--radius)), calc(100% - var(--radius)) 100%, 0 100%, 0 var(--radius));
	height: 100%;
	background-color: var(--color-dark-01)
}

.o-background:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40%;
	background: var(--color-dark-01)
}

.o-foreground {
	--radius: 20px;
	z-index: 9994;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: calc(.25 * var(--container-padding));
	width: calc(100% + var(--container-padding) * -.5);
	height: 100%
}

.o-foreground:before {
	content: "";
	position: absolute;
	top: 80%;
	left: -1px;
	width: 100%;
	height: 100%;
	width: calc(var(--radius) * .5);
	height: calc(var(--radius) * 2);
	background: var(--body-background-color);
	clip-path: polygon(0 0, 100% 5px, 100% calc(100% - 5px), 0 100%, 0 0)
}

.o-foreground:after {
	content: "";
	position: absolute;
	top: 20%;
	right: -1px;
	width: 100%;
	height: 100%;
	width: calc(var(--radius) * .5);
	height: calc(var(--radius) * 2);
	background: var(--body-background-color);
	clip-path: polygon(0 0, 100% 5px, 100% calc(100% - 5px), 0 100%, 0 0);
	transform: rotate(180deg)
}

@media (max-width: 767.98px) {
	.o-foreground {
		--radius: 15px
	}
}

.o-container {
	width: 100%;
	max-width: var(--grid-max-width);
	padding-right: var(--container-padding);
	padding-left: var(--container-padding);
	margin-right: auto;
	margin-left: auto
}

.o-grid {
	display: grid;
	gap: var(--gutter-y, 0) var(--gutter-x, var(--gutter));
	grid-template-columns: repeat(var(--columns), 1fr);
	grid-template-rows: repeat(var(--rows, 1), 1fr)
}

.o-grid>* {
	grid-column: auto/span var(--column-span, var(--columns));
	grid-column-start: var(--column-start, auto)
}

.o-icon {
	display: inline-block;
	width: var(--fluid-12-16);
	flex-shrink: 0;
	fill: none;
	font-size: 0;
	stroke: currentcolor;
	stroke-width: var(--stroke-width, 1.4px);
	vertical-align: middle
}

.o-icon__svg {
	width: 100%
}

.careers-job-list__department-header div:first-child,
.careers-job-list__department-header div:last-child,
.job-list__department-header div:first-child,
.job-list__department-header div:last-child,
.o-label {
	display: inline-block;
	background: var(--theme, var(--color-accent-02));
	line-height: 1;
	color: var(--color-dark-01);
	padding: 3px
}

.careers-job-list__department-header div:first-child:before,
.careers-job-list__department-header div:last-child:before,
.job-list__department-header div:first-child:before,
.job-list__department-header div:last-child:before,
.o-label:before {
	content: "[ "
}

.careers-job-list__department-header div:first-child:after,
.careers-job-list__department-header div:last-child:after,
.job-list__department-header div:first-child:after,
.job-list__department-header div:last-child:after,
.o-label:after {
	content: " ]"
}

.o-reveal-childs>*,
.o-reveal {
	opacity: 1;
	transform: translateY(var(--reveal-y, var(--space-l)));
	transition: transform 1.25s cubic-bezier("easeOutCirc"), opacity 1s;
	transition-delay: calc(var(--index-delay, .05s) * var(--index, 0) + var(--stagger-delay, .5s) * var(--stagger, 0) + var(--global-delay) * 1s);
	will-change: opacity, transform
}

.show-overlay .o-reveal-overlay>*,
.is-inview.o-reveal-childs>*,
.is-inview .o-reveal-childs>*,
.is-inview.o-reveal,
.is-inview .o-reveal {
	opacity: 1;
	transform: none
}

.o-reveal-childs {
	overflow: hidden
}

.o-reveal-childs>*:nth-child(n+20) {
	--stagger: 20
}

.o-reveal-overlay {
	overflow: hidden
}

.o-reveal-overlay>* {
	transform: translateY(var(--reveal-y, var(--space-l)));
	transition: transform .9s 0s var(--faster-start-easing);
	will-change: opacity, transform
}

.o-reveal-overlay>*:nth-child(n+20) {
	--stagger: 20
}

.show-overlay .o-reveal-overlay>* {
	transition: transform 1.5s cubic-bezier("easeOutCirc"), opacity 1s;
	will-change: transform, opacity;
	transition-delay: calc(var(--index-delay, .03s) * var(--index, 0) + var(--stagger-delay, .5s) * var(--stagger, 0) + var(--global-delay) * 1s)
}

.o-section {
	position: relative
}

.o-text-gradient {
	background: linear-gradient(90deg, #446dcd, #4bb6d3, #6ef2cc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent
}

.o-blog-preview {
	position: relative;
	display: block;
	padding: var(--space-xs) 0;
	height: 100%;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

[data-theme=dark] .o-blog-preview {
	color: var(--color-light-01)
}

[data-theme=dark] .o-blog-preview:after {
	border-bottom: 1px solid var(--color-dark-03)
}

[data-theme=light] .o-blog-preview {
	color: var(--color-dark-01)
}

[data-theme=light] .o-blog-preview:after {
	border-bottom: 1px solid var(--color-grey-01)
}

.o-blog-preview:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0
}

.o-blog-preview:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	border-bottom: 1px solid var(--color-dark-03)
}

.o-blog-preview__inner {
	display: flex;
	flex-direction: column
}

.o-blog-preview__content {
	display: flex;
	gap: var(--space-m)
}

.o-blog-preview__content .o-blog-preview__meta:nth-of-type(1) .o-blog-preview__caption {
	font-size: var(--fluid-12-16)
}

@media (max-width: 767.98px) {
	.o-blog-preview__content .o-blog-preview__meta:nth-of-type(1) .o-blog-preview__caption {
		display: none
	}
}

@media (max-width: 767.98px) {
	.o-blog-preview__content {
		flex-direction: column
	}

	.o-blog-preview__content .o-blog-preview__meta:nth-of-type(2) {
		display: none
	}
}

@media (min-width: 768px) {
	.o-blog-preview__content .o-blog-preview__meta:nth-of-type(1) .o-blog-preview__caption {
		display: none
	}
}

.o-blog-preview__image {
	height: 0;
	padding-bottom: 56.25%;
	background: var(--color-image-background);
	position: relative;
	overflow: hidden
}

[data-theme=dark] .o-blog-preview__image {
	background: var(--color-dark-02)
}

.o-blog-preview__image img {
	will-change: opacity, transform;
	opacity: 0;
	transition: opacity 1s, transform 1s var(--fast-start-easing);
	transform: scale(1.1)
}

.o-blog-preview__image img.is-loaded {
	opacity: 1;
	transform: none
}

.o-blog-preview__image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.o-blog-preview:hover .o-blog-preview__image img {
	transform: scale(1.02)
}

.o-blog-preview__meta {
	color: var(--color-grey-02);
	display: flex;
	width: 150px;
	font-size: 14px;
	gap: var(--space-m)
}

.o-blog-preview__meta-date {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	min-width: 20ch;
	text-transform: capitalize;
	font-size: var(--fluid-12-16)
}

@media (max-width: 767.98px) {
	.o-blog-preview__meta-date {
		min-width: unset
	}
}

.o-blog-preview__meta-author {
	color: var(--color-grey-02);
	font-size: var(--fluid-12-16);
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	text-transform: capitalize
}

.o-blog-preview__title {
	font-size: var(--h3);
	line-height: 1.25;
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	max-width: 50ch;
	text-transform: none;
	font-weight: 500
}

.o-blog-preview__intro {
	font-size: var(--fluid-12-16);
	font-weight: 500;
	font-family: var(--font-family-simple)
}

.o-blog-preview__description {
	display: flex;
	flex-direction: column;
	gap: var(--space-m);
	margin-bottom: var(--space-xl)
}

@media (max-width: 767.98px) {
	.o-blog-preview__description {
		margin-bottom: 0
	}
}

.o-blog-preview__caption {
	position: relative;
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-grey-02);
	font-size: var(--fluid-12-16);
	text-transform: capitalize
}

.o-blog-preview__caption:before {
	content: "•";
	position: absolute;
	left: calc(-.5 * var(--space-m) - 1px);
	top: 50%;
	transform: translateY(-50%)
}

.o-prose {
	word-break: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
	width: 100%
}

.o-prose>*:first-child {
	margin-top: 0
}

.o-prose blockquote,
.o-prose li,
.o-prose p {
	font-size: var(--prose-body);
	font-family: var(--font-family-simple)
}

.o-prose h2 {
	font-size: var(--prose-h3);
	font-weight: 500
}

.o-prose h2 a {
	text-decoration: none
}

.o-prose h2:hover a {
	text-decoration: underline
}

.o-prose h3 {
	font-size: var(--prose-h3);
	font-weight: 500
}

.o-prose>*+* {
	margin-top: var(--space-s)
}

.o-prose a {
	text-decoration: underline;
	text-underline-offset: .2em
}

.o-prose h2,
.o-prose h3,
.o-prose h4,
.o-prose h5 {
	margin-top: var(--space-xl);
	line-height: 1.2;
	margin-bottom: var(--space-l)
}

.o-prose iframe,
.o-prose video {
	margin-top: var(--space-xl);
	width: 100%
}

.o-prose iframe+p,
.o-prose video+p {
	margin-top: var(--space-xl)
}

.o-prose iframe {
	height: 60vw
}

@media (min-width: 768px) {
	.o-prose iframe {
		height: 40vw
	}
}

@media (min-width: 992px) {
	.o-prose iframe {
		height: 35vw
	}
}

@media (min-width: 1440px) {
	.o-prose iframe {
		height: 25vw
	}
}

.o-prose ul,
.o-prose ol {
	list-style-position: inside;
	margin-bottom: var(--space-xl);
	margin-top: var(--space-m)
}

.o-prose ul li,
.o-prose ol li {
	margin-top: var(--space-xs)
}

.o-prose ul ul,
.o-prose ul ol,
.o-prose ol ul,
.o-prose ol ol {
	margin-top: var(--space-xs);
	margin-bottom: 0
}

.o-prose ul li {
	padding-left: .75em;
	position: relative
}

.o-prose ul li:before {
	content: "";
	position: absolute;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: currentColor;
	top: .75em;
	left: 0;
	transform: translateY(-50%)
}

.o-prose .custom-table {
	--padding-left: var(--container-padding);
	--padding-right: var(--container-padding);
	margin-top: var(--space-l);
	margin-bottom: var(--space-l);
	overflow-x: auto;
	width: 100vw;
	max-width: 100vw;
	margin-left: 50%;
	transform: translate(-50%);
	padding-right: var(--padding-right);
	padding-left: var(--padding-left);
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none
}

.o-prose .custom-table::-webkit-scrollbar {
	display: none
}

@media (min-width: 768px) {
	.o-prose .custom-table {
		--padding-left: calc(var(--column-width-gutter) + var(--space-m-l) + var(--container-padding));
		--padding-right: calc(var(--column-width-gutter) + var(--space-m-l) + var(--container-padding))
	}
}

@media (min-width: 992px) {
	.o-prose .custom-table {
		--padding-left: calc(var(--container-padding) + var(--space-m-l));
		--padding-right: var(--space-m-l)
	}
}

@media (min-width: 1440px) {
	.o-prose .custom-table {
		--padding-left: calc(var(--column-width-gutter) * 2 + var(--space-m-l) + var(--container-padding));
		--padding-right: var(--space-m-l)
	}
}

.o-prose .custom-table th {
	background-color: var(--color-light-02);
	text-transform: uppercase;
	font-weight: 500;
	text-align: left;
	line-height: 1.2
}

.o-prose .custom-table th,
.o-prose .custom-table td {
	--min-width: calc(50vw - var(--padding-left) * 1 - 1px);
	padding: var(--space-s) var(--space-m);
	border: 1px solid var(--color-grey-01);
	vertical-align: top;
	font-size: 14px;
	white-space: normal;
	word-wrap: break-word;
	min-width: var(--min-width)
}

@media (min-width: 992px) {

	.o-prose .custom-table th,
	.o-prose .custom-table td {
		--min-width: calc(var(--column-width) * 4 - var(--space-m-l) * 1 + var(--gutter) * 3.5 - 1px)
	}
}

@media (min-width: 1440px) {

	.o-prose .custom-table th,
	.o-prose .custom-table td {
		--min-width: calc(var(--column-width) * 3 - var(--space-m-l) * 1 + var(--gutter) * 2.5 - 1px)
	}
}

@media (min-width: 2400px) {

	.o-prose .custom-table th,
	.o-prose .custom-table td {
		--min-width: calc(var(--column-width) * 2.5 - var(--space-m-l) * 1 + var(--gutter) * 2 - 1px)
	}
}

.o-prose .image {
	display: block;
	position: relative;
	margin-top: var(--space-xl);
	width: 100%;
	background-color: transparent;
	overflow: hidden
}

.o-prose .image img {
	will-change: opacity, transform;
	opacity: 0;
	transition: opacity 1s, transform 1s var(--fast-start-easing);
	transform: scale(1.1)
}

.o-prose .image img.is-loaded {
	opacity: 1;
	transform: none
}

.o-prose .image img {
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.o-prose .image+p {
	margin-top: var(--space-xl)
}

.o-prose .accordion {
	margin: var(--space-xl) 0
}

.o-prose .accordion .accordion__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	line-height: 1;
	padding: var(--space-xs) var(--space-s);
	background: var(--color-grey-01);
	position: relative;
	font-weight: 500;
	font-size: var(--h3)
}

.o-prose .accordion .o-icon {
	transition: transform .5s var(--fast-start-easing);
	transform: rotate(-90deg) scaleX(-1);
	width: var(--space-l)
}

.o-prose .accordion[aria-expanded=true] .o-icon {
	transform: rotate(-90deg) scaleX(1)
}

.o-prose .accordion .accordion__body {
	display: none;
	padding: 0 var(--space-s) var(--space-s);
	border: 1px solid var(--color-grey-01);
	border-top: 0;
	padding-top: 1px
}

.o-prose .accordion .accordion__body>ol:last-child,
.o-prose .accordion .accordion__body>ul:last-child {
	margin-bottom: 0
}

.o-prose pre code {
	font-size: 13px !important
}

.o-prose code:not(pre code) {
	background-color: var(--color-light-02);
	padding: .2em .4em;
	color: #4b69d6;
	font-size: 16px;
	border-radius: .2em
}

.o-prose blockquote {
	--line-extension: 5px;
	position: relative;
	padding-left: calc(var(--space-xl));
	margin: var(--space-xl) 0
}

.o-prose blockquote:before {
	top: calc(var(--line-extension) * -1);
	left: 7px;
	height: calc(100% + var(--line-extension) * 2);
	width: 5px;
	content: "";
	position: absolute;
	background: #cdd3e1;
	border-radius: 9999px
}

.o-prose .quote {
	position: relative;
	padding-left: calc(var(--space-xl));
	font-size: var(--h3);
	margin: var(--space-xl) 0
}

.o-prose .quote:before {
	content: "";
	background: var(--color-grey-01);
	position: absolute;
	width: 4px;
	top: 0;
	bottom: 0;
	left: 0;
	border-radius: 4px
}

.o-prose .quote .quote__text {
	margin-bottom: var(--space-s);
	font-style: italic
}

.o-prose .quote .quote__author {
	font-weight: 500;
	color: var(--color-grey-02);
	font-size: 14px;
	text-transform: capitalize
}

.page {
	opacity: 0
}

.page__inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: calc(var(--vh, 1vh) * 100 - var(--site-header-height))
}

#canvas {
	display: none;
	pointer-events: auto;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	overscroll-behavior: none;
	touch-action: none
}

.is-ready #canvas {
	display: block
}

#site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: var(--site-header-height);
	display: flex;
	align-items: center;
	z-index: 9995;
	text-transform: uppercase;
	background: var(--body-background-color);
	line-height: 1
}

#site-header:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--color-grey-01);
	transition: opacity .2s
}

body:has(.page#tpl-home) #site-header.no-border:before {
	opacity: 0
}

#site-header__wrapper {
	display: flex;
	align-items: center;
	height: 100%
}

#site-header__logo {
	margin-right: auto;
	padding-right: var(--space-m);
	pointer-events: none
}

#site-header__logo a {
	display: flex;
	align-items: center;
	pointer-events: auto
}

#site-header__logo .o-icon {
	pointer-events: none;
	margin-right: var(--space-2xs);
	stroke: none;
	fill: var(--color-dark-01);
	width: var(--space-5xl-6xl)
}

#site-header__logo-text {
	font-size: var(--link-header);
	font-family: var(--font-family-body);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1
}

.site-header__product-menu {
	position: relative;
	height: 100%;
	margin-right: var(--space-m)
}

.site-header__product-menu:hover .site-header__product-menu-wrapper {
	pointer-events: auto;
	transition: z-index 0s;
	z-index: 1
}

.site-header__product-menu:hover .site-header__product-menu-wrapper:before {
	transform: translateY(0)
}

.site-header__product-menu:hover .site-header__product-menu-wrapper-inner-inner {
	pointer-events: auto;
	transform: translateY(0)
}

.site-header__product-menu:hover .site-header__product-menu-wrapper-inner {
	transform: translateY(0)
}

.site-header__product-menu:hover .site-header__product-menu-wrapper-inner:before {
	transform: none
}

@media (max-width: 991.98px) {
	.site-header__product-menu {
		display: none
	}
}

.site-header__product-menu li:hover div:first-child {
	transform: none;
	opacity: 1
}

.site-header__product-menu li:hover a {
	transform: none
}

.site-header__product-menu li:hover div:last-child {
	transform: translate(calc(-1 * var(--link-header) + 2px))
}

.site-header__product-menu li div:first-child {
	transform: translate(calc(var(--link-header) - 3px), 1px);
	transition: transform 1s var(--fast-start-easing)
}

.site-header__product-menu li a {
	transform: translate(calc(-1 * var(--link-header)));
	transition: transform 1s var(--fast-start-easing)
}

.site-header__product-menu li span {
	background: var(--body-background-color);
	display: block;
	z-index: 1
}

.site-header__product-menu li div:last-child {
	transition: transform 1s var(--fast-start-easing)
}

.site-header__product-menu-button {
	font-size: var(--link-header);
	font-family: var(--font-family-body);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	display: flex;
	align-items: center
}

.site-header__product-menu-button>span {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.site-header__product-menu-button .o-icon {
	width: var(--link-header);
	height: var(--link-header);
	transform-origin: 8px 5.6px;
	transform-origin: 50% 35.53125%;
	transition: transform 1s var(--fast-start-easing)
}

.site-header__product-menu:hover .site-header__product-menu-button .o-icon {
	transform: rotate(90deg)
}

.site-header__product-menu-button path:last-child {
	transform-origin: 50% 35.53125%;
	transition: transform 1s var(--fast-start-easing)
}

.site-header__product-menu:hover .site-header__product-menu-button path:last-child {
	transform: rotate(90deg)
}

.site-header__product-menu-wrapper {
	position: absolute;
	top: calc(50% - 1px);
	left: calc(-1 * var(--space-s));
	padding-top: calc(var(--site-header-height) * .5);
	pointer-events: none;
	z-index: -1;
	transition: z-index 3s
}

.site-header__product-menu-wrapper:before {
	content: "";
	z-index: 1;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-bottom: 1px solid var(--color-grey-01);
	transition: transform 1s var(--fast-start-easing), opacity 1s 1s var(--fast-start-easing);
	transform: translateY(calc(-100% + var(--site-header-height) * .5 + 1px));
	pointer-events: none;
	opacity: 0
}

.site-header__product-menu:hover .site-header__product-menu-wrapper:before {
	transition: transform 1s var(--fast-start-easing), opacity .2s var(--fast-start-easing);
	opacity: 1
}

.site-header__product-menu-wrapper-inner {
	overflow: hidden;
	transition: transform 1s var(--fast-start-easing);
	transform: translateY(calc(-100% + -0px));
	pointer-events: none
}

.site-header__product-menu-wrapper-inner-inner {
	transition: transform 1s var(--fast-start-easing);
	transform: translateY(100%);
	position: relative
}

.site-header__product-menu-wrapper-inner-inner:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 1px) scaleX(.2);
	width: 100%;
	opacity: 0;
	height: 1px;
	background: var(--color-grey-01);
	z-index: 1000;
	transition: transform 1s var(--fast-start-easing), opacity 1s var(--fast-start-easing)
}

.site-header__product-menu:hover .site-header__product-menu-wrapper-inner-inner:before {
	transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
	transform: translate(-50%) scaleX(.76);
	opacity: 1
}

.site-header__product-menu-wrapper-inner-inner ul {
	padding-top: var(--space-s);
	position: relative;
	display: flex;
	flex-direction: column;
	z-index: 1;
	padding: calc(var(--space-m) * .75)
}

.site-header__product-menu-wrapper-inner-inner ul:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%);
	display: block;
	width: calc(100% - var(--space-s) * 2);
	height: 1px;
	background: var(--color-grey-01)
}

.site-header__product-menu-wrapper-inner-inner ul:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--body-background-color);
	display: block;
	transform-origin: 50% 0;
	transition: transform .75s .5s var(--fast-start-easing);
	border-left: 1px solid var(--color-grey-01);
	border-right: 1px solid var(--color-grey-01)
}

.site-header__product-menu-wrapper-inner-inner li {
	font-size: var(--link-header);
	font-family: var(--font-family-body);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	position: relative;
	z-index: 1;
	padding: calc(var(--space-m) * .75 / 2) 0
}

.site-header__product-menu-wrapper-inner-inner li:first-child {
	padding-top: 0
}

.site-header__product-menu-wrapper-inner-inner li:last-child {
	padding-bottom: 0
}

.site-header__product-menu-wrapper-inner-inner a {
	display: flex;
	align-items: center
}

.site-header__product-menu-wrapper-inner-inner a .o-icon {
	width: var(--link-header);
	height: var(--link-header)
}

#site-header__menu-list {
	position: relative;
	z-index: 1;
	display: flex;
	gap: var(--space-m);
	line-height: 1
}

#site-header__menu-list li {
	font-size: var(--link-header);
	font-family: var(--font-family-body);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	position: relative
}

#site-header__menu-list li:before,
#site-header__menu-list li:after {
	position: absolute;
	top: 50%;
	transition: transform 1s var(--fast-start-easing), opacity 1s var(--fast-start-easing);
	opacity: 0
}

#site-header__menu-list li:before {
	content: "[";
	left: 0;
	transform: translate(-.5em, -50%)
}

#site-header__menu-list li:after {
	content: "]";
	right: 0;
	transform: translate(.5em, -50%)
}

@media (hover: hover) {
	#site-header__menu-list li:not(:last-child):hover:before {
		transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
		transform: translate(-.35em, -50%);
		opacity: 1
	}

	#site-header__menu-list li:not(:last-child):hover:after {
		transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
		transform: translate(.35em, -50%);
		opacity: 1
	}
}

html:has(.page#tpl-blogList) #site-header__menu-list li:has(a[href="/blog/1"]):before,
html:has(.page#tpl-contact) #site-header__menu-list li:has(a[href="/contact"]):before {
	opacity: 1;
	transform: translate(-.35em, -50%)
}

html:has(.page#tpl-blogList) #site-header__menu-list li:has(a[href="/blog/1"]):after,
html:has(.page#tpl-contact) #site-header__menu-list li:has(a[href="/contact"]):after {
	opacity: 1;
	transform: translate(.35em, -50%)
}

#site-header__menu-list a {
	display: flex;
	align-items: center
}

#site-header__menu-list .o-icon {
	width: var(--link-header);
	height: var(--link-header)
}

@media (max-width: 991.98px) {
	#site-header__menu-list {
		display: none
	}
}

#site-header__menu-list li:last-child:hover div:first-child {
	transform: none;
	opacity: 1
}

#site-header__menu-list li:last-child:hover a {
	transform: none
}

#site-header__menu-list li:last-child:hover div:last-child {
	transform: translate(calc(-1 * var(--link-header) + 2px))
}

#site-header__menu-list li:last-child div:first-child {
	transform: translate(calc(var(--link-header) - 3px), 1px);
	transition: transform 1s var(--fast-start-easing)
}

#site-header__menu-list li:last-child a {
	transform: translate(calc(-1 * var(--link-header)));
	transition: transform 1s var(--fast-start-easing)
}

#site-header__menu-list li:last-child span {
	background: var(--body-background-color);
	display: block;
	z-index: 1
}

#site-header__menu-list li:last-child div:last-child {
	transition: transform 1s var(--fast-start-easing)
}

#site-header__cta {
	--radius: 10px;
	--line-offset-animation: 20px;
	--background: var(--color-dark-01);
	--color: var(--color-light-02);
	margin-left: var(--space-5xl);
	line-height: 0
}

@media (min-width: 992px) and (max-width: 1439.98px) {
	#site-header__cta {
		margin-left: auto
	}
}

@media (max-width: 991.98px) {
	#site-header__cta {
		display: none
	}
}

#site-header__menu-mobile-button {
	display: flex;
	align-items: center;
	line-height: 1;
	cursor: pointer
}

#site-header__menu-mobile-button .o-icon {
	width: 17px;
	stroke-width: 1.5px;
	transform-origin: 50% 35.53125%;
	transition: transform 1s var(--fast-start-easing)
}

.menu-open #site-header__menu-mobile-button .o-icon {
	transform: rotate(90deg)
}

#site-header__menu-mobile-button .o-icon path:last-child {
	transform-origin: 50% 35.53125%;
	transition: transform 1s var(--fast-start-easing)
}

.menu-open #site-header__menu-mobile-button .o-icon path:last-child {
	transform: rotate(90deg)
}

@media (min-width: 992px) {
	#site-header__menu-mobile-button {
		display: none
	}
}

#site-header__menu-mobile-wrapper {
	position: absolute;
	top: var(--site-header-height);
	left: 0;
	width: 100%;
	transform: translateY(-100%);
	overflow: hidden;
	pointer-events: none;
	transition: transform 1s var(--fast-start-easing);
	background: red;
	background: var(--body-background-color);
	z-index: -1
}

#site-header__menu-mobile-wrapper:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	width: 100%
}

.menu-open #site-header__menu-mobile-wrapper {
	transform: translateY(0);
	pointer-events: auto
}

@media (min-width: 992px) {
	#site-header__menu-mobile-wrapper {
		display: none
	}
}

#site-header__menu-mobile-wrapper-inner {
	padding: var(--container-padding);
	padding-top: calc(var(--container-padding) * 1.75);
	display: flex;
	flex-wrap: wrap;
	gap: calc(var(--space-m) * 1.5);
	font-weight: 500;
	line-height: 1;
	transform: translateY(100%);
	transition: transform 1s var(--fast-start-easing);
	z-index: 10
}

.menu-open #site-header__menu-mobile-wrapper-inner {
	transform: translateY(0)
}

#site-header__menu-mobile-wrapper-inner .site-header__mobile-section-label {
	font-size: 21px;
	width: 100%;
	color: var(--color-grey-02)
}

#site-header__menu-mobile-wrapper-inner .site-header__mobile-section-links {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-m);
	margin-bottom: var(--space-s)
}

#site-header__menu-mobile-wrapper-inner>a {
	width: 100%;
	position: relative;
	font-size: 21px;
	display: flex;
	align-items: center;
	pointer-events: auto;
	transition: transform 1s var(--fast-start-easing)
}

html:has(.page#tpl-blogList) #site-header__menu-mobile-wrapper-inner>a[href="/blog/1"],
html:has(.page#tpl-contact) #site-header__menu-mobile-wrapper-inner>a[href="/contact"] {
	transform: translate(.6ch)
}

#site-header__menu-mobile-wrapper-inner>a .o-icon {
	width: 21px;
	stroke-width: 1.5px
}

#site-header__menu-mobile-wrapper-inner>a span {
	position: relative
}

#site-header__menu-mobile-wrapper-inner>a span:before,
#site-header__menu-mobile-wrapper-inner>a span:after {
	position: absolute;
	top: 50%;
	transition: transform 1s var(--fast-start-easing), opacity 1s var(--fast-start-easing);
	opacity: 0
}

#site-header__menu-mobile-wrapper-inner>a span:before {
	content: "[";
	left: 0;
	transform: translate(-.5em, calc(-50% - .05em))
}

#site-header__menu-mobile-wrapper-inner>a span:after {
	content: "]";
	right: 0;
	transform: translate(.5em, calc(-50% - .05em))
}

html:has(.page#tpl-blogList) #site-header__menu-mobile-wrapper-inner>a[href="/blog/1"] span:before,
html:has(.page#tpl-contact) #site-header__menu-mobile-wrapper-inner>a[href="/contact"] span:before {
	opacity: 1;
	transform: translate(-.35em, calc(-50% - .05em))
}

html:has(.page#tpl-blogList) #site-header__menu-mobile-wrapper-inner>a[href="/blog/1"] span:after,
html:has(.page#tpl-contact) #site-header__menu-mobile-wrapper-inner>a[href="/contact"] span:after {
	opacity: 1;
	transform: translate(.35em, calc(-50% - .05em))
}

#site-header__menu-mobile-wrapper-inner .site-header__mobile-section-links>span {
	width: 45%;
	display: flex;
	align-items: center
}

#site-header__menu-mobile-wrapper-inner .site-header__mobile-section-links>span .o-icon {
	margin-top: -3px;
	width: 16px;
	stroke-width: 1.5px
}

#site-header__menu-mobile-wrapper-inner>div {
	width: 100%
}

#site-header__menu-mobile-wrapper-inner .o-button {
	--color: var(--color-light-02);
	--background: var(--color-dark-01);
	width: 100%;
	z-index: 1
}

#site-header__menu-mobile-wrapper-inner .o-button span {
	justify-content: center;
	align-items: center
}

#site-header__mobile-background {
	position: fixed;
	top: var(--site-header-height);
	left: 0;
	bottom: 0;
	right: 0;
	background: #000;
	opacity: 0;
	pointer-events: none;
	transition: opacity 1s var(--fast-start-easing);
	z-index: -1
}

.menu-open #site-header__mobile-background {
	opacity: .5;
	pointer-events: auto
}

@media (min-width: 992px) {
	#site-header__mobile-background {
		opacity: 0 !important;
		pointer-events: none !important
	}
}

#site-footer {
	position: relative
}

#site-footer:before {
	content: "+++";
	font-family: IBM Plex Mono, monospace;
	line-height: 1;
	position: absolute;
	top: calc(var(--container-padding) * 1.5);
	left: calc(var(--container-padding) * 1 + var(--column-width-gutter));
	color: var(--color-dark-03)
}

@media (max-width: 767.98px) {
	#site-footer:before {
		top: calc(var(--container-padding) * 2.5);
		font-size: 23px
	}
}

@media (min-width: 768px) {
	#site-footer:before {
		font-size: 28px
	}
}

@media (min-width: 1440px) {
	#site-footer:before {
		top: calc(var(--container-padding) * 1);
		left: calc(var(--container-padding) * 1.5);
		color: var(--color-light-02)
	}
}

@media (min-width: 1919px) {
	#site-footer:before {
		left: calc(var(--container-padding) * 1 + var(--column-width-gutter));
		color: var(--color-light-02)
	}
}

#site-footer__top {
	position: relative;
	color: #fff;
	padding: var(--space-5xl) 0 var(--space-3xl)
}

@media (min-width: 768px) {
	#site-footer__top {
		padding: var(--space-4xl) 0 var(--space-3xl)
	}
}

@media (min-width: 1440px) {
	#site-footer__top {
		padding: var(--space-6xl) 0
	}
}

#site-footer__top-title {
	font-size: var(--h1);
	line-height: 1.07;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

#site-footer__top-title-devin-desktop {
	display: flex !important;
	align-items: center
}

@media (max-width: 767.98px) {
	#site-footer__top-title-devin-desktop {
		display: none !important
	}
}

#site-footer__top-title-devin-desktop span {
	background: var(--color-gradient-02);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#site-footer__top-title-devin-desktop span:first-child {
	background-position: 0 100%;
	background-size: 15ch 100%
}

#site-footer__top-title-devin-desktop span:nth-child(2) {
	background-position: 0ch 100%;
	background-size: 30ch 100%;
	margin-left: .33ch
}

#site-footer__top-title-devin-desktop span:nth-child(3) {
	background-position: -15ch 100%;
	background-size: 50ch 20ch
}

#site-footer__top-title-devin-desktop span:nth-child(4) {
	background-position: -40ch 100%;
	background-size: 50ch 100%
}

#site-footer__top-title-devin-mobile {
	display: none;
	flex-direction: column
}

@media (max-width: 767.98px) {
	#site-footer__top-title-devin-mobile {
		display: flex
	}
}

#site-footer__top-title-devin-mobile>span:nth-child(2) {
	align-items: center;
	display: flex;
	flex-direction: row
}

#site-footer__top-title-devin-mobile span span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#site-footer__top-title-devin-mobile span span:first-child {
	background-position: 0 100%;
	background-size: 15ch 100%
}

#site-footer__top-title-devin-mobile span span:nth-child(2) {
	background-position: 0ch 100%;
	background-size: 30ch 100%
}

#site-footer__top-title-devin-mobile span span:nth-child(3) {
	background-position: -15ch 100%;
	background-size: 50ch 20ch
}

#site-footer__top-title-devin-mobile span span:nth-child(4) {
	background-position: -40ch 100%;
	background-size: 50ch 100%
}

#site-footer__top-title-devin-description {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	text-transform: initial;
	max-width: 35ch;
	margin: 0 var(--space-m) 0 var(--space-l);
	padding-top: .5em
}

@media (max-width: 767.98px) {
	#site-footer__top-title-devin-description {
		display: block;
		margin: 0
	}
}

#site-footer__wrapper {
	--column-start: 2;
	--column-span: 10;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--space-xl)
}

@media (max-width: 767.98px) {
	#site-footer__wrapper {
		--column-start: 2;
		--column-span: 10;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2xl)
	}
}

@media (min-width: 1440px) {
	#site-footer__wrapper {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 1919px) {
	#site-footer__wrapper {
		--column-start: 3;
		--column-span: 8
	}
}

#site-footer__top-content {
	--background: var(--color-light-02);
	--color: var(--color-dark-01);
	display: flex;
	align-items: center;
	gap: var(--space-m)
}

@media (max-width: 767.98px) {
	#site-footer__top-content {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2xs)
	}
}

@media (max-width: 1439.98px) {
	#site-footer__top-content {
		width: 100%;
		align-items: flex-end;
		justify-content: flex-end
	}
}

#site-footer__top-content-right-cta {
	text-transform: uppercase;
	--background: var(--color-dark-02);
	--color: var(--color-light-02)
}

@media (max-width: 767.98px) {
	#site-footer__top-content-right-cta {
		padding-left: 0
	}

	#site-footer__top-content-right-cta:before {
		display: none
	}

	#site-footer__top-content-right-cta>span:first-child {
		display: none
	}
}

#site-footer__bottom {
	padding: var(--space-m) 0;
	white-space: nowrap;
	text-transform: uppercase;
	line-height: 1
}

@media (max-width: 1439.98px) {
	#site-footer__bottom {
		padding: var(--space-xl) 0
	}
}

#site-footer__socials {
	--column-span: 1;
	--column-start: 1
}

@media (max-width: 1439.98px) {
	#site-footer__socials {
		--column-start: 1;
		--column-span: 12
	}
}

#site-footer__socials span {
	font-size: var(--link-footer);
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	color: var(--color-grey-02)
}

#site-footer__socials a {
	font-size: var(--link-footer);
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	display: inline-block
}

@media (max-width: 1439.98px) {
	#site-footer__socials a {
		margin-top: var(--space-m)
	}
}

@media (min-width: 1440px) {
	#site-footer__socials a {
		margin-top: var(--space-s)
	}
}

#site-footer__nav-service01 ul,
#site-footer__nav-service02 ul {
	display: flex;
	justify-self: flex-end;
	flex-direction: column;
	justify-self: flex-start
}

@media (max-width: 1439.98px) {

	#site-footer__nav-service01 ul,
	#site-footer__nav-service02 ul {
		gap: var(--space-m)
	}
}

@media (min-width: 1440px) {

	#site-footer__nav-service01 ul,
	#site-footer__nav-service02 ul {
		gap: var(--space-s)
	}
}

#site-footer__nav-service01 li,
#site-footer__nav-service02 li {
	font-size: var(--link-footer);
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1
}

#site-footer__nav-service01 a,
#site-footer__nav-service02 a {
	position: relative
}

#site-footer__nav-service01 a:hover:before,
#site-footer__nav-service02 a:hover:before {
	opacity: 1;
	transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
	transform: translate(-.35em, -50%)
}

#site-footer__nav-service01 a:hover:after,
#site-footer__nav-service02 a:hover:after {
	opacity: 1;
	transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
	transform: translate(.35em, -50%)
}

#site-footer__nav-service01 a[data-hidden],
#site-footer__nav-service02 a[data-hidden] {
	display: none
}

#site-footer__nav-service01 a:before,
#site-footer__nav-service01 a:after,
#site-footer__nav-service02 a:before,
#site-footer__nav-service02 a:after {
	position: absolute;
	top: 50%;
	transition: transform 1s var(--fast-start-easing), opacity 1s var(--fast-start-easing);
	opacity: 0
}

#site-footer__nav-service01 a:before,
#site-footer__nav-service02 a:before {
	content: "[";
	left: 0;
	transform: translate(-.5em, -50%)
}

#site-footer__nav-service01 a:after,
#site-footer__nav-service02 a:after {
	content: "]";
	right: 0;
	transform: translate(.5em, -50%)
}

#site-footer__nav-service01 {
	--column-span: 4;
	--column-start: 5
}

@media (min-width: 1440px) {
	#site-footer__nav-service01 {
		margin-left: 2.65vw
	}
}

@media (max-width: 1439.98px) {
	#site-footer__nav-service01 {
		--column-start: 1;
		--column-span: 12;
		position: relative;
		margin-top: var(--space-l);
		padding-top: var(--space-l)
	}

	#site-footer__nav-service01:before {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: var(--color-grey-01);
		position: absolute;
		top: 0;
		left: 0
	}
}

#site-footer__nav-service02 {
	--column-span: 4;
	--column-start: 9
}

@media (max-width: 1439.98px) {
	#site-footer__nav-service02 {
		--column-start: 1;
		--column-span: 12;
		position: relative;
		margin-top: var(--space-m)
	}
}

#pages-container {
	position: relative;
	width: 100%;
	z-index: 1;
	min-height: calc(100vh - var(--site-header-height));
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-top: var(--site-header-height)
}

#preloader {
	display: flex;
	position: fixed;
	z-index: 9997;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff
}

.is-ready #preloader {
	background-color: transparent
}

#preloader-bar-wrapper {
	position: absolute;
	top: 50%;
	right: 50%;
	overflow: hidden;
	width: 60px;
	height: 40px;
	margin-top: -20px;
	margin-right: -60px
}

#preloader-bar {
	position: absolute;
	right: 0;
	width: 120px;
	height: 100%;
	background-color: #333
}

#preloader-bar-inner {
	width: 100%;
	height: 100%;
	background-color: #fff;
	transform-origin: 0 0
}

#preloader-text {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-size: 16px;
	line-height: 40px;
	mix-blend-mode: difference;
	text-align: center
}

#header-home {
	min-height: calc(var(--initial-vh) * 100 - var(--site-header-height));
	color: var(--color-light-02);
	position: relative
}

#header-home__top {
	min-height: calc(var(--initial-vh) * 100 - var(--site-header-height));
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: relative;
	color: var(--color-light-02)
}

#home-hero__canvas {
	--radius: 20px;
	--margin: 10px;
	position: absolute;
	inset: 0;
	max-width: none;
	z-index: -1;
	clip-path: polygon(var(--radius) 0, calc(100% - var(--margin)) 0, calc(100% - var(--margin)) calc(100% - var(--radius)), calc(100% - var(--radius)) 100%, var(--margin) 100%, var(--margin) var(--radius))
}

@media (max-width: 767.98px) {
	#home-hero__canvas {
		opacity: 0
	}
}

#header-home__top-header {
	--padding-title: 25px;
	--padding-caption: 35px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin-left: calc(var(--column-width) + var(--gutter) - 20px);
	padding: 20px
}

@media (max-width: 767.98px) {
	#header-home__top-header {
		top: calc(var(--initial-vh) * 8);
		transform: translate(0)
	}
}

@media (max-width: 767.98px) {
	#header-home__top-header {
		margin-left: calc(var(--column-width) + var(--gutter));
		padding: 0
	}
}

#header-home__top-caption {
	--theme: #9eaee9;
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block;
	position: relative;
	margin-bottom: var(--space-m)
}

#header-home__top-caption:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	top: calc(var(--padding-caption) * -1);
	left: calc(var(--padding-title) * -1);
	width: calc(100% + var(--padding-title) * 2);
	height: calc(100% + var(--padding-caption) * 2);
	background: var(--color-dark-01);
	z-index: -1
}

#header-home__top-title {
	--padding: 20px;
	font-size: var(--h1);
	line-height: 1.07;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

#header-home__top-title-desktop {
	display: flex;
	flex-direction: column
}

#header-home__top-title-desktop span span {
	position: relative
}

#header-home__top-title-desktop span span:before {
	content: "";
	position: absolute;
	top: calc(var(--padding-title) * -1);
	left: calc(var(--padding-title) * -1);
	width: calc(100% + var(--padding-title) * 2);
	height: calc(100% + var(--padding-title) * 2);
	background: var(--color-dark-01);
	z-index: -1
}

@media (max-width: 767.98px) {
	#header-home__top-title-desktop {
		display: none
	}
}

#header-home__top-title-desktop-bottom>span {
	display: inline-flex;
	align-items: center;
	justify-content: center
}

#header-home__top-title-desktop-bottom span span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#header-home__top-title-desktop-bottom span span:first-child {
	background-position: 0 100%;
	background-size: 15ch 100%
}

#header-home__top-title-desktop-bottom span span:nth-child(2) {
	background-position: 0ch 100%;
	background-size: 30ch 100%;
	margin-left: .33ch
}

#header-home__top-title-desktop-bottom span span:nth-child(3) {
	background-position: -50ch 100%;
	background-size: 100ch 20ch
}

#header-home__top-title-desktop-bottom span span:nth-child(4) {
	background-position: -40ch 100%;
	background-size: 50ch 100%
}

#header-home__top-title-mobile {
	display: flex;
	flex-direction: column
}

@media (min-width: 768px) {
	#header-home__top-title-mobile {
		display: none
	}
}

.header-home__top-title-mobile-gradient {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#header-home__top-title-mobile-description-container {
	margin-top: var(--space-2xs);
	align-items: center;
	display: flex
}

#header-home__top-title-mobile-description {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	text-transform: initial;
	max-width: 32ch;
	text-align: justify;
	margin-left: var(--space-s);
	margin-right: var(--space-s)
}

#header-home__top-title-desktop-bottom-description {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	text-transform: initial;
	max-width: 32ch;
	margin: 0 var(--space-m);
	text-align: justify
}

#header-home__top-content {
	--background: var(--color-light-02);
	--color: var(--color-dark-01);
	position: relative;
	padding: 10px;
	display: flex;
	align-self: flex-end;
	gap: var(--space-xl);
	margin-bottom: var(--space-3xl);
	align-items: center
}

@media (min-width: 768px) {
	#header-home__top-content:before {
		z-index: -1;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: calc(100% + var(--container-padding) * .5);
		height: 100%;
		background: var(--color-dark-01)
	}
}

@media (max-width: 767.98px) {
	#header-home__top-content {
		flex-direction: column;
		align-self: flex-start;
		gap: var(--space-m);
		padding: 0;
		margin-left: calc(var(--column-width) + var(--gutter))
	}
}

#header-home__top-content-right-cta {
	font-size: var(--btn1);
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	color: var(--color-light-02);
	display: flex;
	align-items: center;
	padding: var(--space-s) 0
}

#header-home__top-content-right-cta .o-icon {
	width: var(--btn1);
	height: var(--btn1)
}

#header-home__top-content-right-cta .o-icon:first-child {
	position: absolute
}

@media (hover: hover) {
	#header-home__top-content-right-cta:hover .o-icon:first-child {
		transform: none
	}

	#header-home__top-content-right-cta:hover span {
		transform: translate(calc(var(--fluid-12-16) * .9))
	}
}

#header-home__top-content-right-cta .o-icon:first-child {
	transform: translate(-3px, 1px);
	transition: transform 1s var(--fast-start-easing)
}

#header-home__top-content-right-cta span {
	transition: transform 1s var(--fast-start-easing);
	background: var(--color-dark-01);
	z-index: 1
}

@media (max-width: 767.98px) {
	#header-home__top-content-right-cta {
		align-self: flex-start;
		align-items: flex-start
	}
}

#header-home__bottom {
	position: relative;
	padding: var(--space-3xl) 0
}

@media (max-width: 767.98px) {
	#header-home__bottom {
		padding-top: var(--space-xl)
	}
}

#header-home__bottom-caption {
	--column-start: 2;
	--column-span: 2;
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	line-height: 1;
	cursor: pointer;
	align-self: flex-start;
	justify-self: flex-start;
	position: relative
}

#header-home__bottom-caption:before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--color-accent-02);
	transform: scale(.999);
	transition: transform .5s var(--fast-start-easing);
	z-index: -1
}

@media (hover: hover) {
	#header-home__bottom-caption:hover:before {
		transform: scaleX(1.05)
	}

	#header-home__bottom-caption:hover span:before {
		transform: translate(.1em)
	}

	#header-home__bottom-caption:hover span:after {
		transform: translate(-.1em)
	}
}

#header-home__bottom-caption span {
	display: inline-block;
	color: var(--color-dark-01);
	padding: 3px
}

#header-home__bottom-caption span:before {
	content: "[";
	padding-right: .25em;
	transition: transform .5s var(--fast-start-easing);
	display: inline-block
}

#header-home__bottom-caption span:after {
	content: "]";
	padding-left: .25em;
	display: inline-block;
	transition: transform .5s var(--fast-start-easing)
}

@media (max-width: 767.98px) {
	#header-home__bottom-caption {
		--column-start: 1;
		--column-span: 12
	}
}

#header-home__bottom-title {
	--column-start: 5;
	--column-span: 7;
	max-width: 25ch;
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

@media (max-width: 767.98px) {
	#header-home__bottom-title {
		--column-start: 1;
		--column-span: 12;
		margin-top: var(--space-s);
		max-width: 17.5ch
	}

	#header-home__bottom-title br {
		display: none
	}
}

@media (min-width: 1440px) {
	#header-home__bottom-title {
		margin-left: 2.65vw
	}
}

#header-home__bottom-gallery {
	--column-start: 2;
	--column-span: 10;
	margin-top: var(--space-l);
	display: flex;
	flex-direction: column
}

@media (max-width: 1439.98px) {
	#header-home__bottom-gallery {
		--column-start: 1;
		--column-span: 12
	}
}

@media (max-width: 767.98px) {
	#header-home__bottom-gallery {
		margin-top: var(--space-xl)
	}
}

#header-home__bottom-gallery-list-wrapper {
	position: relative
}

@media (min-width: 768px) {
	#header-home__bottom-gallery-list-wrapper {
		overflow: hidden
	}
}

@media (max-width: 767.98px) {
	#header-home__bottom-gallery-list-wrapper {
		margin-left: calc(var(--container-padding) * -.75);
		padding-left: calc(var(--container-padding) * .75);
		margin-right: calc(var(--container-padding) * -.75);
		padding-right: calc(var(--container-padding) * .75);
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		scroll-snap-type: x mandatory
	}

	#header-home__bottom-gallery-list-wrapper::-webkit-scrollbar {
		display: none
	}
}

#header-home__bottom-gallery-list {
	display: flex
}

@media (min-width: 768px) {
	#header-home__bottom-gallery-list {
		gap: var(--gutter)
	}
}

.header-home__bottom-gallery-list-item {
	flex-shrink: 0
}

@media (min-width: 768px) {
	.header-home__bottom-gallery-list-item {
		width: calc((var(--column-width-gutter) * 12 - var(--gutter) * 2) / 2);
		padding-left: 0
	}
}

@media (min-width: 992px) {
	.header-home__bottom-gallery-list-item {
		width: calc((var(--column-width-gutter) * 12 - var(--gutter) * 3) / 3);
		padding-left: 0
	}
}

@media (min-width: 1440px) {
	.header-home__bottom-gallery-list-item {
		width: calc((var(--column-width-gutter) * 10 - var(--gutter) * 3) / 3)
	}
}

@media (max-width: 767.98px) {
	.header-home__bottom-gallery-list-item {
		scroll-snap-align: start;
		padding-left: calc(var(--container-padding) * .75);
		width: calc(var(--column-width-gutter) * 12 - var(--gutter) * 1)
	}

	.header-home__bottom-gallery-list-item:last-child {
		padding-right: calc(var(--container-padding) * .75)
	}
}

#header-home__bottom-gallery-nav {
	display: flex;
	gap: var(--space-xs);
	margin-bottom: var(--space-m);
	align-self: flex-end
}

@media (max-width: 767.98px) {
	#header-home__bottom-gallery-nav {
		display: none
	}
}

#header-home__bottom-gallery-nav-prev,
#header-home__bottom-gallery-nav-next {
	font-size: var(--btn1);
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	display: inline-block;
	line-height: 1;
	color: var(--color-light-02);
	padding: 3px;
	cursor: pointer
}

@media (hover: hover) {

	#header-home__bottom-gallery-nav-prev:hover,
	#header-home__bottom-gallery-nav-next:hover {
		background: var(--color-dark-02)
	}
}

#header-home__bottom-gallery-nav-prev:before,
#header-home__bottom-gallery-nav-next:before {
	content: "[";
	padding-right: .25em;
	transition: transform .5s var(--fast-start-easing);
	display: inline-block
}

#header-home__bottom-gallery-nav-prev:after,
#header-home__bottom-gallery-nav-next:after {
	content: "]";
	padding-left: .25em;
	display: inline-block;
	transition: transform .5s var(--fast-start-easing)
}

@media (hover: hover) {

	#header-home__bottom-gallery-nav-prev:hover:before,
	#header-home__bottom-gallery-nav-next:hover:before {
		transform: translate(.1em)
	}

	#header-home__bottom-gallery-nav-prev:hover:after,
	#header-home__bottom-gallery-nav-next:hover:after {
		transform: translate(-.1em)
	}
}

#header-home__bottom-gallery-nav-prev.is-disabled,
#header-home__bottom-gallery-nav-next.is-disabled {
	pointer-events: none;
	color: var(--color-grey-02)
}

#header-home__bottom-cta {
	--column-start: 1;
	--column-span: 12;
	--background: var(--color-dark-02);
	--color: var(--color-light-02);
	padding-top: var(--space-m);
	display: flex;
	justify-content: space-between
}

@media (max-width: 767.98px) {
	#header-home__bottom-cta {
		padding-top: var(--space-xl);
		align-items: center
	}
}

@media (min-width: 1440px) {
	#header-home__bottom-cta {
		--column-start: 2;
		--column-span: 10
	}
}

#header-home__bottom-cta-visual {
	color: var(--color-dark-03);
	font-family: IBM Plex Mono, monospace;
	font-size: 28px;
	line-height: 1
}

@media (max-width: 767.98px) {
	#header-home__bottom-cta-visual {
		font-size: 23px
	}
}

#header-home__logo-grid {
	margin-top: var(--space-4xl);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center
}

#header-home__logo-grid h2 {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

#header-home__logo-grid h2 span {
	background: var(--color-gradient-02);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#header-home__logo-grid-wrapper .o-icon {
	fill: var(--color-grey-01)
}

#job-list {
	padding: var(--space-3xl) 0 var(--space-8xl);
	position: relative;
	overflow: hidden
}

#job-list:before {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	left: 0;
	position: absolute;
	font-family: IBM Plex Mono, monospace;
	line-height: 1;
	max-width: 20ch;
	word-break: break-word;
	overflow-wrap: break-word;
	color: var(--color-grey-01);
	z-index: -1
}

@media (max-width: 767.98px) {
	#job-list:before {
		content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
		top: calc(var(--space-8xl) * 3);
		right: 0;
		left: unset;
		max-width: 8ch;
		font-size: 23px
	}
}

@media (min-width: 768px) {
	#job-list:before {
		font-size: 28px;
		top: calc(var(--space-8xl) * 2.5)
	}
}

@media (min-width: 1440px) {
	#job-list:before {
		top: calc(var(--space-8xl) * 1.5)
	}
}

#job-list:after {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	z-index: -1;
	bottom: calc(var(--space-8xl) * .5);
	right: 0;
	position: absolute;
	font-family: IBM Plex Mono, monospace;
	line-height: 1;
	max-width: 44ch;
	word-break: break-word;
	overflow-wrap: break-word;
	color: var(--color-grey-01)
}

@media (max-width: 767.98px) {
	#job-list:after {
		content: "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
		max-width: 13ch;
		left: 0;
		right: unset;
		font-size: 23px
	}
}

@media (min-width: 768px) {
	#job-list:after {
		font-size: 28px
	}
}

@media (min-width: 768px) {
	#job-list__header {
		position: relative
	}
}

#job-list__header:before {
	color: var(--color-dark-01);
	content: "+++";
	z-index: -1;
	font-family: IBM Plex Mono, monospace;
	line-height: 1;
	right: var(--column-width-gutter);
	bottom: 0;
	position: absolute
}

@media (max-width: 767.98px) {
	#job-list__header:before {
		bottom: calc(var(--space-8xl) * .5);
		right: var(--container-padding);
		font-size: 23px
	}
}

@media (min-width: 768px) {
	#job-list__header:before {
		font-size: 28px
	}
}

#job-list__header-caption {
	--column-start: 2;
	--column-span: 3;
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	position: relative;
	align-self: flex-start;
	justify-self: flex-start;
	line-height: 1;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

#job-list__header-caption:before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--color-accent-02);
	transform: scale(.999);
	transition: transform .5s var(--fast-start-easing);
	z-index: -1
}

@media (hover: hover) {
	#job-list__header-caption:hover:before {
		transform: scaleX(1.05)
	}

	#job-list__header-caption:hover span:before {
		transform: translate(.1em)
	}

	#job-list__header-caption:hover span:after {
		transform: translate(-.1em)
	}
}

#job-list__header-caption span {
	display: inline-block;
	color: var(--color-dark-01);
	padding: 3px
}

#job-list__header-caption span:before {
	content: "[";
	padding-right: .25em;
	transition: transform .5s var(--fast-start-easing);
	display: inline-block
}

#job-list__header-caption span:after {
	content: "]";
	padding-left: .25em;
	display: inline-block;
	transition: transform .5s var(--fast-start-easing)
}

@media (max-width: 767.98px) {
	#job-list__header-caption {
		--column-start: 1;
		--column-span: 12
	}
}

#job-list__header-title {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	margin-top: var(--space-s)
}

@media (max-width: 767.98px) {
	#job-list__header-title {
		--column-start: 1;
		--column-span: 12
	}
}

@media (min-width: 768px) {
	#job-list__header-title {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 1440px) {
	#job-list__header-title {
		--column-start: 2;
		--column-span: 3
	}
}

#job-list__header-description {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	margin-top: var(--space-m);
	text-align: justify;
	max-width: 500px
}

@media (max-width: 767.98px) {
	#job-list__header-description {
		--column-start: 1;
		--column-span: 12
	}
}

@media (min-width: 768px) {
	#job-list__header-description {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 1440px) {
	#job-list__header-description {
		--column-start: 5;
		--column-span: 7;
		margin-top: var(--space-s);
		margin-left: 2.65vw
	}
}

#job-list__content {
	padding-top: var(--space-2xl);
	line-height: 1;
	z-index: 1
}

@media (min-width: 768px) {
	#job-list__content {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 1440px) {
	#job-list__content {
		--column-start: 5;
		--column-span: 6;
		padding-top: var(--space-3xl);
		margin-left: 2.65vw
	}
}

#job-list__content ul li>div {
	display: flex;
	justify-content: space-between
}

#job-list__content>ul {
	display: flex;
	flex-direction: column;
	gap: var(--space-l)
}

@media (max-width: 767.98px) {
	#job-list__content>ul {
		gap: var(--space-xl)
	}
}

#job-list__content ul ul {
	margin-top: var(--space-s);
	display: flex;
	flex-direction: column;
	gap: var(--space-xs)
}

#job-list__content .o-icon {
	width: 16px !important;
	height: 16px !important;
	padding: 0 !important;
	margin-right: -2px
}

#job-list__content a {
	padding: var(--space-s) var(--space-m);
	display: flex;
	position: relative;
	align-items: center
}

@media (max-width: 767.98px) {
	#job-list__content a {
		flex-wrap: wrap;
		padding: var(--space-s) !important
	}
}

#job-list__content a:before {
	pointer-events: none;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-grey-01);
	opacity: 0;
	transform: scale(.999);
	transition: transform .5s var(--fast-start-easing)
}

#job-list__content a:after {
	border: 1px solid var(--color-grey-01);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--body-background-color);
	z-index: -1;
	transform: scale(.999);
	transition: transform .5s var(--fast-start-easing)
}

@media (hover: hover) {
	#job-list__content a:hover:before {
		opacity: .1;
		transform: scale(.99)
	}

	#job-list__content a:hover:after {
		transform: scale(.99)
	}
}

#job-list__content a div:first-child {
	font-size: var(--h3);
	line-height: 1.25;
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	padding-right: var(--space-m)
}

@media (max-width: 767.98px) {
	#job-list__content a div:first-child {
		width: 100%;
		padding-bottom: var(--space-l)
	}
}

#job-list__content a div:nth-child(2) {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	margin-left: auto;
	flex-shrink: 0;
	color: var(--color-grey-02);
	white-space: nowrap
}

@media (max-width: 767.98px) {
	#job-list__content a div:nth-child(2) {
		margin-right: auto;
		margin-left: 0
	}
}

#job-list__content a div:last-child {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	flex-shrink: 0;
	margin-left: var(--space-l);
	color: var(--color-grey-02);
	text-align: right
}

.job-list__department-header {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.job-list__department-header div:first-child {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block
}

.job-list__department-header div:last-child {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block
}

#header-blog {
	margin-top: var(--space-4xl);
	position: relative
}

@media (max-width: 767.98px) {
	#header-blog {
		margin-top: var(--space-xl)
	}
}

#header-blog__heading {
	--column-start: 1;
	--column-span: 12
}

@media (min-width: 768px) {
	#header-blog__heading {
		--column-span: 10;
		--column-start: 2
	}
}

@media (min-width: 992px) {
	#header-blog__heading {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 1440px) {
	#header-blog__heading {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 2400px) {
	#header-blog__heading {
		--column-span: 6;
		--column-start: 4
	}
}

#header-blog__heading-title {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

#header-blog__gallery {
	width: 100%;
	margin-top: var(--space-2xl)
}

@media (max-width: 767.98px) {
	#header-blog__gallery {
		margin-top: var(--space-l)
	}
}

@media (min-width: 1440px) {
	#header-blog__gallery {
		--column-start: 2;
		--column-span: 10
	}
}

#header-blog__gallery-list {
	position: relative
}

@media (min-width: 768px) {
	#header-blog__gallery-list {
		background: var(--body-background-color)
	}

	#header-blog__gallery-list:before {
		content: "";
		position: absolute;
		inset: 0;
		pointer-events: none;
		opacity: 0;
		background: var(--color-grey-01);
		transform: scale(.999);
		transition: transform .5s var(--fast-start-easing)
	}

	#header-blog__gallery-list:after {
		content: "";
		position: absolute;
		inset: 0;
		pointer-events: none;
		border: 1px solid var(--color-grey-01);
		transform: scale(.999);
		transition: transform .5s var(--fast-start-easing)
	}
}

@media (min-width: 768px) and (hover: hover) {
	#header-blog__gallery-list:hover:before {
		transform: scale(.995, .99);
		opacity: .1
	}

	#header-blog__gallery-list:hover:after {
		transform: scale(.995, .99)
	}
}

@media (max-width: 767.98px) {
	#header-blog__gallery-list {
		display: flex;
		margin-left: calc(var(--container-padding) * -1);
		margin-right: calc(var(--container-padding) * -1);
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		scroll-snap-type: x mandatory
	}

	#header-blog__gallery-list::-webkit-scrollbar {
		display: none
	}
}

.header-blog__gallery-item {
	opacity: 0;
	position: relative;
	pointer-events: none;
	background: var(--body-background-color)
}

.header-blog__gallery-item.is-active {
	opacity: 1;
	pointer-events: auto
}

.header-blog__gallery-item:not(:first-child) {
	position: absolute;
	inset: 0
}

@media (max-width: 767.98px) {
	.header-blog__gallery-item {
		position: relative !important;
		opacity: 1 !important;
		flex-shrink: 0;
		width: calc(var(--column-width-gutter) * 12 - var(--gutter) * 1 - var(--container-padding) * 1);
		scroll-snap-align: start;
		box-sizing: content-box;
		padding-left: var(--container-padding);
		pointer-events: auto !important
	}

	.is-disabled .header-blog__gallery-item {
		padding-left: 0;
		width: calc(var(--column-width-gutter) * 12 - var(--gutter) * 1)
	}
}

.header-blog__gallery-item-link {
	display: flex;
	gap: var(--space-xs);
	padding: var(--space-xs);
	height: 100%
}

@media (max-width: 767.98px) {
	.header-blog__gallery-item-link {
		flex-direction: column;
		border: 1px solid var(--color-grey-01)
	}
}

.header-blog__gallery-item-left {
	width: 50%
}

@media (max-width: 767.98px) {
	.header-blog__gallery-item-left {
		width: 100%
	}
}

.header-blog__gallery-item-left-image {
	position: relative;
	padding-bottom: 62.5%;
	background: var(--color-image-background);
	width: 100%;
	overflow: hidden
}

.header-blog__gallery-item-left-image img {
	will-change: opacity, transform;
	opacity: 0;
	transition: opacity 1s, transform 1s var(--fast-start-easing);
	transform: scale(1.1)
}

.header-blog__gallery-item-left-image img.is-loaded {
	opacity: 1;
	transform: none
}

.header-blog__gallery-item-left-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

@media (hover: hover) {
	.header-blog__gallery-item-link:hover .header-blog__gallery-item-left-image img {
		transform: scale(1.02)
	}
}

.header-blog__gallery-item-right {
	position: relative;
	width: 50%
}

@media (max-width: 767.98px) {
	.header-blog__gallery-item-right {
		width: 100%
	}
}

.header-blog__gallery-item-right-meta {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	color: var(--color-grey-02);
	line-height: 1
}

@media (max-width: 767.98px) {
	.header-blog__gallery-item-right-meta {
		position: relative
	}
}

.header-blog__gallery-item-right-meta-date,
.header-blog__gallery-item-right-meta-author {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

.header-blog__gallery-item-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	align-items: flex-start;
	padding-left: min(var(--space-4xl), 3vw)
}

@media (max-width: 767.98px) {
	.header-blog__gallery-item-content {
		padding-left: 0;
		padding-top: var(--space-l);
		padding-bottom: var(--space-s)
	}
}

.header-blog__gallery-item-content-caption {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

.header-blog__gallery-item-right-title {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	max-width: 20ch;
	text-wrap: balance;
	margin-top: var(--space-xs-s);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis
}

.header-blog__gallery-item-right-description {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	margin-top: var(--space-xs);
	max-width: 50ch;
	padding-right: 1ch;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
	height: 4.5em
}

@media (max-width: 767.98px) {
	.header-blog__gallery-item-right-description {
		margin-top: var(--space-s)
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.header-blog__gallery-item-right-description {
		-webkit-line-clamp: 2;
		height: 3em
	}
}

#header-blog__gallery-nav {
	margin-top: var(--space-l)
}

#header-blog__gallery-nav-visual {
	--column-start: 1;
	--column-span: 3;
	font-family: IBM Plex Mono, monospace;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	line-height: 1;
	font-size: 28px
}

@media (max-width: 767.98px) {
	#header-blog__gallery-nav-visual {
		display: none
	}
}

#header-blog__gallery-nav-indicators {
	--column-start: 7;
	--column-span: 2;
	display: flex;
	align-self: center;
	position: absolute;
	left: 50%;
	transform: translate(-50%);
	height: 10px
}

#header-blog__gallery-nav-indicators div {
	cursor: pointer;
	position: absolute;
	left: 0;
	height: 100%;
	top: 0;
	background: var(--color-grey-01)
}

#header-blog__gallery-nav-indicators div:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--color-dark-01);
	position: absolute;
	inset: 0;
	transform: scaleX(var(--progress));
	transform-origin: left
}

@media (max-width: 767.98px) {
	#header-blog__gallery-nav-indicators {
		opacity: 0
	}
}

.is-disabled #header-blog__gallery-nav-indicators {
	opacity: 0;
	pointer-events: none
}

#header-blog__gallery-nav-buttons {
	--column-start: 10;
	--column-span: 3;
	justify-self: flex-end;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

@media (max-width: 767.98px) {
	#header-blog__gallery-nav-buttons {
		display: none
	}
}

.is-disabled #header-blog__gallery-nav-buttons {
	opacity: 0;
	pointer-events: none
}

#header-blog__gallery-nav-buttons-prev,
#header-blog__gallery-nav-buttons-next {
	font-size: var(--btn1);
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	display: inline-block;
	line-height: 1;
	color: var(--color-dark-01);
	padding: 3px;
	cursor: pointer
}

@media (hover: hover) {

	#header-blog__gallery-nav-buttons-prev:hover,
	#header-blog__gallery-nav-buttons-next:hover {
		background: var(--color-grey-01)
	}
}

#header-blog__gallery-nav-buttons-prev:before,
#header-blog__gallery-nav-buttons-next:before {
	content: "[";
	padding-right: .25em;
	transition: transform .5s var(--fast-start-easing);
	display: inline-block
}

#header-blog__gallery-nav-buttons-prev:after,
#header-blog__gallery-nav-buttons-next:after {
	content: "]";
	padding-left: .25em;
	display: inline-block;
	transition: transform .5s var(--fast-start-easing)
}

@media (hover: hover) {

	#header-blog__gallery-nav-buttons-prev:hover:before,
	#header-blog__gallery-nav-buttons-next:hover:before {
		transform: translate(.1em)
	}
}

@media (hover: hover) {

	#header-blog__gallery-nav-buttons-prev:hover:after,
	#header-blog__gallery-nav-buttons-next:hover:after {
		transform: translate(-.1em)
	}
}

#header-blog__gallery-nav-buttons-prev.is-disabled,
#header-blog__gallery-nav-buttons-next.is-disabled {
	pointer-events: none;
	color: var(--color-grey-02)
}

#blog-post-list {
	margin-top: var(--space-2xl);
	padding-bottom: var(--space-4xl);
	position: relative
}

#blog-post-list:before {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	position: absolute;
	top: calc(10 * var(--space-xl));
	left: 0;
	z-index: -1;
	color: var(--color-grey-01);
	font-family: IBM Plex Mono, monospace;
	max-width: 16ch;
	line-height: 1;
	word-break: break-word;
	overflow-wrap: break-word;
	font-size: 23px
}

@media (max-width: 1439.98px) {
	#blog-post-list:before {
		content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
		max-width: 8ch
	}
}

@media (max-width: 991.98px) {
	#blog-post-list:before {
		content: ""
	}
}

@media (min-width: 1440px) {
	#blog-post-list__wrapper {
		--column-start: 2;
		--column-span: 10
	}
}

#blog-post-list__filter-desktop {
	display: flex;
	gap: var(--space-l);
	text-transform: uppercase;
	position: relative
}

@media (max-width: 767.98px) {
	#blog-post-list__filter-desktop {
		display: none
	}
}

@media (min-width: 768px) {
	#blog-post-list__filter-desktop {
		--column-span: 10;
		--column-start: 2
	}
}

@media (min-width: 992px) {
	#blog-post-list__filter-desktop {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 1440px) {
	#blog-post-list__filter-desktop {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 2400px) {
	#blog-post-list__filter-desktop {
		--column-span: 6;
		--column-start: 4
	}
}

#blog-post-list__filter-mobile {
	display: none;
	justify-content: space-between;
	align-items: center;
	border: 1px solid var(--color-grey-01);
	padding: var(--space-xs) var(--space-s);
	line-height: 1;
	position: relative;
	background: var(--body-background-color);
	white-space: nowrap
}

#blog-post-list__filter-mobile span:nth-child(1) {
	padding-right: var(--space-xs)
}

#blog-post-list__filter-mobile span:nth-child(2) {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

#blog-post-list__filter-mobile span:nth-child(3) {
	padding-left: var(--space-xs)
}

@media (max-width: 767.98px) {
	#blog-post-list__filter-mobile {
		width: -moz-min-content;
		width: min-content;
		display: flex;
		margin-left: auto;
		margin-right: auto
	}
}

#blog-post-list__filter-select {
	position: absolute;
	inset: 0;
	opacity: 0
}

@media (min-width: 768px) {
	#blog-post-list__filter-select {
		display: none
	}
}

#blog-post-list__filter-label {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--color-grey-02)
}

#blog-post-list__filter-list {
	--theme: var(--body-background-color);
	display: flex;
	-moz-column-gap: var(--space-l);
	column-gap: var(--space-l);
	row-gap: var(--space-xs);
	flex-wrap: wrap
}

#blog-post-list__filter-list li {
	position: relative;
	display: flex;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

#blog-post-list__filter-list li:before {
	pointer-events: none;
	padding-right: .15em;
	transition: transform .5s var(--fast-start-easing);
	display: inline-block;
	position: absolute;
	left: 0;
	transform: translate(-.4em)
}

#blog-post-list__filter-list li:after {
	pointer-events: none;
	padding-left: .15em;
	display: inline-block;
	transition: transform .5s var(--fast-start-easing);
	transform: translate(.4em);
	position: absolute;
	right: 0
}

#blog-post-list__filter-list li.is-active:before,
#blog-post-list__filter-list li:hover:before {
	content: "[";
	transform: translate(-.3em)
}

#blog-post-list__filter-list li.is-active:after,
#blog-post-list__filter-list li:hover:after {
	content: "]";
	transform: translate(.3em)
}

#blog-post-list__filter-list a {
	position: relative
}

#blog-post-list__filter-list a:before {
	content: "";
	position: absolute;
	left: -10px;
	width: calc(100% + 20px);
	top: 0;
	bottom: 0;
	background: var(--color-accent-01);
	opacity: 0;
	transition: transform .5s var(--fast-start-easing);
	z-index: -1
}

#blog-post-list__filter-list li.is-active a:before {
	opacity: 1;
	transform: scaleX(1)
}

.blog-post-list__filter-list-item {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

#blog-post-list__list-wrapper {
	margin-top: var(--space-l)
}

@media (min-width: 768px) {
	#blog-post-list__list-wrapper {
		--column-span: 10;
		--column-start: 2
	}
}

@media (min-width: 992px) {
	#blog-post-list__list-wrapper {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 1440px) {
	#blog-post-list__list-wrapper {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 2400px) {
	#blog-post-list__list-wrapper {
		--column-span: 6;
		--column-start: 4
	}
}

#blog-post-list__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-s)
}

.blog-post-list__list-item {
	width: 100%
}

#blog-post-list__load-more {
	--color: var(--color-dark-01);
	--background: var(--color-grey-01);
	margin-top: var(--space-xl);
	text-align: right
}

@media (max-width: 767.98px) {
	#blog-post-list__load-more {
		text-align: center
	}
}

#blog-post {
	margin: var(--space-l) 0;
	position: relative
}

@media (min-width: 768px) {
	#blog-post {
		margin: var(--space-3xl) 0 var(--space-5xl)
	}
}

#blog-post__text-wrapper {
	padding-bottom: var(--space-m);
	background-color: var(--body-background-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	max-width: min(100%, 800px);
	margin: 0 auto
}

@media (min-width: 768px) {
	#blog-post__text-wrapper {
		--column-span: 10;
		--column-start: 2;
		padding: var(--space-m) 0
	}
}

@media (min-width: 992px) {
	#blog-post__text-wrapper {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 1440px) {
	#blog-post__text-wrapper {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 2400px) {
	#blog-post__text-wrapper {
		--column-span: 6;
		--column-start: 4
	}
}

#blog-post__caption {
	position: relative
}

#blog-post__caption:before {
	content: "•";
	position: absolute;
	left: calc(-.5 * var(--space-m));
	top: 0;
	display: inline-block
}

#blog-post__title {
	font-size: var(--prose-h2);
	line-height: 1.2;
	font-weight: 500
}

@media (min-width: 768px) {
	#blog-post__title {
		font-size: var(--prose-h1);
		font-weight: 400
	}
}

#blog-post__title {
	font-family: var(--font-family-body);
	margin-top: var(--space-m);
	max-width: 30ch
}

#blog-post__intro {
	font-weight: 500;
	font-family: var(--font-family-simple);
	text-wrap: balance;
	font-size: var(--fluid-12-16);
	margin-top: var(--space-s)
}

#tpl-generic #blog-post__intro {
	display: none
}

#blog-post__meta-date {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-grey-02);
	text-transform: capitalize;
	white-space: nowrap
}

#blog-post__meta-author {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: flex;
	gap: var(--space-m);
	justify-content: center;
	color: var(--color-grey-02);
	margin-top: var(--space-m);
	text-transform: capitalize
}

#blog-post__main-grid {
	height: 100%;
	grid-auto-flow: dense;
	position: relative;
	margin-top: var(--space-l)
}

@media (max-width: 1439.98px) {
	#blog-post__main-grid {
		margin-top: 0
	}
}

#blog-post__middle-wrapper {
	--column-span: 12;
	--column-start: 0;
	margin-bottom: var(--space-m);
	width: min(100%, 800px);
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: flex-start;
	position: relative
}

@media (min-width: 768px) {
	#blog-post__middle-wrapper {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 992px) {
	#blog-post__middle-wrapper {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 1440px) {
	#blog-post__middle-wrapper {
		--column-span: 2;
		--column-start: 0;
		margin-bottom: 0
	}
}

@media (min-width: 2400px) {
	#blog-post__middle-wrapper {
		--column-span: 2;
		--column-start: 2
	}
}

#blog-post__summary {
	position: sticky;
	top: calc(var(--site-header-height) + var(--gutter) * 2);
	width: 100%;
	max-width: calc(var(--space-8xl) * 2)
}

@media (max-width: 1439.98px) {
	#blog-post__summary {
		position: relative;
		top: 0;
		max-width: none
	}
}

#blog-post__summary-inner {
	background-color: var(--body-background-color)
}

#blog-post__summary-list {
	display: block;
	padding: var(--space-xs)
}

@media (max-width: 1439.98px) {
	#blog-post__summary-list {
		padding: var(--space-xs) 0
	}
}

#blog-post__summary-list>span:first-child {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-grey-02);
	display: none;
	margin-bottom: var(--space-xs)
}

@media (max-width: 1439.98px) {
	#blog-post__summary-list>span:first-child {
		display: block
	}
}

#blog-post__summary-list ul {
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs)
}

#blog-post__summary-list li {
	display: flex;
	flex-direction: row;
	font-size: 13px;
	opacity: .7;
	position: relative;
	cursor: pointer
}

#blog-post__summary-list li:hover span:first-child:before {
	opacity: .1
}

@media (min-width: 1440px) {
	#blog-post__summary-list li.is-active span {
		font-weight: 600
	}
}

#blog-post__summary-list li span:first-child {
	flex-shrink: 0
}

#blog-post__summary-list li span:last-child {
	position: relative;
	display: block
}

#blog-post__summary-tags-desktop,
#blog-post__summary-tags-mobile {
	line-height: 1
}

#blog-post__summary-tags-desktop>span:first-child,
#blog-post__summary-tags-mobile>span:first-child {
	display: block;
	color: var(--color-grey-02);
	margin-bottom: var(--space-m)
}

#blog-post__summary-tags-desktop ul,
#blog-post__summary-tags-mobile ul {
	display: flex;
	gap: var(--space-s)
}

#blog-post__summary-tags-desktop a,
#blog-post__summary-tags-mobile a {
	position: relative
}

#blog-post__summary-tags-desktop a:hover:before,
#blog-post__summary-tags-mobile a:hover:before {
	opacity: 1;
	transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
	transform: translate(-.35em, -50%)
}

#blog-post__summary-tags-desktop a:hover:after,
#blog-post__summary-tags-mobile a:hover:after {
	opacity: 1;
	transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
	transform: translate(.35em, -50%)
}

#blog-post__summary-tags-desktop a:before,
#blog-post__summary-tags-desktop a:after,
#blog-post__summary-tags-mobile a:before,
#blog-post__summary-tags-mobile a:after {
	position: absolute;
	top: 50%;
	transition: transform 1s var(--fast-start-easing), opacity 1s var(--fast-start-easing)
}

#blog-post__summary-tags-desktop a:before,
#blog-post__summary-tags-mobile a:before {
	content: "[";
	left: 0;
	transform: translate(-.5em, -50%)
}

#blog-post__summary-tags-desktop a:after,
#blog-post__summary-tags-mobile a:after {
	content: "]";
	right: 0;
	transform: translate(.5em, -50%)
}

#blog-post__summary-tags-desktop {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	position: relative;
	display: block;
	padding: var(--space-xs)
}

#blog-post__summary-tags-desktop ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 .5em
}

@media (max-width: 1439.98px) {
	#blog-post__summary-tags-desktop {
		display: none
	}
}

#blog-post__summary-tags-mobile {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: none;
	border-top: 1px solid var(--color-grey-01);
	margin-top: var(--space-2xl);
	padding-top: var(--space-s)
}

#blog-post__summary-tags-mobile ul {
	margin: 0 .5em
}

@media (min-width: 768px) and (max-width: 991.98px) {
	#blog-post__summary-tags-mobile {
		margin-left: var(--column-width-gutter);
		margin-right: var(--column-width-gutter)
	}
}

@media (max-width: 991.98px) {
	#blog-post__summary-tags-mobile {
		display: block
	}
}

#blog-post__summary-social-desktop {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: block;
	padding: var(--space-xs);
	line-height: 1
}

@media (max-width: 1439.98px) {
	#blog-post__summary-social-desktop {
		display: none
	}
}

#blog-post__summary-social-desktop a {
	position: relative
}

#blog-post__summary-social-desktop a:hover:before {
	opacity: 1;
	transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
	transform: translate(-.35em, -50%)
}

#blog-post__summary-social-desktop a:hover:after {
	opacity: 1;
	transition: transform 1s var(--fast-start-easing), opacity 0s var(--fast-start-easing);
	transform: translate(.35em, -50%)
}

#blog-post__summary-social-desktop a:before,
#blog-post__summary-social-desktop a:after {
	position: absolute;
	top: 50%;
	transition: transform 1s var(--fast-start-easing), opacity 1s var(--fast-start-easing);
	opacity: 0
}

#blog-post__summary-social-desktop a:before {
	content: "[";
	left: 0;
	transform: translate(-.5em, -50%)
}

#blog-post__summary-social-desktop a:after {
	content: "]";
	right: 0;
	transform: translate(.5em, -50%)
}

#blog-post__summary-social-mobile {
	border-top: 1px solid var(--color-grey-01);
	margin-top: var(--space-s);
	padding-top: var(--space-s);
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: none
}

@media (min-width: 768px) and (max-width: 991.98px) {
	#blog-post__summary-social-mobile {
		margin-left: var(--column-width-gutter);
		margin-right: var(--column-width-gutter)
	}
}

#blog-post__summary-social-desktop>span:first-child,
#blog-post__summary-social-mobile>span:first-child {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: block;
	color: var(--color-grey-02);
	margin-bottom: var(--space-m)
}

#blog-post__summary-social-desktop ul,
#blog-post__summary-social-mobile ul {
	display: flex;
	gap: var(--space-xs)
}

#blog-post__body {
	--column-span: 12;
	--column-start: 1;
	max-width: min(100%, 800px);
	margin: 0 auto;
	background-color: var(--body-background-color)
}

@media (min-width: 768px) {
	#blog-post__body {
		--column-span: 10;
		--column-start: 2
	}
}

@media (min-width: 992px) {
	#blog-post__body {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 1440px) {
	#blog-post__body {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 2400px) {
	#blog-post__body {
		--column-span: 6;
		--column-start: 4
	}
}

#blog-post__related-posts {
	margin-top: var(--space-7xl);
	position: relative
}

#blog-post__related-posts:before {
	right: calc(var(--container-padding) * -1);
	top: 0;
	content: "++++++++++++++++++++++++++++++";
	position: absolute;
	font-family: IBM Plex Mono, monospace;
	font-size: 23px;
	max-width: 6ch;
	line-height: 1;
	word-break: break-word;
	overflow-wrap: break-word;
	color: var(--color-grey-01);
	z-index: -1
}

@media (min-width: 768px) {
	#blog-post__related-posts:before {
		display: none
	}
}

#blog-post__related-posts-header {
	--column-span: 12;
	--column-start: 1;
	display: flex;
	justify-content: space-between
}

@media (min-width: 768px) {
	#blog-post__related-posts-header {
		--column-span: 10;
		--column-start: 2
	}
}

@media (min-width: 992px) {
	#blog-post__related-posts-header {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 1440px) {
	#blog-post__related-posts-header {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 2400px) {
	#blog-post__related-posts-header {
		--column-span: 6;
		--column-start: 4
	}
}

#blog-post__related-posts-header-title {
	font-size: var(--prose-h3);
	font-weight: 500
}

#blog-post__related-posts-nav {
	gap: var(--space-xs);
	align-self: flex-end;
	display: none
}

#blog-post__related-posts-nav-prev,
#blog-post__related-posts-nav-next {
	font-size: var(--btn1);
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	display: inline-block;
	line-height: 1;
	color: var(--color-dark-01);
	padding: 3px;
	cursor: pointer
}

#blog-post__related-posts-nav-prev:hover,
#blog-post__related-posts-nav-next:hover {
	background: var(--color-grey-01)
}

#blog-post__related-posts-nav-prev:before,
#blog-post__related-posts-nav-next:before {
	content: "[";
	padding-right: .25em;
	transition: transform .5s var(--fast-start-easing);
	display: inline-block
}

#blog-post__related-posts-nav-prev:after,
#blog-post__related-posts-nav-next:after {
	content: "]";
	padding-left: .25em;
	display: inline-block;
	transition: transform .5s var(--fast-start-easing)
}

#blog-post__related-posts-nav-prev:hover:before,
#blog-post__related-posts-nav-next:hover:before {
	transform: translate(.1em)
}

#blog-post__related-posts-nav-prev:hover:after,
#blog-post__related-posts-nav-next:hover:after {
	transform: translate(-.1em)
}

#blog-post__related-posts-nav-prev.is-disabled,
#blog-post__related-posts-nav-next.is-disabled {
	pointer-events: none;
	color: var(--color-grey-02)
}

#blog-post__related-posts-title {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

#blog-post__related-posts-list-wrapper {
	--column-start: 1;
	--column-span: 12;
	overflow: hidden
}

@media (min-width: 768px) {
	#blog-post__related-posts-list-wrapper {
		--column-span: 10;
		--column-start: 2
	}
}

@media (min-width: 992px) {
	#blog-post__related-posts-list-wrapper {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 1440px) {
	#blog-post__related-posts-list-wrapper {
		--column-span: 8;
		--column-start: 3
	}
}

@media (min-width: 2400px) {
	#blog-post__related-posts-list-wrapper {
		--column-span: 6;
		--column-start: 4
	}
}

@media (max-width: 767.98px) {
	#blog-post__related-posts-list-wrapper {
		margin-left: calc(var(--container-padding) * -1);
		padding-left: calc(var(--container-padding) * 1);
		margin-right: calc(var(--container-padding) * -1);
		padding-right: calc(var(--container-padding) * 1)
	}

	#blog-post__related-posts-list-wrapper:has(.blog-post__related-posts-list-item:not(:only-child)) {
		overflow-x: scroll;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		gap: 0
	}

	#blog-post__related-posts-list-wrapper:has(.blog-post__related-posts-list-item:not(:only-child))::-webkit-scrollbar {
		display: none
	}
}

#blog-post__related-posts-list {
	display: flex;
	flex-flow: column nowrap;
	margin-top: var(--space-l)
}

@media (min-width: 768px) {
	#blog-post__related-posts-list {
		gap: var(--gutter)
	}
}

.blog-post__related-posts-list-item {
	flex-shrink: 0;
	width: 100%
}

#blog-post__mobile-summary {
	position: sticky;
	bottom: 0;
	width: 100%;
	height: 64px;
	z-index: 10;
	background: var(--body-background-color);
	box-shadow: 0 0 20px #00000026;
	overflow: hidden
}

@media (min-width: 992px) {
	#blog-post__mobile-summary {
		display: none
	}
}

#blog-post__mobile-summary.open {
	height: auto
}

#blog-post__mobile-summary-header {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--container-padding);
	line-height: 1;
	cursor: pointer
}

#blog-post__mobile-summary-header .o-icon {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	pointer-events: all
}

#blog-post__mobile-summary-header .o-icon svg {
	position: relative;
	color: var(--body-background-color)
}

#blog-post__mobile-summary-header .o-icon:before {
	content: "";
	position: absolute;
	inset: -4px -1px 3px;
	background: #364363
}

#blog-post__mobile-summary-list {
	padding: var(--container-padding)
}

#blog-post__mobile-summary-list span:first-child {
	font-size: var(--fluid-12-16);
	font-weight: 500;
	font-family: var(--font-family-simple);
	color: var(--color-grey-02)
}

#blog-post__mobile-summary-list ul {
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs);
	padding: var(--container-padding)
}

#blog-post__mobile-summary-list ul li {
	cursor: pointer;
	pointer-events: all
}

#blog-post__breadcrumb {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	margin-bottom: var(--space-s);
	--column-start: 1;
	--column-span: 2
}

#blog-post__breadcrumb span {
	margin: 0 var(--space-xs)
}

#blog-post__breadcrumb a {
	opacity: .6;
	transition: opacity .3s ease-in-out
}

#blog-post__breadcrumb a:hover {
	opacity: 1
}

@media (max-width: 1439.98px) {
	#blog-post__breadcrumb {
		display: none
	}
}

.blog-devin-prompt {
	display: flex;
	flex-flow: column
}

.blog-devin-prompt>div:first-child {
	display: flex
}

.blog-devin-prompt>div:first-child span {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block;
	padding: .25em 1em;
	background: var(--theme, var(--color-accent-02))
}

.blog-devin-prompt>div:first-child span:before {
	content: "["
}

.blog-devin-prompt>div:first-child span:after {
	content: "]"
}

.blog-devin-prompt .code-toolbar {
	white-space: break-spaces !important
}

.blog-devin-prompt .language-none {
	white-space: break-spaces !important;
	margin: 0 !important
}

#contact {
	margin: var(--space-4xl) 0;
	position: relative
}

@media (max-width: 767.98px) {
	#contact {
		margin: var(--space-xl) 0 var(--space-3xl)
	}
}

#contact:before {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	position: absolute;
	right: 0;
	top: 0;
	font-family: IBM Plex Mono, monospace;
	word-break: break-word;
	overflow-wrap: break-word;
	z-index: -1;
	color: var(--color-grey-01);
	max-width: 35ch;
	line-height: 1
}

@media (max-width: 767.98px) {
	#contact:before {
		font-size: 23px;
		content: "+++";
		right: var(--container-padding);
		top: calc(var(--space-2xl))
	}
}

@media (min-width: 768px) {
	#contact:before {
		font-size: 28px
	}
}

#contact:after {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	position: absolute;
	left: 0;
	bottom: calc(var(--space-8xl) * .5);
	font-family: IBM Plex Mono, monospace;
	word-break: break-word;
	overflow-wrap: break-word;
	font-size: 28px;
	z-index: -1;
	color: var(--color-grey-01);
	max-width: 22ch;
	line-height: 1
}

@media (max-width: 767.98px) {
	#contact:after {
		display: none
	}
}

#contact__header-title {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	margin-top: var(--space-xs)
}

#contact__top {
	--column-span: 4;
	--column-start: 2;
	position: relative
}

@media (max-width: 767.98px) {
	#contact__top {
		--column-start: 1;
		--column-span: 12
	}
}

@media (min-width: 1440px) {
	#contact__top:before {
		content: "+++";
		position: absolute;
		top: 0;
		right: 0;
		bottom: calc(var(--space-8xl) * .5);
		font-family: IBM Plex Mono, monospace;
		word-break: break-word;
		overflow-wrap: break-word;
		font-size: 28px;
		z-index: -1;
		color: var(--color-grey-01);
		min-width: 5ch;
		line-height: 1
	}
}

#contact__header-caption {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

#contact__bottom {
	margin-top: var(--space-xl)
}

@media (max-width: 767.98px) {
	#contact__bottom {
		margin-top: var(--space-s)
	}
}

#contact__description {
	--column-span: 4;
	--column-start: 2;
	background: var(--body-background-color);
	align-self: flex-start;
	max-width: 40ch;
	text-wrap: balance;
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body)
}

#contact__description a {
	text-decoration: underline;
	text-underline-offset: .15rem
}

@media (max-width: 1439.98px) {
	#contact__description {
		--column-start: 2;
		--column-span: 10
	}
}

@media (max-width: 767.98px) {
	#contact__description {
		--column-start: 1;
		--column-span: 12
	}
}

#contact__forms {
	--column-span: 6;
	--column-start: 6;
	position: relative
}

@media (max-width: 1439.98px) {
	#contact__forms {
		--column-start: 2;
		--column-span: 10;
		margin-top: var(--space-2xl)
	}
}

@media (max-width: 767.98px) {
	#contact__forms {
		--column-start: 1;
		--column-span: 12
	}
}

@media (min-width: 1440px) {
	#contact__forms {
		margin-top: calc(-1 * var(--space-xl) - 2 * var(--h2) * 1.04)
	}

	#contact__forms:before {
		content: "+++";
		position: absolute;
		bottom: 0;
		right: calc(var(--column-width-gutter) * -1);
		font-family: IBM Plex Mono, monospace;
		word-break: break-word;
		overflow-wrap: break-word;
		font-size: 28px;
		z-index: -1;
		line-height: 1
	}
}

#contact__forms-nav {
	display: flex;
	gap: var(--space-s)
}

#contact__forms-description {
	margin-top: var(--space-s);
	max-width: 55ch;
	position: relative;
	background: var(--body-background-color);
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body)
}

#contact__forms-description a {
	text-decoration: underline;
	text-underline-offset: .15rem
}

#contact__forms-description:after {
	content: "++++++++++++++++++++";
	position: absolute;
	top: calc(100% + var(--space-l) * .3);
	left: calc(100vw - var(--container-padding) * 1 - 5ch);
	bottom: calc(var(--space-8xl) * .5);
	font-family: IBM Plex Mono, monospace;
	word-break: break-word;
	overflow-wrap: break-word;
	font-size: 23px;
	z-index: -1;
	color: var(--color-grey-01);
	min-width: 5ch;
	line-height: 1
}

@media (min-width: 768px) {
	#contact__forms-description:after {
		display: none
	}
}

#contact__forms-nav-company,
#contact__forms-nav-individual {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block;
	line-height: 1;
	color: var(--color-dark-01);
	padding: 3px;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

#contact__forms-nav-company:before,
#contact__forms-nav-individual:before {
	content: "[";
	padding-right: .25em;
	transition: transform .5s var(--fast-start-easing);
	display: inline-block
}

#contact__forms-nav-company:after,
#contact__forms-nav-individual:after {
	content: "]";
	padding-left: .25em;
	display: inline-block;
	transition: transform .5s var(--fast-start-easing)
}

#contact__forms-nav-company.is-active:before,
#contact__forms-nav-company:hover:before,
#contact__forms-nav-individual.is-active:before,
#contact__forms-nav-individual:hover:before {
	transform: translate(.1em)
}

#contact__forms-nav-company.is-active:after,
#contact__forms-nav-company:hover:after,
#contact__forms-nav-individual.is-active:after,
#contact__forms-nav-individual:hover:after {
	transform: translate(-.1em)
}

#contact__forms-nav-company.is-active,
#contact__forms-nav-individual.is-active {
	background: var(--color-accent-01);
	pointer-events: none
}

.contact__form {
	--color: var(--color-dark-01);
	--background: var(--color-grey-01);
	margin-top: var(--space-xl)
}

.contact__form button {
	margin-top: var(--space-xl)
}

@media (max-width: 767.98px) {
	.contact__form {
		margin-top: calc(var(--space-l) * 1.2)
	}
}

.contact__form-field {
	display: flex;
	text-transform: uppercase;
	align-items: center;
	position: relative
}

.contact__form-field+.contact__form-field {
	margin-top: var(--space-s)
}

.contact__form-field label {
	font-size: var(--input-text);
	line-height: 1.5;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	box-sizing: content-box;
	min-width: 16ch;
	padding: var(--space-s);
	white-space: nowrap;
	color: var(--color-grey-02);
	pointer-events: none;
	position: absolute
}

.contact__form-field input {
	font-size: var(--input-text);
	line-height: 1.5;
	font-family: var(--font-family-heading);
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	width: 100%;
	background: var(--body-background-color);
	padding: var(--space-s);
	padding-left: calc(16ch + var(--space-s) * 2);
	border: 1px solid var(--color-grey-01)
}

.contact__form-field input::-moz-placeholder {
	text-transform: uppercase;
	color: var(--color-grey-02)
}

.contact__form-field input::placeholder {
	text-transform: uppercase;
	color: var(--color-grey-02)
}

.contact__form-field.optional input {
	padding-right: calc(10ch + var(--space-s))
}

@media (max-width: 767.98px) {
	.contact__form-field.optional input {
		padding-right: var(--space-s)
	}
}

.contact__form-field.optional:after {
	font-size: var(--input-text);
	line-height: 1.5;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	content: "[ optional ]";
	position: absolute;
	right: var(--space-s);
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-grey-01);
	z-index: 100
}

@media (max-width: 767.98px) {
	.contact__form-field.optional:after {
		display: none
	}
}

.hs-form-html {
	height: auto !important;
	display: contents !important
}

.hs-form-html .hsfc-Step__Content {
	padding: 0 !important;
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	text-transform: capitalize
}

.hs-form-html [data-hsfc-id=Renderer] .hsfc-ErrorAlert {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

.hs-form-html .hsfc-NavigationRow__Buttons {
	justify-content: flex-start !important
}

.hs-form-html .hsfc-NavigationRow__Buttons .hsfc-Button {
	font-size: var(--btn1);
	font-family: var(--font-family-heading);
	font-weight: 500;
	display: inline-block;
	padding: var(--space-s) var(--space-m);
	color: var(--color, currentColor);
	position: relative;
	overflow: hidden;
	text-transform: uppercase;
	line-height: 1;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	background: var(--background, var(--color-dark-01));
	border-radius: 0;
	border: none;
	clip-path: polygon(var(--radius, 10px) 0, 100% 0, 100% 0, 100% calc(100% - var(--radius, 10px)), calc(100% - var(--radius, 10px)) 100%, 0 100%, 0 100%, 0 var(--radius, 10px));
	transition: clip-path 1s var(--faster-start-easing)
}

@media (max-width: 767.98px) {
	.hs-form-html .hsfc-NavigationRow__Buttons .hsfc-Button {
		padding: calc(var(--space-s) * .8) calc(var(--space-m) * .8)
	}

	.hs-form-html .hsfc-NavigationRow__Buttons .hsfc-Button:has(.o-icon) {
		padding-right: calc(var(--space-s) * 1)
	}
}

.hs-form-html .hsfc-NavigationRow__Buttons .hsfc-Button:hover {
	color: var(--color, currentColor) !important;
	background: var(--background, var(--color-dark-01)) !important;
	transform: none !important;
	clip-path: polygon(0 0, calc(100% - var(--radius, 10px)) 0, 100% var(--radius, 10px), 100% 100%, 100% 100%, var(--radius, 10px) 100%, 0 calc(100% - var(--radius, 10px)), 0 0)
}

.hs-form-html .hsfc-PostSubmit {
	font-family: var(--font-family-heading)
}

.hs-form-html .hsfc-PostSubmit .hsfc-Step__Content {
	padding: 0 !important
}

.hs-form-html .hsfc-PostSubmit .hsfc-RichText {
	font-family: var(--font-family-heading) !important;
	color: var(--color-dark-01) !important
}

.hs-form-html .hsfc-PostSubmit .hsfc-RichText p {
	font-family: inherit !important;
	text-transform: uppercase;
	line-height: 1.25 !important
}

.hs-form-html .hsfc-PostSubmit .hsfc-RichText p:first-child {
	font-size: var(--h3);
	line-height: 1.25;
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	margin-bottom: var(--space-xs)
}

.hs-form-html .hsfc-PostSubmit .hsfc-RichText p:first-child strong {
	font-weight: 400
}

.hs-form-html .hsfc-PostSubmit .hsfc-RichText p:nth-child(2) {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase
}

.hs-form-html .hsfc-EmailField,
.hs-form-html .hsfc-TextField {
	display: flex;
	text-transform: uppercase;
	align-items: center;
	position: relative;
	border: 1px solid var(--color-grey-01);
	background: var(--body-background-color)
}

.hs-form-html .hsfc-EmailField+.hs-form-html .hsfc-EmailField,
.hs-form-html .hsfc-EmailField+.hs-form-html .hsfc-TextField,
.hs-form-html .hsfc-TextField+.hs-form-html .hsfc-EmailField,
.hs-form-html .hsfc-TextField+.hs-form-html .hsfc-TextField {
	margin-top: var(--space-s)
}

.hs-form-html .hsfc-EmailField .hsfc-ErrorAlert,
.hs-form-html .hsfc-TextField .hsfc-ErrorAlert {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	position: absolute;
	bottom: 0;
	left: var(--space-s)
}

.hs-form-html .hsfc-EmailField label,
.hs-form-html .hsfc-TextField label {
	font-size: var(--input-text);
	line-height: 1.5;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	padding: var(--space-s);
	white-space: nowrap;
	color: var(--color-grey-02);
	pointer-events: none;
	flex-shrink: 0;
	margin-bottom: 0 !important
}

.hs-form-html .hsfc-EmailField input,
.hs-form-html .hsfc-TextField input {
	margin: 0 !important;
	font-size: var(--input-text);
	line-height: 1.5;
	font-family: var(--font-family-heading);
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	flex: 1;
	min-width: 0;
	background: transparent;
	padding: var(--space-s);
	padding-left: 0;
	border: none;
	outline: none;
	box-shadow: none !important
}

.hs-form-html .hsfc-EmailField input::-moz-placeholder,
.hs-form-html .hsfc-TextField input::-moz-placeholder {
	text-transform: uppercase;
	color: var(--color-grey-02)
}

.hs-form-html .hsfc-EmailField input::placeholder,
.hs-form-html .hsfc-TextField input::placeholder {
	text-transform: uppercase;
	color: var(--color-grey-02)
}

.hs-form-html .hsfc-EmailField.optional:after,
.hs-form-html .hsfc-TextField.optional:after {
	font-size: var(--input-text);
	line-height: 1.5;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	content: "[ optional ]";
	padding: var(--space-s);
	white-space: nowrap;
	color: var(--color-grey-01);
	flex-shrink: 0
}

@media (max-width: 767.98px) {

	.hs-form-html .hsfc-EmailField.optional:after,
	.hs-form-html .hsfc-TextField.optional:after {
		display: none
	}
}

.is-loading #ui {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: none
}

#ui:before {
	position: fixed;
	inset: 0;
	pointer-events: none;
	content: "";
	background: #0003;
	z-index: 9999;
	opacity: 0;
	transition: opacity 0s 0s
}

.is-loading #ui:before {
	transition: opacity 1s .2s;
	pointer-events: auto;
	opacity: 1
}

.notification-bar {
	position: fixed;
	top: calc(var(--space-s) + var(--site-header-height));
	left: 50%;
	transform: translate(-50%);
	z-index: 9994;
	display: none
}

@media (max-width: 767.98px) {
	.notification-bar {
		top: calc(var(--space-xs) + var(--site-header-height));
		min-width: 320px
	}
}

.notification-content {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 10px 12px 20px;
	background: var(--color-accent-02);
	color: var(--color-dark-01);
	border: 1px solid var(--color-dark-01);
	font-size: 14px
}

@media (max-width: 767.98px) {
	.notification-content {
		padding: 10px 16px;
		font-size: 13px;
		gap: 4px
	}
}

.notification-text {
	flex: 1;
	line-height: 1.4
}

.notification-link {
	color: var(--color-dark-01);
	text-decoration: underline;
	transition: color .2s ease;
	font-weight: 500
}

.notification-link:hover {
	text-decoration: underline
}

.notification-close {
	background: none;
	border: none;
	color: var(--color-dark-01);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s ease;
	flex-shrink: 0;
	position: relative
}

.notification-close:before,
.notification-close:after {
	pointer-events: none;
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 2px;
	height: 50%;
	background-color: var(--color-dark-01)
}

.notification-close:before {
	transform: translate(-50%, -50%) rotate(45deg)
}

.notification-close:after {
	transform: translate(-50%, -50%) rotate(-45deg)
}

@media (max-width: 767.98px) {
	.notification-close {
		font-size: 18px;
		width: 20px;
		height: 20px
	}
}

.logo-grid-wrapper {
	margin-top: var(--space-2xl);
	margin-bottom: var(--space-l)
}

.logo-grid {
	--gap: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap) 0;
	margin: 0 auto;
	justify-content: space-between
}

@media (max-width: 767.98px) {
	.logo-grid {
		--gap: 6px
	}
}

@media (max-width: 449.98px) {
	.logo-grid {
		--gap: 0px
	}
}

.logo-grid-item {
	border: 1px solid var(--color-dark-03);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: var(--space-m-l) 0
}

@media (max-width: 767.98px) {
	.logo-grid-item {
		padding: var(--space-xs-s) 0;
		border-radius: 6px
	}
}

@media (max-width: 449.98px) {
	.logo-grid-item {
		border: none
	}
}

.logo-grid-item .o-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	stroke: none;
	height: var(--fluid-20-30)
}

@media (max-width: 767.98px) {
	.logo-grid-item .o-icon {
		height: var(--fluid-16-22)
	}
}

@media (max-width: 449.98px) {
	.logo-grid-item .o-icon {
		height: calc(var(--fluid-12-16) * .85)
	}
}

.logo-grid-item .o-icon svg {
	width: auto;
	height: 80%;
	max-width: none
}

@media (max-width: 449.98px) {
	.logo-grid-item .o-icon svg {
		height: 100%
	}
}

#careers-hero {
	min-height: calc(100vh - var(--site-header-height) - 380px);
	color: var(--color-light-02);
	position: relative
}

@media (max-width: 991.98px) {
	#careers-hero {
		min-height: calc(100vh - var(--site-header-height) - 320px)
	}
}

@media (max-width: 767.98px) {
	#careers-hero {
		min-height: 35vh
	}
}

#careers-hero__top {
	min-height: calc(100vh - var(--site-header-height) - 380px)
}

@media (max-width: 991.98px) {
	#careers-hero__top {
		min-height: calc(100vh - var(--site-header-height) - 320px)
	}
}

@media (max-width: 767.98px) {
	#careers-hero__top {
		min-height: 35vh
	}
}

#careers-hero__top {
	display: flex;
	flex-direction: column;
	position: relative;
	color: var(--color-light-02)
}

#careers-hero__canvas {
	--radius: 20px;
	--margin: 10px;
	position: absolute;
	inset: 0;
	max-width: none;
	z-index: -1;
	clip-path: polygon(var(--radius) 0, calc(100% - var(--margin)) 0, calc(100% - var(--margin)) calc(100% - var(--radius)), calc(100% - var(--radius)) 100%, var(--margin) 100%, var(--margin) var(--radius))
}

@media (max-width: 767.98px) {
	#careers-hero__canvas {
		opacity: 0
	}
}

#careers-hero__header {
	--padding-title: 25px;
	--padding-caption: 35px;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: calc(var(--column-width) + var(--gutter) - 20px);
	padding: 40px 20px 30px
}

@media (max-width: 767.98px) {
	#careers-hero__header {
		margin-left: var(--container-padding);
		padding: 20px 0;
		text-align: left
	}
}

#careers-hero__caption {
	--theme: #9eaee9;
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block;
	position: relative;
	margin-bottom: var(--space-m);
	align-self: flex-start
}

#careers-hero__caption:before {
	content: "";
	position: absolute;
	top: calc(var(--padding-caption) * -1);
	left: calc(var(--padding-title) * -1);
	width: calc(100% + var(--padding-title) * 2);
	height: calc(100% + var(--padding-caption) * 2);
	background: var(--color-dark-01);
	z-index: -1
}

#careers-hero__title {
	font-size: var(--h1);
	line-height: 1.07;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: flex;
	flex-direction: column
}

#careers-hero__title>span {
	position: relative;
	width: -moz-fit-content;
	width: fit-content
}

#careers-hero__title>span:before {
	content: "";
	position: absolute;
	top: calc(var(--padding-title) * -1);
	left: calc(var(--padding-title) * -1);
	width: calc(100% + var(--padding-title) * 2);
	height: calc(100% + var(--padding-title) * 2);
	background: var(--color-dark-01);
	z-index: -1
}

#careers-hero__cta {
	--background: var(--color-light-02);
	--color: var(--color-dark-01);
	position: relative;
	padding: 10px;
	display: flex;
	align-self: flex-end;
	margin-bottom: var(--space-xl)
}

@media (min-width: 768px) {
	#careers-hero__cta:before {
		z-index: -1;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: calc(100% + var(--container-padding) * .5);
		height: 100%;
		background: var(--color-dark-01)
	}
}

@media (max-width: 767.98px) {
	#careers-hero__cta {
		align-self: flex-start;
		padding: 0;
		margin-left: var(--container-padding);
		margin-bottom: var(--space-l)
	}
}

#careers-mission {
	padding: var(--space-xl) 0
}

@media (max-width: 991.98px) {
	#careers-mission {
		padding: var(--space-m) 0 var(--space-s)
	}
}

#careers-mission__box {
	--column-start: 2;
	--column-span: 10;
	border: none;
	padding: 0;
	position: relative
}

@media (max-width: 767.98px) {
	#careers-mission__box {
		--column-start: 1;
		--column-span: 12
	}
}

#careers-mission__caption {
	--theme: #9eaee9;
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: var(--space-l)
}

#careers-mission__inner {
	display: grid;
	grid-template-columns: 1fr 2fr auto;
	gap: var(--space-3xl);
	align-items: start
}

@media (max-width: 991.98px) {
	#careers-mission__inner {
		grid-template-columns: 1fr 2fr
	}
}

@media (max-width: 767.98px) {
	#careers-mission__inner {
		grid-template-columns: 1fr;
		gap: var(--space-m)
	}
}

#careers-mission__title {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	color: var(--color-dark-01);
	text-transform: uppercase;
	margin: 0
}

.careers-mission__text {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	text-align: left;
	margin-bottom: var(--space-m);
	color: var(--color-dark-01)
}

.careers-mission__text--lead {
	font-family: var(--font-family-heading);
	font-size: clamp(18px, 18px + 6 * (100vw - 375px) / 1545, 24px);
	font-weight: 300;
	line-height: 1.4
}

.careers-mission__text:last-child {
	margin-bottom: 0
}

#careers-mission__decoration {
	font-family: IBM Plex Mono, monospace;
	font-size: 28px;
	line-height: 1;
	color: var(--color-dark-01);
	align-self: center;
	padding-left: var(--space-xl)
}

@media (max-width: 991.98px) {
	#careers-mission__decoration {
		display: none
	}
}

#careers-strip {
	position: relative;
	overflow: hidden;
	padding: var(--space-m) 10px var(--space-xs)
}

@media (max-width: 991.98px) {
	#careers-strip {
		padding-top: var(--space-xs)
	}
}

@media (max-width: 767.98px) {
	#careers-strip {
		padding-left: var(--container-padding);
		padding-right: var(--container-padding)
	}
}

#careers-strip__track {
	display: grid;
	grid-template-columns: 1fr 2fr 2fr 1fr;
	gap: 10px;
	height: 340px
}

@media (max-width: 991.98px) {
	#careers-strip__track {
		grid-template-columns: 1fr 1fr;
		height: 280px
	}
}

@media (max-width: 767.98px) {
	#careers-strip__track {
		grid-template-columns: 1fr 1fr;
		height: 300px
	}
}

.careers-strip__item {
	overflow: hidden;
	min-height: 0
}

@media (max-width: 991.98px) {
	.careers-strip__item--side {
		display: none
	}
}

@media (max-width: 767.98px) {
	.careers-strip__item--side {
		display: block
	}
}

@media (max-width: 767.98px) {
	.careers-strip__item--center {
		display: none
	}
}

.careers-strip__item--photo {
	position: relative
}

.careers-strip__item--photo img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	display: block
}

.careers-strip__item--quote {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: var(--space-l);
	box-sizing: border-box;
	border: 1px solid var(--color-grey-01)
}

@media (max-width: 991.98px) {
	.careers-strip__item--quote {
		border: none;
		padding: var(--space-s) 0
	}
}

@media (max-width: 767.98px) {
	.careers-strip__item--quote {
		display: none
	}
}

#careers-strip__quote-label {
	margin-bottom: var(--space-m)
}

@media (max-width: 767.98px) {
	#careers-strip__quote-label {
		margin-bottom: var(--space-xs)
	}
}

#careers-strip__quote-text {
	font-family: var(--font-family-heading);
	font-size: clamp(16px, 16px + 6 * (100vw - 375px) / 1545, 20px);
	font-weight: 300;
	line-height: 1.45;
	color: var(--color-dark-01)
}

@media (max-width: 767.98px) {
	#careers-strip__quote-text {
		font-size: 16px;
		line-height: 1.4
	}
}

.careers-ticker__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 0;
	transition: opacity 1s ease-in-out
}

.careers-ticker__img--active {
	opacity: 1
}

.careers-ticker__img:first-child {
	position: relative
}

#careers-job-list {
	padding: var(--space-xl) 0 var(--space-8xl);
	position: relative;
	overflow: hidden
}

#careers-job-list:before {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	left: 0;
	position: absolute;
	font-family: IBM Plex Mono, monospace;
	line-height: 1;
	max-width: 20ch;
	word-break: break-word;
	overflow-wrap: break-word;
	color: var(--color-grey-01);
	z-index: -1
}

@media (max-width: 767.98px) {
	#careers-job-list:before {
		content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
		top: calc(var(--space-8xl) * 3);
		right: 0;
		left: unset;
		max-width: 8ch;
		font-size: 23px
	}
}

@media (min-width: 768px) {
	#careers-job-list:before {
		font-size: 28px;
		top: calc(var(--space-8xl) * 2.5)
	}
}

@media (min-width: 1440px) {
	#careers-job-list:before {
		top: calc(var(--space-8xl) * 1.5)
	}
}

#careers-job-list:after {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	z-index: -1;
	bottom: calc(var(--space-8xl) * .5);
	right: 0;
	position: absolute;
	font-family: IBM Plex Mono, monospace;
	line-height: 1;
	max-width: 44ch;
	word-break: break-word;
	overflow-wrap: break-word;
	color: var(--color-grey-01)
}

@media (max-width: 767.98px) {
	#careers-job-list:after {
		content: "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
		max-width: 13ch;
		left: 0;
		right: unset;
		font-size: 23px
	}
}

@media (min-width: 768px) {
	#careers-job-list:after {
		font-size: 28px
	}
}

@media (min-width: 768px) {
	#careers-job-list__header {
		position: relative
	}
}

#careers-job-list__header:before {
	color: var(--color-dark-01);
	content: "+++";
	z-index: -1;
	font-family: IBM Plex Mono, monospace;
	line-height: 1;
	right: var(--column-width-gutter);
	bottom: 0;
	position: absolute
}

@media (max-width: 767.98px) {
	#careers-job-list__header:before {
		bottom: calc(var(--space-8xl) * .5);
		right: var(--container-padding);
		font-size: 23px
	}
}

@media (min-width: 768px) {
	#careers-job-list__header:before {
		font-size: 28px
	}
}

#careers-job-list__header-caption {
	--column-start: 2;
	--column-span: 3;
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	position: relative;
	align-self: flex-start;
	justify-self: flex-start;
	line-height: 1;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

#careers-job-list__header-caption:before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--color-accent-02);
	transform: scale(.999);
	transition: transform .5s var(--fast-start-easing);
	z-index: -1
}

@media (hover: hover) {
	#careers-job-list__header-caption:hover:before {
		transform: scaleX(1.05)
	}

	#careers-job-list__header-caption:hover span:before {
		transform: translate(.1em)
	}

	#careers-job-list__header-caption:hover span:after {
		transform: translate(-.1em)
	}
}

#careers-job-list__header-caption span {
	display: inline-block;
	color: var(--color-dark-01);
	padding: 3px
}

#careers-job-list__header-caption span:before {
	content: "[";
	padding-right: .25em;
	transition: transform .5s var(--fast-start-easing);
	display: inline-block
}

#careers-job-list__header-caption span:after {
	content: "]";
	padding-left: .25em;
	display: inline-block;
	transition: transform .5s var(--fast-start-easing)
}

@media (max-width: 767.98px) {
	#careers-job-list__header-caption {
		--column-start: 1;
		--column-span: 12
	}
}

#careers-job-list__header-title {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	margin-top: var(--space-s)
}

@media (max-width: 767.98px) {
	#careers-job-list__header-title {
		--column-start: 1;
		--column-span: 12
	}
}

@media (min-width: 768px) {
	#careers-job-list__header-title {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 1440px) {
	#careers-job-list__header-title {
		--column-start: 2;
		--column-span: 3
	}
}

#careers-job-list__header-description {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	margin-top: var(--space-m);
	text-align: justify
}

@media (max-width: 767.98px) {
	#careers-job-list__header-description {
		--column-start: 1;
		--column-span: 12
	}
}

@media (min-width: 768px) {
	#careers-job-list__header-description {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 1440px) {
	#careers-job-list__header-description {
		--column-start: 5;
		--column-span: 5;
		margin-top: var(--space-s);
		margin-left: 2.65vw
	}
}

#careers-job-list__filters {
	padding-top: var(--space-l);
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: end;
	gap: 12px
}

@media (min-width: 768px) {
	#careers-job-list__filters {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 1440px) {
	#careers-job-list__filters {
		--column-start: 5;
		--column-span: 5;
		margin-left: 2.65vw
	}
}

@media (max-width: 767.98px) {
	#careers-job-list__filters {
		grid-template-columns: 1fr 1fr
	}

	#careers-job-list__filters #careers-job-list__search {
		grid-column: 1/-1
	}
}

#careers-job-list__search-input,
#careers-job-list__filter-department-select,
#careers-job-list__filter-location-select {
	height: 36px;
	padding: 0 10px;
	font-family: var(--font-family-body);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .04em;
	color: var(--color-dark-01);
	background: var(--body-background-color);
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 0;
	outline: none;
	transition: border-color .2s ease;
	box-sizing: border-box
}

#careers-job-list__search-input:focus,
#careers-job-list__filter-department-select:focus,
#careers-job-list__filter-location-select:focus {
	border-color: var(--color-dark-01)
}

#careers-job-list__search-input {
	width: 100%;
	text-transform: none
}

#careers-job-list__search-input::-moz-placeholder {
	color: var(--color-grey-02);
	text-transform: none
}

#careers-job-list__search-input::placeholder {
	color: var(--color-grey-02);
	text-transform: none
}

#careers-job-list__filter-buttons {
	display: contents
}

.careers-job-list__filter-label {
	font-family: var(--font-family-body);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	display: block;
	margin-bottom: 4px;
	color: var(--color-grey-02)
}

#careers-job-list__filter-department-select,
#careers-job-list__filter-location-select {
	width: 100%;
	min-width: 140px;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 28px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M5 7L1 3h8z' fill='%23999'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center
}

.careers-job-list__empty {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-02);
	padding: var(--space-l) 0;
	text-align: center
}

#careers-job-list__content {
	padding-top: var(--space-xl);
	line-height: 1;
	z-index: 1
}

@media (min-width: 768px) {
	#careers-job-list__content {
		--column-start: 2;
		--column-span: 10
	}
}

@media (min-width: 1440px) {
	#careers-job-list__content {
		--column-start: 5;
		--column-span: 7;
		padding-top: var(--space-3xl);
		margin-left: 2.65vw
	}
}

#careers-job-list__content ul li>div {
	display: flex;
	justify-content: space-between
}

#careers-job-list__content>ul {
	display: flex;
	flex-direction: column;
	gap: var(--space-l)
}

@media (max-width: 767.98px) {
	#careers-job-list__content>ul {
		gap: var(--space-xl)
	}
}

#careers-job-list__content ul ul {
	margin-top: var(--space-s);
	display: flex;
	flex-direction: column;
	gap: var(--space-xs)
}

#careers-job-list__content .o-icon {
	width: 16px !important;
	height: 16px !important;
	padding: 0 !important;
	margin-right: -2px
}

#careers-job-list__content a {
	padding: var(--space-s) var(--space-m);
	display: flex;
	position: relative;
	align-items: center
}

@media (max-width: 767.98px) {
	#careers-job-list__content a {
		flex-wrap: wrap;
		padding: var(--space-s) !important
	}
}

#careers-job-list__content a:before {
	pointer-events: none;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-grey-01);
	opacity: 0;
	transform: scale(.999);
	transition: transform .5s var(--fast-start-easing)
}

#careers-job-list__content a:after {
	border: 1px solid var(--color-grey-01);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--body-background-color);
	z-index: -1;
	transform: scale(.999);
	transition: transform .5s var(--fast-start-easing)
}

@media (hover: hover) {
	#careers-job-list__content a:hover:before {
		opacity: .1;
		transform: scale(.99)
	}

	#careers-job-list__content a:hover:after {
		transform: scale(.99)
	}
}

#careers-job-list__content a div:first-child {
	font-size: var(--h3);
	line-height: 1.25;
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	padding-right: var(--space-m)
}

@media (max-width: 767.98px) {
	#careers-job-list__content a div:first-child {
		width: 100%;
		padding-bottom: var(--space-l)
	}
}

#careers-job-list__content a div:nth-child(2) {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	margin-left: auto;
	flex-shrink: 0;
	color: var(--color-grey-02);
	white-space: nowrap
}

@media (max-width: 767.98px) {
	#careers-job-list__content a div:nth-child(2) {
		margin-right: auto;
		margin-left: 0
	}
}

#careers-job-list__content a div:last-child {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	flex-shrink: 0;
	margin-left: var(--space-l);
	color: var(--color-grey-02);
	text-align: right
}

.careers-job-list__department-header {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.careers-job-list__department-header div:first-child {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block
}

.careers-job-list__department-header div:last-child {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-block
}

#tpl-government {
	--body-background-color: var(--color-dark-01);
	background-color: var(--body-background-color);
	color: var(--color-light-02)
}

#tpl-government #site-footer__top {
	display: none
}

#tpl-government #site-footer:before {
	display: none
}

#tpl-government #site-header__cta {
	display: none
}

#government {
	color: var(--color-light-02);
	position: relative
}

#government:before {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
	font-family: IBM Plex Mono, monospace;
	word-break: break-word;
	overflow-wrap: break-word;
	color: var(--color-dark-03);
	max-width: 15ch;
	line-height: 1
}

@media (max-width: 767.98px) {
	#government:before {
		font-size: 23px;
		content: "+++";
		right: var(--container-padding)
	}
}

@media (min-width: 768px) {
	#government:before {
		font-size: 28px
	}
}

#government:after {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	position: absolute;
	left: 0;
	bottom: calc(var(--space-8xl) * .5);
	z-index: -1;
	font-family: IBM Plex Mono, monospace;
	word-break: break-word;
	overflow-wrap: break-word;
	font-size: 28px;
	color: var(--color-dark-03);
	max-width: 22ch;
	line-height: 1
}

@media (max-width: 767.98px) {
	#government:after {
		display: none
	}
}

#gov-news__label,
#gov-why__label,
#gov-certs__label,
#gov-arch__label {
	--column-start: 2;
	--column-span: 2;
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	align-self: flex-start;
	justify-self: flex-start;
	max-width: -moz-fit-content;
	max-width: fit-content;
	white-space: nowrap
}

@media (max-width: 767.98px) {

	#gov-news__label,
	#gov-why__label,
	#gov-certs__label,
	#gov-arch__label {
		--column-start: 1;
		--column-span: 12
	}
}

#gov-news__title,
#gov-why__title,
#gov-certs__title,
#gov-arch__title {
	--column-start: 5;
	--column-span: 7;
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	max-width: 25ch
}

@media (max-width: 767.98px) {

	#gov-news__title,
	#gov-why__title,
	#gov-certs__title,
	#gov-arch__title {
		--column-start: 1;
		--column-span: 12;
		margin-top: var(--space-s)
	}
}

#gov-hero {
	padding-top: calc(var(--site-header-height) + var(--space-xl));
	padding-bottom: var(--space-l);
	position: relative
}

#gov-hero:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-1 * var(--container-padding));
	right: calc(-1 * var(--container-padding));
	background: url(assets/images/gov-hero-bg.png) center center/cover no-repeat;
	opacity: .6;
	z-index: 0;
	pointer-events: none
}

#gov-hero:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-1 * var(--container-padding));
	right: calc(-1 * var(--container-padding));
	background: linear-gradient(to bottom, transparent 40%, var(--color-dark-01) 100%);
	z-index: 0;
	pointer-events: none
}

#gov-hero>* {
	position: relative;
	z-index: 1
}

#gov-hero__content {
	--column-start: 2;
	--column-span: 6;
	display: flex;
	flex-direction: column;
	gap: var(--space-s)
}

@media (max-width: 991.98px) {
	#gov-hero__content {
		--column-span: 10
	}
}

@media (max-width: 767.98px) {
	#gov-hero__content {
		--column-start: 1;
		--column-span: 12
	}
}

#gov-hero__label {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	--theme: var(--color-accent-02);
	align-self: flex-start
}

#gov-hero__title {
	font-size: var(--h1);
	line-height: 1.07;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	max-width: 20ch
}

#gov-hero__title span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#gov-hero__subhead {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	max-width: 60ch
}

#gov-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
	margin-top: var(--space-xs)
}

.gov-hero__badge {
	display: inline-flex;
	align-items: center;
	padding: var(--space-2xs) var(--space-s);
	border: 1px solid var(--color-accent-02);
	border-radius: 6px;
	font-size: var(--fluid-12-14);
	font-family: var(--font-family-heading);
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--color-accent-02);
	background: #5ecfb114
}

@media (max-width: 767.98px) {
	.gov-hero__badge {
		font-size: 11px;
		padding: 4px 10px
	}
}

.gov-hero__badge--security {
	border-color: var(--color-dark-03);
	color: var(--color-grey-01);
	background: #ffffff0a
}

#gov-hero__cta {
	--column-start: 9;
	--column-span: 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: var(--space-s)
}

@media (max-width: 991.98px) {
	#gov-hero__cta {
		--column-start: 2;
		--column-span: 10;
		grid-row: 2;
		justify-content: flex-start;
		margin-top: var(--space-s)
	}
}

@media (max-width: 767.98px) {
	#gov-hero__cta {
		--column-start: 1;
		--column-span: 12
	}
}

.gov-hero__cta-btn {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	padding: var(--space-s) var(--space-xl);
	text-decoration: none;
	background: var(--color-light-02);
	color: var(--color-dark-01);
	border: none;
	transition: opacity .2s ease;
	white-space: nowrap
}

.gov-hero__cta-btn:hover {
	opacity: .85
}

@media (max-width: 991.98px) {
	.gov-hero__cta-btn {
		font-size: var(--fluid-14-16);
		padding: var(--space-xs) var(--space-l)
	}
}

@media (max-width: 767.98px) {
	.gov-hero__cta-btn {
		font-size: 14px;
		padding: 10px 24px
	}
}

.gov-hero__cta-email {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-12-14);
	color: var(--color-accent-02);
	text-decoration: none;
	transition: color .2s ease;
	white-space: nowrap
}

.gov-hero__cta-email:hover {
	color: var(--color-light-02)
}

@media (max-width: 767.98px) {
	.gov-hero__cta-email {
		font-size: 13px
	}
}

#gov-logos {
	padding: var(--space-s) 0 var(--space-m)
}

#gov-logos__heading {
	font-size: var(--h3);
	line-height: 1.25;
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-grey-02);
	text-align: center;
	margin-bottom: var(--space-m)
}

#gov-logos__disclaimer {
	font-size: var(--body2);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-02);
	text-align: center;
	margin-top: var(--space-m);
	opacity: .6
}

#gov-logos__grid {
	margin-top: 0
}

#gov-logos__grid .logo-grid-item {
	width: calc((100% - 5 * var(--gap, 8px)) / 6)
}

@media (max-width: 991.98px) {
	#gov-logos__grid .logo-grid-item {
		width: calc((100% - 3 * var(--gap, 8px)) / 4)
	}
}

@media (max-width: 767.98px) {
	#gov-logos__grid .logo-grid-item {
		width: calc((100% - 1 * var(--gap, 8px)) / 2);
		border: none
	}

	#gov-logos__grid .logo-grid-item .o-icon {
		height: var(--fluid-20-30)
	}

	#gov-logos__grid .logo-grid-item .o-icon svg {
		height: 100%
	}
}

#gov-logos__grid .o-icon {
	fill: var(--color-grey-01)
}

#gov-logos__grid .o-icon svg {
	max-width: 100%;
	fill: inherit
}

#gov-logos__grid .o-icon svg path,
#gov-logos__grid .o-icon svg g {
	fill: inherit
}

#gov-logos__grid .logo-grid-item:nth-child(1) .o-icon svg {
	transform: scale(1.3)
}

#gov-logos__grid .logo-grid-item:nth-child(2) .o-icon svg {
	transform: scale(1.3)
}

#gov-logos__grid .logo-grid-item:nth-child(4) .o-icon svg {
	transform: scale(1.1)
}

#gov-logos__grid .logo-grid-item:nth-child(5) .o-icon svg {
	transform: scale(1.3)
}

#gov-logos__grid .logo-grid-item:nth-child(6) .o-icon svg {
	transform: scale(1.2)
}

@media (max-width: 767.98px) {
	#gov-logos__grid .logo-grid-item:nth-child(6) .o-icon svg {
		transform: scale(1.4)
	}
}

#gov-logos__grid .logo-grid-item:nth-child(9) .o-icon svg {
	width: 80%
}

#gov-logos__grid .logo-grid-item:nth-child(10) .o-icon svg {
	width: 87.5%
}

#gov-logos__grid .logo-grid-item:nth-child(11) .o-icon svg {
	width: 100%
}

#gov-logos__grid .logo-grid-item:nth-child(7) .o-icon svg {
	width: 60%
}

#gov-arch {
	padding: var(--space-3xl) 0;
	border-top: 1px solid var(--color-dark-03)
}

#gov-arch__label {
	--theme: var(--color-accent-02)
}

#gov-arch__title span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#gov-arch__diagram {
	--column-start: 2;
	--column-span: 10;
	border: 1px solid var(--color-dark-03);
	border-radius: 12px;
	overflow: hidden;
	margin-top: var(--space-xl)
}

#gov-arch__diagram svg {
	width: auto;
	height: auto
}

.gov-arch__main {
	display: flex;
	align-items: stretch
}

.gov-arch__col {
	flex: 1;
	padding: var(--space-m)
}

.gov-arch__col:first-child {
	border-right: 1px solid var(--color-dark-03)
}

.gov-arch__col:last-child {
	border-left: 1px solid var(--color-dark-03)
}

.gov-arch__box {
	border: 1px solid var(--color-dark-03);
	border-radius: 12px;
	padding: var(--space-m);
	background: #ffffff05;
	height: 100%
}

.gov-arch__box-title {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-accent-02);
	margin-bottom: var(--space-2xs)
}

.gov-arch__box-desc {
	font-size: var(--body2);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	margin-bottom: var(--space-l)
}

.gov-arch__icons {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-s) var(--space-m)
}

.gov-arch__icon-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-2xs)
}

.gov-arch__icon-item span {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-light-02);
	text-align: center;
	white-space: nowrap
}

.gov-arch__icon-circle {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid var(--color-dark-03);
	background: #ffffff08;
	display: flex;
	align-items: center;
	justify-content: center
}

.gov-arch__icon-circle svg {
	fill: none !important;
	width: 24px !important;
	height: 24px !important;
	stroke: var(--color-grey-02)
}

.gov-arch__center {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-m);
	flex-shrink: 0;
	width: 220px
}

.gov-arch__arrow {
	color: var(--color-grey-02);
	font-size: 16px;
	opacity: .4;
	flex-shrink: 0
}

.gov-arch__circle {
	width: 170px;
	height: 170px;
	border-radius: 50%;
	border: 1px solid var(--color-dark-03);
	background: radial-gradient(circle at 40% 35%, #1e2d40, #131b28 60%, #0f1620);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: var(--space-m);
	margin: 0 var(--space-xs);
	flex-shrink: 0
}

.gov-arch__circle h3 {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-light-02);
	line-height: 1.2
}

.gov-arch__circle p {
	font-size: var(--body2);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	line-height: 1.4;
	margin-top: var(--space-2xs)
}

.gov-arch__products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-s)
}

.gov-arch__product {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: var(--color-grey-02)
}

.gov-arch__product>svg {
	fill: none !important;
	width: 36px !important;
	height: 36px !important;
	margin-bottom: var(--space-2xs);
	stroke: var(--color-grey-02)
}

.gov-arch__product--wide {
	grid-column: span 2
}

.gov-arch__product-name {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-light-02);
	line-height: 1.2
}

.gov-arch__product-desc {
	font-size: var(--body2);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	line-height: 1.4
}

.gov-arch__windsurf-logo {
	width: 40px !important;
	height: 40px !important;
	-o-object-fit: contain;
	object-fit: contain;
	margin-bottom: var(--space-2xs);
	filter: brightness(0) invert(.55)
}

.gov-arch__platform {
	display: flex;
	border-top: 1px solid var(--color-dark-03)
}

.gov-arch__platform-label {
	padding: var(--space-m) var(--space-l);
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-light-02);
	line-height: 1.3;
	display: flex;
	align-items: center;
	flex-shrink: 0
}

.gov-arch__platform-item {
	flex: 1;
	padding: var(--space-m) var(--space-l);
	border-left: 1px solid var(--color-dark-03)
}

.gov-arch__platform-item h4 {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-light-02);
	line-height: 1.2;
	margin-bottom: var(--space-2xs)
}

.gov-arch__platform-item p {
	font-size: var(--body2);
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	line-height: 1.5
}

.gov-arch__platform-item a {
	color: var(--color-accent-02);
	text-decoration: none;
	transition: opacity .2s ease
}

.gov-arch__platform-item a:hover {
	opacity: .8
}

@media (max-width: 991.98px) {
	.gov-arch__main {
		flex-direction: column
	}

	.gov-arch__col:first-child {
		border-right: none;
		border-bottom: 1px solid var(--color-dark-03)
	}

	.gov-arch__col:last-child {
		border-left: none;
		border-top: 1px solid var(--color-dark-03)
	}

	.gov-arch__center {
		width: auto;
		padding: 16px
	}

	.gov-arch__circle {
		width: 120px;
		height: 120px
	}

	.gov-arch__platform {
		flex-direction: column
	}

	.gov-arch__platform-item {
		border-left: none;
		border-top: 1px solid var(--color-dark-03)
	}
}

.gov-usecase {
	padding: var(--space-3xl) 0;
	border-top: 1px solid var(--color-dark-03)
}

.gov-usecase .o-grid {
	--gutter-y: 0;
	align-items: start;
	grid-template-rows: auto
}

#gov-uc-modernize .gov-usecase__text {
	--column-start: 7;
	--column-span: 6
}

@media (max-width: 991.98px) {
	#gov-uc-modernize .gov-usecase__text {
		--column-start: 1;
		--column-span: 12
	}
}

#gov-uc-modernize .gov-usecase__visual {
	--column-start: 1;
	--column-span: 6;
	grid-row: 1
}

@media (max-width: 991.98px) {
	#gov-uc-modernize .gov-usecase__visual {
		--column-start: 1;
		--column-span: 12;
		grid-row: auto
	}
}

.gov-usecase__text {
	--column-start: 1;
	--column-span: 5;
	display: flex;
	flex-direction: column;
	gap: var(--space-m);
	justify-content: center
}

@media (max-width: 991.98px) {
	.gov-usecase__text {
		--column-start: 1;
		--column-span: 12;
		margin-bottom: var(--space-xl)
	}
}

.gov-usecase__visual {
	--column-start: 7;
	--column-span: 6;
	overflow: hidden;
	border-radius: 12px;
	border: 1px solid var(--color-dark-03);
	padding: var(--space-m)
}

.gov-usecase__visual img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px
}

@media (max-width: 991.98px) {
	.gov-usecase__visual {
		--column-start: 1;
		--column-span: 12
	}
}

.gov-usecase__visual-row {
	display: flex;
	gap: var(--space-s);
	margin-top: var(--space-l);
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translate(-50%);
	padding: 0 var(--space-s)
}

.gov-usecase__visual-row .gov-usecase__visual {
	flex: 1;
	--column-start: unset;
	--column-span: unset
}

@media (max-width: 767.98px) {
	.gov-usecase__visual-row {
		flex-direction: column
	}
}

.gov-usecase__visual-row+.gov-usecase__visual-row {
	margin-top: 0
}

.gov-usecase__visual-row--single .gov-usecase__visual {
	max-width: 900px;
	margin: 0 auto
}

.gov-usecase__visual--labeled {
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs);
	overflow: visible
}

.gov-usecase__visual--labeled img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px
}

.gov-usecase__visual-label {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-grey-02);
	font-size: 11px;
	padding: 0 var(--space-2xs)
}

.gov-usecase__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 300px;
	background: var(--color-dark-02, #1a1e2e);
	border: 2px dashed var(--color-dark-03);
	border-radius: 8px;
	font-family: IBM Plex Mono, monospace;
	font-size: 13px;
	color: var(--color-grey-02);
	text-align: center;
	padding: var(--space-m)
}

#gov-uc-quality .gov-usecase__visual {
	padding: var(--space-xl)
}

.gov-usecase--alt .gov-usecase__text {
	--column-start: 8;
	--column-span: 5;
	grid-row: 1
}

@media (max-width: 991.98px) {
	.gov-usecase--alt .gov-usecase__text {
		--column-start: 1;
		--column-span: 12;
		grid-row: auto;
		order: 1
	}
}

.gov-usecase--alt .gov-usecase__visual {
	--column-start: 1;
	--column-span: 6;
	grid-row: 1
}

@media (max-width: 991.98px) {
	.gov-usecase--alt .gov-usecase__visual {
		--column-start: 1;
		--column-span: 12;
		grid-row: auto;
		order: 2
	}
}

.gov-usecase__label {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	--theme: var(--color-accent-02);
	align-self: flex-start
}

.gov-usecase__title {
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	max-width: 20ch
}

.gov-usecase__title span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

.gov-usecase__description {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	max-width: 50ch
}

.gov-usecase__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px
}

.gov-usecase__chips span {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-12-14);
	line-height: 1;
	color: var(--color-light-02);
	border: 1px solid var(--color-grey-02);
	border-radius: 4px;
	padding: 6px 10px;
	white-space: nowrap;
	background: #ffffff0a
}

.gov-usecase__stats {
	display: flex;
	gap: var(--space-s)
}

@media (max-width: 767.98px) {
	.gov-usecase__stats {
		flex-direction: column
	}
}

.gov-usecase__stat {
	display: inline-flex;
	flex-direction: column;
	align-self: flex-start;
	gap: var(--space-xs);
	padding: var(--space-m) var(--space-l);
	border: 1px solid var(--color-dark-03);
	border-radius: 8px;
	background: #ffffff05;
	width: 200px;
	min-height: 90px;
	max-width: 100%;
	box-sizing: border-box
}

.gov-usecase__stat-value {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-20-30);
	font-weight: 500;
	line-height: 1;
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

.gov-usecase__stat-label {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-12-16);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--color-grey-01)
}

.gov-usecase__subsections {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs)
}

.gov-usecase__subsections-label {
	grid-column: 1/-1;
	font-family: IBM Plex Mono, monospace;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--color-grey-02)
}

.gov-usecase__subsections--full {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-s);
	margin-top: var(--space-m);
	padding: var(--space-m) var(--space-m) 0;
	border-top: 1px solid var(--color-dark-03)
}

@media (max-width: 767.98px) {
	.gov-usecase__subsections--full {
		grid-template-columns: 1fr
	}
}

.gov-usecase__subsections--full .gov-usecase__sub {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-2xs);
	padding: var(--space-s);
	border: 1px solid var(--color-dark-03);
	border-radius: 8px;
	background: #ffffff05
}

.gov-usecase__sub {
	display: grid;
	grid-template-columns: 14px 140px 1fr;
	align-items: center;
	gap: 0 var(--space-xs);
	padding: var(--space-s) var(--space-m);
	border: 1px solid var(--color-dark-03);
	border-radius: 8px;
	background: #ffffff05
}

.gov-usecase__sub-icon {
	width: 14px;
	height: 14px;
	color: var(--color-accent-02);
	flex-shrink: 0
}

.gov-usecase__sub-title {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-light-02)
}

.gov-usecase__sub-desc {
	font-size: var(--body2);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01)
}

.gov-usecase__integrations {
	display: grid;
	grid-template-columns: repeat(auto-fill, 64px);
	gap: var(--space-s) var(--space-m)
}

.gov-integration {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-xs)
}

.gov-integration svg {
	width: 24px;
	height: 24px;
	color: var(--color-grey-01)
}

.gov-integration span {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-10-12);
	line-height: 1;
	color: var(--color-grey-02);
	white-space: nowrap
}

#gov-certs {
	padding: var(--space-2xl) 0;
	border-top: 1px solid var(--color-dark-03)
}

#gov-certs__label {
	--theme: var(--color-accent-01)
}

#gov-certs__title span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#gov-certs__table {
	--column-start: 3;
	--column-span: 8;
	margin-top: var(--space-l);
	border: 1px solid var(--color-dark-03);
	border-radius: 10px;
	overflow: hidden
}

@media (max-width: 1439.98px) {
	#gov-certs__table {
		--column-start: 2;
		--column-span: 10
	}
}

@media (max-width: 991.98px) {
	#gov-certs__table {
		--column-start: 1;
		--column-span: 12
	}
}

.gov-certs__header,
.gov-certs__row {
	display: grid;
	grid-template-columns: 200px 1fr 1fr;
	gap: var(--space-s);
	align-items: center;
	padding: var(--space-s) var(--space-l)
}

@media (max-width: 767.98px) {

	.gov-certs__header,
	.gov-certs__row {
		grid-template-columns: 140px 1fr 1fr;
		gap: var(--space-xs);
		padding: var(--space-xs) var(--space-s)
	}
}

.gov-certs__header {
	border-bottom: 1px solid var(--color-dark-03);
	background: #ffffff05
}

.gov-certs__header-label {
	min-width: 160px
}

.gov-certs__header-caption {
	display: block;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-grey-02);
	opacity: .7;
	margin-top: 2px
}

.gov-certs__header-col {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-grey-02);
	text-align: center;
	min-width: 80px
}

@media (max-width: 767.98px) {
	.gov-certs__header-col {
		font-size: 10px;
		min-width: 56px
	}
}

.gov-certs__row {
	border-bottom: 1px solid var(--color-dark-03)
}

.gov-certs__row:last-of-type {
	border-bottom: none
}

.gov-certs__row-label {
	font-size: var(--body2);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-light-02);
	font-weight: 500
}

@media (max-width: 767.98px) {
	.gov-certs__row-label {
		font-size: 13px
	}
}

.gov-certs__row-status {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-12-14);
	text-align: center;
	min-width: 80px
}

.gov-certs__row-status--done {
	color: #5ecfb1
}

@media (max-width: 767.98px) {
	.gov-certs__row-status {
		font-size: 11px;
		min-width: 56px
	}
}

.gov-certs__row-check {
	font-size: var(--fluid-16-20);
	text-align: center;
	min-width: 80px
}

.gov-certs__row-check--yes {
	color: #5ecfb1
}

.gov-certs__row-check--pending {
	font-family: IBM Plex Mono, monospace;
	font-size: 14px;
	color: var(--color-grey-02)
}

.gov-certs__row-check--no {
	color: var(--color-grey-02)
}

.gov-certs__row-check--text {
	font-family: IBM Plex Mono, monospace;
	font-size: 14px;
	color: #5ecfb1
}

@media (max-width: 767.98px) {
	.gov-certs__row-check {
		min-width: 56px;
		font-size: 13px
	}
}

.gov-certs__row-check--tooltip {
	position: relative;
	cursor: pointer;
	-webkit-text-decoration: underline dotted #5ECFB1;
	text-decoration: underline dotted #5ECFB1;
	text-underline-offset: 3px
}

.gov-certs__tooltip {
	display: none;
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translate(-50%);
	background: var(--color-dark-02, #1a1e2e);
	border: 1px solid var(--color-dark-03);
	border-radius: 6px;
	padding: var(--space-xs) var(--space-s);
	font-family: IBM Plex Mono, monospace;
	font-size: 11px;
	color: var(--color-grey-01);
	line-height: 1.5;
	white-space: normal;
	width: 260px;
	text-align: left;
	z-index: 10;
	pointer-events: none
}

.gov-certs__row-check--tooltip:hover .gov-certs__tooltip {
	display: block
}

#gov-why {
	padding: var(--space-4xl) 0 var(--space-3xl);
	position: relative;
	border-top: 1px solid var(--color-dark-03)
}

#gov-why__label {
	--theme: var(--color-accent-01)
}

#gov-why__title span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#gov-why__grid {
	--column-start: 2;
	--column-span: 10;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gutter);
	margin-top: var(--space-xl)
}

@media (max-width: 1439.98px) {
	#gov-why__grid {
		--column-start: 1;
		--column-span: 12
	}
}

@media (max-width: 991.98px) {
	#gov-why__grid {
		grid-template-columns: 1fr
	}
}

.gov-why-card {
	border: 1px solid var(--color-dark-03);
	border-radius: 12px;
	padding: var(--space-l);
	display: flex;
	flex-direction: column;
	gap: var(--space-s);
	transition: border-color .3s ease, background .3s ease;
	position: relative;
	overflow: hidden;
	border-top: 2px solid
}

.gov-why-card:nth-child(1) {
	border-top-color: #7b8cde
}

.gov-why-card:nth-child(2) {
	border-top-color: #5ecfb1
}

.gov-why-card:nth-child(3) {
	border-top-color: #e8a87c
}

.gov-why-card:hover {
	border-color: var(--color-grey-02);
	background: #ffffff05
}

.gov-why-card__title {
	font-size: var(--h3);
	line-height: 1.25;
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

.gov-why-card__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs)
}

.gov-why-card__list li {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	padding-left: 1.2em;
	position: relative
}

.gov-why-card__list li:before {
	content: "—";
	position: absolute;
	left: 0;
	color: var(--color-accent-02)
}

.gov-why-card__description {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01)
}

.gov-why-card__logos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: var(--space-s);
	border-top: 1px solid var(--color-dark-03)
}

.gov-why-card__logo-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 32px;
	padding: 0 8px;
	border: 1px solid var(--color-dark-03);
	border-radius: 4px
}

.gov-why-card__logo-icon svg,
.gov-why-card__logo-icon img {
	width: 100%;
	height: 14px;
	fill: var(--color-grey-02);
	-o-object-fit: contain;
	object-fit: contain
}

#gov-news {
	padding: var(--space-3xl) 0 var(--space-4xl);
	border-top: 1px solid var(--color-dark-03)
}

#gov-news__label {
	--theme: var(--color-accent-02)
}

#gov-news__title span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

#gov-news__carousel {
	display: flex;
	gap: var(--gutter);
	overflow-x: auto;
	margin-top: var(--space-xl);
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding: 0 var(--container-padding)
}

#gov-news__carousel::-webkit-scrollbar {
	display: none
}

.gov-news__item {
	flex: 0 0 calc(25% - var(--gutter) * 3 / 4);
	scroll-snap-align: start;
	border: 1px solid var(--color-dark-03);
	border-radius: 8px;
	padding: var(--space-m);
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs);
	transition: border-color .3s ease
}

.gov-news__item:hover {
	border-color: var(--color-grey-02)
}

@media (max-width: 991.98px) {
	.gov-news__item {
		flex: 0 0 calc(50% - var(--gutter) / 2)
	}
}

@media (max-width: 767.98px) {
	.gov-news__item {
		flex: 0 0 75%;
		padding: var(--space-s)
	}
}

.gov-news__tag {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-12-14);
	line-height: 1;
	color: var(--color-dark-01);
	background: var(--color-accent-02);
	padding: 4px 10px;
	border-radius: 100px;
	align-self: flex-start
}

.gov-news__text {
	font-size: var(--h3);
	line-height: 1.25;
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-light-02)
}

.gov-news__arrow {
	font-size: var(--h3);
	line-height: 1.25;
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	color: var(--color-accent-02);
	transition: transform .3s ease
}

.gov-news__item:hover .gov-news__arrow {
	transform: translate(6px)
}

#gov-footer {
	padding: var(--space-xl) 0 var(--space-3xl);
	border-top: 1px solid var(--color-dark-03)
}

#gov-footer__info {
	--column-start: 1;
	--column-span: 12;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-s) var(--space-xl);
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-12-14);
	color: var(--color-grey-02)
}

#gov-footer__info a {
	color: var(--color-accent-02);
	transition: color .3s ease
}

#gov-footer__info a:hover {
	color: var(--color-light-02)
}

#tpl-dc-summit {
	--body-background-color: var(--color-dark-01);
	background-color: var(--body-background-color);
	color: var(--color-light-02)
}

#tpl-dc-summit #site-footer__top {
	display: none
}

#tpl-dc-summit #site-footer:before {
	display: none
}

#tpl-dc-summit #site-header__cta {
	display: none
}

#dc-summit {
	color: var(--color-light-02);
	position: relative
}

#dc-summit:before {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	position: absolute;
	right: 0;
	top: 40%;
	z-index: -1;
	font-family: IBM Plex Mono, monospace;
	word-break: break-word;
	overflow-wrap: break-word;
	color: var(--color-dark-03);
	max-width: 15ch;
	line-height: 1
}

@media (max-width: 767.98px) {
	#dc-summit:before {
		font-size: 23px;
		content: "+++";
		right: var(--container-padding)
	}
}

@media (min-width: 768px) {
	#dc-summit:before {
		font-size: 28px
	}
}

#dc-summit:after {
	content: "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	position: absolute;
	left: 0;
	bottom: calc(var(--space-8xl) * .5);
	z-index: -1;
	font-family: IBM Plex Mono, monospace;
	word-break: break-word;
	overflow-wrap: break-word;
	font-size: 28px;
	color: var(--color-dark-03);
	max-width: 22ch;
	line-height: 1
}

@media (max-width: 767.98px) {
	#dc-summit:after {
		display: none
	}
}

#dc-register__label,
#dc-agenda__label,
#dc-about__label {
	--column-start: 2;
	--column-span: 2;
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	align-self: flex-start;
	justify-self: flex-start;
	max-width: -moz-fit-content;
	max-width: fit-content;
	white-space: nowrap
}

@media (max-width: 767.98px) {

	#dc-register__label,
	#dc-agenda__label,
	#dc-about__label {
		--column-start: 1;
		--column-span: 12
	}
}

#dc-register__title,
#dc-agenda__title,
#dc-about__title {
	--column-start: 5;
	--column-span: 7;
	font-size: var(--h2);
	line-height: 1.04;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	max-width: 25ch
}

#dc-register__title span,
#dc-agenda__title span,
#dc-about__title span {
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

@media (max-width: 767.98px) {

	#dc-register__title,
	#dc-agenda__title,
	#dc-about__title {
		--column-start: 1;
		--column-span: 12;
		margin-top: var(--space-s)
	}
}

#dc-hero {
	padding-top: calc(var(--site-header-height) + var(--space-xl));
	padding-bottom: var(--space-3xl);
	position: relative
}

@media (max-width: 767.98px) {
	#dc-hero {
		padding-top: calc(var(--site-header-height) + var(--space-l));
		padding-bottom: var(--space-xl)
	}
}

#dc-hero:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-1 * var(--container-padding));
	right: calc(-1 * var(--container-padding));
	z-index: 0;
	pointer-events: none
}

#dc-hero:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-1 * var(--container-padding));
	right: calc(-1 * var(--container-padding));
	background: linear-gradient(to bottom, transparent 40%, var(--color-dark-01) 100%);
	z-index: 0;
	pointer-events: none
}

#dc-hero>* {
	position: relative;
	z-index: 1
}

#dc-summit__canvas {
	position: absolute;
	top: 0;
	left: calc(-1 * var(--container-padding));
	right: calc(-1 * var(--container-padding));
	bottom: 0;
	max-width: none;
	z-index: 0;
	pointer-events: none
}

@media (max-width: 767.98px) {
	#dc-summit__canvas {
		opacity: .7
	}
}

#dc-hero__content {
	--column-start: 2;
	--column-span: 8;
	display: flex;
	flex-direction: column;
	gap: var(--space-s)
}

@media (max-width: 991.98px) {
	#dc-hero__content {
		--column-span: 10
	}
}

@media (max-width: 767.98px) {
	#dc-hero__content {
		--column-start: 1;
		--column-span: 12
	}
}

#dc-hero__label {
	font-size: var(--sub1);
	font-weight: 400;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	--theme: var(--color-accent-02);
	align-self: flex-start
}

#dc-hero__title {
	font-size: var(--h1);
	line-height: 1.07;
	font-weight: 300;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	max-width: 18ch;
	text-shadow: 0 0 8px rgba(0, 0, 0, .9), 0 0 20px rgba(0, 0, 0, .7), 0 0 40px rgba(0, 0, 0, .5)
}

#dc-hero__title span {
	-webkit-text-fill-color: #A2D1CE;
	color: #a2d1ce;
	text-shadow: 0 0 8px rgba(0, 0, 0, .9), 0 0 20px rgba(0, 0, 0, .7), 0 0 40px rgba(0, 0, 0, .5)
}

#dc-hero__subhead {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	max-width: 60ch;
	text-shadow: 0 0 6px rgba(0, 0, 0, .9), 0 0 16px rgba(0, 0, 0, .7), 0 0 30px rgba(0, 0, 0, .4)
}

#dc-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
	margin-top: var(--space-xs)
}

.dc-hero__badge {
	font-size: var(--sub2);
	font-weight: 500;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	padding: var(--space-2xs) var(--space-s);
	border: 1px solid var(--color-accent-02);
	border-radius: 6px;
	letter-spacing: .05em;
	color: var(--color-accent-02);
	background: #a2d1ce14
}

@media (max-width: 767.98px) {
	.dc-hero__badge {
		font-size: 11px;
		padding: 4px 10px
	}
}

.dc-hero__badge--muted {
	border-color: var(--color-dark-03);
	color: var(--color-grey-01);
	background: #ffffff0a
}

#dc-about {
	padding: var(--space-3xl) 0;
	border-top: 1px solid var(--color-dark-03)
}

#dc-about .o-grid+.o-grid {
	margin-top: var(--space-xl)
}

#dc-about__label {
	--theme: var(--color-accent-02)
}

#dc-about__body {
	--column-start: 5;
	--column-span: 5;
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	max-width: 60ch
}

#dc-about__body p+p {
	margin-top: var(--space-s)
}

@media (max-width: 991.98px) {
	#dc-about__body {
		--column-start: 2;
		--column-span: 10
	}
}

@media (max-width: 767.98px) {
	#dc-about__body {
		--column-start: 1;
		--column-span: 12
	}
}

#dc-about__audience {
	--column-start: 5;
	--column-span: 5;
	display: inline-flex;
	flex-direction: column;
	align-self: flex-start;
	gap: var(--space-xs);
	padding: var(--space-m) var(--space-l);
	border: 1px solid var(--color-dark-03);
	border-radius: 8px;
	background: #ffffff05;
	margin-top: var(--space-l)
}

@media (max-width: 991.98px) {
	#dc-about__audience {
		--column-start: 2;
		--column-span: 10
	}
}

@media (max-width: 767.98px) {
	#dc-about__audience {
		--column-start: 1;
		--column-span: 12
	}
}

.dc-about__audience-label {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-12-16);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--color-grey-02)
}

.dc-about__audience-value {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-light-02)
}

#dc-agenda {
	padding: var(--space-3xl) 0;
	border-top: 1px solid var(--color-dark-03)
}

#dc-agenda .o-grid+.o-grid {
	margin-top: var(--space-xl)
}

#dc-agenda__label {
	--theme: var(--color-accent-01)
}

#dc-agenda__table {
	--column-start: 5;
	--column-span: 6;
	border: 1px solid var(--color-dark-03);
	border-radius: 8px;
	overflow: hidden;
	background: #ffffff05
}

@media (max-width: 991.98px) {
	#dc-agenda__table {
		--column-start: 2;
		--column-span: 10
	}
}

@media (max-width: 767.98px) {
	#dc-agenda__table {
		--column-start: 1;
		--column-span: 12
	}
}

.dc-agenda__row {
	display: flex;
	align-items: baseline;
	gap: var(--space-m);
	padding: var(--space-s) var(--space-m)
}

.dc-agenda__row+.dc-agenda__row {
	border-top: 1px solid var(--color-dark-03)
}

@media (max-width: 767.98px) {
	.dc-agenda__row {
		flex-direction: column;
		gap: var(--space-2xs)
	}
}

.dc-agenda__time {
	font-family: IBM Plex Mono, monospace;
	font-size: var(--fluid-12-16);
	font-weight: 500;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: uppercase;
	white-space: nowrap;
	min-width: 9ch;
	background: var(--color-gradient-01);
	background-repeat: no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent
}

.dc-agenda__desc {
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01)
}

#dc-register {
	padding: var(--space-3xl) 0 var(--space-5xl);
	border-top: 1px solid var(--color-dark-03)
}

#dc-register .o-grid+.o-grid {
	margin-top: var(--space-xl)
}

#dc-register__label {
	--theme: var(--color-accent-02)
}

#dc-register__subhead {
	--column-start: 2;
	--column-span: 3;
	font-size: var(--body1);
	line-height: 1.5;
	font-family: var(--font-family-body);
	color: var(--color-grey-01);
	max-width: 40ch;
	align-self: flex-start
}

#dc-register__subhead p+p {
	margin-top: var(--space-s)
}

@media (max-width: 991.98px) {
	#dc-register__subhead {
		--column-start: 2;
		--column-span: 10
	}
}

@media (max-width: 767.98px) {
	#dc-register__subhead {
		--column-start: 1;
		--column-span: 12
	}
}

#dc-register__form {
	--column-start: 5;
	--column-span: 6
}

#dc-register__form .hs-form-html .hsfc-EmailField,
#dc-register__form .hs-form-html .hsfc-TextField {
	border-color: var(--color-dark-03);
	background: var(--body-background-color)
}

#dc-register__form .hs-form-html .hsfc-EmailField label,
#dc-register__form .hs-form-html .hsfc-TextField label {
	color: var(--color-grey-02)
}

#dc-register__form .hs-form-html .hsfc-EmailField input,
#dc-register__form .hs-form-html .hsfc-TextField input {
	color: var(--color-light-02)
}

#dc-register__form .hs-form-html .hsfc-EmailField input::-moz-placeholder,
#dc-register__form .hs-form-html .hsfc-TextField input::-moz-placeholder {
	color: var(--color-grey-02)
}

#dc-register__form .hs-form-html .hsfc-EmailField input::placeholder,
#dc-register__form .hs-form-html .hsfc-TextField input::placeholder {
	color: var(--color-grey-02)
}

#dc-register__form .hs-form-html .hsfc-NavigationRow__Buttons .hsfc-Button {
	--background: var(--color-light-02);
	--color: var(--color-dark-01)
}

#dc-register__form .hs-form-html .hsfc-PostSubmit .hsfc-RichText {
	color: var(--color-light-02) !important
}

@media (max-width: 991.98px) {
	#dc-register__form {
		--column-start: 2;
		--column-span: 10;
		margin-top: var(--space-l)
	}
}

@media (max-width: 767.98px) {
	#dc-register__form {
		--column-start: 1;
		--column-span: 12
	}
}

#dc-register__placeholder {
	font-size: var(--input-text);
	line-height: 1.5;
	font-family: var(--font-family-heading);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	border: 1px dashed var(--color-dark-03);
	color: var(--color-grey-02);
	background: var(--body-background-color);
	text-align: center;
	padding: var(--space-m)
}

.u-col-1 {
	--column-span: 1
}

.u-col-6 {
	--column-span: 6
}

code[class*=language-],
pre[class*=language-] {
	color: #ccc;
	background: none;
	font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	hyphens: none
}

pre[class*=language-] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto
}

:not(pre)>code[class*=language-],
pre[class*=language-] {
	background: #2d2d2d
}

:not(pre)>code[class*=language-] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #999
}

.token.punctuation {
	color: #ccc
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
	color: #e2777a
}

.token.function-name {
	color: #6196cc
}

.token.boolean,
.token.number,
.token.function {
	color: #f08d49
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
	color: #f8c555
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
	color: #cc99cd
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
	color: #7ec699
}

.token.operator,
.token.entity,
.token.url {
	color: #67cdcc
}

.token.important,
.token.bold {
	font-weight: 700
}

.token.italic {
	font-style: italic
}

.token.entity {
	cursor: help
}

.token.inserted {
	color: green
}

div.code-toolbar {
	position: relative
}

div.code-toolbar>.toolbar {
	position: absolute;
	z-index: 10;
	top: .3em;
	right: .2em;
	transition: opacity .3s ease-in-out;
	opacity: 0
}

div.code-toolbar:hover>.toolbar {
	opacity: 1
}

div.code-toolbar:focus-within>.toolbar {
	opacity: 1
}

div.code-toolbar>.toolbar>.toolbar-item {
	display: inline-block
}

div.code-toolbar>.toolbar>.toolbar-item>a {
	cursor: pointer
}

div.code-toolbar>.toolbar>.toolbar-item>button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none
}

div.code-toolbar>.toolbar>.toolbar-item>a,
div.code-toolbar>.toolbar>.toolbar-item>button,
div.code-toolbar>.toolbar>.toolbar-item>span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: #e0e0e033;
	box-shadow: 0 2px #0003;
	border-radius: .5em
}

div.code-toolbar>.toolbar>.toolbar-item>a:hover,
div.code-toolbar>.toolbar>.toolbar-item>a:focus,
div.code-toolbar>.toolbar>.toolbar-item>button:hover,
div.code-toolbar>.toolbar>.toolbar-item>button:focus,
div.code-toolbar>.toolbar>.toolbar-item>span:hover,
div.code-toolbar>.toolbar>.toolbar-item>span:focus {
	color: inherit;
	text-decoration: none
}

.copy-to-clipboard-button {
	background: var(--color-light-01) !important;
	padding: var(--space-2xs) var(--space-s) !important;
	border-radius: 0 !important;
	text-transform: uppercase;
	color: var(--color-dark-01) !important;
	font-weight: 500 !important;
	font-family: var(--font-family-heading) !important
}