* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--index: calc(1vw + 1vh);
	--transition: 1.5s cubic-bezier(.05, .5, 0, 1);
	--vh: calc(1vh);
}

@font-face {
	font-family: kamerik-3d;
	src: url(../fonts/kamerik205-heavy.woff2);
	font-weight: 900;
}

@font-face {
	font-family: merriweather-italic-3d;
	src: url(../fonts/merriweather-regular-italic.woff2);
}

body {
	background-color: #000;
	color: #fff;
	font-family: kamerik-3d;
	overflow: hidden;
}

.logo {
	--logo-size: calc(var(--index) * 7.8);
	width: var(--logo-size);
	height: var(--logo-size);
	background-repeat: no-repeat;
	position: absolute;
	left: calc(51% - calc(var(--logo-size) / 2));
	top: calc(var(--index) * 1.8);
	z-index: 1;
}

.layers {
	perspective: 1000px;
	overflow: visible;
}

.layers__container {
	height: 100vh;
	width: 100vw;
	min-height: 100vh;
	transform-style: preserve-3d;
	transform: rotateX(var(--move-y)) rotateY(var(--move-x));
	will-change: transform;
	transition: transform var(--transition);
}

.layers__item {
	position: absolute;
	top: -5vh;
	bottom: -5vh;
	left: -3vw;
	right: -3vw;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}

.layer-1 {
	transform: translateZ(-55px) scale(1.06);
}
.layer-2 {
	transform: translateZ(80px) scale(.88);
}
.layer-3 {
	transform: translateZ(180px) scale(.8);
}
.layer-4 {
	transform: translateZ(190px) scale(.9);
}
.layer-5 {
	transform: translateZ(300px) scale(.65);
}
.layer-6 {
	transform: translateZ(380px);
}

.hero-content {
	font-size: calc(var(--index) * 2.9);
	text-align: center;
	text-transform: uppercase;
	letter-spacing: calc(var(--index) * -.15);
	line-height: 1.35em;
	margin-top: calc(var(--index) * 8.5);
}

.hero-content span {
	display: block;
}

.hero-content__p {
	text-transform: none;
	font-family: merriweather-italic-3d;
	letter-spacing: normal;
	font-size: calc(var(--index) * 1.73);
	line-height: 3;
}

.button-start {
	font-family: Arial;
	font-weight: 600;
	text-transform: uppercase;
	font-size: calc(var(--index) * .71);
	letter-spacing: -.02vw;
	padding: calc(var(--index) * .7) calc(var(--index) * 1.25);
	background-color: transparent;
	color: #fff;
	border-radius: 10em;
	border: rgb(255 255 255 / .4) 3px solid;
	outline: none;
	cursor: pointer;
	margin-top: calc(var(--index) * 15.5);
	transition: background-color 0.3s ease, color 0.3s ease;
}

.button-start:hover {
	background-color: rgb(255 255 255 / .9);
	color: #024650;
}

.layer-4, .layer-5, .layer-6 {
	pointer-events: none;
}


/* XS Portrait */
@media (max-width: 768px) {

    html, body {
		overflow: hidden;
	}

    .layers {
        perspective: 1500px;
        overflow: hidden;
    }
    

	.layers__container {
		height: calc(var(--vh) * 100);
		width: 100vw;
		min-height: calc(var(--vh) * 100);
	}
		
	.layers__item {
		position: absolute;
		inset: -2vw;
		background-size: fill;
		background-position: center;
		background-repeat: no-repeat;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.layer-1 {
		transform: translateZ(-55px) scale(1.05);
	}
	.layer-2 {
		transform: translateZ(180px) scale(.9);
	}
	.layer-3 {
		transform: translateZ(180px) scale(.8);
	}
	.layer-4 {
		transform: translateZ(190px) scale(.9);
	}
	.layer-5 {
		transform: translateZ(300px) scale(.8);
	}
	.layer-6 {
		transform: translateZ(380px);
	}
	.hero-content {
		font-size: calc(var(--index) * 2.9);
		letter-spacing: calc(var(--index) * -.15);
		line-height: 1.35em;
		margin-top: calc(var(--index) * -5);
		padding-top: calc(var(--index) * 1);
	}
	.hero-content__p {
		font-size: calc(var(--index) * 1.5);
		line-height: 3;
	}
	.button-start {
		font-size: calc(var(--index) * 1.71);
		padding: calc(var(--index) * 1.7) calc(var(--index) * 3.25);
		margin-top: calc(var(--index) * 1.5);
	}
	.logo {
		--logo-size: calc(var(--index) * 11.8);
		width: var(--logo-size);
		height: var(--logo-size);
		background-position: center;
		background-repeat: no-repeat;
		background-size: fill;
		position: absolute;
		left: calc(51% - calc(var(--logo-size) / 2));
		top: calc(var(--index) * 2.8);
		z-index: 1;
	}
}

