/**************************************************
		Content
 **************************************************

	00. Externals
	01. Browser Reset
	02. Basic Styles
	03. Basic wireframe
	04. Header
	05. Footer
	06. Home
	07. Works
	08.	Talents
	09. About
	10. Legal
	11. Video Player
	12. Powerhouse
	XX. Misc




/**************************************************
	00. Externals
 **************************************************/

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-Light.woff2') format('woff2'),
		 url('../../fonts/Roboto-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-Regular.woff2') format('woff2'),
		 url('../../fonts/Roboto-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-SemiBold.woff2') format('woff2'),
		 url('../../fonts/Roboto-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-Bold.woff2') format('woff2'),
		 url('../../fonts/Roboto-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}


/*

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-Thin.woff2') format('woff2'),
		 url('../../fonts/Roboto-Thin.woff') format('woff');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-ExtraLight.woff2') format('woff2'),
		 url('../../fonts/Roboto-ExtraLight.woff') format('woff');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-Medium.woff2') format('woff2'),
		 url('../../fonts/Roboto-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-ExtraBold.woff2') format('woff2'),
		 url('../../fonts/Roboto-ExtraBold.woff') format('woff');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../../fonts/Roboto-Black.woff2') format('woff2'),
		 url('../../fonts/Roboto-Black.woff') format('woff');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
*/





/**************************************************
	01. Browser Reset
 **************************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, ol, ul, li, fieldset, form, label, caption, tr, th, td, canvas, embed, 
figure, figcaption, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

figcaption, figure {
	display: block;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}



/**************************************************
	02. Basic Styles
 **************************************************/

* {
	box-sizing: border-box;
}

html {
	--vw:					1vw;
	--vh:					1vh;
	--headerHeight:			57px;

	--black:				#000000;
	--white:				#FFFFFF;
	--gray:					#666666;
	--gray2:				#EEEEEE;
	--red:					#FF2600;

	--whiteSemitransparent: #FFFFFFCC;
	--white2Semitransparent: #EBEBEBA3;

	background-color:		var(--white);
	color:					var(--black);

	--fadeFromWhite:		linear-gradient(to bottom,
								hsl(0, 0%, 100%) calc(100% - 1rem),
								hsla(0, 0%, 100%, 0.987) calc(100% - 0.919rem),
								hsla(0, 0%, 100%, 0.951) calc(100% - 0.845rem),
								hsla(0, 0%, 100%, 0.896) calc(100% - 0.775rem),
								hsla(0, 0%, 100%, 0.825) calc(100% - 0.71rem),
								hsla(0, 0%, 100%, 0.741) calc(100% - 0.647rem),
								hsla(0, 0%, 100%, 0.648) calc(100% - 0.588rem),
								hsla(0, 0%, 100%, 0.55) calc(100% - 0.529rem),
								hsla(0, 0%, 100%, 0.45) calc(100% - 0.471rem),
								hsla(0, 0%, 100%, 0.352) calc(100% - 0.412rem),
								hsla(0, 0%, 100%, 0.259) calc(100% - 0.353rem),
								hsla(0, 0%, 100%, 0.175) calc(100% - 0.29rem),
								hsla(0, 0%, 100%, 0.104) calc(100% - 0.225rem),
								hsla(0, 0%, 100%, 0.049) calc(100% - 0.155rem),
								hsla(0, 0%, 100%, 0.013) calc(100% - 0.081rem),
								hsla(0, 0%, 100%, 0) 100%
							);
}

html, body {
	margin: 0;
	padding: 0;
	min-width: 100%;
	min-height: 100%;
	font-size: 16px;
	
	/*scroll-behavior: smooth;*/
	overscroll-behavior: none;
	-webkit-overflow-scrolling: auto;
	-webkit-tap-highlight-color: transparent;
}

body {
	font-family: Roboto, sans-serif;
	font-size: 15px;
	line-height: 1.6;

	color: var(--black);
	background: var(--white);
	transition: color 0.5s, background-color 0.5s;

	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
  

img.lazy {
	opacity: 0;
	transition: opacity 0.5s ease;
}

img.lazy.loaded {
	opacity: 1;
}

.uc {
	text-transform: uppercase;
}

.is-light           { font-weight: 300; }
.is-regular, body   { font-weight: 400; }
.is-semibold        { font-weight: 600; }
.is-bold, b, strong { font-weight: 700; }

.text-sm   { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem;     line-height: 1.5rem;  }
.text-xl   { font-size: 1.25rem;  line-height: 1.75rem; }
.text-2xl  { font-size: 1.5rem;   line-height: 2rem;    }
.text-3xl  { font-size: 1.866rem; line-height: 1;       }
.text-4xl  { font-size: 2.25rem;  line-height: 2.5rem;  }


@media (min-width: 680px) {
	html {
		--fadeFromWhite: linear-gradient(to bottom,
						hsl(0, 0%, 100%) calc(100% - 2rem),
						hsla(0, 0%, 100%, 0.987) calc(100% - 1.838rem),
						hsla(0, 0%, 100%, 0.951) calc(100% - 1.69rem),
						hsla(0, 0%, 100%, 0.896) calc(100% - 1.55rem),
						hsla(0, 0%, 100%, 0.825) calc(100% - 1.42rem),
						hsla(0, 0%, 100%, 0.741) calc(100% - 1.294rem),
						hsla(0, 0%, 100%, 0.648) calc(100% - 1.176rem),
						hsla(0, 0%, 100%, 0.55) calc(100% - 1.058rem),
						hsla(0, 0%, 100%, 0.45) calc(100% - 0.942rem),
						hsla(0, 0%, 100%, 0.352) calc(100% - 0.824rem),
						hsla(0, 0%, 100%, 0.259) calc(100% - 0.706rem),
						hsla(0, 0%, 100%, 0.175) calc(100% - 0.58rem),
						hsla(0, 0%, 100%, 0.104) calc(100% - 0.45rem),
						hsla(0, 0%, 100%, 0.049) calc(100% - 0.31rem),
						hsla(0, 0%, 100%, 0.013) calc(100% - 0.162rem),
						hsla(0, 0%, 100%, 0) 100%
					);
	}
}


@media (min-width: 900px) {
	html {
	}
}




/**************************************************
	03. Basic wireframe
 **************************************************/

.wrapper {
	padding-top: var(--headerHeight);
}




/**************************************************
	04. Header
 **************************************************/

.header {
	--fgColor: var(--white);
	--bgColor: transparent;
	--borderColor: rgba(255, 255, 255, 0.15);

	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	padding: 1rem;

	display: flex;
	flex-direction: row;
	justify-content: space-between;
	background: var(--bgColor);
}

.header.show-menu,
body.bg-light .header {
	--fgColor: var(--black);
	--bgColor: var(--white);
	--borderColor: var(--black);
}

body.bg-dark .header {
	--fgColor: var(--white);
	--bgColor: var(--black);
	--borderColor: rgba(255, 255, 255, 0.15);
}

body.show-hypereel .header {
	--borderColor: transparent;
}

.header:has(.has-cta) {
	padding: 1rem;
}

.header:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 1rem;
	display: block;
	width: calc(100% - 2rem);
	border-bottom: 0.01rem solid var(--borderColor);
	transition: border-bottom-color 0.25s ease;
}

.header-logo {
	position: relative;
	z-index: 999;
	flex-grow: 0;
	width: 140px;
	margin-right: 20px;
}

.header-logo svg {
	width: 100%;
	height: 100%;
}

.header-logo svg path {
	fill: var(--fgColor);
}

body.show-hypereel .header-menu-inner {
	opacity: 0;
	pointer-events: none;
}

.header-menu-inner ul li {
	display: inline-block;
}

.header-menu-inner a,
.header-menu-legal a {
	padding: 0 2rem;
	text-decoration: none;
	color: var(--fgColor);
	letter-spacing: 0.025em;

/*	opacity: 0.5;*/
	transition: opacity 0.25s ease, color 0.25s ease;
}

body.show-hypereel .header-menu-legal {
	opacity: 0;
	pointer-events: none;
}

.header-menu-legal a {
	display: block;
	padding: 0;
	width: 160px;
	text-align: right;
	color: rgb(75, 85, 99);
}

.header-menu-inner .current-item,
.header-menu-legal .current-item {
	opacity: 1;
}

.header-menu-inner a:hover,
.header-menu-legal a:hover {
	opacity: 1;
	color: var(--red);
}

.header-menu-inner,
.header-menu-legal,
.header-menu-cta {
	display: none;
}

body.show-hypereel .header-menu-mobile {
	opacity: 0;
	pointer-events: none;
}

.header-menu-toggle {
	position: relative;
	z-index: 511;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 20px;
	width: 30px;
	cursor: pointer;
}

.header-menu-toggle span {
	height: 1px;
	width: 100%;
	background-color: var(--fgColor);
	transition: all 100ms ease-in-out;
}

.header-menu-mobile.show .header-menu-toggle span:nth-child(1) {
	transition: all 100ms ease-in-out;
	transform: rotate(45deg);
	transform-origin: top left;
	width: 28px;
	background-color: var(--black);
}

.header-menu-mobile.show .header-menu-toggle span:nth-child(2) {
	transition: all 100ms ease-in-out;
	transform-origin: center;
	width: 0;
	background-color: var(--black);
}

.header-menu-mobile.show .header-menu-toggle span:nth-child(3) {
	transition: all 100ms ease-in-out;
	transform: rotate(-45deg);
	transform-origin: bottom left;
	width: 28px;
	background-color: var(--black);
}

.header-menu-mobile-inner {
	position: fixed;
	left: 0;
	top: 0;
	width: calc(100 * var(--vw));
	height: calc(100 * var(--vh));
	z-index: 510;
	padding: 8rem 2rem;
	overflow: hidden;
	background-color: var(--white);

	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	justify-content: center;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.header-menu-mobile.show .header-menu-mobile-inner {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}

.header-menu-mobile-inner ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	justify-content: center;
}

.header-menu-mobile-inner ul li {
	display: block;
}

.header-menu-mobile-inner a {
	display: block;
	padding: 1rem 0;
	text-decoration: none;
	color: var(--black);

	opacity: 0;
	transition-property: opacity;
	transition-timing-function: cubic-bezier(0.4, 0.2, 1);
	transition-duration: 0.3s;
}

.header-menu-mobile-inner a:nth-child(1),
.header-menu-mobile-inner li:nth-child(1) a {
	transition-delay: 75ms;
}

.header-menu-mobile-inner a:nth-child(2),
.header-menu-mobile-inner li:nth-child(2) a {
	transition-delay: 100ms;
}

.header-menu-mobile-inner a:nth-child(3),
.header-menu-mobile-inner li:nth-child(3) a {
	transition-delay: 150ms;
}

.header-menu-mobile-inner a:nth-child(4),
.header-menu-mobile-inner li:nth-child(4) a {
	transition-delay: 200ms;
}

.header-menu-mobile-inner a:nth-child(5),
.header-menu-mobile-inner li:nth-child(5) a {
	transition-delay: 300ms;
}

.header-menu-mobile-inner a:nth-child(6),
.header-menu-mobile-inner li:nth-child(6) a {
	transition-delay: 450ms;
}

.header-menu-mobile-inner a:nth-child(7),
.header-menu-mobile-inner li:nth-child(7) a {
	transition-delay: 600ms;
}

.header-menu-mobile-inner a:nth-child(8),
.header-menu-mobile-inner li:nth-child(8) a {
	transition-delay: 750ms;
}

.header-menu-mobile-inner a:nth-child(9),
.header-menu-mobile-inner li:nth-child(9) a {
	transition-delay: 900ms;
}

.header-menu-mobile-inner a:nth-child(10),
.header-menu-mobile-inner li:nth-child(10) a {
	transition-delay: 1050ms;
}


.header-menu-mobile-inner a:hover {
	color: var(--red);
}

.header-menu-mobile.show a {
	opacity: 1;
}

.header-menu-mobile-inner .cta {
	display: inline-block;
	padding: 0.4rem 1rem;
	margin-top: 2rem;
	color: var(--white);
}

.header-menu-mobile-inner a:hover {
	color: var(--white);
}



@media (min-width: 900px) {
	.header:not(.force-mobile-menu):has(.has-cta) {
		padding: 0.625rem 1rem;
	}

	.header:not(.force-mobile-menu) .header-menu-inner,
	.header:not(.force-mobile-menu) .header-menu-inner ul {
		display: flex;
		justify-self: center;
		align-items: center;
		margin: auto;
		height: 100%;
	}

	.header:not(.force-mobile-menu) .header-menu-legal {
		display: block;
	}

	.header:not(.force-mobile-menu) .header-menu-cta {
		display: inline-block;
	}

	body:not(.bg-light) .header-menu-cta .cta {
		color: var(--black);
		background-color: var(--white);
	}

	.header:not(.force-mobile-menu) .header-menu-mobile {
		display: none;
	}
}




/**************************************************
	05. Footer
 **************************************************/




/**************************************************
	06. Home
 **************************************************/

/****	Hypereel 	****/

.module-hypereel {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--black);
	z-index: 500;

	cursor: pointer;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.module-hypereel.hide {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.module-hypereel .cover-container {
	width: 100%;
	height: 100%;
}

.module-hypereel video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}



/****	Showcase 	****/

.module-showcase {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	cursor: url('../../img/cursor-play.png') 25 25, auto;
}

.module-showcase .showcase-bg {
	width: 100%;
	height: 100%;
}

.module-showcase .showcase-bg-item {
	display: none;
}

.module-showcase .showcase-bg-item.active {
	display: block;
	width: 100%;
	height: 100%;
}

.module-showcase .showcase-bg-item .cover-container {
	width: 100%;
	height: 100%;
}

.module-showcase .showcase-fg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.module-showcase .showcase-list {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: 1rem;
}

.module-showcase .showcase-fg-item {
	display: none;
}

.module-showcase .showcase-fg-item.active {
	display: block;
	pointer-events: all;
}

.module-showcase .showcase-fg-item .video-director {
	margin-bottom: 0.5rem;
	font-size: 2.65rem;
	line-height: 1.2;
	color: var(--whiteSemitransparent);
}

.module-showcase .showcase-fg-item .video-title {
	color: var(--white2Semitransparent);
}

.module-showcase .showcase-nav {
	position: absolute;
	top: 0;
	right: 0.5rem;

	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: var(--headerHeight) 0;
}

.module-showcase .showcase-nav-item {
	position: relative;
	width: 30px;
	height: 30px;
	margin: 10px 0;
	cursor: pointer;
	pointer-events: all;
}

.module-showcase .showcase-nav-item:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	display: block;
	width: 16px;
	height: 5px;

	background-color: var(--white);
	transition: background-color 0.25s ease, width 0.25s ease;
}

.module-showcase .showcase-nav-item.active:after {
	background-color: var(--red);
	width: 20px;
}

.module-showcase .showcase-nav-item:hover:after {
	background-color: var(--red);
	animation: navButtonJiggle 0.39s linear infinite;
}

@keyframes navButtonJiggle {
	0%   { transform: translate(-50%, -50%) scale(1);   }
	50%  { transform: translate(-50%, -50%) scale(0.7); }
	100% { transform: translate(-50%, -50%) scale(1);   }
}

/*.module-showcase .loading-screen {
	left: 0;
	top: 0;
	width: calc(100 * var(--vw));
	height: 100%;
	z-index: 1000;
	background: var(--white);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.module-showcase.show-loading-screen .loading-screen {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}

.module-showcase .loading-screen-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 300px;
	height: 100dvh;
	margin: 0 auto;
}

.module-showcase .loading-screen-logo {
	width: 100%;
}

.module-showcase .loading-screen-logo svg {
	width: 100%;
	height: 100%;
}

.module-showcase .loader {
	display: inline-block;
	height: 4px;
	width: 100%;
	--c:no-repeat linear-gradient(#000 0 0);
	background: var(--c),var(--c),#fff;
	background-size: 60% 100%;
	animation: l16 3s infinite;
}

@keyframes l16 {
	0%   {background-position:-150% 0,-150% 0}
	66%  {background-position: 250% 0,-150% 0}
	100% {background-position: 250% 0, 250% 0}
}

body:not(.show-hypereel) .module-showcase.hide-loading-screen .video-background {
	z-index: 500;
} */



@media (min-height: 900px) {
	.module-showcase .showcase-nav .showcase-nav-item {
		width: 40px;
		height: 40px;
		margin: 16px 0;
	}
}

@media (min-width: 640px) {
	.module-showcase .showcase-fg-item .video-director {
		margin-bottom: 1rem;
		font-size: 4.8rem;
	}

	.module-showcase .showcase-fg-item .video-title {
		font-size: 2.25rem;
		line-height: 2.5rem;
	}
}

@media (min-width: 900px) {
	.module-showcase .showcase-fg-item .video-director {
		font-size: 6rem;
		line-height: 1;
	}

	.module-showcase .showcase-nav {
		right: 1.5rem;
	}
}




/**************************************************
	07. Works
 **************************************************/

/****	Archive		****/

.module-worksarchive {
	position: relative;
	display: flex;
	flex-direction: row;
	gap: 2rem;
	padding: 0 1rem 1.5rem;
	z-index: 10;
	width: calc(100 * var(--vw));
	height: calc(100 * var(--vh) - var(--headerHeight));
	background-color: var(--white);
	color: var(--black);
	overflow-y: auto;

	--subnavHeight: 172px;
}

.module-worksarchive .works-archive-nav {
	position: fixed;
	top: var(--headerHeight);
	left: 0;
	z-index: 2;

	display: flex;
	align-items: baseline;
	flex-direction: column;
	gap: 0.25rem 1.5rem;
	width: 100%;
	padding: 1rem;
	background: var(--white);
/*	background: linear-gradient(180deg, var(--white) calc(100% - 2rem), transparent 100%); */
/*	background: var(--fadeFromWhite); */
}

.module-worksarchive .works-archive-cat {
	appearance: none;
	padding: 0;
	border: 0;
	background-color: transparent;
	color: var(--black);
	opacity: 0.5;
	font-weight: 400;

	cursor: pointer;
	transition: color 0.25s ease;
}

.module-worksarchive .works-archive-cat.active,
.module-worksarchive .works-archive-cat:hover {
	opacity: 1;
}

.module-worksarchive .works-archive-inner {
	position: relative;
	z-index: 1;
	overflow-x: hidden;
	width: 100%;
	height: calc(100 * var(--vh) - var(--headerHeight) - 1rem);
	padding-top: var(--subnavHeight, 3.1rem);
}

.module-worksarchive .works-archive-section {
	display: none;
}

.module-worksarchive .works-archive-section.active {
	display: block;
}

.module-worksarchive .works-archive-desc {
	margin-bottom: 3rem;
	padding-left: 0.6rem;
}

.module-worksarchive .works-archive-works {
	display: grid;
	grid-template-columns: 100%;
	gap: 1rem;
	width: 100%;
}




@media (min-width: 680px) {
	.module-worksarchive {
		padding: 0 1rem 40px;
		--subnavHeight: 84px;
	}

	.module-worksarchive .works-archive-nav {
		padding: 2rem 1rem 2rem;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.module-worksarchive .works-archive-desc {
		padding-left: 0;
	}
}




/****	Archive: compact, no title		****/

.module-worksarchive .works-archive-compact .post-card,
.module-worksarchive .works-archive-notitle .post-card {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.module-worksarchive .works-archive-compact .post-card-thumb,
.module-worksarchive .works-archive-notitle .post-card-thumb,
.module-worksarchive .works-archive-compact .post-card-thumb .cover-container,
.module-worksarchive .works-archive-notitle .post-card-thumb .cover-container {
	width: 100%;
	height: 100%;
}

.module-worksarchive .works-archive-compact .post-card-info {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.module-worksarchive .works-archive-compact .post-card-info a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	text-align: center;
}

@media (pointer: fine) {
	.module-worksarchive .works-archive-compact .post-card-thumb + .post-card-info {
		background-color: rgba(255, 255, 255, 0.4);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.25s ease, visibility 0.25s ease;
	}

	.module-worksarchive .works-archive-compact .post-card:hover .post-card-info {
		opacity: 1;
		visibility: visible;
	}
}

.module-worksarchive .works-archive-compact .post-card-info a {
	text-decoration: none;
	color: var(--black);
}

.module-worksarchive .works-archive-compact .post-card-thumb + .post-card-info a {
	color: var(--white);
}

@media (min-width: 680px) {
	.module-worksarchive .works-archive-compact .works-archive-works,
	.module-worksarchive .works-archive-notitle .works-archive-works {
		grid-template-columns: repeat(2, 1fr);
	}
}


@media (min-width: 900px) {
	.module-worksarchive .works-archive-compact .works-archive-works,
	.module-worksarchive .works-archive-notitle .works-archive-works {
		grid-template-columns: repeat(4, 1fr);
	}

	.module-worksarchive .works-archive-compact .post-card-title {
		font-size: 1.5rem;
		line-height: 1;
	}
}





/****	Archive: portrait		****/

.module-worksarchive .works-archive-portrait .post-card {
	position: relative;
	width: 100%;
	aspect-ratio: 9 / 16;
}

.module-worksarchive .works-archive-portrait .post-card-thumb,
.module-worksarchive .works-archive-portrait .post-card-thumb .cover-container {
	width: 100%;
	height: 100%;
}

.module-worksarchive .works-archive-portrait .post-card-info {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.module-worksarchive .works-archive-portrait .post-card-info a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	text-align: center;
}

@media (pointer: fine) {
	.module-worksarchive .works-archive-portrait .post-card-thumb + .post-card-info {
		background-color: rgba(255, 255, 255, 0.4);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.25s ease, visibility 0.25s ease;
	}

	.module-worksarchive .works-archive-portrait .post-card:hover .post-card-info {
		opacity: 1;
		visibility: visible;
	}
}

.module-worksarchive .works-archive-portrait .post-card-info a {
	text-decoration: none;
	color: var(--black);
}

.module-worksarchive .works-archive-portrait .post-card-thumb + .post-card-info a {
	color: var(--white);
}


@media (min-width: 680px) {
	.module-worksarchive .works-archive-portrait .works-archive-works {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 900px) {
	.module-worksarchive .works-archive-portrait .works-archive-works {
		grid-template-columns: repeat(6, 1fr);
	}
}





/****	Archive: highlight		****/

.module-worksarchive .works-archive-highlight .post-card {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.module-worksarchive .works-archive-highlight .post-card-inner,
.module-worksarchive .works-archive-highlight .post-card-thumb,
.module-worksarchive .works-archive-highlight .post-card-thumb .cover-container {
	position: relative;
	width: 100%;
	height: 100%;
}

.module-worksarchive .works-archive-highlight .post-card-info {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.module-worksarchive .works-archive-highlight .post-card-info a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	text-align: center;
}

@media (pointer: fine) {
	.module-worksarchive .works-archive-highlight .post-card-thumb + .post-card-info {
		background-color: rgba(255, 255, 255, 0.4);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.25s ease, visibility 0.25s ease;
	}

	.module-worksarchive .works-archive-highlight .post-card:hover .post-card-info {
		opacity: 1;
		visibility: visible;
	}
}

.module-worksarchive .works-archive-highlight .post-card-info a {
	text-decoration: none;
	color: var(--black);
}

.module-worksarchive .works-archive-highlight .post-card-thumb + .post-card-info a {
	color: var(--white);
}

.module-worksarchive .works-archive-highlight .post-card-description {
	padding: 1rem 0 0;
	width: 100%;
/*	max-width: 40rem;*/
	font-size: 0.9rem;
	line-height: 1.3;
}

.module-worksarchive .works-archive-highlight .post-card-description a {
	color: var(--black);
	text-decoration: none;
}


@media (min-width: 900px) {
	.module-worksarchive .works-archive-highlight .works-archive-works {
		grid-template-columns: repeat(2, calc(50% - 0.5rem));
		grid-gap: 3rem 1rem;
	}

	.module-worksarchive .works-archive-highlight .post-card-description {
		padding: 1rem;
		font-size: 1rem;
		line-height: 1.5rem;
	}
}





/****	Single work: vimeo		****/

.module-singleworkvimeo {
	padding: 0 1rem 2.5rem;
	--subnavHeight: 56px;
}

.single-work-controls {
	position: fixed;
	left: 0;
	top: var(--headerHeight);
	z-index: 2;
	width: 100%;
	padding: 1rem 1rem;

	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--white);
/*	background: linear-gradient(180deg, var(--white) calc(100% - 2rem), transparent 100%);*/
/*	background: var(--fadeFromWhite); */
}

.single-work-nav {
	display: flex;
}


.single-work-nav-prev span,
.single-work-nav-next span {
	position: relative;
	display: block;
	width: 1rem;
	height: 1rem;
	opacity: 0.8;
}

.single-work-nav-prev span:before,
.single-work-nav-next span:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 50%;
	border-right: 2px solid var(--black);
	border-bottom: 2px solid var(--black);
	transform: translate(-50%, -50%) rotate(-45deg);
	transition: border-color 0.25s ease;
}

.single-work-nav-prev span:before {
	transform: translate(-50%, -50%) rotate(135deg);
}

.single-work-nav-prev span:hover:before,
.single-work-nav-next span:hover:before {
	border-color: var(--red);
}



.single-work-nav-close a {
	text-decoration: none;
	color: var(--black);
	transition: color 0.25s ease;
}

.single-work-nav-close a:hover {
	color: var(--red);
}

.module-singleworkvimeo .single-work-inner {
	padding-top: var(--subnavHeight, 72px);
}

.module-singleworkvimeo .single-work-video {
	position: relative;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: calc(100 * var(--vh) - var(--headerHeight) - 11rem);
	aspect-ratio: 16 / 9;
	margin: 0 auto;
}

.module-singleworkvimeo .single-work-video-inner {
	position: relative;
	aspect-ratio: 16 / 9;
	background-color: var(--black);
}

.module-singleworkvimeo .single-work-video iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.single-work-info {
	margin-top: 1.25rem;
}

.single-work-info a {
	text-decoration: none;
	color: var(--black);
	transition: color 0.25s ease;
}

.single-work-info a:hover {
	color: var(--red);
}

@media (min-width: 680px) {
	.module-singleworkvimeo {
		padding: 0 3rem 2.5rem;
		--subnavHeight: 88px;
	}

	.single-work-controls {
		padding: 2rem 3rem 2rem;
	}

	.single-work-info .work-info-row {
		display: inline;
	}
}





/****	Single work: stills		****/


.module-singleworkstills {
	padding: 0 1rem 2.5rem;
	--subnavHeight: 56px;
}

.module-singleworkstills .single-work-info {
	padding: var(--subnavHeight, 56px) 0 0;
	margin-top: 0;
}

.module-singleworkstills .single-work-inner {
	margin-top: 1.125rem;
}

.module-singleworkstills .single-work-stills {
	width: 100%;
}

.module-singleworkstills .single-work-still + .single-work-still {
	margin-top: 0.6875rem;
}

.module-singleworkstills .single-work-still img,
.module-singleworkstills .single-work-still video {
	display: block;
	width: 100%;
	height: auto;
}


@media (min-width: 680px) {
	.module-singleworkstills .single-work-info {
		padding: var(--subnavHeight, 56px) 2rem 0;
	}
}

@media (min-width: 900px) {
	.module-singleworkstills .single-work-inner {
		margin-top: 1.5rem;
	}

	.module-singleworkstills .single-work-stills {
		--unit: calc((100 * var(--vw) - 2rem) / 100);
		position: relative;
	}

	.module-singleworkstills .single-work-still {
		position: absolute;
	}

	.module-singleworkstills .single-work-still + .single-work-still {
		margin-top: 0;
	}


	.no-js .module-singleworkstills .single-work-stills {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2rem;
	}

	.no-js .module-singleworkstills .single-work-still {
		position: static;
	}
}






/**************************************************
	08.	Talents
 **************************************************/

/****	Archive		****/

.module-talentsarchive {
	position: relative;
	display: flex;
	flex-direction: row;
	gap: 2rem;
	padding: 0 1rem;
	z-index: 10;

	width: calc(100 * var(--vw));
	height: calc(100 * var(--vh) - var(--headerHeight));
	background-color: var(--white);
	color: var(--black);
	overflow-y: auto;

	--subnavHeight: 76px;
}

.module-talentsarchive .talents-menu {
	position: fixed;
	top: 56px;
	left: 16px;
	z-index: 2;

	display: flex;
	align-items: baseline;
	flex-direction: column;
	gap: 0.25rem 1.5rem;

	padding-top: 1rem;
	padding-bottom: 1rem;
	width: 100%;
	background: var(--white);
/*	background: linear-gradient(180deg, var(--white) calc(100% - 2rem), transparent 100%); */
/*	background: var(--fadeFromWhite); */
}

.module-talentsarchive .talents-menu-single {
	cursor: pointer;
	opacity: 0.5;
	transition: color 0.25s ease, opacity 0.25s ease;
}

.module-talentsarchive .talents-menu-single.active {
	opacity: 1;
}

.module-talentsarchive .talents-menu-single:hover {
	color: var(--red);
	opacity: 1;
}

.module-talentsarchive .talents-lists {
	position: relative;
	z-index: 1;
	overflow-x: hidden;
	width: 100%;
	height: calc(100 * var(--vh) - var(--headerHeight) - 1rem);
	padding-top: var(--subnavHeight, 60px);
}


.module-talentsarchive .talents-list {
	display: none;
}

.module-talentsarchive .talents-list.active {
	position: relative;
	display: block;
}

.module-talentsarchive .single-talent {
	margin-bottom: 0.5rem;
}

.module-talentsarchive .talents-list .single-talent:last-child {
	padding-bottom: 5rem;
}

.module-talentsarchive .single-talent a {
	position: relative;
	z-index: 2;
	text-decoration: none;
	color: var(--black);
	transition: color 0.25s ease;
}

.module-talentsarchive .single-talent a:hover {
	color: var(--red);
}

.module-talentsarchive .single-talent .talent-preview {
	position: absolute;
	top: 0;
	left: calc(50% - 13rem);
	width: calc(50% + 13rem);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.module-talentsarchive .single-talent.show-preview .talent-preview {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
}

.module-talentsarchive .single-talent .talent-preview-inner {
	position: relative;
}

.module-talentsarchive .single-talent:nth-child(20n+0) .talent-preview-inner { left: calc(0.93 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+1) .talent-preview-inner { left: calc(0.26 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+2) .talent-preview-inner { left: calc(0.20 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+3) .talent-preview-inner { left: calc(0.67 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+4) .talent-preview-inner { left: calc(0.07 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+5) .talent-preview-inner { left: calc(0.18 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+6) .talent-preview-inner { left: calc(0.73 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+7) .talent-preview-inner { left: calc(0.13 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+8) .talent-preview-inner { left: calc(0.65 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+9) .talent-preview-inner { left: calc(0.62 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+10) .talent-preview-inner { left: calc(0.90 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+11) .talent-preview-inner { left: calc(0.52 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+12) .talent-preview-inner { left: calc(0.03 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+13) .talent-preview-inner { left: calc(0.40 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+14) .talent-preview-inner { left: calc(0.48 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+15) .talent-preview-inner { left: calc(0.17 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+16) .talent-preview-inner { left: calc(0.99 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+17) .talent-preview-inner { left: calc(0.22 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+18) .talent-preview-inner { left: calc(0.10 * (50vw - 300px - 13.75rem)); }
.module-talentsarchive .single-talent:nth-child(20n+19) .talent-preview-inner { left: calc(0.19 * (50vw - 300px - 13.75rem)); }


.module-talentsarchive .talent-preview-media {
	width: 600px;
}

.module-talentsarchive .talent-preview-media video {
	width: 100%;
	height: auto;
}

.module-talentsarchive .talent-preview-list {
	margin-top: 1rem;
	line-height: 1.4;
}



@media (min-width: 680px) {
	.module-talentsarchive {
		--subnavHeight: 84px;
	}

	.module-talentsarchive .talents-menu {
		flex-direction: row;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

@media (max-width: 940px) {
	.module-talentsarchive .single-talent .talent-preview {
		left: 0;
		width: 300px;
	}

	.module-talentsarchive .single-talent:nth-child(20n+0) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+1) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+2) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+3) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+4) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+5) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+6) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+7) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+8) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+9) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+10) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+11) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+12) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+13) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+14) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+15) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+16) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+17) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+18) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+19) .talent-preview-inner {
		left: calc(100vw - 320px);
	}

	.module-talentsarchive .talent-preview-media {
		width: 300px;
	}
}


@media (min-width: 941px) and (max-width: 1100px) {
	.module-talentsarchive .single-talent .talent-preview {
		left: 0;
		width: 500px;
	}

	.module-talentsarchive .single-talent:nth-child(20n+0) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+1) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+2) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+3) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+4) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+5) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+6) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+7) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+8) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+9) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+10) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+11) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+12) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+13) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+14) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+15) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+16) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+17) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+18) .talent-preview-inner,
	.module-talentsarchive .single-talent:nth-child(20n+19) .talent-preview-inner {
		left: calc(100vw - 520px);
	}

	.module-talentsarchive .talent-preview-media {
		width: 500px;
	}
}

@media (max-width: 680px) and (pointer: fine) {
	.module-talentsarchive .single-talent .talent-preview {
		display: none;
	}
}




/****	Single talent 	****/

.module-singletalent {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.module-singletalent .single-talent-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.module-singletalent .single-talent-bg .cover-container {
	width: 100%;
	height: 100%;
}

.module-singletalent .single-talent-fg {
	position: relative;
	z-index: 2;
	min-height: 100%;

	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.module-singletalent .back-button {
	position: absolute;
	top: 70px;
	left: 16px;
	color: var(--white);
	cursor: pointer;
	text-decoration: none;
	transition: color 0.25s ease, opacity 0.25s ease, visibility 0.25s ease;
}

.module-singletalent .back-button:hover {
	color: var(--red);
}

.module-singletalent .talents-nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100svh;

	padding: 70px 0 16px;

	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.module-singletalent.show-bio .talents-nav,
.module-singletalent.show-bio .back-button {
	visibility: hidden;
	opacity: 0
}

.module-singletalent .talents-nav:has(.talents-nav-next:first-child) {
	justify-content: flex-end;
}

.module-singletalent .talents-nav-prev,
.module-singletalent .talents-nav-next {
	position: relative;
	display: block;
	width: 3rem;
	height: 3rem;
	cursor: pointer;
}

.module-singletalent .talents-nav-prev:before,
.module-singletalent .talents-nav-next:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 50%;
	border-right: 2px solid var(--white);
	border-bottom: 2px solid var(--white);
	transform: translate(-50%, -50%) rotate(45deg);
	transition: border-color 0.25s ease;
}

.module-singletalent .talents-nav-prev:before {
	transform: translate(-50%, -50%) rotate(225deg);
}

.module-singletalent .talents-nav-prev:hover:before,
.module-singletalent .talents-nav-next:hover:before {
	border-color: var(--red);
}

.module-singletalent .single-talent-inner {
	flex-grow: 0;
	padding: 33vh 1rem 2rem 1rem; /* 18vh */
	color: var(--whiteSemitransparent);
}

.module-singletalent .talent-name {
	margin-bottom: 0.5rem;
	font-size: 2.65rem;
}

.module-singletalent .talent-projects {
	display: flex;
	flex-direction: column;
	margin-bottom: 0.5rem;
	font-size: 1.1rem;
	line-height: 1.4;
}

.module-singletalent .talent-project,
.module-singletalent .talent-photo-toggle {
	margin-right: 2rem;
	color: var(--white);
	cursor: pointer;
	transition: color 0.25s ease;
}

.module-singletalent .talent-project:hover,
.module-singletalent .talent-photo-toggle:hover {
	color: var(--red);
}

.module-singletalent .bio-collapse {
	position: relative;
	display: grid;
	grid-template-rows: auto 0fr;
	width: 100%;
	overflow: hidden;
	visibility: visible;
	margin-left: -1rem;

	transition: grid-template-rows 0.2s;
}

.bio-collapse:not(.collapse-close):has( > input[type="checkbox"]:checked) {
	grid-template-rows: auto 1fr;
}

.bio-collapse .collapse-title,
.bio-collapse > input[type="checkbox"],
.bio-collapse .collapse-content {
	grid-column-start: 1;
	grid-row-start: 1;
}

.bio-collapse > input[type="checkbox"] {
	appearance: none;
	opacity: 0;
}

.bio-collapse:not(.collapse-open):not(.collapse-close) > input[type="checkbox"],
.bio-collapse:not(.collapse-open):not(.collapse-close) > .collapse-title {
	cursor: pointer;
}

.bio-collapse .collapse-title,
:where(.bio-collapse > input[type="checkbox"]) {
	width: 100%;
	padding: 1rem;
	padding-inline-end: 3rem;
	min-height: 3.75rem;
	transition: color 0.25s ease;
}

.bio-collapse .collapse-content {
	grid-column-start: 1;
	grid-row-start: 2;
	min-height: 0;
	max-height: 15rem;
	padding: 0 1rem;
	overflow-y: scroll;

	visibility: hidden;
	cursor: unset;
	transition: padding 0.2s ease-out;
}

.bio-collapse:not(.collapse-close) > input[type="checkbox"]:checked ~ .collapse-content {
	visibility: visible;
	min-height: fit-content;
	padding-bottom: 1rem;
}



.module-singletalent .bio-toggle:hover + .bio-title {
	color: var(--red);
}

.module-singletalent .talents-nav a {
	pointer-events: all;
}



@media (min-width: 640px) {
	.module-singletalent .talent-name {
		font-size: 4.8rem;
	}
}

@media (min-width: 800px) {
	.module-singletalent .single-talent-inner {
		padding-top: 33vh; /* 24vh */
	}

	.module-singletalent .talent-projects {
		display: block;
		font-size: 1rem;
		line-height: 1.5rem;
	}

	.module-singletalent .talents-nav {
		padding: 70px 0 20px;
		height: 100svh;
	}
}



@media (min-width: 900px) {
	.module-singletalent .talent-name {
		font-size: 6rem;
		line-height: 1;
	}
}

@media (min-width: 1100px) {
	.module-singletalent .single-talent-inner {
		padding-top: 33vh; /* 31vh */
	}
}



/**************************************************
	09. About
 **************************************************/

.module-about {
	padding: 2.4rem 0 9rem;
}

.module-about .sections-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 100px 0;
}

.module-about .about-column-about,
.module-about .about-column-people,
.module-about .about-column-contact {
	width: 100%;
	padding: 0 1rem;
}

.module-about .about-column-title,
.module-about .about-contact-section .about-column-title {
	margin-bottom: 2rem;
}

.module-about .about-logo-heading {
	margin: 3rem 0 1.5rem;
}

.module-about .about-logos-inner {
	display: grid;
	grid-template-columns: repeat(auto-fill, 100px);
	align-items: center;
	gap: 30px;
}

.module-about .about-logos-inner li {
	list-style-type: none;
}

.module-about .about-logos-inner img {
	display: block;
	width: 100%;
	height: auto;
	filter: grayscale(1);
}

.module-about .about-contact-section + .about-contact-section {
	margin-top: 1.5rem;
}

.module-about .about-column-people ul {
	list-style-type: none;
}

.module-about .about-column-people ul li {
	margin-bottom: 1.5rem;
}

.module-about .staff-member-name {
	font-size: 2.65rem;
	line-height: 1.2;
}

.module-about .about-contact-section h3,
.module-about .about-contact-section h3 {
	margin-bottom: 0.5rem;
}

.module-about .social-links {
	list-style-type: none;
}

.module-about a {
	text-decoration: none;
	color: var(--black);
	transition: color 0.25s ease;
}

.module-about a:hover {
	color: var(--red);
}



@media (min-width: 900px) {
	.module-about .staff-member-name {
		font-size: 2.25rem;
		line-height: 1.111111;
	}

	.module-about .about-logo-heading {
		margin: 4rem 0 2rem;
	}
}


@media only screen and (max-width: 407px) {
	.module-about .about-logos-inner {
		justify-content: space-between;
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 799px) {
	.module-about .sections-wrapper {
		flex-direction: column-reverse;
	}
}

@media only screen and (min-width: 800px) {
	.module-about .sections-wrapper {}

	.module-about .about-column-about,
	.module-about .about-column-people,
	.module-about .about-column-contact {
		width: 50%;
		padding: 0 3rem;
	}

	.module-about .about-column-about {
		border-right: 0.01rem solid black;
	}

	.module-about .about-column-contact {
		width: 100%;
		text-align: center;
	}
}

@media only screen and (min-width: 1200px) {
	.module-about .about-column-about,
	.module-about .about-column-people,
	.module-about .about-column-contact {
		width: calc(100% / 3);
		padding: 0 3rem;
	}

	.module-about .about-column-people {
		border-right: 0.01rem solid black;
	}

	.module-about .about-column-contact {
		margin-top: 0;
		text-align: left;
	}
}



/**************************************************
	10. Legal
 **************************************************/

.module-content {
	padding: 2.2rem 1rem;
	background-color: var(--black);
	color: var(--white);
}

.module-content .content-title {
	margin-bottom: 2rem;
}

.module-content .content {
	max-width: 800px;
}

.module-content p {
	margin-bottom: 1.3rem;
}

.module-content h1,
.module-content h2,
.module-content h3,
.module-content h4,
.module-content h5,
.module-content h6 {
	margin: 3rem 0 1.3rem;
	font-size: 1.25rem;
	line-height: 1.75rem;
}

.module-content a {
	color: var(--white);
	text-decoration: none;

	transition: color 0.25s ease;
}

.module-content a:hover {
	color: var(--red);
}






/**************************************************
	11. Video player
 **************************************************/

.video-player,
.photo-slider {
	position: fixed;
	top: var(--headerHeight);
	left: 0;
	width: 100%;
	height: calc(100 * var(--vh) - var(--headerHeight));
	z-index: 600;
	background-color: var(--black);

	display: flex;
	flex-direction: column;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	cursor: initial;

	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.video-player.visible,
.photo-slider.visible {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}

.video-player .video-player-controls,
.photo-slider .photo-slider-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.5rem;
}

.video-player .video-player-nav,
.photo-slider .photo-slider-nav {
	display: flex;
	align-items: center;
}

.video-player .video-player-nav-prev,
.photo-slider .photo-slider-nav-prev,
.video-player .video-player-nav-next,
.photo-slider .photo-slider-nav-next,
.video-player-nav-close,
.photo-slider-nav-close {
	position: relative;
	width: 3rem;
	height: 3rem;
	cursor: pointer;
}

.video-player .video-player-nav-prev:before,
.photo-slider .photo-slider-nav-prev:before,
.video-player .video-player-nav-next:before,
.photo-slider .photo-slider-nav-next:before {
	content: '';
	display: block;
	
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% - 1.7rem);
	height: calc(100% - 1.7rem);
	border-right: 2px solid var(--white);
	border-bottom: 2px solid var(--white);

	transform: translate(-50%, -50%) rotate(135deg);
}

.video-player .video-player-nav-next:before,
.photo-slider .photo-slider-nav-next:before {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.video-player-nav-close:before,
.photo-slider-nav-close:before,
.video-player-nav-close:after,
.photo-slider-nav-close:after {
	content: '';
	display: block;
	
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 100%;
	border-right: 2px solid var(--white);

	transform: translate(-50%, -50%) rotate(45deg);
}

.video-player-nav-close:after,
.photo-slider-nav-close:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.video-player-inner,
.photo-slider-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.video-player-inner iframe {
	width: 100%;
	height: 100%;
}
/*
.video-player-inner iframe {
	position: absolute;
	top: calc(50% - 40px);
	left: 50%;
	object-fit: fill;
	transform: translate(-50%, -50%);
	width: calc(100 * var(--vw));
	height: 100%;
}

@media (min-aspect-ratio: 16/9) {
	.video-player-inner iframe {
		width: calc(177.78 * var(--vh));
	}
}

@media (max-aspect-ratio: 16/9) {
	.video-player-inner iframe {
		height: calc(56.25 * var(--vw));
	}
}*/


.photo-slider-inner {
	position: relative;
}

.photo-slider-inner .slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.photo-slider.visible .photo-slider-inner .slide.active {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}

.photo-slider-inner .slide img,
.photo-slider-inner .slide video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}




 /**************************************************
	12. Powerhouse
 **************************************************/

.module-powerhouse {
	padding: 3rem 1.5625rem 2.5rem;
}

.module-powerhouse .powerhouse-title,
.module-powerhouse .powerhouse-description {
	padding-left: 0.6875rem;
	max-width: 54rem;
	font-size: 0.9rem;
	line-height: 1.3;
}

.module-powerhouse .powerhouse-sections {
	display: grid;
	grid-template-columns: 100%;
	gap: 1rem;
	margin-top: 3rem;
}

.module-powerhouse .powerhouse-section-head {
}

.module-powerhouse .powerhouse-section-head:has(.powerhouse-section-media) {
	position: relative;
	aspect-ratio: 686 / 386;
}

.module-powerhouse .powerhouse-section-media,
.module-powerhouse .powerhouse-section-media .cover-container {
	width: 100%;
	height: 100%;
}

.module-powerhouse .powerhouse-section-title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	text-align: center;
}

.module-powerhouse .powerhouse-section-head:has(.powerhouse-section-media) .powerhouse-section-title {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}

.module-powerhouse .powerhouse-section-head:not(:has(.powerhouse-section-media)) .powerhouse-section-title {
	margin: 2rem 0;
}

.module-powerhouse .powerhouse-section-title:nth-child(2) {
	color: var(--white);
}

.module-powerhouse .powerhouse-section-info {
	padding: 1rem 0 0;
	width: 100%;
/*	max-width: 40rem; */
	font-size: 0.9rem;
	line-height: 1.3;
}


@media (min-width: 900px) {

	.module-powerhouse .powerhouse-title,
	.module-powerhouse .powerhouse-description {
		font-size: 1rem;
		line-height: 1.5rem;
	}

	.module-powerhouse .powerhouse-sections {
		grid-template-columns: repeat(2, calc(50% - 0.5rem));
		grid-gap: 3rem 1rem;
	}

	.module-powerhouse .powerhouse-section-info {
		padding: 1rem;
		font-size: 1rem;
		line-height: 1.5rem;
	}

	.module-powerhouse .powerhouse-section-head {
		position: relative;
		aspect-ratio: 686 / 386;
	}

	.module-powerhouse .powerhouse-section-title {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
	}

	.module-powerhouse .powerhouse-section-head:not(:has(.powerhouse-section-media)) .powerhouse-section-title {
		margin: 0;
	}
}






 /**************************************************
	XX. Misc
 **************************************************/

.cover-container {
	position: relative;
	overflow: hidden;
}

.cover-container img,
.cover-container video {
	width: 100%;
	height: 100%;
	object-position: center;
	object-fit: cover;
}

.slide-in {
	opacity: 0;
	transform: translateY(2rem);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.slide-in-container .slide-in:nth-child(1) {  transition-delay: 0.0s }
.slide-in-container .slide-in:nth-child(2) {  transition-delay: 0.1s }
.slide-in-container .slide-in:nth-child(3) {  transition-delay: 0.2s }
.slide-in-container .slide-in:nth-child(4) {  transition-delay: 0.3s }
.slide-in-container .slide-in:nth-child(5) {  transition-delay: 0.4s }
.slide-in-container .slide-in:nth-child(6) {  transition-delay: 0.5s }
.slide-in-container .slide-in:nth-child(7) {  transition-delay: 0.6s }
.slide-in-container .slide-in:nth-child(8) {  transition-delay: 0.7s }
.slide-in-container .slide-in:nth-child(9) {  transition-delay: 0.8s }
.slide-in-container .slide-in:nth-child(10) { transition-delay: 0.9s }
.slide-in-container .slide-in:nth-child(11) { transition-delay: 1.0s }
.slide-in-container .slide-in:nth-child(12) { transition-delay: 1.1s }
.slide-in-container .slide-in:nth-child(13) { transition-delay: 1.2s }
.slide-in-container .slide-in:nth-child(14) { transition-delay: 1.3s }
.slide-in-container .slide-in:nth-child(15) { transition-delay: 1.4s }
.slide-in-container .slide-in:nth-child(16) { transition-delay: 1.5s }
.slide-in-container .slide-in:nth-child(17) { transition-delay: 1.6s }
.slide-in-container .slide-in:nth-child(18) { transition-delay: 1.7s }
.slide-in-container .slide-in:nth-child(19) { transition-delay: 1.8s }
.slide-in-container .slide-in:nth-child(20) { transition-delay: 1.9s }

.slide-in-container.has-slid-in .slide-in,
.slide-in.has-slid-in {
	opacity: 1;
	transform: none;
}

