@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@500;600;700&display=swap');

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

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

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

/* end CSS reset */

:root{
	--navy: #0a2540;
	--cyan: #00e5ff;
	--coral: #ff5a3c;
	--acid: #c6ff00;
}

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

html, body {
	height: 100%;
}

body {
	background: var(--navy);
	color: #dfe8f2;
	font-family: 'Nunito Sans', -apple-system, 'Segoe UI', system-ui, sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	overflow: hidden;
	position: relative;
}

.aurora {
	position: fixed;
	inset: 0;
	overflow: hidden;
	z-index: 0;
	filter: blur(80px);
	opacity: .5;
}

.blob {
	position: absolute;
	border-radius: 50%;
	mix-blend-mode: screen;
	animation: drift 22s ease-in-out infinite;
}

.b1 {
	width: 46vw;
	height: 46vw;
	background: var(--cyan);
	top: -10vw;
	left: -8vw;
	animation-delay: 0s;
}

.b2 {
	width: 40vw;
	height: 40vw;
	background: var(--coral);
	bottom: -12vw;
	right: -6vw;
	animation-delay: -7s;
}

.b3 {
	width: 26vw;
	height: 26vw;
	background: var(--acid);
	top: 40%;
	left: 55%;
	opacity: .35;
	animation-delay: -13s;
}

@keyframes drift {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(4vw, 3vw) scale(1.08); }
	66% { transform: translate(-3vw, 2vw) scale(.96); }
}

.wrap {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 6vw;
	max-width: 1100px;
	width: 100%;
}

.logo {
	width: min(52vw, 460px);
	height: auto;
	display: block;
	margin: 0 auto;
}

.sub {
	margin-top: 4vh;
	font-size: clamp(12px, 1.4vw, 15px);
	letter-spacing: .28em;
	text-transform: uppercase;
	color: #7f93ab;
	font-weight: 600;
}

.soon {
	margin-top: 1.4vh;
	font-size: clamp(10px, 1.1vw, 12px);
	letter-spacing: .2em;
	color: #4f6178;
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
	.blob { animation: none; }
}