@font-face {
	font-family: 'Sharp Grotesk';
	src: url('/assets/fonts/sharpgrotesk-light20.otf');
	font-weight: 300;
}

@font-face {
	font-family: 'Sharp Grotesk';
	src: url('/assets/fonts/sharpgrotesk-book20.otf');
	font-weight: 400;
}

@font-face {
	font-family: 'Sharp Grotesk';
	src: url('/assets/fonts/sharpgrotesk-medium20.otf');
	font-weight: 500;
}

@font-face {
	font-family: 'Sharp Grotesk';
	src: url('/assets/fonts/sharpgrotesk-semibold20.otf');
	font-weight: 600;
}

@font-face {
	font-family: 'Sharp Grotesk 25';
	src: url('/assets/fonts/sharpgrotesk-semibold25.otf');
	font-weight: 600;
}

@font-face {
	font-family: 'Sharp Grotesk';
	src: url('/assets/fonts/sharpgrotesk-bold20.otf');
	font-weight: 700;
}

*
{
	box-sizing: border-box;
}

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, 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;
	font-family: 'Sharp Grotesk';
	font-weight: 400;
	color: #fff;
	background-color: #000;
	cursor: none;
}

a
{
	cursor: none;
}

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;
}

:root
{
	--wrapper: 1270px;
	--space: calc(100% - var(--wrapper));
	--singleSpace: calc(var(--space) / 2);
}

.wrapper
{
	width: 80%;
	max-width: var(--wrapper);
	margin: 0 auto;
}

section,
header
{
	position: relative;
	display: block;
	width: 100%;
}

h1
{
	font-size: 100px;
	line-height: 120px;
}

h1.gradient > div > div
{
	background: linear-gradient(0deg,#aaaaaa 0%,#fff 120%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

h2
{
	font-size: 60px;
	line-height: 60px;
}

h3
{
	font-size: 48px;
	line-height: 48px;
}

h4
{
	font-size: 36px;
	line-height: 40px;
	font-weight: 400;
}

h5
{
	font-size: 24px;
	line-height: 30px;
	font-weight: 400;
}

h6
{
	font-size: 20px;
	line-height: 28px;
	font-weight: 400;
}

.reveal {
	overflow: hidden;
}

	.reveal span {
		display: block;
		transform: translate(0,100%);
	}

	.reveal.trigger span {
		display: block;
		animation: reveal 0.7s cubic-bezier(0.25, 0.1, 0.25, 1) .5s;
		animation-fill-mode: forwards;
	}

	@keyframes reveal {
		0% {
			transform: translate(0,100%);
		}
		100% {
			transform: translate(0,0);
		}
	}

h2.subtitle
{
	font-size: 18px;
	line-height: 24px;
	font-weight: 300;
	font-family: 'Sharp Grotesk', sans-serif;
}

h2.subtitle b
{
	font-weight: 500;
	margin-right: 50px;
}

p
{
	font-size: 18px;
	line-height: 30px;
	font-weight: 300;
	font-family: 'Sharp Grotesk', sans-serif;
}

/* .cursor
  {
	pointer-events: none
} */

.cursor__ball
{
	position: fixed;
	top: 0;
	left: 0;
	mix-blend-mode: difference;
	z-index: 1000;
}

circle
{
	fill: #f7f8fa
}

/* MF Cursor */
.mf-cursor {
	z-index: 1000 !important;
}

.mf-cursor.-inverse {
	mix-blend-mode: exclusion !important;
}

.mf-cursor.-inverse {
}

.mf-cursor.-menu:before {
	transform: scale(1.4) !important
}

.mf-cursor-text
{
	color: #000 !important;
}