charset "UTF-8";
@font-face {
	font-family: "RoadRadio";
	src: url("fonts/RoadRadio-Bold.woff2") format("woff2"),
		url("fonts/RoadRadio-Bold.woff") format("woff");
	font-style: normal;
	font-weight: 300;
	font-display: swap;
} /* Chillax */
@font-face {
	font-family: "Chillax";
	src: url("fonts/Chillax-Regular.woff2") format("woff2"),
		url("fonts/Chillax-Regular.woff") format("woff");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: "Chillax";
	src: url("fonts/Chillax-Bold.woff2") format("woff2"),
		url("fonts/Chillax-Bold.woff") format("woff");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}
@font-face {
	font-family: "Chillax";
	src: url("fonts/Chillax-SemiBold.woff2") format("woff2"),
		url("fonts/Chillax-SemiBold.woff") format("woff");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
} /* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1600,18,1.2,10,2,&s=0.75|0.5,1.5|2|3|4|6|7|8|9|10|11,s-l&g=s,l,xl,12 */
:root {
	--step--2: clamp(0.69rem, calc(0.67rem + 0.11vw), 0.78rem);
	--step--1: clamp(0.83rem, calc(0.81rem + 0.13vw), 0.94rem);
	--step-0: clamp(1rem, calc(0.97rem + 0.16vw), 1.13rem);
	--step-1: clamp(1.2rem, calc(1.16rem + 0.19vw), 1.35rem);
	--step-2: clamp(1.44rem, calc(1.4rem + 0.23vw), 1.62rem);
	--step-3: clamp(1.73rem, calc(1.67rem + 0.27vw), 1.94rem);
	--step-4: clamp(2.07rem, calc(2.01rem + 0.32vw), 2.33rem);
	--step-5: clamp(2.49rem, calc(2.41rem + 0.39vw), 2.8rem);
	--step-7: clamp(2.99rem, calc(2.89rem + 0.47vw), 3.36rem);
	--step-6: clamp(3.58rem, calc(3.47rem + 0.56vw), 4.03rem);
	--step-8: clamp(4.3rem, calc(4.17rem + 0.67vw), 4.84rem);
	--step-9: clamp(5.16rem, calc(5rem + 0.81vw), 5.81rem);
	--step-10: clamp(6.19rem, calc(6rem + 0.97vw), 6.97rem); /* grid */
	--space-2xs: clamp(0.5rem, calc(0.48rem + 0.08vw), 0.56rem);
	--space-xs: clamp(0.75rem, calc(0.72rem + 0.16vw), 0.88rem);
	--space-s: clamp(1rem, calc(0.97rem + 0.16vw), 1.13rem);
	--space-m: clamp(1.5rem, calc(1.45rem + 0.23vw), 1.69rem);
	--space-l: clamp(2rem, calc(1.94rem + 0.31vw), 2.25rem);
	--space-xl: clamp(3rem, calc(2.91rem + 0.47vw), 3.38rem);
	--space-2xl: clamp(4rem, calc(3.88rem + 0.63vw), 4.5rem);
	--space-3xl: clamp(6rem, calc(5.81rem + 0.94vw), 6.75rem);
	--space-4xl: clamp(7rem, calc(6.78rem + 1.09vw), 7.88rem);
	--space-5xl: clamp(8rem, calc(7.75rem + 1.25vw), 9rem);
	--space-6xl: clamp(9rem, calc(8.72rem + 1.41vw), 10.13rem);
	--space-7xl: clamp(10rem, calc(9.69rem + 1.56vw), 11.25rem);
	--space-8xl: clamp(
		11rem,
		calc(10.66rem + 1.72vw),
		12.38rem
	); /* One-up pairs */
	--space-2xs-xs: clamp(0.5rem, calc(0.41rem + 0.47vw), 0.88rem);
	--space-xs-s: clamp(0.75rem, calc(0.66rem + 0.47vw), 1.13rem);
	--space-s-m: clamp(1rem, calc(0.83rem + 0.86vw), 1.69rem);
	--space-m-l: clamp(1.5rem, calc(1.31rem + 0.94vw), 2.25rem);
	--space-l-xl: clamp(2rem, calc(1.66rem + 1.72vw), 3.38rem);
	--space-xl-2xl: clamp(3rem, calc(2.63rem + 1.88vw), 4.5rem);
	--space-2xl-3xl: clamp(4rem, calc(3.31rem + 3.44vw), 6.75rem);
	--space-3xl-4xl: clamp(6rem, calc(5.53rem + 2.34vw), 7.88rem);
	--space-4xl-5xl: clamp(7rem, calc(6.5rem + 2.5vw), 9rem);
	--space-5xl-6xl: clamp(8rem, calc(7.47rem + 2.66vw), 10.13rem);
	--space-6xl-7xl: clamp(9rem, calc(8.44rem + 2.81vw), 11.25rem);
	--space-7xl-8xl: clamp(
		10rem,
		calc(9.41rem + 2.97vw),
		12.38rem
	); /* Custom pairs */
	--space-s-l: clamp(1rem, calc(0.69rem + 1.56vw), 2.25rem);
}
:root {
	--initial-vh: 1vh;
	--actual-vh: 1vh;
	--font-family-heading: "RoadRadio", -apple-system, blinkmacsystemfont,
		"Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue",
		sans-serif;
	--font-family-body: "Chillax", -apple-system, blinkmacsystemfont,
		"Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue",
		sans-serif;
	--font-family-mono: "Chillax", -apple-system, blinkmacsystemfont, "Segoe UI",
		roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif;
	--body-font-size: var(--step-0);
	--body-font-weight: 200;
	--body-line-height: 1.4;
	--heading-line-height: 0.9;
	--stroke-width: 2px;
	--body-color: var(--color-black);
	--logo-height: calc(var(--space-2xl) * 1);
	--logo-width: calc(140 / 81 * var(--logo-height));
	--color-placeholder: var(--color-gray-01);
	--column-width: calc(
		(100vw - var(--container-padding) * 2 - var(--gutter) * 11) / 12
	);
	--column-width-gutter: calc(var(--column-width) + var(--gutter));
	--column-width-2-gutter: calc(var(--column-width) + var(--gutter) * 2);
	--padding-bg-image: var(--space-5xl) 0;
	--site-header-height: calc(var(--logo-height) + var(--container-padding) * 2);
	--banner-padding: 8px;
	--banner-radius: 10px;
	--container-padding: 1rem;
	--gutter: 1rem;

	/* Original new */
/*	--color-black: #2B2B2B;
	--color-white: #BFBAA4;
	--color-yellow: #bfb173;
	--color-gray-01: #d1d1d1;
	--color-gray-02: #888888;
	--color-gray-03: #6d6d6d;
	--color-gray-04: #5d5d5d;
	--color-orange: #ad9553;*/

	/* Original Colours */
	--color-black: #000000;
	--color-white: #F0EBE1;
	--color-yellow: #ffe458;
	--color-gray-01: #e5e5dc;
	--color-gray-02: #cacac1;
	--color-gray-03: #898983;
	--color-gray-04: #4f4f48;
	--color-orange: #F58220;
	--color-orange-2:#F6913C;


	--color-logo-light: #F0EBE1;
	--color-logo-dark: #000000;
}
@media (min-width: 768px) {
	:root {
		--container-padding: 3vw;
	}
}
@media (min-width: 768px) {
	:root {
		--gutter: 1.25vw;
	}
}
@media (min-width: 768px) {
	:root {
		--logo-height: var(--space-2xl);
		--site-header-height: calc(var(--logo-height) + var(--container-padding) * 2);
	}
}
@media (min-width: 992px) {
	:root {
		--padding-bg-image: 40vh 0;
	}
}
:root.theme-black {
	--color-placeholder: var(--color-gray-04);
}
:root .c-overlay {
	--color-placeholder: var(--color-gray-01) !important;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
* {
	margin: 0;
	padding: 0;
}
body {
	color: var(--body-color, #000);
	font-family: var(--font-family-body);
	font-size: var(--body-font-size);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	line-height: var(--body-line-height);
	background-color: var(--body-color-background, #fff);
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}
img,
picture,
video,
canvas,
svg {
	display: block;
	width: 100%;
	max-width: 100%;
}
article,
aside,
figure,
footer,
header,
aside,
main,
nav {
	display: block;
}
input,
button,
select,
optgroup,
textarea {
	color: var(--body-color);
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}
ul[role="tablist"],
ol[role="tablist"],
ul[role="list"],
ol[role="list"] {
	list-style: none;
}
a {
	color: currentcolor;
	text-decoration: none;
	outline: none;
}
a:hover {
	text-decoration: underline;
}
button,
[role="button"] {
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	background: none;
	border: none;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}
select {
	word-wrap: normal;
}
select:disabled {
	opacity: 1;
}
textarea {
	resize: vertical;
}
fieldset {
	min-width: 0;
	border: 0;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}
svg {
	overflow: visible;
}
iframe {
	border: none;
}
dfn {
	font-style: normal;
}
abbr {
	text-decoration: none;
}
html {
	scroll-behavior: smooth;
}
html.has-scroll-smooth {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
html.has-scroll-smooth [data-scroll-speed] {
	will-change: transform;
}
html.no-transition * {
	transition: none;
}
html.is-transitioning * {
	pointer-events: none;
}
html:not(.dom-loaded) * {
	transition: none !important;
}
html.is-loading *,
html.is-loading *::after,
html.is-loading *::before {
	cursor: wait !important;
}
html:not(.has-scroll-smooth, .body-scroll-locked) {
	overflow-y: scroll;
	overscroll-behavior-y: none;
}
html body {
	--body-color-background: var(--color-white);
	overscroll-behavior-y: none;
	transition: color 1s 0s, opacity 0s;
}
html.is-transitioning body {
	transition: color 1s 1s;
}
html.theme-black body {
	--body-color: var(--color-white);
}
html:not(.dom-loaded) body {
	opacity: 0;
}
a {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
a[href^="mailto:"] {
	-webkit-user-select: auto;
	-moz-user-select: auto;
	user-select: auto;
}
[data-bg] {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0;
	transition: opacity 1s;
}
[data-bg].lazyloaded {
	opacity: 1;
}
.c-titles__list-item,
.c-site-header__menu-top a,
.c-site-footer__title,
.c-banner-hp__service-item,
h1:not(.no-heading),
h2:not(.no-heading),
h3:not(.no-heading),
h4:not(.no-heading),
h5:not(.no-heading),
h6:not(.no-heading) {
	font-family: var(--font-family-heading);
	font-weight: 700;
	line-height: var(--heading-line-height, calc(1.08em + 4px));
	text-transform: uppercase;
}
.theme-black .c-titles__list-item,
.theme-black .c-site-header__menu-top a,
.c-site-header__menu-top .theme-black a,
.theme-black .c-site-footer__title,
.theme-black h1:not(.no-heading),
.theme-black h2:not(.no-heading),
.theme-black h3:not(.no-heading),
.theme-black h4:not(.no-heading),
.theme-black h5:not(.no-heading),
.theme-black h6:not(.no-heading) {
	color: var(--color-gray-01);
	transition: color 1s 0s;
}
.theme-black .c-banner-hp__service-item{
    color: var(--color-black);
	transition: color 1s 0s;
}
.c-overlay .c-titles__list-item,
.c-overlay .c-site-header__menu-top a,
.c-site-header__menu-top .c-overlay a,
.c-overlay .c-site-footer__title,
.c-overlay .c-banner-hp__service-item,
.c-overlay h1:not(.no-heading),
.c-overlay h2:not(.no-heading),
.c-overlay h3:not(.no-heading),
.c-overlay h4:not(.no-heading),
.c-overlay h5:not(.no-heading),
.c-overlay h6:not(.no-heading) {
	color: var(--color-black) !important;
}
.f-mono {
	font-family: var(--font-family-mono);
}
h1 {
	font-size: var(--step-8);
}
h2 {
	font-size: var(--step-7);
}
h3 {
	font-size: var(--step-7);
}
h4 {
	font-size: var(--step-5);
}
h5 {
	font-size: var(--step-4);
}
h6 {
	font-size: var(--step-3);
}
.theme-light,
[data-theme="light"] {
	--theme-color-bg: var(--color-white);
	--theme-color-text: var(--color-black);
}
.theme-dark,
[data-theme="dark"] {
	--theme-color-bg: var(--color-black);
	--theme-color-text: var(--color-white);
}
.o-button {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: auto;
	display: block;
	padding: 0.5em 0.84em;
	font-family: var(--font-family-mono);
	font-weight: 700;
	line-height: 0.9;
	text-transform: uppercase;
	background: var(--color-gray-01);
	border-radius: 7px;
	transition: background 0.25s;
}
@media (min-width: 768px) {
	.o-button {
		padding: 0.35em 0.6em;
	}
}
.o-button:hover {
	cursor: pointer;
	background-color: var(--color-orange);
}
.o-button.o-button--js-hover:hover {
	cursor: unset;
	background: var(--color-gray-01);
}
.o-button-arrow {
	position: relative;
	display: inline-block;
	overflow: hidden;
	margin-left: var(--space-l);
	padding: calc(var(--space-xs) * 0.75) calc(var(--space-2xs) * 0.8);
	color: var(--color-white);
	font-size: 0;
	line-height: 0;
	background: var(--color-black);
	border-radius: 7px;
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
	transform-origin: 0 50%;
}
.c-site-footer__title .o-button-arrow {
	transform-origin: 0 100%;
}
.o-button-arrow .o-icon {
	--left: calc(var(--step-0) + var(--space-xs) * 0.75 - 7px);
	--top: calc(var(--step-0) + var(--space-2xs) * 0.8);
	position: relative;
	z-index: 2;
	display: block;
}
.o-button-arrow .o-icon:last-child {
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s 0.15s;
}
a.link-active .o-button-arrow .o-icon:last-child {
	opacity: 0;
	transition: transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06),
		opacity 0.25s;
	transform: translate(var(--left), calc(var(--top) * -1));
}
@media (hover: hover) {
	a:hover .o-button-arrow .o-icon:last-child {
		opacity: 0;
		transition: transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06),
			opacity 0.25s;
		transform: translate(var(--left), calc(var(--top) * -1));
	}
}
.o-button-arrow .o-icon:first-child {
	position: absolute;
	opacity: 0;
	transition: transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06),
		opacity 0.25s;
	transform: translate(calc(var(--left) * -1), var(--top));
}
a.link-active .o-button-arrow .o-icon:first-child {
	opacity: 1;
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s 0.15s;
	transform: translate(0, 0);
}
@media (hover: hover) {
	a:hover .o-button-arrow .o-icon:first-child {
		opacity: 1;
		transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1),
			opacity 0.25s 0.15s;
		transform: translate(0, 0);
	}
}
.o-button-arrow::before,
.o-button-arrow::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
	content: "";
	transform: rotate(0deg) scale(2.4, 1.2) translate(15%, 90%);
	transform-origin: 100% 0;
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1);
}
a.link-active .o-button-arrow::before,
a.link-active .o-button-arrow::after {
	transform: rotate(20deg) scale(2.4, 1.25) translate(15%, 5%);
}
@media (hover: hover) {
	a:hover .o-button-arrow::before,
	a:hover .o-button-arrow::after {
		transform: rotate(20deg) scale(2.4, 1.25) translate(15%, 5%);
	}
}
.o-button-arrow::before {
	background: var(--color-white);
	transition-delay: 0.1s;
}
a.link-active .o-button-arrow::before {
	transition-delay: 0s;
}
@media (hover: hover) {
	a:hover .o-button-arrow::before {
		transition-delay: 0s;
	}
}
.o-button-arrow::after {
	background: var(--color-orange);
	transition-delay: 0s;
}
a.link-active .o-button-arrow::after {
	transition-delay: 0.1s;
}
@media (hover: hover) {
	a:hover .o-button-arrow::after {
		transition-delay: 0.1s;
	}
}
a.link-active .o-button-arrow {
	transform: scale(1.2);
}
@media (hover: hover) {
	a:hover .o-button-arrow {
		transform: scale(1.2);
	}
}
.o-container {
	width: 100%;
	max-width: var(--grid-max-width);
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--container-padding);
	padding-left: var(--container-padding);
}
.o-cta {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	display: inline-flex;
	align-items: center;
	font-family: var(--font-family-mono);
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}
.o-cta:hover {
	text-decoration: none;
}
.o-cta__text-wrapper {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 1em;
}
.o-cta__text-wrapper span {
	display: block;
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
	transform: translate3d(0, 0, 0);
	transform-origin: 100% 50%;
}
.o-cta__text-wrapper span:last-child {
	transform: translate(0, 0) rotate(-7deg);
}
a.link-active .o-cta__text-wrapper span:first-child {
	transform: translateY(-100%) rotate(7deg);
}
a.link-active .o-cta__text-wrapper span:last-child {
	transform: translateY(-100%);
}
@media (hover: hover) {
	a:hover .o-cta__text-wrapper span:first-child {
		transform: translateY(-100%) rotate(7deg);
	}
	a.link-active .o-cta__text-wrapper span:last-child,
	a:hover .o-cta__text-wrapper span:last-child {
		transform: translateY(-100%);
	}
}
.o-email {
	overflow: hidden;
}
@media (hover: hover) {
	.o-email {
		--height: calc(var(--body-line-height) * 1em);
		display: inline-block;
		height: var(--height);
	}
	.o-email span {
		pointer-events: none;
		display: block;
		transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1);
	}
	.o-email span::after {
		display: block;
		content: "Email copied :)";
	}
	.o-email.clicked {
		pointer-events: none;
	}
	.o-email.clicked span {
		transform: translateY(calc(-1 * var(--height)));
	}
}
.o-figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: calc(var(--height, 3) / var(--width, 4) * 100%);
	will-change: transform;
}
.o-figure video {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.o-figure__image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: center/cover no-repeat;
	opacity: 0.001;
	transition: opacity 2s;
}
.video-loaded + .o-figure__image {
	opacity: 0 !important;
}
.is-inview .o-figure__image.lazyloaded {
	opacity: 1;
}
.o-figure__image.is-inview.lazyloaded {
	opacity: 1;
}
img {
	opacity: 0.001;
	transition: opacity 2s;
}
img.lazyloaded {
	opacity: 1;
}
.o-grid {
	display: grid;
	grid-template-rows: repeat(var(--rows, 1), 1fr);
	grid-template-columns: repeat(var(--columns, 12), 1fr);
	gap: var(--gutter-y, var(--gutter)) var(--gutter-x, var(--gutter));
}
.o-grid > * {
	grid-column: auto/span var(--column-span, 12);
	grid-column-start: var(--column-start, auto);
}
.o-col-1 {
	--column-span: 1;
}
.o-col-6 {
	--column-span: 6;
}
.o-hover-roll {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: calc(1em * var(--body-line-height));
}
.o-hover-roll span {
	display: block;
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1);
	transform: translate3d(0, 0, 0);
	transform-origin: 100% 50%;
}
.o-hover-roll span:last-child {
	transform: translate(0, 0) rotate(-7deg);
}
@media (hover: hover) {
	a.link-active .o-hover-roll span:first-child,
	.o-hover-roll:hover span:first-child {
		transform: translateY(-100%) rotate(7deg);
	}
	a.link-active .o-hover-roll span:last-child,
	.o-hover-roll:hover span:last-child {
		transform: translateY(-100%);
	}
}
.o-hover-underline:not(.has-split-text) {
	position: relative;
	display: inline-block;
}
.o-hover-underline:not(.has-split-text)::before {
	position: absolute;
	z-index: -1;
	bottom: 0.2em;
	left: 0;
	width: 100%;
	height: 1px;
	background: currentcolor;
	transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
	content: "";
	transform: scaleX(0);
	transform-origin: 100% 50%;
	will-change: transform;
}
@media (hover: hover) {
	.o-hover-underline:not(.has-split-text):hover::before {
		transform: scaleX(1);
		transform-origin: 0 50%;
	}
}
.o-hover-underline .o-text-reveal__wrapper {
	position: relative;
	display: inline-block;
	align-self: flex-start;
}
.o-hover-underline .o-text-reveal__wrapper::before {
	position: absolute;
	z-index: -1;
	bottom: 0.2em;
	left: 0;
	width: 100%;
	height: 1px;
	background: currentcolor;
	transition: transform 0.5s calc(var(--index) * 0.1s)
		cubic-bezier(0.23, 1, 0.32, 1);
	content: "";
	transform: scaleX(0);
	transform-origin: 100% 50%;
	will-change: transform;
}
@media (hover: hover) {
	.o-hover-underline:hover .o-text-reveal__wrapper::before {
		transform: scaleX(1);
		transform-origin: 0 50%;
	}
}
.o-icon {
	display: inline-block;
	width: var(--step-0);
	height: var(--step-0);
	stroke-width: var(--stroke-width);
	stroke: currentcolor;
	fill: none;
}
.o-icon--linkedin,
.o-icon--vimeo,
.o-icon--instagram {
	width: calc(var(--step-0) + 2px);
	height: calc(var(--step-0) + 2px);
	fill: currentcolor;
	stroke: none;
}
.o-icon--logo-condensed {
	width: 49px;
	height: 36px;
	fill: currentcolor;
	stroke: none;
}
.o-icon__svg {
	width: 100%;
	height: 100%;
}
.o-reveal-childs > *,
.o-reveal {
	transform: translateY(var(--reveal-y, var(--space-l)));
	opacity: 0.001;
	transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1.5s;
	transition-delay: calc(
		var(--index-delay, 0.075s) * var(--index, 0) + var(--stagger-delay, 0.25s) *
			var(--stagger, 0)
	);
	will-change: opacity, transform;
}
.dom-loaded .is-inview.o-reveal-childs > *,
.dom-loaded .is-inview .o-reveal-childs > *,
.dom-loaded .is-inview.o-reveal,
.dom-loaded .is-inview .o-reveal {
	transform: none;
	opacity: 1;
}
.o-reveal-childs > *:nth-child(n + 10) {
	--stagger: 10;
}
.o-reveal-childs > *:nth-child(4) {
	--stagger: 4;
}
.o-reveal-childs > *:nth-child(5) {
	--stagger: 5;
}
.o-reveal-childs > *:nth-child(6) {
	--stagger: 6;
}
.o-reveal-childs > *:nth-child(7) {
	--stagger: 7;
}
.o-reveal-childs > *:nth-child(8) {
	--stagger: 8;
}
.o-reveal-childs > *:nth-child(9) {
	--stagger: 9;
}
.o-reveal-childs > *:nth-child(10) {
	--stagger: 10;
}
.o-tag-list {
	display: flex;
}
.o-tag-list > * {
	display: flex;
	align-items: center;
}
.o-tag-list > *:not(:first-child) {
	position: relative;
	margin-left: calc(5px + 1rem);
}
.o-tag-list > *:not(:first-child)::after {
	position: absolute;
	pointer-events: none;
	top: 50%;
	left: calc(-0.5rem - 5px);
	display: block;
	width: 5px;
	height: 5px;
	background: currentcolor;
	border-radius: 50%;
	transform: translateY(-50%);
	content: "";
}
.o-text-reveal {
	--speed: 1s;
}
.o-text-reveal:not(.has-split-text) {
	visibility: hidden;
}
.o-text-reveal__wrapper {
	overflow: hidden;
}
.o-text-reveal__item {
	will-change: transform;
	transition: transform var(--speed) cubic-bezier(0.23, 1, 0.32, 1)
		calc(var(--index, 0) * 0.15s);
	transform: translateY(110%);
}
.dom-loaded .is-inview .o-text-reveal__item {
	transform: translateY(0%);
}
.o-video {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
html.has-scroll-smooth {
	overflow: hidden;
}
html.has-scroll-dragging {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.has-scroll-smooth body {
	overflow: hidden;
}
.has-scroll-smooth [data-scroll-container] {
	min-height: 100vh;
}
[data-scroll-direction="horizontal"] [data-scroll-container] {
	height: 100vh;
	display: inline-block;
	white-space: nowrap;
}
[data-scroll-direction="horizontal"] [data-scroll-section] {
	display: inline-block;
	vertical-align: top;
	white-space: nowrap;
	height: 100%;
}
.c-scrollbar {
	position: absolute;
	right: 0;
	top: 0;
	width: 11px;
	height: 100%;
	transform-origin: center right;
	transition: transform 0.3s, opacity 0.3s;
	opacity: 0;
}
.c-scrollbar:hover {
	transform: scaleX(1.45);
}
.c-scrollbar:hover,
.has-scroll-scrolling .c-scrollbar,
.has-scroll-dragging .c-scrollbar {
	opacity: 1;
}
[data-scroll-direction="horizontal"] .c-scrollbar {
	width: 100%;
	height: 10px;
	top: auto;
	bottom: 0;
	transform: scaleY(1);
}
[data-scroll-direction="horizontal"] .c-scrollbar:hover {
	transform: scaleY(1.3);
}
.c-scrollbar_thumb {
	position: absolute;
	top: 0;
	right: 0;
	background-color: black;
	opacity: 0.5;
	width: 7px;
	border-radius: 10px;
	margin: 2px;
	cursor: grab;
}
.has-scroll-dragging .c-scrollbar_thumb {
	cursor: grabbing;
}
[data-scroll-direction="horizontal"] .c-scrollbar_thumb {
	right: auto;
	bottom: 0;
}
.c-scrollbar {
	opacity: 0;
	transition: opacity 1s 1s, transform 0.3s 0s;
}
@media (max-width: 991.98px) {
	.c-scrollbar {
		pointer-events: none;
	}
}
.intro-complete .c-scrollbar {
	opacity: 1;
}
.is-transitioning .c-scrollbar {
	opacity: 0;
	transition-delay: 0s;
}
.c-overlay .c-scrollbar {
	opacity: 0;
}
.c-scrollbar_thumb {
	width: calc(var(--banner-padding) / 2);
	margin: 0;
	background: var(--color-orange);
	border-radius: 0;
	opacity: 1;
} /*! Flickity v3.0.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
	position: relative;
}
.flickity-enabled:focus {
	outline: none;
}
.flickity-viewport {
	overflow: hidden;
	position: relative;
	height: 100%;
	touch-action: pan-y;
}
.flickity-slider {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
}
.flickity-rtl .flickity-slider {
	left: unset;
	right: 0;
} /* draggable */
.flickity-enabled.is-draggable {
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
	cursor: move;
	cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
	cursor: grabbing;
} /* ---- flickity-cell ---- */
.flickity-cell {
	position: absolute;
	left: 0;
}
.flickity-rtl .flickity-cell {
	left: unset;
	right: 0;
} /* ---- flickity-button ---- */
.flickity-button {
	position: absolute;
	background: hsl(0 0% 100%/75%);
	border: none;
	color: #333;
}
.flickity-button:hover {
	background: white;
	cursor: pointer;
}
.flickity-button:focus {
	outline: none;
	box-shadow: 0 0 0 5px #19f;
}
.flickity-button:active {
	opacity: 0.6;
}
.flickity-button:disabled {
	opacity: 0.3;
	cursor: auto; /* prevent disabled button from capturing pointer up event. #716 */
	pointer-events: none;
}
.flickity-button-icon {
	fill: currentColor;
} /* ---- previous/next buttons ---- */
.flickity-prev-next-button {
	top: 50%;
	width: 44px;
	height: 44px;
	border-radius: 50%; /* vertically center */
	transform: translateY(-50%);
}
.flickity-prev-next-button.previous {
	left: 10px;
}
.flickity-prev-next-button.next {
	right: 10px;
} /* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
	left: auto;
	right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
	right: auto;
	left: 10px;
}
.flickity-prev-next-button .flickity-button-icon {
	position: absolute;
	left: 20%;
	top: 20%;
	width: 60%;
	height: 60%;
} /* ---- page dots ---- */
.flickity-page-dots {
	position: absolute;
	width: 100%;
	bottom: -25px;
	text-align: center;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.flickity-rtl .flickity-page-dots {
	direction: rtl;
}
.flickity-page-dot {
	display: block;
	width: 10px;
	height: 10px;
	padding: 0;
	margin: 0 8px;
	background: hsl(0 0% 20%/25%);
	border-radius: 50%;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	text-indent: -9999px;
	overflow: hidden;
}
.flickity-rtl .flickity-page-dot {
	text-indent: 9999px;
}
.flickity-page-dot:focus {
	outline: none;
	box-shadow: 0 0 0 5px #19f;
}
.flickity-page-dot.is-selected {
	background: hsl(0 0% 20%/100%);
} /* stylelint-disable scss/at-extend-no-missing-placeholder */
.vjs-modal-dialog .vjs-modal-dialog-content,
.video-js .vjs-modal-dialog,
.vjs-button > .vjs-icon-placeholder:before,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.vjs-button > .vjs-icon-placeholder:before,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
	text-align: center;
}
@font-face {
	font-family: VideoJS;
	src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABDkAAsAAAAAG6gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV3hY21hcAAAAYQAAADaAAADPv749/pnbHlmAAACYAAAC3AAABHQZg6OcWhlYWQAAA3QAAAAKwAAADYZw251aGhlYQAADfwAAAAdAAAAJA+RCLFobXR4AAAOHAAAABMAAACM744AAGxvY2EAAA4wAAAASAAAAEhF6kqubWF4cAAADngAAAAfAAAAIAE0AIFuYW1lAAAOmAAAASUAAAIK1cf1oHBvc3QAAA/AAAABJAAAAdPExYuNeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGS7wTiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGJHcRdyA4RZgQRADK3CxEAAHic7dFZbsMgAEXRS0ycyZnnOeG7y+qC8pU1dHusIOXxuoxaOlwZYWQB0Aea4quIEN4E9LzKbKjzDeM6H/mua6Lmc/p8yhg0lvdYx15ZG8uOLQOGjMp3EzqmzJizYMmKNRu27Nhz4MiJMxeu3Ljz4Ekqm7T8P52G8PP3lnTOVk++Z6iN6QZzNN1F7ptuN7eGOjDUoaGODHVsuvU8MdTO9Hd5aqgzQ50b6sJQl4a6MtS1oW4MdWuoO0PdG+rBUI+GejLUs6FeDPVqqDdDvRvqw1CfhpqM9At0iFLaAAB4nJ1YDXBTVRZ+5/22TUlJ8we0pHlJm7RJf5O8F2j6EymlSPkpxaL8U2xpa3DKj0CBhc2IW4eWKSokIoLsuMqssM64f+jA4HSdWXXXscBq67IOs3FXZ1ZYWVyRFdo899yXtIBQZ90k7717zz3v3HPPOfd854YCCj9cL9dL0RQFOqCbGJnrHb5EayiKIWN8iA/hWBblo6hUWm8TtCDwE80WMJus/irwyxOdxeB0MDb14VNJHnXYoLLSl6FfCUYO9nYPTA8Epg9090LprfbBbZ2hY0UlJUXHQp3/vtWkS6EBv8+rPMq5u9692f/dNxJNiqwC1xPE9TCUgCsSdQWgE3XQD25lkG4CN2xmTcOXWBOyser6RN6KnGbKSbmQ3+d0OI1m2W8QzLLkI2sykrWAgJJEtA8vGGW/2Q+CmT3n8zS9wZwu2DCvtuZKZN3xkrLh36yCZuUomQSqGpY8t/25VfHVhw8z4ebGBtfLb0ya9PCaDc+8dGTvk2dsh6z7WzvowlXKUSWo9MJ15a3KrEP2loOr2Ojhw6iW6hf2BDdEccQvZGpaAy7YovSwq8kr7HGllxpd71rkS6G0Sf11sl9OvMK1+jwPPODxjUwkOim9CU3ix1wNjXDfmJSEn618Bs6lpWwUpU+8PCqLMY650zjq8VhCIP17NEKTx3eaLL+s5Pi6yJWaWjTHLR1jYzPSV9VF/6Ojdb/1kO3Mk3uhHC0x6gc1BjlKQ+nQFxTYdaJkZ7ySVxLBbhR1dsboNXp1tCYKW2LRaEzpYcIx2BKNxaL0ZaUnSqfFoiNhHKR/GkX6PWUSAaJelQaqZL1EpoHNsajSEyPSoJ9IjhIxTdjHLmwZvhRDOiFTY/YeQnvrVZmiTQtGncECXtFTBZLOVwwMRgoXHAkXzMzPn1nAJJ8jYSbMDaqN2waGLzNhih/bZynUBMpIWSg7VYi7DRx2m8ALkIdRCJwI6ArJx2EI8kaDWeTQKeAFk9fjl/1AvwktjQ1P7NjyMGQyfd4vjipX6M/i52D7Cq80kqlcxEcGXRr/FEcgs0u5uGgB4VWuMFfpdn2Re6Hi3PqzmxWKsz6+ae2Pn9hXXw/fqM859UiGC0oKYYILJBqJrsn1Z1E5qOs9rQCiUQRREjm8yJcbHF5cUJufX1vAHlefw0XgUoboS3ETfQlTxBC4SOtuE8VPRJTBSCQSjZCpk7Gqzu+masaZ2y7Zjehho4F3g82BNDkAHpORG4+OCS+f6JTPmtRn/PH1kch6d04sp7AQb25aQ/pqUyXeQ8vrebG8OYQdXOQ+585u0sdW9rqalzRURiJ+9F4MweRFrKUjl1GUYhH1A27WOHw5cTFSFPMo9EeUIGnQTZHIaJ7AHLaOKsOODaNF9jkBjYG2QEsQ2xjMUAx2bBEbeTBWMHwskBjngq56S/yfgkBnWBa4K9sqKtq2t1UI8S9He5XuBRbawAdatrQEAi30Aks2+LM8WeCbalVZkWNylvJ+dqJnzVb+OHlSoKW8nPCP7Rd+CcZ2DdWAGqJ2CBFOphgywFFCFBNtfAbGtNPBCwxvygHeYMZMY9ZboBqwq/pVrsbgN5tkv152ODlbMfiqwGMBgxa4Exz3QhovRIUp6acqZmQzRq0ypDXS2TPLT02YIkQETnOE445oOGxOmXAqUJNNG7XgupMjPq2ua9asrj5yY/yuKteO1Kx0YNJTufrirLe1mZnat7OL6rnUdCWenpW6I8mAnbsY8KWs1PuSovCW9A/Z25PQ24a7cNOqgmTkLmBMgh4THgc4b9k2IVv1/g/F5nGljwPLfOgHAzJzh45V/4+WenTzmMtR5Z7us2Tys909UHqrPY7KbckoxRvRHhmVc3cJGE97uml0R1S0jdULVl7EvZtDFVBF35N9cEdjpgmAiOlFZ+Dtoh93+D3zzHr8RRNZQhnCNMNbcegOvpEwZoL+06cJQ07h+th3fZ/7PVbVC6ngTAV/KoLFuO6+2KFcU651gEb5ugPSIb1D+Xp8V4+k3sEIGnw5mYe4If4k1lFYr6SCzmM2EQ8iWtmwjnBI9kTwe1TlfAmXh7H02by9fW2gsjKwtv0aaURKil4OdV7rDL1MXIFNrhdxohcZXYTnq47WisrKitaObbf5+yvkLi5J6lCNZZ+B6GC38VNBZBDidSS/+mSvh6s+srgC8pyKMvDtt+de3c9fU76ZPfuM8ud4Kv0fyP/LqfepMT/3oZxSqpZaTa1DaQYLY8TFsHYbWYsPoRhRWfL5eSSQbhUGgGC3YLbVMk6PitTFNGpAsNrC6D1VNBKgBHMejaiuRWEWGgsSDBTJjqWIl8kJLlsaLJ2tXDr6xGfT85bM2Q06a46x2HTgvdnV8z5YDy/27J4zt6x2VtkzjoYpkq36kaBr4eQSg7tyiVweWubXZugtadl58ydapfbORfKsDTuZ0OBgx4cfdjCf5tbWNITnL120fdOi1RV1C3uKGzNdwYLcMvZ3BxoPyTOCD1XvXTp7U10gWCVmTV9b3r2z0SkGWovb2hp9I89O8a2smlyaO8muMU+dRmtzp60IzAoFpjLr1n388boLyf0dRvxhsHZ0qbWqDkwqvvpkj4l0fY6EIXRi5sQSrAvsVYwXRy4qJ2EVtD1AN7a0HWth9ymvL1xc3WTUKK/TAHA/bXDVtVWfOMfuGxGZv4Ln/jVr9jc3j1yMv0tndmyt9Vq88Y9gH1wtLX3KWjot5++jWHgAoZZkQ14wGQ20Fli71UmKJAy4xKMSTGbVdybW7FDDAut9XpD5AzWrYO7zQ8qffqF8+Ynd/clrHcdyxGy3a/3+mfNnzC/cBsveTjnTvXf1o6vzOlZw7WtqtdmPK/Errz/6NNtD72zmNOZfbmYdTGHfoofqI79Oc+R2n1lrnL6pOm0Up7kwxhTW12Amm7WYkXR2qYrF2AmgmbAsxZjwy1xpg/m1Je2vrp8v/nz2xpmlBg4E9hrMU341wVpTOh/OfmGvAnra8q6uctr60ZQHV3Q+WMQJykMj8ZsWn2QBOmmHMB+m5pDIpTFonYigiaKAhGEiAHF7EliVnQkjoLVIMPtJpBKHYd3A8GYH9jJzrWwmHx5Qjp7vDAX0suGRym1vtm/9W1/HyR8vczfMs6Sk8DSv855/5dlX9oQq52hT8syyp2rx5Id17IAyAM3wIjQPMOHzytEB64q6D5zT91yNbnx3V/nqnd017S9Y0605k3izoXLpsxde2n38yoOV9s1LcjwzNjbdX6asnBVaBj/6/DwKwPkpcqbDG7BnsXoSqWnUAmottYF6jMSdVyYZh3zVXCjwTiwwHH6sGuRiEHQGzuRX6whZkp123oy1BWE2mEfJ/tvIRtM4ZM5bDXiMsPMaAKOTyc5uL57rqyyc5y5JE5pm1i2S2iUX0CcaQ6lC6Zog7JqSqZmYlosl2K6pwNA84zRnQW6SaALYZQGW5lhCtU/W34N6o+bKfZ8cf3/Cl/+iTX3wBzpOY4mRkeNf3rptycGSshQWgGbYt5jFc2e0+DglIrwl6DVWQ7BuwaJ3Xk1J4VL5urnLl/Wf+gHU/hZoZdKNym6lG+I34FaNeZKcSpJIo2IeCVvpdsDGfKvzJnAwmeD37Ow65ZWwSowpgwX5T69s/rB55dP5BcpgDKFV8p7q2sn/1uc93bVzT/w6UrCqDTWvfCq/oCD/qZXNoUj8BL5Kp6GU017frfNXkAtiiyf/SOCEeLqnd8R/Ql9GlCRfctS6k5chvIBuQ1zCCjoCHL2DHNHIXxMJ3kQeO8lbsUXONeSfA5EjcG6/E+KdhN4bP04vBhdi883+BFBzQbxFbvZzQeY9LNBZc0FNfn5NwfDn6rCTnTw6R8o+gfpf5hCom33cRuiTlss3KHmZjD+BPN+5gXuA2ziS/Q73mLxUkpbKN/eqwz5uK0X9F3h2d1V4nGNgZGBgAOJd776+iue3+crAzc4AAje5Bfcg0xz9YHEOBiYQBQA8FQlFAHicY2BkYGBnAAGOPgaG//85+hkYGVCBMgBGGwNYAAAAeJxjYGBgYB8EmKOPgQEAQ04BfgAAAAAAAA4AaAB+AMwA4AECAUIBbAGYAcICGAJYArQC4AMwA7AD3gQwBJYE3AUkBWYFigYgBmYGtAbqB1gIEghYCG4IhAi2COh4nGNgZGBgUGYoZWBnAAEmIOYCQgaG/2A+AwAYCQG2AHicXZBNaoNAGIZfE5PQCKFQ2lUps2oXBfOzzAESyDKBQJdGR2NQR3QSSE/QE/QEPUUPUHqsvsrXjTMw83zPvPMNCuAWP3DQDAejdm1GjzwS7pMmwi75XngAD4/CQ/oX4TFe4Qt7uMMbOzjuDc0EmXCP/C7cJ38Iu+RP4QEe8CU8pP8WHmOPX2EPz87TPo202ey2OjlnQSXV/6arOjWFmvszMWtd6CqwOlKHq6ovycLaWMWVydXKFFZnmVFlZU46tP7R2nI5ncbi/dDkfDtFBA2DDXbYkhKc+V0Bqs5Zt9JM1HQGBRTm/EezTmZNKtpcAMs9Yu6AK9caF76zoLWIWcfMGOSkVduvSWechqZsz040Ib2PY3urxBJTzriT95lipz+TN1fmAAAAeJxtkMl2wjAMRfOAhABlKm2h80C3+ajgCKKDY6cegP59TYBzukAL+z1Zsq8ctaJTTKPrsUQLbXQQI0EXKXroY4AbDDHCGBNMcYsZ7nCPB8yxwCOe8IwXvOIN7/jAJ76wxHfUqWX+OzgumWAjJMV17i0Ndlr6irLKO+qftdT7i6y4uFSUvCknay+lFYZIZaQcmfH/xIFdYn98bqhra1aKTM/6lWMnyaYirx1rFUQZFBkb2zJUtoXeJCeg0WnLtHeSFc3OtrnozNwqi0TkSpBMDB1nSde5oJXW23hTS2/T0LilglXX7dmFVxLnq5U0vYATHFk3zX3BOisoQHNDFDeZnqKDy9hRNawN7Vh727hFzcJ5c8TILrKZfH7tIPxAFP0BpLeJPA==)
		format("woff");
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-play,
.video-js .vjs-play-control .vjs-icon-placeholder,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-play:before,
.video-js .vjs-play-control .vjs-icon-placeholder:before,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
	content: "\f101";
}
.vjs-icon-play-circle {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-play-circle:before {
	content: "\f102";
}
.vjs-icon-pause,
.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-pause:before,
.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {
	content: "\f103";
}
.vjs-icon-volume-mute,
.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-volume-mute:before,
.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {
	content: "\f104";
}
.vjs-icon-volume-low,
.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-volume-low:before,
.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {
	content: "\f105";
}
.vjs-icon-volume-mid,
.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-volume-mid:before,
.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {
	content: "\f106";
}
.vjs-icon-volume-high,
.video-js .vjs-mute-control .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-volume-high:before,
.video-js .vjs-mute-control .vjs-icon-placeholder:before {
	content: "\f107";
}
.vjs-icon-fullscreen-enter,
.video-js .vjs-fullscreen-control .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-fullscreen-enter:before,
.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {
	content: "\f108";
}
.vjs-icon-fullscreen-exit,
.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-fullscreen-exit:before,
.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {
	content: "\f109";
}
.vjs-icon-square {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-square:before {
	content: "\f10a";
}
.vjs-icon-spinner {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-spinner:before {
	content: "\f10b";
}
.vjs-icon-subtitles,
.video-js .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js .vjs-subtitles-button .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-subtitles:before,
.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-GB)
	.vjs-subs-caps-button
	.vjs-icon-placeholder:before,
.video-js.video-js:lang(en-IE)
	.vjs-subs-caps-button
	.vjs-icon-placeholder:before,
.video-js.video-js:lang(en-AU)
	.vjs-subs-caps-button
	.vjs-icon-placeholder:before,
.video-js.video-js:lang(en-NZ)
	.vjs-subs-caps-button
	.vjs-icon-placeholder:before,
.video-js .vjs-subtitles-button .vjs-icon-placeholder:before {
	content: "\f10c";
}
.vjs-icon-captions,
.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js .vjs-captions-button .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-captions:before,
.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js .vjs-captions-button .vjs-icon-placeholder:before {
	content: "\f10d";
}
.vjs-icon-chapters,
.video-js .vjs-chapters-button .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-chapters:before,
.video-js .vjs-chapters-button .vjs-icon-placeholder:before {
	content: "\f10e";
}
.vjs-icon-share {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-share:before {
	content: "\f10f";
}
.vjs-icon-cog {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-cog:before {
	content: "\f110";
}
.vjs-icon-circle,
.vjs-seek-to-live-control .vjs-icon-placeholder,
.video-js .vjs-volume-level,
.video-js .vjs-play-progress {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-circle:before,
.vjs-seek-to-live-control .vjs-icon-placeholder:before,
.video-js .vjs-volume-level:before,
.video-js .vjs-play-progress:before {
	content: "\f111";
}
.vjs-icon-circle-outline {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-circle-outline:before {
	content: "\f112";
}
.vjs-icon-circle-inner-circle {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-circle-inner-circle:before {
	content: "\f113";
}
.vjs-icon-hd {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-hd:before {
	content: "\f114";
}
.vjs-icon-cancel,
.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-cancel:before,
.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {
	content: "\f115";
}
.vjs-icon-replay,
.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-replay:before,
.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {
	content: "\f116";
}
.vjs-icon-facebook {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-facebook:before {
	content: "\f117";
}
.vjs-icon-gplus {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-gplus:before {
	content: "\f118";
}
.vjs-icon-linkedin {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-linkedin:before {
	content: "\f119";
}
.vjs-icon-twitter {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-twitter:before {
	content: "\f11a";
}
.vjs-icon-tumblr {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-tumblr:before {
	content: "\f11b";
}
.vjs-icon-pinterest {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-pinterest:before {
	content: "\f11c";
}
.vjs-icon-audio-description,
.video-js .vjs-descriptions-button .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-audio-description:before,
.video-js .vjs-descriptions-button .vjs-icon-placeholder:before {
	content: "\f11d";
}
.vjs-icon-audio,
.video-js .vjs-audio-button .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-audio:before,
.video-js .vjs-audio-button .vjs-icon-placeholder:before {
	content: "\f11e";
}
.vjs-icon-next-item {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-next-item:before {
	content: "\f11f";
}
.vjs-icon-previous-item {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-previous-item:before {
	content: "\f120";
}
.vjs-icon-picture-in-picture-enter,
.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-picture-in-picture-enter:before,
.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
	content: "\f121";
}
.vjs-icon-picture-in-picture-exit,
.video-js.vjs-picture-in-picture
	.vjs-picture-in-picture-control
	.vjs-icon-placeholder {
	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
}
.vjs-icon-picture-in-picture-exit:before,
.video-js.vjs-picture-in-picture
	.vjs-picture-in-picture-control
	.vjs-icon-placeholder:before {
	content: "\f122";
}
.video-js {
	display: block;
	vertical-align: top;
	box-sizing: border-box;
	color: #fff;
	background-color: #000;
	position: relative;
	padding: 0;
	font-size: 10px;
	line-height: 1;
	font-weight: normal;
	font-style: normal;
	font-family: Arial, Helvetica, sans-serif;
	word-break: initial;
}
.video-js:-moz-full-screen {
	position: absolute;
}
.video-js:-webkit-full-screen {
	width: 100% !important;
	height: 100% !important;
}
.video-js[tabindex="-1"] {
	outline: none;
}
.video-js *,
.video-js *:before,
.video-js *:after {
	box-sizing: inherit;
}
.video-js ul {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	list-style-position: outside;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	margin-bottom: 0;
}
.video-js.vjs-fluid,
.video-js.vjs-16-9,
.video-js.vjs-4-3,
.video-js.vjs-9-16,
.video-js.vjs-1-1 {
	width: 100%;
	max-width: 100%;
}
.video-js.vjs-fluid:not(.vjs-audio-only-mode),
.video-js.vjs-16-9:not(.vjs-audio-only-mode),
.video-js.vjs-4-3:not(.vjs-audio-only-mode),
.video-js.vjs-9-16:not(.vjs-audio-only-mode),
.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
	height: 0;
}
.video-js.vjs-16-9:not(.vjs-audio-only-mode) {
	padding-top: 56.25%;
}
.video-js.vjs-4-3:not(.vjs-audio-only-mode) {
	padding-top: 75%;
}
.video-js.vjs-9-16:not(.vjs-audio-only-mode) {
	padding-top: 177.7777777778%;
}
.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
	padding-top: 100%;
}
.video-js.vjs-fill:not(.vjs-audio-only-mode) {
	width: 100%;
	height: 100%;
}
.video-js .vjs-tech {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-js.vjs-audio-only-mode .vjs-tech {
	display: none;
}
body.vjs-full-window {
	padding: 0;
	margin: 0;
	height: 100%;
}
.vjs-full-window .video-js.vjs-fullscreen {
	position: fixed;
	overflow: hidden;
	z-index: 1000;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
}
.video-js.vjs-fullscreen:not(.vjs-ios-native-fs) {
	width: 100% !important;
	height: 100% !important;
	padding-top: 0 !important;
}
.video-js.vjs-fullscreen.vjs-user-inactive {
	cursor: none;
}
.vjs-hidden {
	display: none !important;
}
.vjs-disabled {
	opacity: 0.5;
	cursor: default;
}
.video-js .vjs-offscreen {
	height: 1px;
	left: -9999px;
	position: absolute;
	top: 0;
	width: 1px;
}
.vjs-lock-showing {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}
.vjs-no-js {
	padding: 20px;
	color: #fff;
	background-color: #000;
	font-size: 18px;
	font-family: Arial, Helvetica, sans-serif;
	text-align: center;
	width: 300px;
	height: 150px;
	margin: 0px auto;
}
.vjs-no-js a,
.vjs-no-js a:visited {
	color: #66a8cc;
}
.video-js .vjs-big-play-button {
	font-size: 3em;
	line-height: 1.5em;
	height: 1.63332em;
	width: 3em;
	display: block;
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 0;
	cursor: pointer;
	opacity: 1;
	border: 0.06666em solid #fff;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 0.3em;
	transition: all 0.4s;
}
.vjs-big-play-centered .vjs-big-play-button {
	top: 50%;
	left: 50%;
	margin-top: -0.81666em;
	margin-left: -1.5em;
}
.video-js:hover .vjs-big-play-button,
.video-js .vjs-big-play-button:focus {
	border-color: #fff;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.5);
	transition: all 0s;
}
.vjs-controls-disabled .vjs-big-play-button,
.vjs-has-started .vjs-big-play-button,
.vjs-using-native-controls .vjs-big-play-button,
.vjs-error .vjs-big-play-button {
	display: none;
}
.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause
	.vjs-big-play-button {
	display: block;
}
.video-js button {
	background: none;
	border: none;
	color: inherit;
	display: inline-block;
	font-size: inherit;
	line-height: inherit;
	text-transform: none;
	text-decoration: none;
	transition: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.vjs-control .vjs-button {
	width: 100%;
	height: 100%;
}
.video-js .vjs-control.vjs-close-button {
	cursor: pointer;
	height: 3em;
	position: absolute;
	right: 0;
	top: 0.5em;
	z-index: 2;
}
.video-js .vjs-modal-dialog {
	background: rgba(0, 0, 0, 0.8);
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.8),
		rgba(255, 255, 255, 0)
	);
	overflow: auto;
}
.video-js .vjs-modal-dialog > * {
	box-sizing: border-box;
}
.vjs-modal-dialog .vjs-modal-dialog-content {
	font-size: 1.2em;
	line-height: 1.5;
	padding: 20px 24px;
	z-index: 1;
}
.vjs-menu-button {
	cursor: pointer;
}
.vjs-menu-button.vjs-disabled {
	cursor: default;
}
.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {
	display: none;
}
.vjs-menu .vjs-menu-content {
	display: block;
	padding: 0;
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	overflow: auto;
}
.vjs-menu .vjs-menu-content > * {
	box-sizing: border-box;
}
.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {
	display: none;
}
.vjs-menu li {
	list-style: none;
	margin: 0;
	padding: 0.2em 0;
	line-height: 1.4em;
	font-size: 1.2em;
	text-align: center;
	text-transform: lowercase;
}
.vjs-menu li.vjs-menu-item:focus,
.vjs-menu li.vjs-menu-item:hover,
.js-focus-visible .vjs-menu li.vjs-menu-item:hover {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.5);
}
.vjs-menu li.vjs-selected,
.vjs-menu li.vjs-selected:focus,
.vjs-menu li.vjs-selected:hover,
.js-focus-visible .vjs-menu li.vjs-selected:hover {
	background-color: #fff;
	color: #fff;
}
.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),
.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) {
	background: none;
}
.vjs-menu li.vjs-menu-title {
	text-align: center;
	text-transform: uppercase;
	font-size: 1em;
	line-height: 2em;
	padding: 0;
	margin: 0 0 0.3em 0;
	font-weight: bold;
	cursor: default;
}
.vjs-menu-button-popup .vjs-menu {
	display: none;
	position: absolute;
	bottom: 0;
	width: 10em;
	left: -3em;
	height: 0em;
	margin-bottom: 1.5em;
	border-top-color: rgba(255, 255, 255, 0.5);
}
.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.5);
	position: absolute;
	width: 100%;
	bottom: 1.5em;
	max-height: 15em;
}
.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
	max-height: 5em;
}
.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
	max-height: 10em;
}
.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
	max-height: 14em;
}
.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
	max-height: 25em;
}
.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,
.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {
	display: block;
}
.video-js .vjs-menu-button-inline {
	transition: all 0.4s;
	overflow: hidden;
}
.video-js .vjs-menu-button-inline:before {
	width: 2.222222222em;
}
.video-js .vjs-menu-button-inline:hover,
.video-js .vjs-menu-button-inline:focus,
.video-js .vjs-menu-button-inline.vjs-slider-active,
.video-js.vjs-no-flex .vjs-menu-button-inline {
	width: 12em;
}
.vjs-menu-button-inline .vjs-menu {
	opacity: 0;
	height: 100%;
	width: auto;
	position: absolute;
	left: 4em;
	top: 0;
	padding: 0;
	margin: 0;
	transition: all 0.4s;
}
.vjs-menu-button-inline:hover .vjs-menu,
.vjs-menu-button-inline:focus .vjs-menu,
.vjs-menu-button-inline.vjs-slider-active .vjs-menu {
	display: block;
	opacity: 1;
}
.vjs-no-flex .vjs-menu-button-inline .vjs-menu {
	display: block;
	opacity: 1;
	position: relative;
	width: auto;
}
.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,
.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,
.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu {
	width: auto;
}
.vjs-menu-button-inline .vjs-menu-content {
	width: auto;
	height: 100%;
	margin: 0;
	overflow: hidden;
}
.video-js .vjs-control-bar {
	display: none;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3em;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.5);
}
.vjs-has-started .vjs-control-bar,
.vjs-audio-only-mode .vjs-control-bar {
	display: flex;
	visibility: visible;
	opacity: 1;
	transition: visibility 0.1s, opacity 0.1s;
}
.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
	visibility: visible;
	opacity: 0;
	pointer-events: none;
	transition: visibility 1s, opacity 1s;
}
.vjs-controls-disabled .vjs-control-bar,
.vjs-using-native-controls .vjs-control-bar,
.vjs-error .vjs-control-bar {
	display: none !important;
}
.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,
.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing
	.vjs-control-bar {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.vjs-has-started.vjs-no-flex .vjs-control-bar {
	display: table;
}
.video-js .vjs-control {
	position: relative;
	text-align: center;
	margin: 0;
	padding: 0;
	height: 100%;
	width: 4em;
	flex: none;
}
.video-js .vjs-control.vjs-visible-text {
	width: auto;
	padding-left: 1em;
	padding-right: 1em;
}
.vjs-button > .vjs-icon-placeholder:before {
	font-size: 1.8em;
	line-height: 1.67;
}
.vjs-button > .vjs-icon-placeholder {
	display: block;
}
.video-js .vjs-control:focus:before,
.video-js .vjs-control:hover:before,
.video-js .vjs-control:focus {
	text-shadow: 0em 0em 1em white;
}
.video-js *:not(.vjs-visible-text) > .vjs-control-text {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.vjs-no-flex .vjs-control {
	display: table-cell;
	vertical-align: middle;
}
.video-js .vjs-custom-control-spacer {
	display: none;
}
.video-js .vjs-progress-control {
	cursor: pointer;
	flex: auto;
	display: flex;
	align-items: center;
	min-width: 4em;
	touch-action: none;
}
.video-js .vjs-progress-control.disabled {
	cursor: default;
}
.vjs-live .vjs-progress-control {
	display: none;
}
.vjs-liveui .vjs-progress-control {
	display: flex;
	align-items: center;
}
.vjs-no-flex .vjs-progress-control {
	width: auto;
}
.video-js .vjs-progress-holder {
	flex: auto;
	transition: all 0.2s;
	height: 0.3em;
}
.video-js .vjs-progress-control .vjs-progress-holder {
	margin: 0 10px;
}
.video-js .vjs-progress-control:hover .vjs-progress-holder {
	font-size: 1.6666666667em;
}
.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {
	font-size: 1em;
}
.video-js .vjs-progress-holder .vjs-play-progress,
.video-js .vjs-progress-holder .vjs-load-progress,
.video-js .vjs-progress-holder .vjs-load-progress div {
	position: absolute;
	display: block;
	height: 100%;
	margin: 0;
	padding: 0;
	width: 0;
}
.video-js .vjs-play-progress {
	background-color: #fff;
}
.video-js .vjs-play-progress:before {
	font-size: 0.9em;
	position: absolute;
	right: -0.5em;
	top: -0.3333333333em;
	z-index: 1;
}
.video-js .vjs-load-progress {
	background: rgba(255, 255, 255, 0.5);
}
.video-js .vjs-load-progress div {
	background: rgba(255, 255, 255, 0.75);
}
.video-js .vjs-time-tooltip {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 0.3em;
	color: #000;
	float: right;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
	padding: 6px 8px 8px 8px;
	pointer-events: none;
	position: absolute;
	top: -3.4em;
	visibility: hidden;
	z-index: 1;
}
.video-js .vjs-progress-holder:focus .vjs-time-tooltip {
	display: none;
}
.video-js .vjs-progress-control:hover .vjs-time-tooltip,
.video-js
	.vjs-progress-control:hover
	.vjs-progress-holder:focus
	.vjs-time-tooltip {
	display: block;
	font-size: 0.6em;
	visibility: visible;
}
.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {
	font-size: 1em;
}
.video-js .vjs-progress-control .vjs-mouse-display {
	display: none;
	position: absolute;
	width: 1px;
	height: 100%;
	background-color: #000;
	z-index: 1;
}
.vjs-no-flex .vjs-progress-control .vjs-mouse-display {
	z-index: 0;
}
.video-js .vjs-progress-control:hover .vjs-mouse-display {
	display: block;
}
.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {
	visibility: hidden;
	opacity: 0;
	transition: visibility 1s, opacity 1s;
}
.video-js.vjs-user-inactive.vjs-no-flex
	.vjs-progress-control
	.vjs-mouse-display {
	display: none;
}
.vjs-mouse-display .vjs-time-tooltip {
	color: #fff;
	background-color: #000;
	background-color: rgba(0, 0, 0, 0.8);
}
.video-js .vjs-slider {
	position: relative;
	cursor: pointer;
	padding: 0;
	margin: 0 0.45em 0 0.45em; /* iOS Safari */
	-webkit-touch-callout: none; /* Safari */
	-webkit-user-select: none; /* Konqueror HTML */ /* Firefox */
	-moz-user-select: none; /* Internet Explorer/Edge */ /* Non-prefixed version, currently supported by Chrome and Opera */
	user-select: none;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.5);
}
.video-js .vjs-slider.disabled {
	cursor: default;
}
.video-js .vjs-slider:focus {
	text-shadow: 0em 0em 1em white;
	box-shadow: 0 0 1em #fff;
}
.video-js .vjs-mute-control {
	cursor: pointer;
	flex: none;
}
.video-js .vjs-volume-control {
	cursor: pointer;
	margin-right: 1em;
	display: flex;
}
.video-js .vjs-volume-control.vjs-volume-horizontal {
	width: 5em;
}
.video-js .vjs-volume-panel .vjs-volume-control {
	visibility: visible;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin-left: -1px;
}
.video-js .vjs-volume-panel {
	transition: width 1s;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,
.video-js .vjs-volume-panel:active .vjs-volume-control,
.video-js .vjs-volume-panel:focus .vjs-volume-control,
.video-js .vjs-volume-panel .vjs-volume-control:active,
.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control,
.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {
	visibility: visible;
	opacity: 1;
	position: relative;
	transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s,
		top 0s;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,
.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,
.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,
.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,
.video-js
	.vjs-volume-panel.vjs-hover
	.vjs-mute-control
	~ .vjs-volume-control.vjs-volume-horizontal,
.video-js
	.vjs-volume-panel
	.vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {
	width: 5em;
	height: 3em;
	margin-right: 0;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,
.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,
.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,
.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,
.video-js
	.vjs-volume-panel.vjs-hover
	.vjs-mute-control
	~ .vjs-volume-control.vjs-volume-vertical,
.video-js
	.vjs-volume-panel
	.vjs-volume-control.vjs-slider-active.vjs-volume-vertical {
	left: -3.5em;
	transition: left 0s;
}
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {
	width: 10em;
	transition: width 0.1s;
}
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {
	width: 4em;
}
.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {
	height: 8em;
	width: 3em;
	left: -3000em;
	transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s,
		top 1s 1s;
}
.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {
	transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s,
		top 1s 1s;
}
.video-js.vjs-no-flex
	.vjs-volume-panel
	.vjs-volume-control.vjs-volume-horizontal {
	width: 5em;
	height: 3em;
	visibility: visible;
	opacity: 1;
	position: relative;
	transition: none;
}
.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,
.video-js.vjs-no-flex
	.vjs-volume-panel
	.vjs-volume-control.vjs-volume-vertical {
	position: absolute;
	bottom: 3em;
	left: 0.5em;
}
.video-js .vjs-volume-panel {
	display: flex;
}
.video-js .vjs-volume-bar {
	margin: 1.35em 0.45em;
}
.vjs-volume-bar.vjs-slider-horizontal {
	width: 5em;
	height: 0.3em;
}
.vjs-volume-bar.vjs-slider-vertical {
	width: 0.3em;
	height: 5em;
	margin: 1.35em auto;
}
.video-js .vjs-volume-level {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #fff;
}
.video-js .vjs-volume-level:before {
	position: absolute;
	font-size: 0.9em;
	z-index: 1;
}
.vjs-slider-vertical .vjs-volume-level {
	width: 0.3em;
}
.vjs-slider-vertical .vjs-volume-level:before {
	top: -0.5em;
	left: -0.3em;
	z-index: 1;
}
.vjs-slider-horizontal .vjs-volume-level {
	height: 0.3em;
}
.vjs-slider-horizontal .vjs-volume-level:before {
	top: -0.3em;
	right: -0.5em;
}
.video-js .vjs-volume-panel.vjs-volume-panel-vertical {
	width: 4em;
}
.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {
	height: 100%;
}
.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {
	width: 100%;
}
.video-js .vjs-volume-vertical {
	width: 3em;
	height: 8em;
	bottom: 8em;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.5);
}
.video-js .vjs-volume-horizontal .vjs-menu {
	left: -2em;
}
.video-js .vjs-volume-tooltip {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 0.3em;
	color: #000;
	float: right;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
	padding: 6px 8px 8px 8px;
	pointer-events: none;
	position: absolute;
	top: -3.4em;
	visibility: hidden;
	z-index: 1;
}
.video-js .vjs-volume-control:hover .vjs-volume-tooltip,
.video-js
	.vjs-volume-control:hover
	.vjs-progress-holder:focus
	.vjs-volume-tooltip {
	display: block;
	font-size: 1em;
	visibility: visible;
}
.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,
.video-js
	.vjs-volume-vertical:hover
	.vjs-progress-holder:focus
	.vjs-volume-tooltip {
	left: 1em;
	top: -12px;
}
.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {
	font-size: 1em;
}
.video-js .vjs-volume-control .vjs-mouse-display {
	display: none;
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #000;
	z-index: 1;
}
.video-js .vjs-volume-horizontal .vjs-mouse-display {
	width: 1px;
	height: 100%;
}
.vjs-no-flex .vjs-volume-control .vjs-mouse-display {
	z-index: 0;
}
.video-js .vjs-volume-control:hover .vjs-mouse-display {
	display: block;
}
.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {
	visibility: hidden;
	opacity: 0;
	transition: visibility 1s, opacity 1s;
}
.video-js.vjs-user-inactive.vjs-no-flex .vjs-volume-control .vjs-mouse-display {
	display: none;
}
.vjs-mouse-display .vjs-volume-tooltip {
	color: #fff;
	background-color: #000;
	background-color: rgba(0, 0, 0, 0.8);
}
.vjs-poster {
	display: inline-block;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
	background-color: #000000;
	cursor: pointer;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 100%;
}
.vjs-has-started .vjs-poster,
.vjs-using-native-controls .vjs-poster {
	display: none;
}
.vjs-audio.vjs-has-started .vjs-poster,
.vjs-has-started.vjs-audio-poster-mode .vjs-poster {
	display: block;
}
.video-js .vjs-live-control {
	display: flex;
	align-items: flex-start;
	flex: auto;
	font-size: 1em;
	line-height: 3em;
}
.vjs-no-flex .vjs-live-control {
	display: table-cell;
	width: auto;
	text-align: left;
}
.video-js:not(.vjs-live) .vjs-live-control,
.video-js.vjs-liveui .vjs-live-control {
	display: none;
}
.video-js .vjs-seek-to-live-control {
	align-items: center;
	cursor: pointer;
	flex: none;
	display: inline-flex;
	height: 100%;
	padding-left: 0.5em;
	padding-right: 0.5em;
	font-size: 1em;
	line-height: 3em;
	width: auto;
	min-width: 4em;
}
.vjs-no-flex .vjs-seek-to-live-control {
	display: table-cell;
	width: auto;
	text-align: left;
}
.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,
.video-js:not(.vjs-live) .vjs-seek-to-live-control {
	display: none;
}
.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {
	cursor: auto;
}
.vjs-seek-to-live-control .vjs-icon-placeholder {
	margin-right: 0.5em;
	color: #888;
}
.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {
	color: red;
}
.video-js .vjs-time-control {
	flex: none;
	font-size: 1em;
	line-height: 3em;
	min-width: 2em;
	width: auto;
	padding-left: 1em;
	padding-right: 1em;
}
.vjs-live .vjs-time-control {
	display: none;
}
.video-js .vjs-current-time,
.vjs-no-flex .vjs-current-time {
	display: none;
}
.video-js .vjs-duration,
.vjs-no-flex .vjs-duration {
	display: none;
}
.vjs-time-divider {
	display: none;
	line-height: 3em;
}
.vjs-live .vjs-time-divider {
	display: none;
}
.video-js .vjs-play-control {
	cursor: pointer;
}
.video-js .vjs-play-control .vjs-icon-placeholder {
	flex: none;
}
.vjs-text-track-display {
	position: absolute;
	bottom: 3em;
	left: 0;
	right: 0;
	top: 0;
	pointer-events: none;
}
.video-js.vjs-controls-disabled .vjs-text-track-display,
.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
	bottom: 1em;
}
.video-js .vjs-text-track {
	font-size: 1.4em;
	text-align: center;
	margin-bottom: 0.1em;
}
.vjs-subtitles {
	color: #fff;
}
.vjs-captions {
	color: #fc6;
}
.vjs-tt-cue {
	display: block;
}
video::-webkit-media-text-track-display {
	transform: translateY(-3em);
}
.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,
.video-js.vjs-user-inactive.vjs-playing
	video::-webkit-media-text-track-display {
	transform: translateY(-1.5em);
}
.video-js .vjs-picture-in-picture-control {
	cursor: pointer;
	flex: none;
}
.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control {
	display: none;
}
.video-js .vjs-fullscreen-control {
	cursor: pointer;
	flex: none;
}
.video-js.vjs-audio-only-mode .vjs-fullscreen-control {
	display: none;
}
.vjs-playback-rate > .vjs-menu-button,
.vjs-playback-rate .vjs-playback-rate-value {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.vjs-playback-rate .vjs-playback-rate-value {
	pointer-events: none;
	font-size: 1.5em;
	line-height: 2;
	text-align: center;
}
.vjs-playback-rate .vjs-menu {
	width: 4em;
	left: 0em;
}
.vjs-error .vjs-error-display .vjs-modal-dialog-content {
	font-size: 1.4em;
	text-align: center;
}
.vjs-error .vjs-error-display:before {
	color: #fff;
	content: "X";
	font-family: Arial, Helvetica, sans-serif;
	font-size: 4em;
	left: 0;
	line-height: 1;
	margin-top: -0.5em;
	position: absolute;
	text-shadow: 0.05em 0.05em 0.1em #000;
	text-align: center;
	top: 50%;
	vertical-align: middle;
	width: 100%;
}
.vjs-loading-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	display: none;
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	margin: -25px 0 0 -25px;
	text-align: left;
	background-clip: padding-box;
	border: 6px solid rgba(255, 255, 255, 0.5);
	border-radius: 25px;
	opacity: 0.5;
	visibility: hidden;
}
.vjs-seeking .vjs-loading-spinner,
.vjs-waiting .vjs-loading-spinner {
	display: block;
	animation: vjs-spinner-show 0s linear 0.3s forwards;
}
.vjs-loading-spinner::before,
.vjs-loading-spinner::after {
	position: absolute;
	box-sizing: inherit;
	width: inherit;
	height: inherit;
	margin: -6px;
	border: inherit;
	border-color: transparent;
	border-top-color: #fff;
	border-radius: inherit;
	opacity: 1;
	content: "";
}
.vjs-seeking .vjs-loading-spinner::before,
.vjs-seeking .vjs-loading-spinner::after,
.vjs-waiting .vjs-loading-spinner::before,
.vjs-waiting .vjs-loading-spinner::after {
	animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite,
		vjs-spinner-fade 1.1s linear infinite;
}
.vjs-seeking .vjs-loading-spinner::before,
.vjs-waiting .vjs-loading-spinner::before {
	border-top-color: #fff;
}
.vjs-seeking .vjs-loading-spinner::after,
.vjs-waiting .vjs-loading-spinner::after {
	border-top-color: #fff;
	animation-delay: 0.44s;
}
@keyframes vjs-spinner-show {
	to {
		visibility: visible;
	}
}
@keyframes vjs-spinner-show {
	to {
		visibility: visible;
	}
}
@keyframes vjs-spinner-spin {
	100% {
		transform: rotate(360deg);
	}
}
@keyframes vjs-spinner-spin {
	100% {
		transform: rotate(360deg);
	}
}
@keyframes vjs-spinner-fade {
	0% {
		border-top-color: #fff;
	}
	20% {
		border-top-color: #fff;
	}
	35% {
		border-top-color: #fff;
	}
	60% {
		border-top-color: #fff;
	}
	100% {
		border-top-color: #fff;
	}
}
@keyframes vjs-spinner-fade {
	0% {
		border-top-color: #fff;
	}
	20% {
		border-top-color: #fff;
	}
	35% {
		border-top-color: #fff;
	}
	60% {
		border-top-color: #fff;
	}
	100% {
		border-top-color: #fff;
	}
}
.video-js.vjs-audio-only-mode .vjs-captions-button {
	display: none;
}
.vjs-chapters-button .vjs-menu ul {
	width: 24em;
}
.video-js.vjs-audio-only-mode .vjs-descriptions-button {
	display: none;
}
.video-js
	.vjs-subs-caps-button
	+ .vjs-menu
	.vjs-captions-menu-item
	.vjs-menu-item-text
	.vjs-icon-placeholder {
	vertical-align: middle;
	display: inline-block;
	margin-bottom: -0.1em;
}
.video-js
	.vjs-subs-caps-button
	+ .vjs-menu
	.vjs-captions-menu-item
	.vjs-menu-item-text
	.vjs-icon-placeholder:before {
	font-family: VideoJS;
	content: "\f10d";
	font-size: 1.5em;
	line-height: inherit;
}
.video-js.vjs-audio-only-mode .vjs-subs-caps-button {
	display: none;
}
.video-js
	.vjs-audio-button
	+ .vjs-menu
	.vjs-main-desc-menu-item
	.vjs-menu-item-text
	.vjs-icon-placeholder {
	vertical-align: middle;
	display: inline-block;
	margin-bottom: -0.1em;
}
.video-js
	.vjs-audio-button
	+ .vjs-menu
	.vjs-main-desc-menu-item
	.vjs-menu-item-text
	.vjs-icon-placeholder:before {
	font-family: VideoJS;
	content: " \f11d";
	font-size: 1.5em;
	line-height: inherit;
}
.video-js.vjs-layout-small .vjs-current-time,
.video-js.vjs-layout-small .vjs-time-divider,
.video-js.vjs-layout-small .vjs-duration,
.video-js.vjs-layout-small .vjs-remaining-time,
.video-js.vjs-layout-small .vjs-playback-rate,
.video-js.vjs-layout-small .vjs-volume-control,
.video-js.vjs-layout-x-small .vjs-current-time,
.video-js.vjs-layout-x-small .vjs-time-divider,
.video-js.vjs-layout-x-small .vjs-duration,
.video-js.vjs-layout-x-small .vjs-remaining-time,
.video-js.vjs-layout-x-small .vjs-playback-rate,
.video-js.vjs-layout-x-small .vjs-volume-control,
.video-js.vjs-layout-tiny .vjs-current-time,
.video-js.vjs-layout-tiny .vjs-time-divider,
.video-js.vjs-layout-tiny .vjs-duration,
.video-js.vjs-layout-tiny .vjs-remaining-time,
.video-js.vjs-layout-tiny .vjs-playback-rate,
.video-js.vjs-layout-tiny .vjs-volume-control {
	display: none;
}
.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,
.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,
.video-js.vjs-layout-small
	.vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,
.video-js.vjs-layout-small
	.vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,
.video-js.vjs-layout-x-small
	.vjs-volume-panel.vjs-volume-panel-horizontal:hover,
.video-js.vjs-layout-x-small
	.vjs-volume-panel.vjs-volume-panel-horizontal:active,
.video-js.vjs-layout-x-small
	.vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,
.video-js.vjs-layout-x-small
	.vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,
.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,
.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,
.video-js.vjs-layout-tiny
	.vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,
.video-js.vjs-layout-tiny
	.vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover {
	width: auto;
	width: initial;
}
.video-js.vjs-layout-x-small .vjs-progress-control,
.video-js.vjs-layout-tiny .vjs-progress-control {
	display: none;
}
.video-js.vjs-layout-x-small .vjs-custom-control-spacer {
	flex: auto;
	display: block;
}
.video-js.vjs-layout-x-small.vjs-no-flex .vjs-custom-control-spacer {
	width: auto;
}
.vjs-modal-dialog.vjs-text-track-settings {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.75);
	color: #fff;
	height: 70%;
}
.vjs-text-track-settings .vjs-modal-dialog-content {
	display: table;
}
.vjs-text-track-settings .vjs-track-settings-colors,
.vjs-text-track-settings .vjs-track-settings-font,
.vjs-text-track-settings .vjs-track-settings-controls {
	display: table-cell;
}
.vjs-text-track-settings .vjs-track-settings-controls {
	text-align: right;
	vertical-align: bottom;
}
@supports (display: grid) {
	.vjs-text-track-settings .vjs-modal-dialog-content {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr;
		padding: 20px 24px 0px 24px;
	}
	.vjs-track-settings-controls .vjs-default-button {
		margin-bottom: 20px;
	}
	.vjs-text-track-settings .vjs-track-settings-controls {
		grid-column: 1/-1;
	}
	.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,
	.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,
	.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {
		grid-template-columns: 1fr;
	}
}
.vjs-track-setting > select {
	margin-right: 1em;
	margin-bottom: 0.5em;
}
.vjs-text-track-settings fieldset {
	margin: 5px;
	padding: 3px;
	border: none;
}
.vjs-text-track-settings fieldset span {
	display: inline-block;
}
.vjs-text-track-settings fieldset span > select {
	max-width: 7.3em;
}
.vjs-text-track-settings legend {
	color: #fff;
	margin: 0 0 5px 0;
}
.vjs-text-track-settings .vjs-label {
	position: absolute;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	display: block;
	margin: 0 0 5px 0;
	padding: 0;
	border: 0;
	height: 1px;
	width: 1px;
	overflow: hidden;
}
.vjs-track-settings-controls button:focus,
.vjs-track-settings-controls button:active {
	outline-style: solid;
	outline-width: medium;
	background-image: linear-gradient(0deg, #fff 88%, #fff 100%);
}
.vjs-track-settings-controls button:hover {
	color: rgba(43, 51, 63, 0.75);
}
.vjs-track-settings-controls button {
	background-color: #fff;
	background-image: linear-gradient(-180deg, #fff 88%, #fff 100%);
	color: #2b333f;
	cursor: pointer;
	border-radius: 2px;
}
.vjs-track-settings-controls .vjs-default-button {
	margin-right: 1em;
}
@media print {
	.video-js > *:not(.vjs-tech):not(.vjs-poster) {
		visibility: hidden;
	}
}
.vjs-resize-manager {
	position: absolute;
	z-index: -1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.js-focus-visible .video-js *:focus:not(.focus-visible) {
	outline: none;
}
.video-js *:focus:not(:focus-visible) {
	outline: none;
}
.video-js {
	--spacer: 1em;
	cursor: pointer;
	font-size: 14px;
	background: none;
}
@media (min-width: 768px) {
	.video-js {
		--spacer: 2em;
	}
}
@media (min-width: 1440px) {
	.video-js {
		font-size: 16px;
	}
}
.is-ios .video-js {
	opacity: 0;
}
.video-js *:focus {
	outline: none;
}
.video-js.vjs-user-inactive.vjs-playing::after {
	opacity: 0;
	transition: opacity 1s;
}
.video-js::after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: calc((var(--spacer) + 3em) * 2.5);
	background: linear-gradient(
		to top,
		hsla(0, 0%, 0%, 0.32) 0%,
		hsla(0, 0%, 0%, 0.316) 8.1%,
		hsla(0, 0%, 0%, 0.304) 15.5%,
		hsla(0, 0%, 0%, 0.287) 22.5%,
		hsla(0, 0%, 0%, 0.264) 29%,
		hsla(0, 0%, 0%, 0.237) 35.3%,
		hsla(0, 0%, 0%, 0.207) 41.2%,
		hsla(0, 0%, 0%, 0.176) 47.1%,
		hsla(0, 0%, 0%, 0.144) 52.9%,
		hsla(0, 0%, 0%, 0.113) 58.8%,
		hsla(0, 0%, 0%, 0.083) 64.7%,
		hsla(0, 0%, 0%, 0.056) 71%,
		hsla(0, 0%, 0%, 0.033) 77.5%,
		hsla(0, 0%, 0%, 0.016) 84.5%,
		hsla(0, 0%, 0%, 0.004) 91.9%,
		hsla(0, 0%, 0%, 0) 100%
	);
	transition: opacity 0.5s;
	pointer-events: none;
	content: "";
}
.video-js .vjs-control {
	width: 3em;
	height: 3em;
}
.video-js .vjs-control-bar {
	will-change: transform;
	z-index: 1;
	bottom: var(--spacer);
	padding: 0 var(--spacer);
	background: none;
}
.video-js .vjs-slider {
	background: var(--color-white);
}
.video-js .vjs-progress-holder:focus,
.video-js .vjs-control:focus {
	text-shadow: none !important;
	box-shadow: none !important;
}
.video-js .vjs-big-play-button {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
html:not(.is-mobile) .video-js .vjs-big-play-button {
	display: none;
}
html:not(.is-ios) .video-js .vjs-big-play-button {
	opacity: 0;
}
.video-js .vjs-progress-control .vjs-progress-holder {
	height: 3px;
	margin: 0 2em;
}
html:not(.is-ios).is-mobile
	.video-js
	.vjs-progress-control
	.vjs-progress-holder {
	margin: 0 1.2em 0 2em;
}
.video-js .vjs-play-progress {
	background-color: var(--color-orange);
	transition: width 0.2s;
}
.video-js .vjs-load-progress {
	background-color: unset;
}
.video-js .vjs-load-progress div {
	background-color: unset;
}
.video-js .vjs-label-text {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding-left: 2rem;
	font-family: var(--font-family-heading);
	font-size: 1.25em;
	line-height: 2;
	text-transform: uppercase;
}
.video-js .vjs-label-text div {
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1);
}
.video-js .vjs-label-text div:last-child {
	position: absolute;
	transform: translateY(100%);
}
.video-js.vjs-playing .vjs-play-control .vjs-label-text div:first-child {
	transform: translateY(-100%);
}
.video-js.vjs-playing .vjs-play-control .vjs-label-text div:last-child {
	transform: translateY(0);
}
.video-js .vjs-play-control .vjs-label-text div:last-child {
	margin-left: 0.2em;
}
.video-js .vjs-volume-panel .vjs-label-text div:last-child {
	margin-left: 0.2em;
}
.video-js .vjs-vol-0 .vjs-label-text div:first-child {
	transform: translateY(-100%);
}
.video-js .vjs-vol-0 .vjs-label-text div:last-child {
	transform: translateY(0);
}
.video-js .vjs-play-control {
	width: 6em;
	height: 2em;
	margin-top: 0.5em;
}
.video-js .vjs-play-control .vjs-icon-placeholder::before {
	width: auto;
	margin-left: 0.1em;
	text-align: left;
}
.video-js .vjs-volume-panel {
	order: 1;
	width: 5.2em !important;
}
html:not(.is-ios).is-mobile .video-js .vjs-volume-panel {
	display: none;
}
.video-js .vjs-volume-panel .vjs-icon-placeholder::before {
	width: auto;
	margin-left: 0.1em;
	text-align: left;
}
.video-js .vjs-mute-control {
	width: 100%;
	height: 2em;
	margin-top: 0.5em;
}
.video-js .vjs-fullscreen-control {
	position: relative;
	top: 1px;
	order: 2;
	width: 5em !important;
}
.video-js .vjs-fullscreen-control span:first-child {
	width: 2.5em;
	height: 1.1em;
	margin-top: 0.9em;
	margin-right: 0.5em;
	margin-left: 1.5em;
	border: 2px solid currentcolor;
}
.video-js .vjs-fullscreen-control span::before {
	position: relative;
	top: 0.25em;
	left: -1px;
	width: 50%;
	height: 50%;
	background: currentcolor;
	content: "" !important;
}
.vjs-paused,
.vjs-sliding .vjs-play-progress {
	transition: none !important;
}
.vjs-remaining-time,
.vjs-volume-control,
.vjs-time-tooltip,
.vjs-play-progress::before,
.vjs-seek-to-live-control {
	display: none !important;
}
.vjs-icon-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
}
.vjs-icon-placeholder::before {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 1em;
	line-height: 1.8 !important;
}
@media (min-width: 768px) {
	.vjs-control-bar .vjs-fullscreen-control {
		margin-left: 1em;
	}
}
.vjs-progress-holder {
	font-size: inherit !important;
}
.video-js .vjs-loading-spinner {
	opacity: 0.5;
}
.video-js .vjs-loading-spinner::before,
.video-js .vjs-loading-spinner::after {
	border-top-color: #fff;
}
.video-js .vjs-seeking .vjs-loading-spinner::before,
.video-js .vjs-waiting .vjs-loading-spinner::before {
	border-top-color: #fff;
}
.video-js .vjs-seeking .vjs-loading-spinner::after,
.video-js .vjs-waiting .vjs-loading-spinner::after {
	border-top-color: #fff;
}
@keyframes vjs-spinner-fade {
	0% {
		border-top-color: #fff;
	}
	20% {
		border-top-color: #fff;
	}
	35% {
		border-top-color: #fff;
	}
	60% {
		border-top-color: #fff;
	}
	100% {
		border-top-color: #fff;
	}
}
@keyframes vjs-spinner-fade {
	0% {
		border-top-color: #fff;
	}
	20% {
		border-top-color: #fff;
	}
	35% {
		border-top-color: #fff;
	}
	60% {
		border-top-color: #fff;
	}
	100% {
		border-top-color: #fff;
	}
}
.c-site-wrapper__content > * + *,
.c-media-list__wrapper > * + *,
.u-flow > * + * {
	padding-top: var(--flow, 10rem);
}
.u-space-s {
	--flow: var(--space-xl);
}
.u-space-m {
	--flow: var(--space-2xl);
}
.u-space-l {
	--flow: var(--space-3xl);
}
@media (min-width: 768px) {
	.u-space-l {
		--flow: var(--space-5xl);
	}
}
.u-space-xl {
	--flow: var(--space-5xl);
    padding-bottom: var(--space-2xl);

}
@media (min-width: 768px) {
	.u-space-xl {
		--flow: var(--space-8xl);
	}
}
@media (min-width: 992px) {
	.c-about-status__left {
		--column-span: 4;
	}
}
.c-about-status__big-text {
	font-size: var(--step-3);
}
.c-about-status__small-text {
	margin-top: var(--space-m);
	font-size: var(--step-1);
}
@media (min-width: 992px) {
	.c-about-status__small-text {
		margin-top: var(--space-l);
	}
}
.c-about-status__right {
	margin-top: var(--space-xl);
}
@media (min-width: 992px) {
	.c-about-status__right {
		--column-start: 6;
		--column-span: 7;
		margin-top: 0;
	}
}
.c-about-status__item {
	--columns: 12;
	position: relative;
	padding: var(--space-s) 0;
	font-family: var(--font-family-mono);
}
@media (min-width: 992px) {
	.c-about-status__item {
		--columns: 7;
		padding: var(--space-l) 0;
	}
	.c-about-status__item:last-child {
		padding-bottom: 0;
	}
}
@media (max-width: 991.98px) {
	.c-about-status__item:last-child::after {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: var(--color-gray-03);
		content: "";
		transform: scaleX(0);
		opacity: 0;
		transform-origin: 0 50%;
		transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.5s;
	}
	.c-about-status__item.is-inview:last-child::after {
		opacity: 1;
		transform: scaleX(1);
	}
}
.c-about-status__item::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--color-gray-03);
	content: "";
	transform: scaleX(0);
	opacity: 0;
	transform-origin: 0 50%;
	transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.5s;
}
.c-about-status__item.is-inview::before {
	opacity: 1;
	transform: scaleX(1);
}
.c-about-status__item-text {
	--column-start: 1;
	--column-span: 12;
	margin-right: var(--space-m);
	font-weight: 700;
}
@media (min-width: 992px) {
	.c-about-status__item-text {
		--column-span: 4;
		--column-start: 1;
	}
}
.c-about-status__item-status {
	--column-start: 1;
	--column-span: 12;
}
@media (min-width: 992px) {
	.c-about-status__item-status {
		--column-span: 3;
		--column-start: 5;
	}
}
.c-about-status__item-status span {
	font-weight: 700;
}
.c-about-status__item-status::before {
	position: relative;
	top: -0.025em;
	display: inline-block;
	width: 0.55em;
	height: 0.65em;
	margin-right: var(--space-2xs);
	background: var(--color-orange-2);
	border-radius: 4px;
	content: "";
}
.c-about-status__images {
	margin-top: var(--space-8xl);
}
@media (min-width: 768px) {
	.c-about-status__image01 {
		--column-span: 5;
		--column-start: 1;
	}
}
.c-about-status__image01 .c-about-status__image-wrapper {
	padding-bottom: 75%;
	background-color: var(--color-placeholder);
}
@media (min-width: 768px) {
	.c-about-status__image02 {
		--column-span: 3;
		--column-start: 6;
	}
}
.c-about-status__image-wrapper {
	position: relative;
	overflow: hidden;
	padding-bottom: 127.9181323953%;
	background: var(--color-placeholder);
	border-radius: var(--banner-radius);
}
.c-about-status__image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.c-banner-contact {
	position: relative;
	overflow: hidden;
	margin-top: -1px;
	padding-bottom: var(--banner-padding);
	color: var(--color-white);
}
.c-banner-contact .o-container {
	position: relative;
	z-index: 1;
}
@media (max-width: 767.98px) {
	.c-banner-contact .o-container {
		padding-right: calc(var(--container-padding) * 1.5);
		padding-left: calc(var(--container-padding) * 1.5);
	}
}
.c-banner-contact__text {
	--column-span: 12;
	width: 100%;
	max-width: 25ch;
	padding-bottom: var(--space-7xl);
	color: var(--color-gray-01);
	font-size: var(--step-3);
	text-align: right;
	justify-self: flex-end;
}
@media (min-width: 768px) {
	.c-banner-contact__text {
		font-size: var(--step-6);
	}
}
@media (min-width: 992px) {
	.c-banner-contact__text {
		font-size: var(--step-4);
	}
}
@media (min-width: 1440px) {
	.c-banner-contact__text {
		font-size: var(--step-5);
	}
}
@media (min-width: 1960px) {
	.c-banner-contact__text {
		max-width: 30ch;
	}
}
.c-banner-contact__content {
	--gutter-y: var(--space-m);
	grid-auto-flow: dense;
}
.c-banner-contact__positions {
	display: flex;
	justify-content: flex-end;
	gap: 20px;
	font-family: var(--font-family-mono);
	font-size: var(--step-1);
}
@media (max-width: 767.98px) {
	.c-banner-contact__positions {
		margin-bottom: var(--space-m);
	}
}
@media (min-width: 768px) {
	.c-banner-contact__positions {
		--column-start: 9;
		--column-span: 4;
	}
}
.c-banner-contact__title {
	max-width: 10ch;
	color: var(--color-white) !important;
	font-size: var(--step-7);
}
@media (min-width: 768px) {
	.c-banner-contact__title {
		font-size: var(--step-7);
	}
}
@media (min-width: 1440px) {
	.c-banner-contact__title {
		font-size: var(--step-8);
	}
}
@media (min-width: 768px) {
	.c-banner-contact__title {
		--column-start: 1;
		--column-span: 8;
	}
}
.c-banner-contact__subtitle p {
	max-width: 42ch;
	font-size: var(--step-1);
}
.c-banner-contact__subtitle p a {
	position: relative;
	display: inline-block;
	color: var(--color-gray-02);
	text-decoration: none;
}
.c-banner-contact__subtitle p a::before {
	position: absolute;
	z-index: -1;
	bottom: 0.2em;
	left: 0;
	width: 100%;
	height: 1px;
	background: currentcolor;
	transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
	content: "";
	transform: scaleX(0);
	transform-origin: 100% 50%;
	will-change: transform;
}
@media (hover: hover) {
	.c-banner-contact__subtitle p a:hover::before {
		transform: scaleX(1);
		transform-origin: 0 50%;
	}
}
.c-banner-contact__content {
	padding-bottom: var(--space-4xl);
}
.c-banner-contact__image-wrapper {
	position: absolute;
	top: var(--banner-padding);
	right: var(--banner-padding);
	bottom: var(--banner-padding);
	left: var(--banner-padding);
	overflow: hidden;
	background: var(--color-placeholder);
	border-radius: var(--banner-radius);
	-webkit-mask-image: radial-gradient(#fff, #000);
	mask-image: radial-gradient(#fff, #000);
}
.c-banner-contact__image {
	position: absolute;
	z-index: 1;
	top: -5vh;
	right: 0;
	bottom: -5vh;
	left: 0;
}
.c-banner-contact__image::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	background: rgba(0, 0, 0, 0.1);
}
.c-banner-hp {
	color: var(--color-black);
}
.c-banner-hp .flickity-viewport {
	position: static;
}
.c-banner-hp .flickity-cell {
	opacity: 0 !important;
	transition: opacity 1.5s;
}
.c-banner-hp .flickity-cell.is-selected {
	opacity: 1 !important;
}
.c-banner-hp__main-wrapper {
	position: relative;
	overflow: hidden;
}
.c-banner-hp__gallery {
	position: absolute;
	z-index: -1;
	top: var(--banner-padding);
	right: var(--banner-padding);
	bottom: var(--banner-padding);
	left: var(--banner-padding);
	overflow: hidden;
	background: var(--color-placeholder);
	border-radius: var(--banner-radius);
	-webkit-mask-image: radial-gradient(#fff, #000);
	mask-image: radial-gradient(#fff, #000);
}
.c-banner-hp__image-wrapper {
	position: absolute;
	top: -1px;
	right: -1px;
	bottom: -1px;
	left: -1px;
}

/* Contact Form Styles - Using existing design system */
.c-contact-form {
	padding: var(--space-3xl) 0 var(--space-6xl) 0;
}

.c-contact-form__title {
	position: relative;
	overflow: hidden;
	color: var(--color-gray-01);
	font-size: var(--step-5);
	text-align: right;
	will-change: transform;
	transition: transform 2s cubic-bezier(0.86, 0, 0.07, 1);
}

.c-contact-form__wrapper {
	max-width: none;
}

.c-contact-form__form {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--gutter-y, var(--gutter)) var(--gutter-x, var(--gutter));
}

.c-contact-form__field {
	grid-column: span 12;
	display: flex;
	flex-direction: column;
	padding-top: var(--space-m);
}

.c-contact-form__field--half {
	grid-column: span 6;
}

@media (max-width: 767.98px) {
	.c-contact-form__field--half {
	grid-column: span 12;
	}
}

.c-contact-form__label {
	margin-bottom: var(--space-s);
	color: var(--color-gray-03);
	font-family: var(--font-family-mono);
	font-size: var(--step-0);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.c-contact-form__input,
.c-contact-form__textarea {
	padding: var(--space-s) 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--color-gray-04);
	border-radius: 0;
	color: var(--color-white);
	font-family: var(--font-family-body);
	font-size: var(--step-1);
	line-height: var(--body-line-height);
	transition: border-color 0.3s ease;
	outline: none;
}

.c-contact-form__input:focus,
.c-contact-form__textarea:focus {
	border-bottom-color: var(--color-white);
}

.c-contact-form__input::placeholder,
.c-contact-form__textarea::placeholder {
	color: var(--color-gray-03);
	opacity: 1;
}

.c-contact-form__textarea {
	resize: vertical;
	min-height: 120px;
	font-family: var(--font-family-body);
}

.c-contact-form__submit {
	grid-column: span 12;
	display: flex;
	justify-content: center;
	margin-top: var(--space-xl);
}

/* Custom button styling for contact form */
.c-contact-form__submit .o-cta {
	background: var(--color-white);
	color: var(--color-black);
	padding: var(--space-m) var(--space-xl);
	border: 2px solid var(--color-white);
	border-radius: 0;
	transition: all 0.3s ease;
	font-family: var(--font-family-mono);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: var(--step-0);
}

.c-contact-form__submit .o-cta:hover {
	background: transparent;
	color: var(--color-white);
	border-color: var(--color-white);
}

.c-contact-form__submit .o-cta:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.c-contact-form__submit .o-cta .o-cta__text-wrapper {
	margin-right: var(--space-s);
}

.c-contact-form__messages {
	grid-column: span 12;
	margin-top: var(--space-l);
	text-align: center;
}

.c-contact-form__success {
	color: var(--color-white);
	background: rgba(191, 186, 164, 0.1);
	padding: var(--space-m);
	border: 1px solid var(--color-gray-04);
	font-family: var(--font-family-mono);
	font-size: var(--step-0);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.c-contact-form__error {
	color: var(--color-orange);
	background: rgba(255, 128, 22, 0.1);
	padding: var(--space-m);
	border: 1px solid var(--color-orange);
	font-family: var(--font-family-mono);
	font-size: var(--step-0);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.o-icon--arrow{
	color: var(--color-white);
}
.c-banner-hp__title {
	max-width: 8ch;
	color: var(--color-black) !important;
	font-size: var(--step-4);
}
@media (min-width: 768px) {
	.c-banner-hp__title {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-banner-hp__title {
		font-size: var(--step-5);
	}
}
.c-banner-hp__cta {
	margin-top: var(--space-xl);
}
.c-banner-hp__wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-left: calc(var(--container-padding) / 2);
	padding: var(--padding-bg-image);
}
@media (min-width: 768px) {
	.c-banner-hp__wrapper {
		margin-left: 0;
	}
}
@media (min-width: 992px) {
	.c-banner-hp__wrapper {
		flex-direction: row;
		align-items: center;
	}
}
@media (min-width: 992px) {
	.c-banner-hp__left {
		flex: 50%;
	}
}
.c-banner-hp__right {
	display: flex;
}
@media (max-width: 991.98px) {
	.c-banner-hp__right {
		margin-top: var(--space-3xl);
	}
}
@media (min-width: 992px) {
	.c-banner-hp__right {
		justify-content: center;
		align-items: center;
		flex: 50%;
	}
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.c-banner-hp__right {
		width: 100%;
	}
}
.c-banner-hp__service-outer-wrapper {
	display: flex;
	flex-direction: column;
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.c-banner-hp__service-outer-wrapper {
		flex-direction: row;
		width: 100%;
	}
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.c-banner-hp__service-wrapper {
		flex: 33.33%;
		margin-top: 0 !important;
	}
	.c-banner-hp__service-wrapper:not(:first-child) {
		margin-left: var(--gutter);
	}
}
@media (min-width: 992px) {
	.c-banner-hp__service-wrapper {
		display: flex;
	}
}
.c-banner-hp__service-wrapper:not(:first-child) {
	margin-top: var(--space-l);
}
.c-banner-hp__service-title {
	position: relative;
	display: inline-block;
	flex-shrink: 0;
	font-family: var(--font-family-mono);
	font-size: var(--step-1);
}
@media (min-width: 992px) {
	.c-banner-hp__service-title {
		top: -0.25em;
		width: 12.5ch;
		margin-right: var(--gutter);
		text-align: right;
	}
}
@media (max-width: 991.98px) {
	.c-banner-hp__service-title {
		margin-bottom: var(--space-s);
	}
}
.c-banner-hp__service-item {
	color: var(--color-black) !important;
	font-size: var(--step-4);
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.c-banner-hp__service-item {
		font-size: var(--step-2);
	}
}
.c-banner-hp__service-item:not(:first-child) {
	margin-top: 0.2em;
}
@media (min-width: 992px) {
	.c-banner-hp__service-item:not(:first-child) {
		margin-top: 0.1em;
	}
}
.c-banner-hp__image {
	position: absolute;
	z-index: -1;
	top: -9.5vh;
	right: 0;
	bottom: -9.5vh;
	left: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.c-banner-services__main-wrapper {
	position: relative;
	overflow: hidden;
}
.c-banner-services__main-wrapper .o-container {
	position: relative;
	z-index: 1;
}
.c-banner-services__wrapper {
	display: flex;
	flex-direction: column;
	min-height: calc(var(--initial-vh) * 100);
}
@media (max-width: 767.98px) {
	.c-banner-services__wrapper {
		min-height: calc(var(--initial-vh) * 80);
		margin-left: calc(var(--container-padding) / 2);
	}
}
@media (min-width: 768px) {
	.c-banner-services__wrapper {
		justify-content: center;
	}
}
.c-banner-services__title {
	max-width: 12ch;
	margin-bottom: var(--space-l-xl);
	padding-top: var(--space-3xl);
	color: var(--color-black) !important;
	font-size: var(--step-4);
}
@media (min-width: 768px) {
	.c-banner-services__title {
		padding-top: 0;
		font-size: var(--step-4);
	}
}
@media (min-width: 1440px) {
	.c-banner-services__title {
		font-size: var(--step-5);
	}
}
.c-banner-services__cta {
	color: var(--color-black);
}
.c-banner-services__image-wrapper {
	position: absolute;
	top: var(--banner-padding);
	right: var(--banner-padding);
	bottom: var(--banner-padding);
	left: var(--banner-padding);
	overflow: hidden;
	background: var(--color-placeholder);
	border-radius: var(--banner-radius);
	-webkit-mask-image: radial-gradient(#fff, #000);
	mask-image: radial-gradient(#fff, #000);
}
.c-banner-services__image {
	position: absolute;
	z-index: 1;
	top: -5vh;
	right: 0;
	bottom: -5vh;
	left: 0;
}
.c-clients__title {
	color: var(--color-gray-01);
	font-size: var(--step-4);
}
@media (min-width: 768px) {
	.c-clients__title {
		font-size: var(--step-4);
	}
}
@media (min-width: 1440px) {
	.c-clients__title {
		font-size: var(--step-5);
	}
}
.c-clients__subtitle {
	margin-top: var(--space-l);
	font-size: var(--step-2);
}
.c-clients__row {
	position: relative;
	display: flex;
	height: 20vw;
	margin-top: var(--space-2xl-3xl);
}
@media (min-width: 768px) {
	.c-clients__row {
		height: 10vw;
	}
}
.c-clients__row + .c-clients__row {
	margin-top: var(--gutter);
}
@media (min-width: 768px) {
	.c-clients__row + .c-clients__row {
		margin-top: 0;
	}
}
.c-clients__row-outer-wrapper {
	display: flex;
	flex-shrink: 0;
	height: 100%;
}
.c-clients__row:nth-child(odd) .c-clients__row-outer-wrapper {
	transform: translateX(calc((-50% + 100vw) * var(--slide-amount)));
}
.c-clients__row:nth-child(even) .c-clients__row-outer-wrapper {
	transform: translateX(
		calc(-50% + 100vw - (-50% + 100vw) * var(--slide-amount))
	);
}
.c-clients__row-inner-wrapper {
	display: flex;
	flex-shrink: 0;
	height: 100%;
}
.c-clients__row:nth-child(odd) .c-clients__row-inner-wrapper {
	animation: 70s linear infinite marquee-top;
}
.c-clients__row:nth-child(even) .c-clients__row-inner-wrapper {
	animation: 70s linear infinite marquee-bottom;
}
.c-clients__row-item-wrapper {
	display: flex;
	flex-shrink: 0;
	height: 100%;
}
.c-clients__row-item-wrapper::before,
.c-clients__row-item-wrapper::after {
	display: block;
	width: calc(var(--gutter) / 2);
	height: 100%;
	content: "";
}
.c-clients__row-item {
	position: relative;
	height: 100%;
	font-size: var(--step-3);
}
.c-clients__row-item span {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	color: var(--color-white);
	transform: translate(-50%, -50%);
}
.c-clients__row-item svg {
	width: auto;
	height: 100%;
}
.c-clients__image {
	--padding: 0%;
	position: absolute;
	top: var(--padding);
	right: var(--padding);
	bottom: var(--padding);
	left: var(--padding);
	pointer-events: none;
}
@media (min-width: 768px) {
	.c-clients__image {
		--padding: 10%;
	}
}
@media (min-width: 1440px) {
	.c-clients__image {
		--padding: 15%;
	}
}
@keyframes marquee-top {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}
@keyframes marquee-bottom {
	0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(0);
	}
}
.c-gallery-people .flickity-viewport {
	overflow: initial;
}
.c-gallery-people__title {
	font-size: var(--step-4);
}
@media (min-width: 768px) {
	.c-gallery-people__title {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-gallery-people__title {
		font-size: var(--step-5);
	}
}
@media (min-width: 1440px) {
	.c-gallery-people__title {
		font-size: var(--step-6);
	}
}
.c-gallery-people__cta {
	margin-top: var(--space-l);
}
.c-gallery-people__gallery {
	margin-top: var(--space-2xl);
}
.c-gallery-people__item-wrapper {
	width: 80%;
	margin-right: var(--gutter);
}
@media (min-width: 768px) {
	.c-gallery-people__item-wrapper {
		width: 30%;
	}
}
.c-gallery-people__item-image {
	position: relative;
	overflow: hidden;
	padding-bottom: 123.0769230769%;
	background: var(--color-placeholder);
	border-radius: var(--banner-radius);
	transition: background 1s;
}
.c-gallery-people__item-description {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-top: var(--space-xs);
}
@media (min-width: 1440px) {
	.c-gallery-people__item-description {
		flex-direction: row;
		letter-spacing: -0.003em;
	}
}
.c-gallery-people__item-name {
	font-family: var(--font-family-mono);
}
.c-gallery-people__item-role {
	color: var(--color-orange-2);
	font-family: var(--font-family-mono);
}
.c-gallery-people__image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.c-header-about__title {
	margin-left: auto;
	color: var(--color-black);
	font-size: var(--step-4);
	text-align: left;
}
@media (min-width: 768px) {
	.c-header-about__title {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-header-about__title {
		font-size: var(--step-5);
	}
}
@media (min-width: 1440px) {
	.c-header-about__title {
		font-size: var(--step-6);
	}
}
.c-header-contact {
	color: var(--color-white);
	background: var(--color-black);
}
.c-header-contact a:hover {
	text-decoration: none;
}
.c-header-contact__title {
	position: relative;
	overflow: hidden;
	color: var(--color-gray-01);
	font-size: var(--step-7);
	text-align: right;
	will-change: transform;
	transition: transform 2s cubic-bezier(0.86, 0, 0.07, 1);
}
@media (min-width: 768px) {
	.c-header-contact__title {
		font-size: var(--step-7);
	}
}
@media (min-width: 992px) {
	.c-header-contact__title {
		font-size: var(--step-8);
	}
}
@media (min-width: 1440px) {
	.c-header-contact__title {
		font-size: 100px;
	}
}
.c-header-contact__title span::before {
	content: attr(data-text);
	position: absolute;
	transform: translateY(100%);
}
.c-header-contact__title span {
	display: block;
	transition: transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1);
}
.intro-quasi-complete .is-inview .c-header-contact__title span {
	transform: translateY(-100%);
}
.c-header-contact__info {
	--gutter-y: var(--space-xl);
	padding: var(--space-3xl) 0 var(--space-6xl) 0;
}
.c-header-contact__text {
	max-width: 40ch;
	font-size: var(--step-2);
}
@media (min-width: 992px) {
	.c-header-contact__text {
		--column-span: 5;
		--column-start: 1;
		position: relative;
		top: -0.4em;
		font-size: var(--step-3);
	}
}
@media (min-width: 768px) {
	.c-header-contact__info-list {
		--column-span: 8;
		--column-start: 1;
		display: flex;
	}
}
@media (min-width: 992px) {
	.c-header-contact__info-list {
		--column-span: 6;
		--column-start: 7;
	}
}
.c-header-contact__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	border-top: 1px solid var(--color-gray-04);
}
@media (min-width: 768px) {
	.c-header-contact__item {
		margin-bottom: 0;
	}
	.c-header-contact__item:not(:first-child) {
		margin-left: var(--gutter);
	}
}
@media (max-width: 767.98px) {
	.c-header-contact__item:not(:first-child) {
		margin-top: var(--space-l);
	}
}
.c-header-contact__item-title {
	margin-bottom: var(--space-s);
	padding-top: var(--space-m);
	color: var(--color-gray-03);
	font-family: var(--font-family-mono);
	font-size: var(--step-0);
	font-weight: 400;
}
@media (min-width: 768px) {
	.c-header-contact__item-title {
		margin-bottom: var(--space-m);
	}
}
.c-header-contact__item-text {
	text-shadow: 0.03em 0 var(--color-black), -0.03em 0 var(--color-black),
		0 0.03em var(--color-black), 0 -0.03em var(--color-black),
		0.06em 0 var(--color-black), -0.06em 0 var(--color-black),
		0.09em 0 var(--color-black), -0.09em 0 var(--color-black),
		0.12em 0 var(--color-black), -0.12em 0 var(--color-black),
		0.15em 0 var(--color-black), -0.15em 0 var(--color-black);
	display: flex;
	flex-direction: column;
	font-size: var(--step-1);
}
.c-header-hp {
	--media-overflow: 2vh;
	position: relative;
	overflow: hidden;
	height: calc(var(--initial-vh) * 100);
}
.c-header-hp video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 0;
}
@media (max-width: 767.98px) {
	.c-header-hp video {
		top: 50%;
		left: 50%;
		width: calc(100% + var(--media-overflow) * 2);
		height: calc(100% + var(--media-overflow) * 2);
		transform: translate(-50%, -50%);
	}
}
.c-header-hp.video-playing video {
	opacity: 1;
}
.c-header-hp__wrapper {
	--padding: var(--banner-padding);
	position: absolute;
	top: var(--padding);
	right: var(--padding);
	bottom: var(--padding);
	left: var(--padding);
	overflow: hidden;
	border-radius: var(--banner-radius);
	-webkit-mask-image: radial-gradient(#fff, #000);
	mask-image: radial-gradient(#fff, #000);
}
.c-header-hp__media {
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--color-placeholder);
}
.c-header-hp__content-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	align-items: flex-end;
}
.c-header-hp__content {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding-bottom: var(--space-xl);
	opacity: 1;
	transition: opacity 0.5s;
}
@media (min-width: 768px) {
	.c-header-hp__content {
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: flex-end;
		padding-bottom: var(--container-padding);
	}
}
.c-header-hp__title {
	--line-height: 0.85;
	color: var(--color-white) !important;
	font-size: var(--step-7);
	line-height: var(--line-height) !important;
	text-align: right;
}
@media (min-width: 768px) {
	.c-header-hp__title {
		font-size: var(--step-7);
	}
}
@media (min-width: 992px) {
	.c-header-hp__title {
		font-size: 100px;
	}
}
@media (min-width: 1960px) {
	.c-header-hp__title {
		font-size: 120px;
	}
}
@media (min-width: 2400px) {
	.c-header-hp__title {
		font-size: 140px;
	}
}
.c-header-hp__title > div:last-child {
	overflow: hidden;
	height: calc(1em * var(--line-height));
}
.c-intro .c-header-hp__title .o-reveal {
	opacity: 0;
	transition: transform 1s calc(var(--index) * 0.075s + 0.05s),
		opacity 0.75s calc(var(--index) * 0.075s + 0.1s);
	transform: translateY(var(--space-4xl));
}
@media (max-width: 767.98px) {
	.c-intro .c-header-hp__title .o-reveal {
		transform: translateY(var(--space-2xl));
	}
}
.intro-text-reveal .c-intro .c-header-hp__title .o-reveal {
	transform: none;
	opacity: 1;
}
.c-header-hp__subtitle {
	max-width: 25ch;
	padding-top: var(--space-xl);
	color: var(--color-white);
	font-family: var(--font-family-mono);
	font-size: var(--step-2);
}
@media (min-width: 768px) {
	.c-header-hp__subtitle {
		max-width: 32ch;
	}
}
.c-intro .c-header-hp__subtitle .o-reveal {
	opacity: 0;
	transition: transform 1s calc(var(--index) * 0.075s),
		opacity 1s calc(var(--index) * 0.075s);
	transform: translateY(var(--space-l));
}
.intro-text-reveal .c-intro .c-header-hp__subtitle .o-reveal {
	transform: none;
	opacity: 1;
}
.c-header-hp__scroll {
	--animation-duration: 3s;
	--animation-delay: 0.1s;
	position: absolute;
	right: var(--container-padding);
	bottom: calc(var(--space-xl) * 1.1);
	overflow: hidden;
	width: 8px;
	height: 20px;
	border-radius: 2px;
	opacity: 0;
	will-change: transform;
	transition: opacity 0.5s;
}
@media (min-width: 768px) {
	.c-header-hp__scroll {
		bottom: var(--container-padding);
		transform: translateX(-50%);
		left: 50%;
	}
}
.intro-complete .c-header-hp__scroll {
	opacity: 1;
}
.c-header-hp__scroll::before,
.c-header-hp__scroll::after {
	position: absolute;
	top: 0;
	left: 50%;
	transform: rotate(10deg) translate(-50%, -100%);
	width: 200%;
	height: 100%;
	content: "";
}
.c-header-hp__scroll::before {
	background: var(--color-orange);
	animation: var(--animation-duration) cubic-bezier(0.55, 0.085, 0.68, 0.53) 0s
		infinite scroll-in;
}
.c-header-hp__scroll::after {
	background: var(--color-white);
	animation: var(--animation-duration) cubic-bezier(0.25, 0.46, 0.45, 0.94)
		calc(var(--animation-duration) / 2) infinite scroll-out;
}
.c-header-hp__scroll-div::before,
.c-header-hp__scroll-div::after {
	position: absolute;
	top: 0;
	left: 50%;
	transform: scaleY(1.1) rotate(10deg) translate(-50%, -100%);
	width: 200%;
	height: 100%;
	content: "";
}
.c-header-hp__scroll-div::before {
	background: var(--color-white);
	animation: var(--animation-duration) cubic-bezier(0.55, 0.085, 0.68, 0.53)
		var(--animation-delay) infinite scroll-in;
}
.c-header-hp__scroll-div::after {
	background: var(--color-orange);
	animation: var(--animation-duration) cubic-bezier(0.25, 0.46, 0.45, 0.94)
		calc(var(--animation-duration) / 2 + var(--animation-delay)) infinite
		scroll-out;
}
.c-header-hp__image-mobile,
.c-header-hp__image-desktop {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: 0s !important;
}
@media (max-width: 767.98px) {
	.c-header-hp__image-mobile,
	.c-header-hp__image-desktop {
		top: calc(var(--media-overflow) * -1);
		right: calc(var(--media-overflow) * -1);
		bottom: calc(var(--media-overflow) * -1);
		left: calc(var(--media-overflow) * -1);
	}
}
@media (min-width: 768px) {
	.c-header-hp__image-mobile {
		display: none;
	}
}
@media (max-width: 767.98px) {
	.c-header-hp__image-desktop {
		display: none;
	}
}
@keyframes scroll-in {
	0% {
		transform: scaleY(1.3) rotate(20deg) translate(-50%, -100%);
	}
	50% {
		transform: scaleY(1.3) rotate(0deg) translate(-50%, 9%);
	}
	51% {
		transform: scaleY(1.3) rotate(20deg) translate(-50%, -100%);
	}
	100% {
		transform: scaleY(1.3) rotate(20deg) translate(-50%, -100%);
	}
}
@keyframes scroll-out {
	0% {
		transform: scaleY(1.3) rotate(0deg) translate(-50%, 0%);
	}
	50% {
		transform: scaleY(1.3) rotate(20deg) translate(-50%, 115%);
	}
	51% {
		transform: scaleY(1.3) rotate(20deg) translate(-50%, 115%);
	}
	100% {
		transform: scaleY(1.3) rotate(20deg) translate(-50%, 115%);
	}
}
.c-header-work__media {
	padding-bottom: 35%;
	background: var(--color-placeholder);
}
.c-header-work__content {
	margin-top: var(--space-xl);
}
@media (min-width: 768px) {
	.c-header-work__heading {
		--column-span: 7;
	}
}
@media (min-width: 992px) {
	.c-header-work__heading {
		--column-span: 6;
	}
}
.c-header-work__title {
	font-size: var(--step-7);
}
.c-header-work__subtitle {
	margin-top: var(--space-s);
	font-size: var(--step-1);
	font-weight: 400;
}
.c-header-work__description {
	font-size: var(--step-1);
}
@media (min-width: 768px) {
	.c-header-work__description {
		--column-span: 5;
		--column-start: 8;
	}
}
.c-image-grid__inner-wrapper {
	border-radius: var(--banner-radius);
	-webkit-mask-image: radial-gradient(#fff, #000);
	mask-image: radial-gradient(#fff, #000);
}
@media (min-width: 768px) {
	.c-image-grid__outer-wrapper:nth-child(1) {
		--column-span: 5;
	}
}
.c-image-grid__outer-wrapper:nth-child(1) .c-image-grid__inner-wrapper {
	position: relative;
	overflow: hidden;
	padding-bottom: 142.8571428571%;
	background: var(--color-placeholder);
	transform: background 1s;
}
@media (min-width: 768px) {
	.c-image-grid__outer-wrapper:nth-child(2) {
		--column-span: 7;
		--column-start: 6;
	}
}
.c-image-grid__outer-wrapper:nth-child(2) .c-image-grid__inner-wrapper {
	position: relative;
	overflow: hidden;
	padding-bottom: 66.6666666667%;
	background: var(--color-placeholder);
	transform: background 1s;
}
.c-image-grid__image {
	position: absolute;
	top: -9vh;
	right: 0;
	bottom: -9vh;
	left: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.c-image__wrapper {
	position: relative;
}
@media (max-width: 767.98px) {
	.c-image__wrapper {
		height: calc(var(--initial-vh) * 80);
	}
}
@media (max-width: 767.98px) {
	.c-image__image {
		display: none;
	}
}
.c-image__image-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
@media (min-width: 768px) {
	.c-image__image-bg {
		display: none;
	}
}
.c-info-list__title {
	margin-bottom: var(--space-xl);
	font-size: var(--step-5);
}
.c-info-list__item-list {
	--gutter-y: var(--space-m);
}
@media (min-width: 768px) {
	.c-info-list__item-list {
		--gutter-y: var(--space-l);
	}
}
@media (min-width: 992px) {
	.c-info-list__item-list {
		--gutter-y: var(--space-xl);
	}
}
@media (min-width: 768px) {
	.c-info-list__item {
		--column-span: 6;
	}
	.c-info-list__item:nth-child(1),
	.c-info-list__item:nth-child(2) {
		padding-top: var(--space-m);
		border-top: 1px solid var(--color-gray-02);
	}
}
@media (min-width: 1440px) {
	.c-info-list__item {
		--column-span: 3;
	}
	.c-info-list__item:nth-child(1),
	.c-info-list__item:nth-child(2),
	.c-info-list__item:nth-child(3),
	.c-info-list__item:nth-child(4) {
		padding-top: var(--space-m);
		border-top: 1px solid var(--color-gray-02);
	}
}
.c-info-list__item:nth-child(1) {
	padding-top: var(--space-m);
	border-top: 1px solid var(--color-gray-02);
}
.c-info-list__item-title {
	margin-bottom: var(--space-s);
	color: var(--color-gray-03);
	font-family: var(--font-family-mono);
	font-size: var(--step-0);
	font-weight: 400;
}
.c-info-list__item-text {
	font-size: var(--step-1);
}
.c-intro {
	--media-overflow: 2vh;
	position: absolute;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100vw;
	height: calc(var(--initial-vh) * 100);
	background-color: var(--color-black);
	transition: background 0s 2s;
}
.tpl-home .c-intro {
	z-index: 0;
}
.c-intro::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: var(--color-white);
	opacity: 0;
	transition: opacity 0.75s 0.6s;
	content: "";
}
.intro-after-start body:not(.tpl-home) .c-intro::before {
	opacity: 0 !important;
}
.intro-start .c-intro::before {
	opacity: 1;
}
.intro-start .c-intro,
.intro-complete .c-intro {
	background: transparent;
}
.intro-complete .c-intro {
	pointer-events: none;
}
.c-intro__wrapper-loading {
	position: relative;
	height: calc(100vh - var(--container-padding) * 2);
	margin-top: var(--container-padding);
	margin-right: var(--container-padding);
	margin-left: var(--container-padding);
	border: 1px solid var(--color-gray-04);
	border-radius: var(--banner-radius);
	transition: opacity 0s 2s, transform 2s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (max-width: 767.98px) {
	.c-intro__wrapper-loading {
		height: calc(var(--initial-vh) * 100 - var(--banner-padding) * 2);
		margin-top: var(--banner-padding);
		margin-right: var(--banner-padding);
		margin-left: var(--banner-padding);
		transition: opacity 0s 2s, transform 2.5s cubic-bezier(0.23, 1, 0.32, 1);
	}
}
html:not(.dom-loaded) .c-intro__wrapper-loading {
	transform: scale(1.1);
}
.intro-start .c-intro__wrapper-loading,
.intro-complete .c-intro__wrapper-loading {
	opacity: 0;
}
.intro-start .c-intro__wrapper-loading {
	transform: scale(0.85);
}
.c-intro__logo {
	--logo-height: calc(var(--space-2xl) * 10);
	--logo-width: calc(120 / 81 * var(--logo-height));
	position: absolute;
	top: 47.5%;
	left: 50%;
	width: var(--logo-width);
	height: var(--logo-height);
	color: var(--color-white);
	transform: translate(-50%, -50%);
}
@media (max-width: 767.98px) {
	.c-intro__logo {
		top: 49.5%;
	}
}
.c-intro__loading {
	position: absolute;
	bottom: var(--space-m);
	display: flex;
	align-items: center;
	width: calc(100% - var(--space-l) * 2);
	margin-right: var(--space-l);
	margin-left: var(--space-l);
	color: var(--color-gray-01);
	font-family: var(--font-family-mono);
}
@media (max-width: 767.98px) {
	.c-intro__loading {
		bottom: var(--banner-padding);
		width: calc(100% - var(--banner-padding) * 4);
		margin-left: calc(var(--banner-padding) * 2);
	}
}
.c-intro__text {
	white-space: nowrap;
}
@media (max-width: 767.98px) {
	.c-intro__text span {
		display: none;
	}
}
.c-intro__line {
	width: 100%;
	height: 1px;
	margin-right: var(--space-l);
	margin-left: var(--space-l);
	background: currentcolor;
	transform-origin: 0 0;
	transform: scaleX(0);
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (max-width: 767.98px) {
	.c-intro__line {
		margin-right: calc(var(--banner-padding) * 2);
		margin-left: calc(var(--banner-padding) * 2);
	}
}
.c-intro__counter span:last-child::before {
	content: "/";
}
.c-intro__card-list {
	--timing-function-wrapper: cubic-bezier(0.75, 0, 0, 1);
	--timing-function-inner: cubic-bezier(0.4, 0, 0, 0.6);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: visible;
	transform: translateY(100%);
	transition: transform 2s;
	transition-delay: 2s;
	transition-timing-function: var(--timing-function-wrapper);
}
.intro-start .c-intro__card-list,
.intro-complete .c-intro__card-list {
	transform: translateY(0);
}
.c-intro__card-container {
	transition: transform 3s;
	transition-timing-function: var(--timing-function-inner);
}
.intro-start .c-intro__card-container,
.intro-complete .c-intro__card-container {
	transform: translateY(var(--translate-container, 0));
}
.c-intro__card-item::after {
	content: "";
	display: block;
	height: var(--banner-padding);
	background: var(--color-white);
}
body:not(.tpl-home) .c-intro__card-item:nth-last-child(2)::after {
	opacity: 0;
}
body:not(.tpl-home) .c-intro__card-item:nth-last-child(1)::after {
	opacity: 0;
}
body:not(.tpl-home) .c-intro__card-item:last-child {
	opacity: 0;
}
.c-intro__card-inner-item {
	position: relative;
	overflow: hidden;
	height: 0;
	margin-right: var(--banner-padding);
	margin-left: var(--banner-padding);
	padding-bottom: 30%;
	border-radius: var(--banner-radius);
	will-change: transform;
}
@media (max-width: 767.98px) {
	.c-intro__card-inner-item {
		padding-bottom: 50%;
	}
}
.c-intro__card-item:last-child .c-intro__card-inner-item {
	height: calc(var(--initial-vh) * 100 - var(--banner-padding) * 2);
	padding-bottom: 0;
}
.c-intro__image {
	--padding: 25vh;
	position: absolute;
	top: 0;
	right: 0;
	bottom: calc(var(--padding) * -1);
	left: 0;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 1;
	transition: transform 4s;
	transform: translateY(calc(var(--padding) * -1));
}
@media (min-width: 992px) {
	.c-intro__image {
		--padding: 80vh;
		background-position: 50% 75%;
	}
}
.c-intro__image.c-intro__image--desktop {
	display: none;
}
@media (min-width: 768px) {
	.c-intro__image.c-intro__image--desktop {
		display: block;
	}
}
@media (min-width: 768px) {
	.c-intro__image.c-intro__image--mobile {
		display: none;
	}
}
.c-intro__card-item:last-child .c-intro__image {
	top: 0;
	bottom: 0;
	background-position: 50% 50%;
	transform: translateY(-150vh);
}
@media (max-width: 767.98px) {
	.c-intro__card-item:last-child .c-intro__image {
		top: calc(var(--media-overflow) * -1);
		right: calc(var(--media-overflow) * -1);
		bottom: calc(var(--media-overflow) * -1);
		left: calc(var(--media-overflow) * -1);
	}
}
.intro-start .c-intro__image,
.intro-complete .c-intro__image {
	transform: translateY(0) !important;
}
.c-job-listing {
	padding-top: var(--space-m);
}
.c-job-listing:only-child {
	padding-bottom: 50vh;
}
.c-job-listing__label {
	margin-bottom: var(--space-m);
}
.c-job-listing__list-item {
	border-bottom: 1px solid var(--color-gray-01);
}
.c-job-listing__list-item:first-child {
	border-top: 1px solid var(--color-gray-01);
}
.c-job-listing__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--space-m) 0;
	cursor: pointer;
}
.c-job-listing__title {
	font-size: var(--step-7);
}
.c-job-listing__icon {
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.is-active .c-job-listing__icon {
	transform: rotate(180deg);
}
.c-job-listing__body {
	overflow: hidden;
	height: 0;
}
.c-job-listing__body-outer-wrapper {
	padding-bottom: var(--space-m);
}
.c-job-listing__body-inner-wrapper {
	max-width: 60ch;
}
@media (min-width: 768px) {
	.c-job-listing__body-inner-wrapper {
		--column-span: 8;
	}
}
@media (min-width: 992px) {
	.c-job-listing__body-inner-wrapper {
		--column-span: 7;
		--column-start: 6;
	}
}
@media (min-width: 1440px) {
	.c-job-listing__body-inner-wrapper {
		--column-span: 6;
		--column-start: 7;
	}
}
@media (min-width: 1960px) {
	.c-job-listing__body-inner-wrapper {
		--column-span: 4;
		--column-start: 7;
	}
}
.c-job-listing__body-inner-wrapper > *:not(:first-child) {
	margin-top: var(--space-m);
}
.c-job-listing__text {
	position: relative;
	z-index: 1;
	max-width: 40ch;
	margin-top: var(--space-xl);
	font-size: var(--step-2);
}
@media (min-width: 768px) {
	.c-job-listing__text {
		font-size: var(--step-3);
	}
}
.c-job-listing__text a {
	position: relative;
	z-index: 1;
	color: var(--color-orange);
}
.c-job-listing__text a:hover {
	text-decoration: none;
}
.c-job-listing__text a::before {
	height: 2px !important;
}
.c-overlay .c-job-listing__text a {
	text-shadow: 0.03em 0 var(--color-white), -0.03em 0 var(--color-white),
		0 0.03em var(--color-white), 0 -0.03em var(--color-white),
		0.06em 0 var(--color-white), -0.06em 0 var(--color-white),
		0.09em 0 var(--color-white), -0.09em 0 var(--color-white),
		0.12em 0 var(--color-white), -0.12em 0 var(--color-white),
		0.15em 0 var(--color-white), -0.15em 0 var(--color-white);
}
.c-job-listing__body-description {
	font-size: var(--step-1);
}
.c-job-listing__body-sub-description {
	font-size: var(--step-1);
}
.c-job-listing__body-sub-description ul {
	list-style: inside;
}
.c-logo {
	width: var(--logo-width);
	height: var(--logo-height);
	color: var(--color-logo-dark);
	transition: color 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
	margin-top: -60px; /* Moves the logo up */
}

.c-logo svg {
	fill: currentcolor;
}
.is-transitioning .c-logo {
	transition-delay: 0.95s !important;
}
.theme-black .c-logo,
.list-layout body.tpl-works .c-logo {
	color: var(--color-logo-light) !important;
	transition: color 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.tpl-home .c-logo,
.tpl-contact .c-logo {
	color: var(--color-white);
}
.change-color .tpl-home .c-logo {
	color: var(--color-logo-dark);
}
.c-media-list__wrapper {
	--flow: var(--container-padding);
}
@media (min-width: 768px) {
	.c-media-list__wrapper {
		--flow: var(--space-xl-2xl);
	}
}
.c-media-list__item {
	--gutter-y: 0;
}
@media (min-width: 768px) {
	.c-media-list__item:nth-child(odd) {
		--column-start: 4;
		--column-span: 9;
	}
	.c-media-list__item:nth-child(even) {
		--column-start: 1;
		--column-span: 6;
	}
}
.c-media-list__item .c-media.has-player {
	--column-start: 1;
	--column-span: 12;
}
.c-media-list__item-title {
	--column-start: 1;
	--column-span: 12;
	margin-bottom: var(--space-xl);
	font-size: var(--step-5);
}
@media (max-width: 767.98px) {
	.c-media-list__item:not(:first-child) .c-media-list__item-title {
		margin-top: var(--space-xl);
	}
}
.c-media .o-container {
	position: relative;
	overflow: hidden;
}
.c-media * {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.c-media .video-js {
	height: 100%;
}
.c-media :not(.vjs-has-started) .vjs-control-bar {
	display: flex;
}
.c-overlay .c-media {
	margin-right: var(--banner-padding);
	margin-left: var(--banner-padding);
}
.c-overlay .c-media .o-container {
	padding-right: 0;
	padding-left: 0;
}
.c-media-list .c-media .o-container {
	padding-right: 0;
	padding-left: 0;
}
.c-media__wrapper {
	position: relative;
	overflow: hidden;
	padding-bottom: calc(var(--aspect-ratio, 0.5) * 100%);
	background: var(--color-placeholder);
	border-radius: var(--banner-radius);
	transition: background 1s;
	will-change: transform;
}
.is-ios  {
	height: calc(var(--initial-vh) * 80);
	padding-bottom: 0;
}
.c-media.preserve-aspect-ratio .c-media__wrapper {
	height: 0 !important;
	padding-bottom: calc(var(--aspect-ratio, 0.5) * 100%) !important;
}
html:not(.is-ios).is-mobile .c-media:not(.has-player) .c-media__wrapper {
	height: calc(var(--initial-vh) * 80);
	padding-bottom: 0;
	background: var(--color-placeholder);
}
@media (max-width: 767.98px) {
	.c-media:not(.has-player) .c-media__wrapper {
		height: calc(var(--initial-vh) * 80);
	}
}
.is-ios .c-header-work .c-media__wrapper {
	height: calc(var(--initial-vh) * 40);
}
.c-media h5.c-media__text {
	position: absolute;
	pointer-events: none;
	z-index: 3;
	bottom: var(--space-xl);
	left: 50%;
	width: 100%;
	max-width: 28ch;
	padding: 0 var(--space-m);
	color: var(--color-white) !important;
	font-size: var(--step-2	);
	text-align: center;
	transform: translate(-50%);
	will-change: transform;
}
@media (min-width: 768px) {
	.c-media h5.c-media__text {
		bottom: var(--container-padding);
	}
}
@media (min-width: 768px) and (max-width: 1439.98px) {
	.c-media-list .c-media h5.c-media__text {
		font-size: var(--step-5);
	}
}
.c-media__video-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
}
html:not(.is-ios).is-mobile .player-ready .c-media__video-wrapper {
	opacity: 1;
}
.clicked .c-media__video-wrapper {
	opacity: 1;
}
.c-media__videoloop-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity 1s 0.1s;
	pointer-events: none;
}
.loop-playing .c-media__videoloop-wrapper {
	opacity: 1;
}
html:not(.is-ios) .clicked .c-media__videoloop-wrapper {
	opacity: 0;
	transition: opacity 0.1s;
}
html:not(.is-ios).is-mobile .has-player .c-media__videoloop-wrapper {
	opacity: 0;
	transition: opacity 0s;
}
.c-media__cta-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
html:not(.is-ios).is-mobile .c-media__cta-wrapper {
	opacity: 0;
}
.c-media__cta {
	position: absolute;
	top: 85%;
	left: calc(var(--container-padding) * 2);
	display: flex;
	align-items: center;
	overflow: hidden;
	pointer-events: none;
	will-change: transform;
	transform: translateY(-50%);
}
.c-overlay .c-media__cta {
	left: calc(var(--container-padding) * 1);
}
.c-media__cta-bullet {
	position: relative;
	display: block;
	overflow: hidden;
	will-change: transform;
	width: 10px;
	height: 20px;
	margin-right: calc(var(--container-padding) / 1.1);
	border-radius: 3px;
}
@media (min-width: 768px) {
	.c-media__cta-bullet {
		margin-right: var(--space-s-m);
	}
}
.c-media__cta-bullet::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--color-white);
	content: "";
	transition: transform 1s 0.05s cubic-bezier(0.23, 1, 0.32, 1);
}
html:not(.is-ios) .clicked .c-media__cta-bullet::before {
	transform: translateY(-105%);
}
.c-media__cta h4.c-media__cta-text {
	color: var(--color-white) !important;
	font-size: var(--step-5);
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}
html:not(.is-ios) .clicked .c-media__cta h4.c-media__cta-text {
	transform: translateY(-105%);
}
.c-media__image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
}
html:not(.is-ios) .clicked .c-media__image {
	opacity: 0;
	transition: opacity 0.1s;
}
html:not(.is-ios).is-mobile .has-player .c-media__image {
	opacity: 0;
}
.c-mouse-move {
	position: fixed;
	z-index: 9995;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.c-mouse-move__media-container {
	--width: 50vw;
	--height: 20vw;
	--rotate: 5deg;
	position: absolute;
	top: 5%;
	left: 5%;
	overflow: hidden;
	width: var(--width);
	height: var(--height);
	border-radius: var(--banner-radius);
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.list-layout body.tpl-works .c-mouse-move__media-container {
	opacity: 1;
}
.c-mouse-move__media-rotate-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	transform: rotate(var(--rotate, 5deg));
}
.c-mouse-move__media-overflow-wrapper {
	flex-shrink: 0;
	overflow: hidden;
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
	transform: translateY(-102%) rotate(2deg) scale(0.85);
	transform-origin: 0 0;
}
.list-layout.works-hover .c-mouse-move__media-overflow-wrapper {
	transform: translateY(0%) rotate(0deg) scale(1);
}
.c-mouse-move__media-reverse-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
	transform: translateY(102%) rotate(calc(var(--rotate) * -1));
}
.list-layout.works-hover .c-mouse-move__media-reverse-wrapper {
	transform: translateY(0) rotate(calc(var(--rotate) * -1));
}
.c-mouse-move__media-inner-wrapper {
	position: relative;
	overflow: hidden;
	will-change: transform;
	width: var(--width);
	height: var(--height);
}
.c-mouse-move__media-inner-wrapper::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	background: var(--color-black);
	transition: transform 1.25s cubic-bezier(0.23, 1, 0.32, 1);
	content: "";
	transform: translateY(20%);
}
.list-layout.works-hover .c-mouse-move__media-inner-wrapper::before {
	transform: translateY(0);
}
.c-mouse-move__media-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0 !important;
	transition: transform 1.25s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.5s;
	transform: translateY(20%);
}
.list-layout.works-hover .c-mouse-move__media-image {
	transform: none;
}
[show="1"] .c-mouse-move__media-image:nth-child(1) {
	opacity: 1 !important;
}
[show="2"] .c-mouse-move__media-image:nth-child(2) {
	opacity: 1 !important;
}
[show="3"] .c-mouse-move__media-image:nth-child(3) {
	opacity: 1 !important;
}
[show="4"] .c-mouse-move__media-image:nth-child(4) {
	opacity: 1 !important;
}
[show="5"] .c-mouse-move__media-image:nth-child(5) {
	opacity: 1 !important;
}
[show="6"] .c-mouse-move__media-image:nth-child(6) {
	opacity: 1 !important;
}
[show="7"] .c-mouse-move__media-image:nth-child(7) {
	opacity: 1 !important;
}
[show="8"] .c-mouse-move__media-image:nth-child(8) {
	opacity: 1 !important;
}
[show="9"] .c-mouse-move__media-image:nth-child(9) {
	opacity: 1 !important;
}
[show="10"] .c-mouse-move__media-image:nth-child(10) {
	opacity: 1 !important;
}
[show="11"] .c-mouse-move__media-image:nth-child(11) {
	opacity: 1 !important;
}
[show="12"] .c-mouse-move__media-image:nth-child(12) {
	opacity: 1 !important;
}
[show="13"] .c-mouse-move__media-image:nth-child(13) {
	opacity: 1 !important;
}
[show="14"] .c-mouse-move__media-image:nth-child(14) {
	opacity: 1 !important;
}
[show="15"] .c-mouse-move__media-image:nth-child(15) {
	opacity: 1 !important;
}
[show="16"] .c-mouse-move__media-image:nth-child(16) {
	opacity: 1 !important;
}
[show="17"] .c-mouse-move__media-image:nth-child(17) {
	opacity: 1 !important;
}
[show="18"] .c-mouse-move__media-image:nth-child(18) {
	opacity: 1 !important;
}
[show="19"] .c-mouse-move__media-image:nth-child(19) {
	opacity: 1 !important;
}
[show="20"] .c-mouse-move__media-image:nth-child(20) {
	opacity: 1 !important;
}
[show="21"] .c-mouse-move__media-image:nth-child(21) {
	opacity: 1 !important;
}
[show="22"] .c-mouse-move__media-image:nth-child(22) {
	opacity: 1 !important;
}
[show="23"] .c-mouse-move__media-image:nth-child(23) {
	opacity: 1 !important;
}
[show="24"] .c-mouse-move__media-image:nth-child(24) {
	opacity: 1 !important;
}
[show="25"] .c-mouse-move__media-image:nth-child(25) {
	opacity: 1 !important;
}
[show="26"] .c-mouse-move__media-image:nth-child(26) {
	opacity: 1 !important;
}
[show="27"] .c-mouse-move__media-image:nth-child(27) {
	opacity: 1 !important;
}
[show="28"] .c-mouse-move__media-image:nth-child(28) {
	opacity: 1 !important;
}
[show="29"] .c-mouse-move__media-image:nth-child(29) {
	opacity: 1 !important;
}
[show="30"] .c-mouse-move__media-image:nth-child(30) {
	opacity: 1 !important;
}
.c-overlay {
	--spacer: calc(100vh / 6);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9998;
	overflow: hidden;
	color: var(--color-black);
	pointer-events: none;
}
.c-overlay.c-overlay--show {
	pointer-events: auto;
}
.c-overlay__bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #000;
	opacity: 0;
	transition: opacity 1s;
}
.c-overlay--show .c-overlay__bg {
	opacity: 0.8;
}
.c-overlay__wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1), opacity 1s;
}
.c-overlay:not(.c-overlay--show) .c-overlay__wrapper {
	transform: translateY(100%);
}
.c-overlay__button {
	position: absolute;
	z-index: 9997;
	bottom: var(--container-padding);
	left: 50%;
	background: var(--color-orange);
	opacity: 0;
	transition: opacity 0.3s,
		transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	transform: translateX(-50%);
	pointer-events: none;
}
.c-overlay__button.is-active {
	pointer-events: auto;
	opacity: 1;
}
.c-overlay__button > span {
	display: block;
	overflow: hidden;
	will-change: transform;
}
.c-overlay__button > span > span {
	display: block;
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-overlay__button span span::after {
	content: "close";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, 70%);
	display: block;
}
@media (hover: hover) {
	.c-overlay__button:hover > span > span {
		transform: translateY(-120%);
	}
}
.c-overlay__scroll {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100vh;
}
.c-overlay:not(.c-overlay--show) .c-overlay__scroll {
	pointer-events: none !important;
}
.c-overlay__spacer {
	height: var(--spacer);
	cursor: pointer;
}
.c-overlay__content {
	min-height: calc(100vh - var(--spacer));
	padding-bottom: calc(var(--container-padding) * 3);
	background: var(--color-white);
}
.c-overlay__content .u-flow {
	opacity: 0;
	transition: opacity 0.1s 1s;
}
.c-overlay--loaded .c-overlay__content .u-flow {
	opacity: 1;
	transition: opacity 0.75s;
}
.c-overlay__content .c-media {
	padding-top: var(--banner-padding);
}
.c-servies-list {
	position: relative;
}
.c-servies-list__switch-theme {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
@media (max-width: 767.98px) {
	.c-servies-list__wrapper {
		--gutter-y: var(--space-2xl);
	}
}
.c-services-list__title {
	--column-span: 12;
	font-size: var(--step-6);
}
@media (min-width: 768px) {
	.c-services-list__title {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-services-list__title {
		--column-span: 4;
		font-size: var(--step-5);
	}
}
@media (min-width: 1440px) {
	.c-services-list__title {
		font-size: var(--step-6);
	}
}
.c-services-list__item-list {
	--column-span: 12;
}
@media (min-width: 992px) {
	.c-services-list__item-list {
		--column-span: 7;
		--column-start: 6;
		margin-top: 0;
	}
}
@media (min-width: 1440px) {
	.c-services-list__item-list {
		--column-span: 6;
		--column-start: 7;
	}
}
@media (min-width: 992px) {
	.c-services-list__item {
		display: flex;
	}
}
.c-services-list__item:not(:first-child) {
	margin-top: var(--space-xl);
}
.c-services-list__item-title {
	font-size: var(--step-3);
	white-space: nowrap;
}
@media (min-width: 992px) {
	.c-services-list__item-title {
		font-size: var(--step-3);
		flex-shrink: 0;
		width: calc(var(--column-width-gutter) + var(--column-width));
		margin-right: 3rem;
	}
}
@media (min-width: 1440px) {
	.c-services-list__item-title {
		font-size: var(--step-4);
		flex-shrink: 0;
		width: calc(var(--column-width-gutter) + var(--column-width));
		margin-right: 3rem;
	}
}
@media (min-width: 768px) {
	.c-services-list__item-title {
		text-align: right;
	}
}
.c-services-list__item-text {
	position: relative;
	font-size: var(--step-1);
}
@media (min-width: 992px) {
	.c-services-list__item-text {
		top: -0.25em;
	}
}
@media (max-width: 991.98px) {
	.c-services-list__item-text {
		max-width: 55ch;
		margin-top: var(--space-s);
	}
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.c-services-list__item-text {
		margin-left: auto;
		text-align: right;
	}
}
.c-site-footer-bottom {
	display: flex;
	flex-direction: column;
	margin-top: var(--space-xl);
	padding: var(--space-l) 0;
	font-size: var(--step--1);
}
@media (min-width: 768px) {
	.c-site-footer-bottom {
		flex-direction: row;
		align-items: center;
		padding: var(--space-m) 0;
		border-top: 1px solid #3e3e3e;
	}
	.c-banner-contact .c-site-footer-bottom {
		border-top: 1px solid rgba(255, 255, 255, 0.3);
	}
}
.c-site-footer-bottom a:hover {
	text-decoration: none;
}
.c-site-footer-bottom__logo {
	margin-right: var(--space-m);
	color: var(--color-gray-01);
}
.c-site-footer-bottom__colophon {
	margin-right: auto;
}
@media (max-width: 767.98px) {
	.c-site-footer-bottom__colophon {
		margin-top: var(--space-s);
	}
}
.c-site-footer-bottom__credits {
	text-shadow: 0.03em 0 var(--color-black), -0.03em 0 var(--color-black),
		0 0.03em var(--color-black), 0 -0.03em var(--color-black),
		0.06em 0 var(--color-black), -0.06em 0 var(--color-black),
		0.09em 0 var(--color-black), -0.09em 0 var(--color-black),
		0.12em 0 var(--color-black), -0.12em 0 var(--color-black),
		0.15em 0 var(--color-black), -0.15em 0 var(--color-black);
}
@media (max-width: 767.98px) {
	.c-site-footer-bottom__credits {
		margin-top: var(--space-2xs);
	}
}
.c-site-footer {
	padding-top: var(--space-3xl);
	color: var(--color-gray-01);
	background: var(--color-black);
}
@media (min-width: 768px) {
	.c-site-footer {
		padding-top: var(--space-8xl);
	}
}
.c-site-footer a:hover {
	text-decoration: none;
}
[data-overlay-content] + .c-site-footer {
	margin-top: var(--space-3xl);
}
@media (min-width: 768px) {
	[data-overlay-content] + .c-site-footer {
		margin-top: var(--space-8xl);
	}
}
.c-services-footer + .c-site-footer,
.c-services-cta + .c-site-footer {
	margin-top: -1px;
}
.c-site-footer__title {
	position: relative;
	display: inline-flex;
	align-items: flex-end;
	margin-bottom: var(--space-2xl);
	font-size: var(--step-7);
	padding-right:var(--space-3xl);
}
@media (min-width: 768px) {
	.c-site-footer__title {
		margin-bottom: var(--space-7xl);
		font-size: var(--step-8);
	}
}
.c-site-footer__title .o-reveal {
	position: absolute;
	left: 8.2ch;
	transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0s;
}
.c-site-footer__title .c-site-footer__roll {
	display: inline-flex;
	flex-direction: column;
	height: calc(1em * var(--heading-line-height));
}
.c-site-footer__title .c-site-footer__roll span {
	display: block;
}
.c-site-footer__grid {
	--gutter-y: var(--space-l);
}
.c-site-footer__block01 {
	--column-span: 12;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
@media (min-width: 768px) {
	.c-site-footer__block01 {
		--column-span: 4;
	}
}
@media (min-width: 992px) {
	.c-site-footer__block01 {
		--column-start: 1;
		--column-span: 3;
	}
}
@media (min-width: 1440px) {
	.c-site-footer__block01 {
		--column-start: 1;
		--column-span: 2;
	}
}
.c-site-footer__block02 {
	--column-span: 12;
}
@media (min-width: 768px) {
	.c-site-footer__block02 {
		--column-start: 5;
		--column-span: 4;
	}
}
@media (min-width: 992px) {
	.c-site-footer__block02 {
		--column-start: 5;
		--column-span: 3;
	}
}
@media (min-width: 1440px) {
	.c-site-footer__block02 {
		--column-start: 4;
		--column-span: 2;
	}
}
.c-site-footer__social {
	--column-span: 12;
	display: flex;
	order: -1;
}
@media (min-width: 768px) {
	.c-site-footer__social {
		--column-span: 2;
		--column-start: 11;
		justify-content: flex-end;
		order: 1;
		margin-top: calc(var(--space-xs) + var(--step-0) * var(--body-line-height));
	}
}
.c-site-footer__social a {
	align-self: flex-start;
	line-height: 0;
	transition: color 0.25s, transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
}
@media (hover: hover) {
	.c-site-footer__social a:hover {
		transform: scale(1.1);
		color: var(--color-orange);
	}
}
.c-site-footer__social > *:not(:first-child) {
	margin-left: var(--space-xs);
}
.c-site-footer__block-label {
	color: var(--color-gray-03);
	font-family: var(--font-family-mono);
}
.c-site-footer__block-link {
	text-shadow: 0.03em 0 var(--color-black), -0.03em 0 var(--color-black),
		0 0.03em var(--color-black), 0 -0.03em var(--color-black),
		0.06em 0 var(--color-black), -0.06em 0 var(--color-black),
		0.09em 0 var(--color-black), -0.09em 0 var(--color-black),
		0.12em 0 var(--color-black), -0.12em 0 var(--color-black),
		0.15em 0 var(--color-black), -0.15em 0 var(--color-black);
	display: flex;
	flex-direction: column;
	margin-top: var(--space-xs);
	font-size: var(--step-1);
}
.c-site-footer__block-link + .c-site-footer__block-link {
	margin-top: 0;
}
.c-site-header {
	pointer-events: none;
	position: fixed;
	z-index: 9996;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: var(--site-header-height);
	opacity: 0;
	transition: transform 1.7s cubic-bezier(0.23, 1, 0.32, 1), opacity 1s;
	transform: translateY(24vh);
}
@media (max-width: 767.98px) {
	.c-site-header {
		transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1), opacity 1s;
		transform: translateY(17vh);
	}
}
.intro-quasi-complete .c-site-header {
	transform: none;
	opacity: 1;
}
.c-site-header a:hover {
	text-decoration: none;
}
.c-site-header .o-container {
	display: flex;
	height: auto;
}
.c-site-header__wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	height: auto;
}
.c-site-header__logo {
	pointer-events: auto;
}
.c-site-header__menu-wrapper {
	position: relative;
}
.c-site-header__menu-button {
	position: relative;
	z-index: 1;
	padding-right: 0;
	padding-left: 0;
	color: var(--color-black);
	border-radius: 7px;
	transition-delay: 0.4s;
}
@media (max-width: 767.98px) {
	.c-site-header__menu-button {
		transition-delay: 0.7s;
		transition-duration: 0.15;
	}
	.menu-active .c-site-header__menu-button span:first-child {
		transform: none;
	}
	.menu-active .c-site-header__menu-button span:last-child {
		transform: translateY(120%);
	}
}
.menu-active .c-site-header__menu-button {
	background: var(--color-orange) !important;
	transition-delay: 0s;
	transition-duration: 0.3s;
}
@media (max-width: 767.98px) {
	.menu-active .c-site-header__menu-button {
		transition-delay: 0.5s;
		transition-duration: 0.3s;
	}
}
.c-site-header__menu-button div {
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: hidden;
	height: 0.9em;
	padding-right: 0.84em;
	padding-left: 0.84em;
	will-change: transform;
}
.c-site-header__menu-button div span:first-child {
	position: absolute;
	transform: translateY(-120%);
}
.c-site-header__menu-button span {
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
	.menu-active .c-site-header__menu-button:hover {
		cursor: pointer;
	}
}
@media (min-width: 768px) {
	.c-site-header__menu {
		position: absolute;
		top: 0;
		right: 0;
		min-width: calc(var(--space-7xl) * 2.5);
	}
}
@media (max-width: 767.98px) {
	.c-site-header__menu {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}
}
.c-site-header__bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	transition: transform 1.5s cubic-bezier(0.86, 0, 0.07, 1);
	pointer-events: none;
}
@media (min-width: 768px) {
	.c-site-header__bg {
		overflow: hidden;
		border-radius: var(--banner-padding);
		transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1);
		transform: translate(-2px, 2px) scale(1) rotate(1deg);
		cursor: pointer;
		transform-origin: 100% 0;
	}
}
.menu-active .c-site-header__bg {
	pointer-events: auto;
}
@media (min-width: 768px) {
	.menu-active .c-site-header__bg {
		--translate: calc(var(--container-padding) / 2);
		transform: translate(var(--translate), calc(var(--translate) * -1)) scale(1.1);
	}
}
.c-site-header__bg::before,
.c-site-header__bg::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--color-gray-02);
	content: "";
	pointer-events: none;
}
@media (min-width: 768px) {
	.c-site-header__bg::before,
	.c-site-header__bg::after {
		transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1);
		transform: translate(130px, 0) rotate(15deg) scale(1.3, 0);
		transform-origin: 100% 0;
	}
}
@media (max-width: 767.98px) {
	.c-site-header__bg::before,
	.c-site-header__bg::after {
		transition: transform 1.25s cubic-bezier(0.86, 0, 0.07, 1);
		transform-origin: 100% 0;
		transform: translate(150px, 0) rotate(10deg) scale(1.5, 0);
	}
}
.c-site-header__bg::after {
	background: var(--color-black);
}
.c-site-header__bg::before {
	transition-delay: 0.05s;
}
@media (min-width: 768px) {
	.menu-active .c-site-header__bg::before,
	.menu-active .c-site-header__bg::after {
		transform: translateX(0) rotate(0) scale(1.3, 1);
	}
}
@media (max-width: 767.98px) {
	.menu-active .c-site-header__bg::before,
	.menu-active .c-site-header__bg::after {
		transition: transform 1.7s cubic-bezier(0.86, 0, 0.07, 1);
		transform: translateX(0) rotate(0) scale(1.5, 1);
	}
}
.menu-active .c-site-header__bg::before {
	transition-delay: 0s;
}
.menu-active .c-site-header__bg::after {
	transition-delay: 0.05s;
}
.c-site-header__menu-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0 var(--container-padding);
	text-align: right;
}
@media (min-width: 768px) {
	.c-site-header__menu-inner {
		padding: calc(var(--space-xl) * 1.2) var(--space-l) var(--space-m);
	}
}
.menu-active .c-site-header__menu-inner {
	pointer-events: auto;
}
.c-site-header__menu-top {
	display: flex;
	flex-direction: column;
}
@media (max-width: 767.98px) {
	.c-site-header__menu-top {
		margin-top: auto;
	}
}
.c-site-header__menu-top a {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: calc(1em * var(--heading-line-height));
	color: var(--color-white) !important;
	font-size: var(--step-5);
	opacity: 0;
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1),
		opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s;
	transition-delay: 0s;
	will-change: transform;
	transform-origin: 0 100%;
	transform: translateY(0.25em) scale(0.95);
}
@media (max-width: 767.98px) {
	.c-site-header__menu-top a {
		transition: transform 0.75s 0.6s cubic-bezier(0.23, 1, 0.32, 1),
			opacity 0.4s 0.4s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s;
	}
}
.c-site-header__menu-top a.is-active {
	color: var(--color-orange) !important;
}
.menu-active .c-site-header__menu-top a {
	opacity: 1;
	transform: none;
	transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1),
		opacity 1.3s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s;
	transition-delay: calc(var(--stagger) * 0.065s + 0.1s);
}
@media (max-width: 767.98px) {
	.menu-active .c-site-header__menu-top a {
		transition: transform 1.2s cubic-bezier(0.23, 1, 0.32, 1),
			opacity 1.5s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s;
		transition-delay: calc(var(--stagger) * 0.065s + 0.75s);
	}
}
* > .c-site-header__menu-top a:not(:first-child) {
	margin-top: var(--space-s);
}
.c-site-header__menu-top a div {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (max-width: 767.98px) {
	.c-site-header__menu-top a div {
		transform: none;
	}
}
.is-transitioning .c-site-header__menu-top a div {
	transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}
.c-site-header__menu-top a div::before {
	position: absolute;
	top: 0;
	right: 0;
	content: attr(data-text);
	transform: translateY(-120%);
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
	.c-site-header__menu-top a:hover div {
		transform: translateY(110%);
	}
	.c-site-header__menu-top a:hover div::before {
		transform: translateY(-110%);
	}
}
.c-site-header__menu-top a:nth-child(1) {
	--stagger: 1;
}
.c-site-header__menu-top a:nth-child(2) {
	--stagger: 2;
}
.c-site-header__menu-top a:nth-child(3) {
	--stagger: 3;
}
.c-site-header__menu-top a:nth-child(4) {
	--stagger: 4;
}
.c-site-header__menu-top a:nth-child(5) {
	--stagger: 5;
}
.c-site-header__menu-top a:nth-child(6) {
	--stagger: 6;
}
.c-site-header__menu-top a:nth-child(7) {
	--stagger: 7;
}
.c-site-header__menu-bottom {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-top: var(--space-xl);
	color: var(--color-white);
}
@media (max-width: 767.98px) {
	.c-site-header__menu-bottom {
		padding-bottom: var(--space-xl);
	}
}
.c-site-header__menu-bottom a {
	text-shadow: 0.03em 0 var(--color-black), -0.03em 0 var(--color-black),
		0 0.03em var(--color-black), 0 -0.03em var(--color-black),
		0.06em 0 var(--color-black), -0.06em 0 var(--color-black),
		0.09em 0 var(--color-black), -0.09em 0 var(--color-black),
		0.12em 0 var(--color-black), -0.12em 0 var(--color-black),
		0.15em 0 var(--color-black), -0.15em 0 var(--color-black);
	will-change: transform;
	opacity: 0;
	transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1),
		opacity 0.2s cubic-bezier(0.23, 1, 0.32, 1);
	transition-delay: 0s;
	transform-origin: 0 100%;
	transform: translate(-0.25em, 0.25em) scale(0.95);
}
@media (max-width: 767.98px) {
	.c-site-header__menu-bottom a {
		transition: transform 0.75s 0.6s cubic-bezier(0.23, 1, 0.32, 1),
			opacity 0.5s 0.3s cubic-bezier(0.23, 1, 0.32, 1);
	}
}
.menu-active .c-site-header__menu-bottom a {
	opacity: 1;
	transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1),
		opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1);
	transition-delay: calc(var(--stagger) * 0.065s + 1.2s);
	transform: none;
}
@media (min-width: 768px) {
	.menu-active .c-site-header__menu-bottom a {
		transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1),
			opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1);
		transition-delay: calc(var(--stagger) * 0.065s + 0.6s);
	}
}
* > .c-site-header__menu-bottom a:not(:first-child) {
	margin-top: 0.25em;
}
.c-site-header__menu-bottom a:nth-child(1) {
	--stagger: 1;
}
.c-site-header__menu-bottom a:nth-child(2) {
	--stagger: 2;
}
.c-site-header__menu-bottom a:nth-child(3) {
	--stagger: 3;
}
.c-site-header__menu-bottom a:nth-child(4) {
	--stagger: 4;
}
.c-site-header__menu-bottom a:nth-child(5) {
	--stagger: 5;
}
.c-site-header__menu-bottom a:nth-child(6) {
	--stagger: 6;
}
.c-site-header__menu-bottom a:nth-child(7) {
	--stagger: 7;
}
.c-site-wrapper {
	pointer-events: none;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
}
.c-site-wrapper__move {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	overflow: hidden;
	height: 100%;
	will-change: transform;
}
.c-site-wrapper__reverse {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.c-site-wrapper__overlay-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
}
.c-site-wrapper__overlay {
	flex-shrink: 0;
	background: var(--color-orange);
}
.c-site-wrapper__inner {
	position: relative;
	width: 100vw;
	height: 100vh;
}
.tpl-home .c-site-wrapper__inner {
	opacity: 0;
}
.intro-complete .tpl-home .c-site-wrapper__inner {
	opacity: 1;
}
.c-site-wrapper__inner::after,
.c-site-wrapper__inner::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 140vw;
	height: 100%;
	transform: translateX(-50%);
	background: var(--color-white);
	content: "";
}
.c-site-wrapper__inner::after {
	z-index: -1;
}
.c-site-wrapper__inner::before {
	background: var(--color-black);
	opacity: 0;
	transition: opacity 1s;
}
.grid-layout body.tpl-works .c-site-wrapper__inner::before {
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.theme-black.grid-layout body.tpl-works .c-site-wrapper__inner::before {
	opacity: 1;
}
.list-layout body.tpl-works .c-site-wrapper__inner::before {
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.theme-black .c-site-wrapper__inner::before,
.tpl-contact .c-site-wrapper__inner::before {
	opacity: 1;
}
.is-transitioning .c-site-wrapper__inner::before {
	transition-delay: 1.35s !important;
}
.c-site-wrapper__content {
	--flow: var(--space-5xl-6xl);
}
.c-site-wrapper__content > *:first-child {
	padding-top: calc(var(--site-header-height) + var(--space-l));
}
@media (min-width: 768px) {
	.c-site-wrapper__content > *:first-child {
		padding-top: var(--site-header-height);
	}
}
.c-svg-library {
	position: absolute;
	display: block;
	overflow: hidden;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border: none;
}
.c-text-highlight a:hover {
	text-decoration: none;
}
.c-text-highlight:not(.c-text-highlight--inverted):first-child {
	padding-top: calc(var(--site-header-height) + var(--space-2xl));
}
.c-text-highlight__wrapper {
	--gutter-y: var(--space-xl);
}
.c-text-highlight__title {
	--column-span: 12;
	max-width: 15ch;
	font-size: var(--step-4);
}
@media (min-width: 768px) {
	.c-text-highlight__title {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-text-highlight__title {
		--column-span: 7;
		font-size: var(--step-5);
	}
}
@media (min-width: 1440px) {
	.c-text-highlight__title {
		--column-span: 5;
		max-width: 100%;
		font-size: var(--step-5);
	}
}
.tpl-service .c-text-highlight__title {
	align-self: flex-end;
}
.c-text-highlight__title .c-text-highlight__roll {
	position: relative;
	display: inline-block;
	transition: transform 2s calc(0.75s + var(--index) * 0.5s)
		cubic-bezier(0.86, 0, 0.07, 1);
	transform: translateY(100%);
}
.intro-quasi-complete
	.is-inview
	.c-text-highlight__title
	.c-text-highlight__roll {
	transform: none;
}
.c-text-highlight__title .c-text-highlight__roll::before {
	content: attr(data-text);
	position: absolute;
	transform: translateY(-100%);
	left: 0;
}
.c-text-highlight--inverted .c-text-highlight__title {
	margin-left: auto;
	text-align: right;
}
@media (min-width: 992px) {
	.c-text-highlight--inverted .c-text-highlight__title {
		--column-span: 7;
		--column-start: 6;
		order: 1;
	}
}
@media (min-width: 1440px) {
	.c-text-highlight--inverted .c-text-highlight__title {
		--column-span: 5;
		--column-start: 8;
	}
}
.c-text-highlight__body {
	--column-span: 12;
	display: flex;
	flex-direction: column;
	align-self: flex-end;
	max-width: 70ch;
}
@media (min-width: 992px) {
	.c-text-highlight__body {
		--column-start: 9;
		--column-span: 4;
	}
}
@media (min-width: 992px) {
	.c-text-highlight--inverted .c-text-highlight__body {
		--column-start: 1;
		--column-span: 4;
		order: -1;
	}
}
@media (min-width: 1440px) {
	.c-text-highlight--inverted .c-text-highlight__body {
		--column-span: 4;
	}
}
.c-text-highlight__text {
	font-size: var(--step-1);
}
.c-text-highlight__highlight {
	--index: 5;
	align-self: flex-start;
	margin-top: var(--space-m);
}
.c-text-image {
	position: relative;
}
.c-text-image__switch-theme {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.c-text-image__image-outer-wrapper {
	width: 100%;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.c-text-image__image-outer-wrapper {
		width: calc(var(--column-width) * 6);
	}
}
@media (min-width: 992px) {
	.c-text-image__image-outer-wrapper {
		width: calc(var(--column-width) * 5);
	}
}
@media (min-width: 1440px) {
	.c-text-image__image-outer-wrapper {
		width: calc(var(--column-width) * 4);
	}
}
@media (min-width: 1960px) {
	.c-text-image__image-outer-wrapper {
		width: calc(var(--column-width) * 3);
	}
}
.c-text-image__image-inner-wrapper {
	position: relative;
	padding-bottom: 123.0769230769%;
	background: var(--color-placeholder);
	border-radius: var(--banner-radius);
	-webkit-mask-image: radial-gradient(#fff, #000);
	mask-image: radial-gradient(#fff, #000);
}
.c-text-image__text {
	max-width: 25ch;
	margin: 0 auto;
	margin-top: var(--space-2xl);
	font-size: var(--step-4);
	text-align: center;
}
@media (min-width: 768px) {
	.c-text-image__text {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-text-image__text {
		font-size: var(--step-5);
	}
}
@media (min-width: 1440px) {
	.c-text-image__text {
		font-size: var(--step-6);
	}
}
.c-text-image__image {
	position: absolute;
	top: -2vh;
	right: 0;
	bottom: -2vh;
	left: 0;
}
.c-titles__title {
	font-size: var(--step-4);
	text-align: right;
}
@media (min-width: 768px) {
	.c-titles__title {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-titles__title {
		font-size: var(--step-5);
	}
}
@media (min-width: 1440px) {
	.c-titles__title {
		font-size: var(--step-6);
	}
}
.c-titles__grid {
	--gutter-y: var(--space-2xl);
	grid-auto-flow: dense;
	margin-top: var(--space-2xl);
}
@media (min-width: 992px) {
	.c-titles__image-outer-wrapper {
		--column-span: 3;
		--column-start: 10;
	}
}
.c-titles__image-inner-wrapper {
	position: relative;
	overflow: hidden;
	padding-bottom: 133.3333333333%;
	background: var(--color-placeholder);
	border-radius: var(--banner-radius);
}
@media (min-width: 992px) {
	.c-titles__list {
		--column-span: 9;
	}
}
.c-titles__list-item-wrapper {
	font-size: var(--step-5);
	opacity: 1 !important;
	transform: none !important;
}
@media (min-width: 768px) {
	.c-titles__list-item-wrapper:nth-child(even).is-inview {
		transform: translateX(1em) !important;
	}
}
.c-titles__list-item {
	display: block;
	margin-top: var(--space-2xs);
	font-size: var(--step-5);
}
@media (min-width: 768px) {
	.c-titles__list-item {
		margin-top: calc(var(--space-2xs) * 0.25);
	}
}
li:nth-child(odd) .c-titles__list-item {
	color: var(--color-gray-02);
}
li:nth-child(even) .c-titles__list-item {
	color: var(--color-white);
}
.c-titles__image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.c-works-cta {
	position: relative;
}
.c-works-cta a:hover {
	text-decoration: none;
}
.c-works-cta__switch-theme {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.c-works-cta__heading {
	--gutter-y: var(--space-xl);
	grid-auto-flow: dense;
	align-items: flex-end;
	margin-bottom: var(--space-xl);
}
.c-works-cta__subtitle {
	--column-span: 12;
	display: flex;
	justify-content: space-between;
	font-family: var(--font-family-mono);
	font-size: var(--step-2);
}
@media (min-width: 768px) {
	.c-works-cta__subtitle {
		--column-span: 4;
	}
}
.c-works-cta__title-wrapper {
	--column-span: 12;
	--column-start: 1;
}
@media (min-width: 768px) {
	.c-works-cta__title-wrapper {
		--column-span: 6;
		--column-start: 7;
	}
}
@media (min-width: 1440px) {
	.c-works-cta__title-wrapper {
		--column-span: 5;
		--column-start: 8;
	}
}
.c-works-cta__title {
	max-width: 20ch;
	margin-left: auto;
	font-size: var(--step-4);
	text-align: right;
}
@media (min-width: 768px) {
	.c-works-cta__title {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-works-cta__title {
		font-size: var(--step-5);
	}
}
@media (min-width: 1440px) {
	.c-works-cta__title {
		font-size: var(--step-5);
	}
}
.c-works-cta__item {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--banner-radius);
	-webkit-mask-image: radial-gradient(#fff, #000);
	mask-image: radial-gradient(#fff, #000);
}
@media (min-width: 768px) {
	.c-works-cta__item {
		opacity: 1;
	}
}
.c-works-cta__item:not(:first-child) {
	margin-top: calc(var(--container-padding) / 1.5);
}
.c-works-cta__item-info {
	pointer-events: none;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: auto;
	padding: var(--space-m);
	color: var(--color-white);
}
@media (min-width: 992px) {
	.c-works-cta__item-info {
		padding: calc(var(--container-padding) / 2);
	}
}
.c-works-cta__info-title {
	font-size: var(--step-1);
	will-change: transform;
}
.c-works-cta__info-tags {
	will-change: transform;
	font-family: var(--font-family-mono);
}
@media (max-width: 767.98px) {
	.c-works-cta__info-tags {
		display: none;
	}
}
.c-works-cta__cta {
	display: inline-flex;
	align-items: center;
	margin-top: var(--space-xl);
}
.c-works-cta__item-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	transition: opacity 0.5s;
}
@media (hover: hover) {
	.c-works-cta__item:hover .c-works-cta__item-image {
		opacity: 0;
	}
}
.c-works__item-spacer,
.c-works-cta__item-spacer {
	width: 100%;
	padding-bottom: 40%;
}
@media (min-width: 768px) {
	.c-works__item-spacer,
	.c-works-cta__item-spacer {
		padding-bottom: 30%;
	}
}
@media (min-width: 992px) {
	.c-works__item-spacer,
	.c-works-cta__item-spacer {
		padding-bottom: 20%;
	}
}
.c-works__item-media,
.c-works-cta__item-media {
	position: absolute;
	top: -7.5vh;
	right: 0;
	bottom: -7.5vh;
	left: 0;
	background: var(--color-placeholder);
}
.c-works a {
	text-decoration: none;
}
.c-works a:hover {
	text-decoration: none;
}
.c-works__header {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	padding-bottom: var(--space-l);
	color: var(--theme-color-text);
}
@media (min-width: 768px) {
	.c-works__header {
		flex-direction: row-reverse;
		padding-bottom: var(--space-2xl);
	}
}
.c-works__header-title {
	position: relative;
	font-size: var(--step-6);
	text-align: right;
	transition: color 1s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (min-width: 768px) {
	.c-works__header-title {
		font-size: var(--step-4);
	}
}
@media (min-width: 992px) {
	.c-works__header-title {
		font-size: var(--step-5);
	}
}
@media (min-width: 1440px) {
	.c-works__header-title {
		font-size: var(--step-6);
	}
}
.c-works__header-title .c-works__header-stories {
	display: inline-block;
	transform: translateX(-20vw);
	transition: transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1);
}
.intro-quasi-complete
	.is-inview
	.c-works__header-title
	.c-works__header-stories {
	transform: none;
}
.c-works__header-title .c-works__header-wow-replacer {
	overflow: hidden;
	height: 0;
	opacity: 0;
	transition: height, opacity;
	transition-delay: 3.2s;
	transition-duration: 0s;
}
html:not(.is-real-transitioning).intro-complete
	.c-works__header-title
	.c-works__header-wow-replacer {
	transition-delay: 0s;
}
.intro-quasi-complete
	.is-inview
	.c-works__header-title
	.c-works__header-wow-replacer {
	height: 1em;
	opacity: 1;
}
.c-works__header-title .c-works__header-wow {
	position: relative;
	left: 0;
	pointer-events: none;
	width: calc(100vw - var(--container-padding) * 2);
	height: 1em;
	margin-left: auto;
	transition: height, opacity;
	transition-delay: 3.2s;
	transition-duration: 0s;
}
.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow {
	height: 0;
	opacity: 0;
}
.c-works__header-title .c-works__header-wow div {
	position: absolute;
	left: 0;
	width: 3.58ch;
}
.c-works__header-title .c-works__header-wow span:first-child {
	position: absolute;
	z-index: 1;
	left: 0;
	display: inline-block;
	width: 40ch;
	transform: translateX(calc(-100% + 1.29ch));
	background: var(--color-white);
	transition: transform 2s 1.2s cubic-bezier(0.86, 0, 0.07, 1),
		background 1s 0s cubic-bezier(0.23, 1, 0.32, 1);
}
.list-layout .c-works__header-title .c-works__header-wow span:first-child {
	background: var(--color-black);
}
.intro-quasi-complete
	.is-inview
	.c-works__header-title
	.c-works__header-wow
	span:first-child {
	transform: translateX(
		calc(-100% + 1.29ch + 100vw - var(--container-padding) * 2 - 2.58ch - 1ch)
	);
}
.c-works__header-title .c-works__header-wow span:last-child {
	position: absolute;
	left: 0;
	transform: translateX(calc(-100% + 2.58ch + 1ch));
	transition: transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1);
}
.intro-quasi-complete
	.is-inview
	.c-works__header-title
	.c-works__header-wow
	span:last-child {
	transform: translateX(calc(-100% + 100vw - var(--container-padding) * 2));
}
.list-layout .c-works__header-title {
	color: var(--color-gray-01);
}
.c-works__header-nav {
	display: flex;
}
@media (max-width: 767.98px) {
	.c-works__header-nav {
		margin-top: var(--space-xl);
		margin-right: auto;
	}
}
@media (min-width: 768px) {
	.c-works__header-nav {
		transform: translateX(100%);
	}
}
.c-works__header-nav > *:last-child {
	margin-left: var(--space-s);
}
.c-works__header-button {
	position: relative;
	padding: 0.5em 0.84em;
	color: var(--color-gray-03);
	font-family: var(--font-family-mono);
	font-weight: 700;
	line-height: 0.9;
	text-transform: uppercase;
	border: 1px solid var(--color-gray-03);
	border-radius: 7px;
	transition: background 0.75s cubic-bezier(0.23, 1, 0.32, 1);
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
@media (min-width: 768px) {
	.c-works__header-button {
		padding: 0.35em 0.6em;
	}
}
.c-works__header-button > span {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 0.9em;
}
.c-works__header-button > span span {
	display: block;
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
	transform: translate3d(0, 0, 0);
	transform-origin: 100% 50%;
}
.c-works__header-button > span span:last-child {
	padding-top: 0.25em;
	transform: translate(0, 0);
}
.c-works__header-button:hover {
	cursor: pointer;
}
.c-works__header-button.is-active {
	color: var(--color-black);
	background-color: var(--color-gray-01);
	border: 1px solid var(--color-gray-01);
	cursor: default;
	transition: transform 0s cubic-bezier(0.23, 1, 0.32, 1);
}
.list-layout .c-works__header-button {
	color: var(--color-gray-03);
	border: 1px solid var(--color-gray-03);
}
.list-layout .c-works__header-button.is-active {
	color: var(--color-white) !important;
	background-color: var(--color-gray-03);
}
@media (hover: hover) {
	.c-works__header-button.is-active span span:first-child,
	.c-works__header-button:hover span span:first-child {
		transform: translateY(calc(-100% - 0.25em));
		transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
	}
	.c-works__header-button.is-active span span:last-child,
	.c-works__header-button:hover span span:last-child {
		transform: translateY(-100%);
		transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
	}
}
.c-works__title-bar {
	color: var(--color-gray-03);
	font-family: var(--font-family-mono);
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.list-layout .c-works__title-bar {
	opacity: 1;
}
.c-works__title-story {
	--column-start: 1;
	--column-span: 4;
}
.c-works__title-client {
	--column-start: 5;
	--column-span: 4;
}
@media (max-width: 991.98px) {
	.c-works__title-client {
		display: none;
	}
}
.c-works__title-tags {
	--column-start: 9;
	--column-span: 3;
}
@media (max-width: 991.98px) {
	.c-works__title-tags {
		--column-start: 8;
		--column-span: 3;
	}
}
@media (max-width: 767.98px) {
	.c-works__title-tags {
		display: none;
	}
}
.c-works__item {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--banner-radius);
	transition: margin 1s cubic-bezier(0.23, 1, 0.32, 1);
	-webkit-mask-image: radial-gradient(#fff, #000);
	mask-image: radial-gradient(#fff, #000);
}
.c-works__item:not(:first-child) {
	margin-top: calc(var(--container-padding) / 1.5);
}
.list-layout .c-works__item {
	margin-top: 0;
}
.list-layout .c-works__item > * {
	pointer-events: none;
}
.c-works__line-list {
	position: absolute;
	z-index: 1;
	width: calc(100% - var(--container-padding) * 2);
	height: 1px;
	background: var(--color-gray-01);
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
	pointer-events: none;
}
.list-layout .c-works__line-list {
	opacity: 1;
}
.c-works__line-list::after {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--color-orange);
	content: "";
	opacity: 0;
	transform-origin: 100% 0;
	transform: scaleX(0);
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1), opacity 0s 1s;
}
.c-works__line-list:last-child {
	bottom: 1px;
}
@media (hover: hover) {
	.list-layout a:hover + .c-works__line-list::after {
		opacity: 1;
		transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.75s 0s;
		transform-origin: 0 0;
		transform: scaleX(1);
	}
}
.c-works__item-spacer {
	transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.list-layout .c-works__item-spacer {
	padding-bottom: 0%;
}
.list-layout .c-works__item-media {
	opacity: 0;
	transition-delay: 1s;
}
.c-works__item-bg {
	pointer-events: none;
	position: absolute;
	top: -1px;
	right: 0;
	bottom: 1px;
	left: 0;
	background: var(--color-black);
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
	content: "";
	will-change: transform;
}
.list-layout .c-works__item-bg {
	opacity: 1;
}
.c-works__item-info {
	--padding: var(--space-m);
	will-change: transform;
	pointer-events: none;
	position: relative;
	align-items: center;
	padding: calc(var(--padding)) 0;
	color: var(--color-white);
	transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (min-width: 992px) {
	.c-works__item-info {
		--padding: calc(var(--container-padding) / 2);
	}
}
.list-layout .c-works__item-info {
	padding-left: 0;
}
.c-works__info-title {
	--column-start: 1;
	--column-span: 10;
	font-size: var(--step-1);
	transform: translateX(var(--padding));
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (min-width: 768px) {
	.c-works__info-title {
		--column-span: 4;
	}
}
@media (min-width: 992px) {
	.c-works__info-title {
		--column-span: 4;
	}
}
.list-layout .c-works__info-title {
	transform: none;
}
.c-works__info-client {
	--column-start: 5;
	--column-span: 3;
	right: 0;
	font-size: var(--step-1);
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (max-width: 991.98px) {
	.c-works__info-client {
		display: none;
	}
}
.list-layout .c-works__info-client {
	opacity: 1;
}
.c-works__info-tags-grid {
	position: absolute;
	right: var(--padding);
	font-family: var(--font-family-mono);
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (max-width: 767.98px) {
	.c-works__info-tags-grid {
		display: none;
	}
}
.list-layout .c-works__info-tags-grid {
	opacity: 0;
}
.c-works__info-tags-list {
	--column-span: 4;
	--column-start: 8;
	position: absolute;
	font-size: var(--step-1);
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (min-width: 992px) {
	.c-works__info-tags-list {
		--column-span: 4;
		--column-start: 9;
	}
}
@media (max-width: 767.98px) {
	.c-works__info-tags-list {
		display: none;
	}
}
.list-layout .c-works__info-tags-list {
	opacity: 1;
}
.c-works__info-button {
	--column-span: 1;
	--column-start: 12;
	position: absolute;
	right: 1px;
	font-size: 0;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1),
		transform 1s cubic-bezier(0.23, 1, 0.32, 1);
	transform: translateX(calc(var(--padding) * -1));
	justify-self: flex-end;
}
.list-layout .c-works__info-button {
	transform: none;
	opacity: 1;
}
.c-works__info-button .o-button-arrow {
	transform-origin: 100% 50%;
}
.c-works__item-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	transition: opacity 0.5s;
	will-change: transform;
}
@media (hover: hover) {
	.c-works__item:hover .c-works__item-image {
		opacity: 0;
	}
}
.c-wow-layer {
	--font-size: 50vh;
	pointer-events: none;
	position: fixed;
	z-index: 99999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
}
.wow-layer-visible .c-wow-layer {
	display: block;
}
.c-wow-layer__wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: flex-end;
	width: 3.392ch;
	height: 0.5978em;
	color: var(--color-yellow);
	font-family: var(--font-family-heading);
	font-size: var(--font-size);
	line-height: 1;
	white-space: nowrap;
	opacity: 0;
	transition: transform 2.5s cubic-bezier(0.23, 1, 0.32, 1);
	transform: translate(-50%, -50%) rotate(-90deg) scale(42);
	will-change: transform;
}
.c-wow-layer__wrapper > div {
	position: relative;
	bottom: -0.124em;
}
.trigger-wow-layer .c-wow-layer__wrapper {
	opacity: 1;
	transform: translate(-50%, -50%);
}
.c-wow-layer__gif-wrapper,
.c-wow-layer__gif-wrapper-02 {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.c-wow-layer__gif-wrapper {
	transition: transform 3.9s 1.8s cubic-bezier(0.86, 0, 0.07, 1);
	transform: scale(1);
}
.trigger-wow-layer .c-wow-layer__gif-wrapper {
	transform: translateX(-100%) rotate(-15deg);
}
.c-wow-layer__gif-wrapper-02 {
	transition: transform 3.7s 1.8s cubic-bezier(0.86, 0, 0.07, 1);
}
.trigger-wow-layer .c-wow-layer__gif-wrapper-02 {
	transform: translateX(-100%) rotate(-10deg);
}
.c-wow-layer__gif {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20vw;
	height: 10vw;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 7px;
	opacity: 0;
	transition-delay: calc(var(--index) * 0.075s + 1.35s),
		calc(var(--index) * 0.075s + 1.35s);
	transition-duration: 1.5s, 0s;
	transition-property: transform, opacity;
	transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1), linear;
	transform: translate(-50%, calc(-50% + 200px)) scale(1.1);
}
.trigger-wow-layer .c-wow-layer__gif {
	transform: translate(-50%, -50%) scale(1.2) !important;
	opacity: 1 !important;
}
.c-wow-layer__gif.gif-01 {
	--index: 1;
	top: 20%;
	left: 20%;
	width: 15vw;
	height: 12vw;
}
.c-wow-layer__gif.gif-02 {
	--index: 2;
	top: 24%;
	left: 74%;
	width: 20vw;
	height: 12vw;
}
.c-wow-layer__gif.gif-03 {
	--index: 3;
	z-index: 100;
	top: 70%;
	left: 80%;
	width: 23vw;
	height: 42vw;
}
.c-wow-layer__gif.gif-04 {
	--index: 4;
	top: 74%;
	left: 20%;
	width: 23vw;
	height: 34vw;
}
.c-wow-layer__gif.gif-05 {
	--index: 5;
}
.c-wow-layer__text {
	display: flex;
	align-items: flex-end;
	transition: transform 3s 1.5s cubic-bezier(0.86, 0, 0.07, 1);
	will-change: transform;
}
.c-wow-layer__text div {
	font-size: calc(1em + var(--size) * 0.1em);
	transform: translateY(calc((1em - var(--font-size)) / 2.36));
}
.trigger-wow-layer .c-wow-layer__text {
	transform: translate(calc(-100% - 50vw + 1.696ch), 0);
}
.c-wow-layer__image {
	--padding: 0;
	position: absolute;
	top: var(--padding);
	right: var(--padding);
	bottom: var(--padding);
	left: var(--padding);
	pointer-events: none;
}
.c-wow-layer__sticker {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	width: 225px;
	height: 225px;
	opacity: 0;
	transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),
		opacity 0.2s 0.3s;
	pointer-events: auto;
	transform: translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1.1);
	perspective: 1000px;
	transform-origin: center center;
}
.c-wow-layer__sticker:hover {
	transform: translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1.1) !important;
	cursor: pointer;
}
.show-sticker .c-wow-layer__sticker {
	opacity: 1;
	transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),
		opacity 0.5s 0s;
	transform: translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1);
}
.show-sticker.trigger-wow-layer .c-wow-layer__sticker {
	opacity: 0;
	transition: transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86),
		opacity 0.2s 0.3s !important;
	transform: translate(-50%, -50%) rotate(40deg) scale(0) !important;
}
.c-wow-layer__sticker-rotation {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	background: transparent;
	border-radius: 20px;
	box-shadow: rgba(0, 0, 0, 0.25) 0 50px 100px -20px,
		rgba(0, 0, 0, 0.3) 0 30px 60px -30px;
	transform: rotateY(var(--rotate-x)) rotateX(var(--rotate-y));
}
.c-wow-layer__sticker-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 20px;
	transform-style: preserve-3d;
	transform: translate3d(0, 0, 0.01px);
}
.c-wow-layer__sticker-shine {
	--angle: -22deg;
	--space: 5%;
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	bottom: 0;
	-webkit-clip-path: inset(0 round 20px);
	clip-path: inset(0 round 20px);
	left: 0;
	background-position: 0% calc(var(--background-y) * 1),
		var(--background-x) var(--background-y);
	background-size: 300% 400%;
	opacity: 0;
	transition: opacity 1s;
	filter: brightness(calc(var(--pointer-from-center) * 0.3 + 0.5)) contrast(2.3)
		saturate(1);
	background-blend-mode: color-dodge;
	-webkit-mask-size: cover;
	mask-size: cover;
	-webkit-mask-position: center center;
	mask-position: center center;
	mix-blend-mode: color-dodge;
}
.c-wow-layer__sticker:hover .c-wow-layer__sticker-shine {
	opacity: 0.8;
}
.c-wow-layer__sticker-glare {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	background: radial-gradient(
		farthest-corner circle at var(--pointer-x) var(--pointer-y),
		hsl(0, 0%, 100%) 10%,
		hsla(0, 0%, 100%, 0.6) 35%,
		hsl(180, 11%, 35%) 60%
	);
	backface-visibility: hidden;
	border-radius: 20px;
	opacity: 0;
	transition: opacity 1s 0.3s;
	transform: translateZ(1.41px);
	mix-blend-mode: soft-light;
	filter: brightness(0.8) contrast(1.5);
}
.c-wow-layer__sticker:hover .c-wow-layer__sticker-glare {
	opacity: 0.8;
}
.heart {
  display: inline-block;
  animation: heartbeat 1.2s infinite;
  transform-origin: center;
}

.heartbeat {
    display: inline-block;
    animation: heartbeat 1.5s ease-in-out infinite;
}

@keyframes heartbeat {
    0% { transform: scale(1); }
    14% { transform: scale(1.3); }
    28% { transform: scale(1); }
    42% { transform: scale(1.3); }
    70% { transform: scale(1); }
    100% { transform: scale(1); }
}


/* Work Media Gallery Specific Styles - Scoped to prevent affecting other elements */
.work-media-gallery {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
            
/* Adaptive Grid System - Enhanced for Portrait + Landscape Layout */
.work-media-gallery .adaptive-grid {
  display: grid;
  grid-template-columns: var(--grid-columns, repeat(3, 1fr));
  grid-template-rows: repeat(var(--grid-rows, auto-fit), minmax(200px, auto));
  gap: 15px;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  min-height: 60vh;
  box-sizing: border-box;
}

.work-media-gallery .adaptive-cell {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  background: #333;
}

.work-media-gallery .adaptive-cell:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.3);
}

.work-media-gallery .adaptive-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.4s ease;
}

.work-media-gallery .adaptive-cell:hover img {
  transform: scale(1.02);
  filter: brightness(1.05);
}

/* Cell types based on actual aspect ratios */
.work-media-gallery .ultra-wide-cell {
  min-height: 180px;
}

.work-media-gallery .wide-landscape-cell {
  min-height: 200px;
}

.work-media-gallery .landscape-cell {
  min-height: 220px;
}

/* Enhanced Portrait Cell Sizing for 9:16 */
.work-media-gallery .portrait-cell {
  min-height: 400px;  /* Proper height for 9:16 ratio */
  aspect-ratio: 9/16;
  background: linear-gradient(135deg, rgba(33, 150, 243, 0.1), rgba(33, 150, 243, 0.05));
}

.work-media-gallery .tall-portrait-cell {
  min-height: 450px;  /* For very tall portraits */
  aspect-ratio: 9/16;
  background: linear-gradient(135deg, rgba(63, 81, 181, 0.1), rgba(63, 81, 181, 0.05));
}

.work-media-gallery .square-cell {
  min-height: 250px;
  aspect-ratio: 1/1;
}

/* Special Layout: Portrait + 3 Landscapes */
.work-media-gallery .portrait-landscape-layout {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: repeat(3, 1fr);
  gap: 15px;
  min-height: 600px;
  margin-bottom: 30px;
}

.work-media-gallery .portrait-tall-main {
  grid-column: 1;
  grid-row: 1 / -1;
  min-height: 600px;
  aspect-ratio: 9/16;
  background: linear-gradient(135deg, rgba(156, 39, 176, 0.1), rgba(156, 39, 176, 0.05));
}

.work-media-gallery .landscape-stacked {
  grid-column: 2;
  min-height: 190px;
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, rgba(255, 152, 0, 0.1), rgba(255, 152, 0, 0.05));
}

/* Additional grid for remaining images */
.work-media-gallery .portrait-landscape-layout + .adaptive-grid {
  margin-top: 30px;
}

/* Ensure images fill containers completely */
.work-media-gallery .adaptive-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.work-media-gallery .adaptive-cell .c-media__wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
}

.work-media-gallery .adaptive-cell img,
.work-media-gallery .adaptive-cell video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  box-sizing: border-box;
}

/* Video specific styling */
.work-media-gallery .adaptive-cell video {
  transition: all 0.4s ease;
}

.work-media-gallery .adaptive-cell:hover video {
  transform: scale(1.02);
  filter: brightness(1.05);
}


/* Video type indicator */
.work-media-gallery .adaptive-cell .media-type-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  z-index: 3;
  opacity: 0.9;
}

/* Mobile-specific aspect ratio classes */
@media (max-width: 768px) {
  .mobile-portrait {
    aspect-ratio: 9/16 !important;
    min-height: 70vh !important;
    max-height: 80vh !important;
  }
  
  .mobile-landscape {
    aspect-ratio: 16/9 !important;
    min-height: 45vw !important;
    max-height: 60vw !important;
  }
  
  .mobile-square {
    aspect-ratio: 1/1 !important;
    min-height: 85vw !important;
    max-height: 90vw !important;
  }
}

@media (max-width: 480px) {
  .mobile-portrait {
    aspect-ratio: 9/16 !important;
    min-height: 65vh !important;
    max-height: 75vh !important;
  }
  
  .mobile-landscape {
    aspect-ratio: 16/9 !important;
    min-height: 50vw !important;
    max-height: 65vw !important;
  }
  
  .mobile-square {
    aspect-ratio: 1/1 !important;
    min-height: 80vw !important;
    max-height: 85vw !important;
  }
}

/* Responsive Design - Enhanced for Portrait + Landscape Layout */
@media (max-width: 1200px) {
  .work-media-gallery .adaptive-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 0 15px;
    max-width: 100vw;
    box-sizing: border-box;
  }
  
  .work-media-gallery .portrait-landscape-layout {
    min-height: 500px;
    grid-template-columns: 1fr 1.8fr;
  }
  
  .work-media-gallery .portrait-tall-main {
    min-height: 500px;
  }
  
  .work-media-gallery .landscape-stacked {
    min-height: 160px;
  }
  
  .work-media-gallery .ultra-wide-cell,
  .work-media-gallery .wide-landscape-cell {
    min-height: 160px;
  }
  
  .work-media-gallery .portrait-cell {
    min-height: 350px;
  }
  
  .work-media-gallery .tall-portrait-cell {
    min-height: 400px;
  }
}

@media (max-width: 768px) {
  .work-media-gallery .adaptive-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    padding: 0 15px !important;
    max-width: 100vw !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }
  
  /* Mobile: Respect natural aspect ratios */
  .work-media-gallery .adaptive-cell {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
    flex-shrink: 0 !important;
  }
  
  /* Portrait videos/images - 9:16 ratio */
  .work-media-gallery .portrait-cell,
  .work-media-gallery .tall-portrait-cell {
    aspect-ratio: 9/16 !important;
    width: 60% !important;
    max-width: 350px !important;
    margin: 0 auto !important;
    min-height: auto !important;
    height: auto !important;
  }
  
  /* Landscape videos/images - 16:9 ratio */
  .work-media-gallery .landscape-cell,
  .work-media-gallery .wide-landscape-cell,
  .work-media-gallery .ultra-wide-cell {
    aspect-ratio: 16/9 !important;
    width: 100% !important;
    min-height: auto !important;
    height: auto !important;
  }
  
  /* Square videos/images - 1:1 ratio */
  .work-media-gallery .square-cell {
    aspect-ratio: 1/1 !important;
    width: 80% !important;
    max-width: 400px !important;
    margin: 0 auto !important;
    min-height: auto !important;
    height: auto !important;
  }
  
  /* On mobile, stack portrait + landscapes vertically */
  .work-media-gallery .portrait-landscape-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    min-height: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .work-media-gallery .portrait-tall-main {
    grid-column: auto !important;
    grid-row: auto !important;
    aspect-ratio: 9/16 !important;
    width: 60% !important;
    max-width: 350px !important;
    margin: 0 auto !important;
    min-height: auto !important;
    height: auto !important;
  }
  
  .work-media-gallery .landscape-stacked {
    grid-column: auto !important;
    grid-row: auto !important;
    aspect-ratio: 16/9 !important;
    width: 100% !important;
    min-height: auto !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {
  .work-media-gallery .adaptive-grid {
    padding: 0 10px !important;
    gap: 12px !important;
  }
  
  .work-media-gallery .portrait-landscape-layout {
    gap: 12px !important;
  }
  
  .work-media-gallery .adaptive-cell {
    border-radius: 8px;
  }
  
  /* Adjust portrait size for very small screens */
  .work-media-gallery .portrait-cell,
  .work-media-gallery .tall-portrait-cell,
  .work-media-gallery .portrait-tall-main {
    width: 70% !important;
    max-width: 280px !important;
  }
  
  /* Ensure square cells don't get too small */
  .work-media-gallery .square-cell {
    width: 85% !important;
    max-width: 320px !important;
  }
  
  /* Video overlay and badges sizing */
  .work-media-gallery .adaptive-cell .video-overlay {
    width: 50px;
    height: 50px;
    font-size: 18px;
  }
  
  .work-media-gallery .adaptive-cell .media-type-badge {
    font-size: 10px;
    padding: 3px 6px;
    top: 8px;
    right: 8px;
  }
}
    
/* Animation effects - Scoped to work media gallery only */
    .work-media-gallery .adaptive-cell {
      opacity: 0;
      transform: translateY(30px);
      animation: slideInUp 0.6s ease forwards;
    }
    
    @keyframes slideInUp {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    /* Stagger animation delays */
    .work-media-gallery .adaptive-cell:nth-child(1) { animation-delay: 0.1s; }
    .work-media-gallery .adaptive-cell:nth-child(2) { animation-delay: 0.2s; }
    .work-media-gallery .adaptive-cell:nth-child(3) { animation-delay: 0.3s; }
    .work-media-gallery .adaptive-cell:nth-child(4) { animation-delay: 0.4s; }
    .work-media-gallery .adaptive-cell:nth-child(5) { animation-delay: 0.5s; }
    .work-media-gallery .adaptive-cell:nth-child(6) { animation-delay: 0.6s; }
    .work-media-gallery .adaptive-cell:nth-child(7) { animation-delay: 0.7s; }
    .work-media-gallery .adaptive-cell:nth-child(8) { animation-delay: 0.8s; }
    .work-media-gallery .adaptive-cell:nth-child(n+9) { animation-delay: 0.9s; }
    
    /* Loading state */
    .work-media-gallery .adaptive-cell img {
      opacity: 0;
      animation: fadeInImage 0.8s ease forwards;
    }
    
    @keyframes fadeInImage {
      from {
        opacity: 0;
        transform: scale(1.05);
      }
      to {
        opacity: 1;
        transform: scale(1);
      }
    }
    
    /* Testimonials Section Styles */
    .c-testimonials {
      margin-top: 25px;
      position: relative;
      padding: 0;
      overflow: hidden;
    }
    
    .c-testimonials__title {
      font-size: clamp(3rem, 7vw, 8rem);
      line-height: 0.9;
      font-weight: 700;
      margin-bottom: 2rem;
      color: #fff;
      text-transform: lowercase;
    }
    
    .c-testimonials__subtitle {
      font-size: 1.25rem;
      line-height: 1.6;
      color: #a8a8a8;
      margin-bottom: 4rem;
      max-width: 600px;
    }
    
    .c-testimonials__carousel-wrapper {
      position: relative;
      overflow: hidden;
      margin-top: 4rem;
    }
    
    .c-testimonials__carousel {
      display: flex;
      gap: 2rem;
      animation: testimonialScroll 60s linear infinite;
      width: fit-content;
    }
    
    .c-testimonials__carousel:hover {
      animation-play-state: paused;
    }
    
    @keyframes testimonialScroll {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-50%);
      }
    }
    
    .c-testimonials__item {
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 2rem;
      padding: 2.5rem;
      position: relative;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      backdrop-filter: blur(20px);
      overflow: hidden;
      width: 600px;
      min-width: 400px;
      flex-shrink: 0;
    }
    
    .c-testimonials__item::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
      opacity: 0;
      transition: opacity 0.4s ease;
      pointer-events: none;
    }
    
    .c-testimonials__item:hover {
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.08) 100%);
      border-color: rgba(255, 255, 255, 0.25);
    }
    
    .c-testimonials__item:hover::before {
      opacity: 1;
    }
    
    .c-testimonials__quote-icon {
      position: absolute;
      top: 1.5rem;
      right: 1.5rem;
      width: 2rem;
      height: 2rem;
      color: rgba(255, 255, 255, 0.2);
      transform: rotate(-15deg);
      transition: all 0.3s ease;
    }
    
    .c-testimonials__item:hover .c-testimonials__quote-icon {
      color: rgba(255, 255, 255, 0.4);
      transform: rotate(0deg) scale(1.1);
    }
    
    .c-testimonials__review {
      margin: 0 0 2rem 0;
      font-size: 1.1rem;
      line-height: 1.6;
      color: #fff;
      font-style: italic;
      font-weight: 300;
      position: relative;
      z-index: 2;
      display: -webkit-box;
      -webkit-line-clamp: 4;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    
    .c-testimonials__review p {
      margin: 0;
    }
    
    .c-testimonials__author {
      position: relative;
      z-index: 2;
      display: flex;
      align-items: center;
      gap: 1rem;
    }
    
    .c-testimonials__author-logo {
      width: 50px !important;
      height: 50px !important;
      border-radius: 50% !important;
      overflow: hidden !important;
      flex-shrink: 0 !important;
      position: relative !important;
      background: transparent !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      border: 2px solid rgba(255, 255, 255, 0.1) !important;
      box-sizing: border-box !important;
    }
    
    .c-testimonials__author-logo img {
      width: 100% !important;
      height: 100% !important;
      max-width: 100% !important;
      max-height: 100% !important;
      object-fit: cover !important;
      border-radius: 50% !important;
      display: block !important;
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      z-index: 10 !important;
      opacity: 1 !important;
      visibility: visible !important;
      border: none !important;
      outline: none !important;
      background: white !important;
    }
    
    .c-testimonials__author-initials {
      width: 100% !important;
      height: 100% !important;
      border-radius: 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-weight: 700 !important;
      font-size: 1rem !important;
      letter-spacing: 1px !important;
      color: white !important;
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      z-index: 5 !important;
      box-sizing: border-box !important;
    }
    
    .c-testimonials__author-info {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      min-width: 0;
      flex: 1;
    }
    
    .c-testimonials__author-name {
      font-size: 1.1rem;
      font-weight: 600;
      color: #fff;
      margin: 0;
      letter-spacing: -0.025em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    
    .c-testimonials__author-details {
      font-size: 0.9rem;
      color: #b8b8b8;
      margin: 0;
      font-weight: 400;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    
    .c-testimonials__no-testimonials {
      text-align: center;
      padding: 6rem 0;
      color: #a8a8a8;
      font-size: 1.25rem;
    }
    
    /* Generate different gradient backgrounds for initials */
    .c-testimonials__author-initials--1 { background: linear-gradient(135deg, #2d2d2d  0%, #BFBAA4 100%); }
    .c-testimonials__author-initials--2 { background: linear-gradient(135deg, #2d2d2d  0%, #BFBAA4 100%); }
    .c-testimonials__author-initials--3 { background: linear-gradient(135deg, #2d2d2d  0%, #BFBAA4 100%); }
    .c-testimonials__author-initials--4 { background: linear-gradient(135deg, #2d2d2d  0%, #BFBAA4 100%); }
    .c-testimonials__author-initials--5 { background: linear-gradient(135deg, #2d2d2d  0%, #BFBAA4 100%); }
    .c-testimonials__author-initials--6 { background: linear-gradient(135deg, #2d2d2d  0%, #BFBAA4 100%); }
    .c-testimonials__author-initials--7 { background: linear-gradient(135deg, #2d2d2d  0%, #BFBAA4 100%); }
    .c-testimonials__author-initials--8 { background: linear-gradient(135deg, #2d2d2d  0%, #BFBAA4 100%); }
    
    @media (max-width: 768px) {
      .c-testimonials__item {
        width: 450px;
        min-width: 350px;
        padding: 2rem;
        border-radius: 1.5rem;
      }
      
      .c-testimonials__title {
        margin-bottom: 1.5rem;
      }
      
      .c-testimonials__subtitle {
        margin-bottom: 3rem;
      }
      
      .c-testimonials__quote-icon {
        width: 1.5rem;
        height: 1.5rem;
        top: 1.25rem;
        right: 1.25rem;
      }
      
      .c-testimonials__review {
        font-size: 1rem;
        margin-bottom: 1.5rem;
        -webkit-line-clamp: 3;
      }
      
      .c-testimonials__author-logo {
        width: 45px;
        height: 45px;
      }
      
      .c-testimonials__author-name {
        font-size: 1rem;
      }
      
      .c-testimonials__author-details {
        font-size: 0.85rem;
      }
    }
    
    @media (max-width: 480px) {
      .c-testimonials__item {
        width: 300px;
        min-width: 300px;
        padding: 1.5rem;
      }
      
      .c-testimonials__review {
        font-size: 0.95rem;
      }
      
      .c-testimonials__author-logo {
        width: 40px;
        height: 40px;
      }
      
      .c-testimonials__author-name {
        font-size: 0.95rem;
      }
      
      .c-testimonials__author-details {
        font-size: 0.8rem;
      }
    }
