@font-face {
	font-family: 'snoogle';
	font-weight: bold;
	src: url('snoogle.woff2') format('woff2');
}

:root {
	--b: #000;
	--w: #fff;
	--g: #0f0;
	--p: #f0f;
	--font: 7.5vw;

	background: #f0f;
	color: var(--w);
	cursor: default;
	font: var(--font)/1 'snoogle', sans-serif;
	font-variant-ligatures: no-common-ligatures;
	font-weight: bold;
	text-align: center;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

@media (color-gamut: p3) {
	:root {
		--g: color(display-p3 0 1 0);
		--p: color(display-p3 1 0 1);
	}
}

body {
	margin: 0;
}

section {
	clip-path: inset(0 0 0 0);
	position: relative;
}

section::before,
section::after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: '';
	display: block;
	height: 100dvh;
	position: fixed;
	top: 0;
	transform: scale(1);
	width: 100%;
	z-index: -1;
}

section::before {
	background-color: var(--w);
}

section::after {
	animation: in 6s infinite ease-in-out;
	mix-blend-mode: darken;
}

section:nth-child(1)::before,
section:nth-child(1)::after {
	background-image: url('header.jpg');
}

section:nth-child(2)::before,
section:nth-child(2)::after {
	background-image: url('babynono.jpg');
}

section:nth-child(3)::before,
section:nth-child(3)::after {
	background-image: url('maniax.jpg');
}

section:nth-child(4)::before,
section:nth-child(4)::after {
	background-image: url('dopaminis.jpg');
}

section:nth-child(5)::before,
section:nth-child(5)::after {
	background-image: url('footer.jpg');
}

header {
	height: calc(50dvh + 34vw);
	min-height: 50vw;
	mix-blend-mode: exclusion;
}

section:last-of-type header {
	height: 100dvh;
}

header::before {
	background-image: radial-gradient(circle at center 50dvh, transparent 30vmax, var(--p) 50vmax);
	background-repeat: no-repeat;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	width: 100%;
}

article {
	margin: auto;
	max-width: 21rem;
	padding-bottom: 2rem;
	position: relative;
	z-index: 1;
}

h1, h2, h3, h4, h5 {
	font-size: inherit;
	line-height: inherit;
	margin: auto;
}

h1, h2 {
	animation: h 6s infinite ease-in-out;
	background: var(--g);
	border-radius: 50%;
	bottom: 21.35rem;
	height: 9rem;
	left: 50%;
	margin-left: -4.5rem;
	position: absolute;
	width: 9rem;
}

h3 {
	font-size: 1.75rem;
	letter-spacing: -.01em;
	line-height: .9;
	margin-bottom: 1rem;
}

h4 {
	border-radius: 50%;
	box-sizing: border-box;
	color: var(--b);
	font-size: 1.25rem;
	height: 9rem;
	letter-spacing: -.005em;
	line-height: .9;
	padding-top: 1.7rem;
	transform: rotate(-20deg);
	width: 9rem;
}

h5 {
	font-size: 1.25rem;
	letter-spacing: -.005em;
	line-height: .95;
	margin-top: 7rem;
}

p {
	height: 4em;
	margin: 1rem auto;
	max-width: 11.5rem;
}

strong {
	display: none;
}

span {
	display: inline-block;
}

h3 span:nth-of-type(odd),
h5 span:nth-of-type(odd),
p span:nth-of-type(odd) {
	animation: in 6s infinite ease-in-out;
}

h3 span:nth-of-type(even),
h5 span:nth-of-type(even),
p span:nth-of-type(even) {
	animation: out 6s infinite ease-in-out;
}

h4 span {
	animation: in 6s infinite ease-in-out;
	display: block;
}

svg {
	display: block;
	fill: var(--g);
	height: auto;
	left: 50%;
	margin: auto;
	position: absolute;
}

svg:first-of-type {
	max-height: 100dvh;
	min-height: 50vw;
	top: 50dvh;
	transform: translate(-50%, -50%);
	width: 100%;
}

svg + svg {
	bottom: 4.25rem;
	transform: translateX(-50%);
	width: 10rem;
}

svg:first-of-type g {
	transform: scale(1.2);
	transform-origin: center;
}

use {
	transform-box: fill-box;
	transform-origin: center;
}

section:nth-child(odd) use:nth-child(odd),
section:nth-child(2) use:nth-child(3),
section:nth-child(4) use:nth-child(1),
section:nth-child(4) use:nth-child(3),
section:nth-child(4) use:nth-child(6),
section:nth-child(4) use:nth-child(8) {
	animation: in 6s infinite ease-in-out;
}

section:nth-child(odd) use:nth-child(even),
section:nth-child(2) use:nth-child(-n+2),
section:nth-child(4) use:nth-child(2),
section:nth-child(4) use:nth-child(4),
section:nth-child(4) use:nth-child(5),
section:nth-child(4) use:nth-child(7),
section:nth-child(4) use:nth-child(9) {
	animation: out 6s infinite ease-in-out;
}

::selection {
	background: #ff00fffe;
}

@media (orientation: portrait) and (min-width: 400px) and (max-width: 599px) {
	:root {
		--font: 30px;
	}
}

@media (orientation: landscape) {
	header {
		height: 100dvh;
	}

	svg:first-of-type g {
		transform: scale(1);
	}
}

@media (orientation: landscape), (min-width: 600px) {
	:root {
		--font: calc(1.5vmax + 2vmin);
	}

	article {
		padding-bottom: 3rem;
	}

	h1, h2 {
		bottom: 16.55rem;
		margin-left: -10.5rem;
	}

	h3 {
		font-size: 3rem;
		line-height: .85;
		margin-bottom: 1.25rem;
	}

	h4 {
		float: left;
		margin-right: 1rem;
		shape-outside: circle(50%);
	}

	h5 {
		font-size: 2rem;
		line-height: .9;
		margin-top: 10rem;
	}

	p {
		max-width: none;
		text-align: left;
	}

	svg + svg {
		bottom: 6rem;
		width: 15rem;
	}
}

@media (min-aspect-ratio: 2/1) {
	svg:first-of-type {
		top: auto;
		transform: translateX(-50%);
	}
}

@keyframes in {
	50% {
		transform: scale(1.1);
	}
}

@keyframes out {
	50% {
		transform: scale(.9);
	}
}

@keyframes h {
	50% {
		transform: scale(1.05);
	}
}