.inter {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-variation-settings: "slnt" 0;
  font-style: normal;
}

:root {
  --color-yellow: #ffe500;
  --color-black: #000000;
  --color-white: #ffffff;
  --spacing-1: 4vw;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  background: var(--color-black);
  color: var(--color-white);
  height: 100dvh;
  cursor: none;
  overflow: hidden;
}

a {
  color: inherit;
}

.cursor {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  transition: width 0.1s, height 0.1s, opacity 0.2s;
  pointer-events: none;
  background-image: url(../img/cursor.svg);
  background-size: contain;
}

.cursor-dark .cursor {
  background-image: url(../img/cursor-dark.svg);
}

.cursor--large {
  width: 50px;
  height: 50px;
  opacity: 0.5;
}

.container {
  display: flex;
  flex-direction: column;
  justify-content: end;
  gap: var(--spacing-1);
  height: 100%;
  padding: var(--spacing-1);
}

.logo {
  margin: 0;
}

.logo img {
  width: 230px;
  height: auto;
}

.tagline {
  font-size: clamp(68px, 10vw, 124px);
  font-weight: 200;
  line-height: 1;
  letter-spacing: -0.05em;
  margin: 0;
}

.bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.nav {
  position: absolute;
  top: var(--spacing-1);
  right: 0;
  line-height: 1;
}

.open {
  display: block;
  margin: 0;
  padding: var(--spacing-1);
  color: inherit;
  text-decoration: none;
  font-size: 36px;
  font-weight: 400;
  font-family: inter, sans-serif;
  background: none;
  border: none;
}

.corner-color {
  --size: 150px;
  position: fixed;
  bottom: calc(var(--size) / 2 * -1);
  right: calc(var(--size) / 2 * -1);
  width: var(--size);
  height: var(--size);
  background: var(--color-yellow);
  border-radius: 50%;
}

@media (hover: hover) {
  /* hide yellow corner color when hover is supported, i.e. on devices which mouse/cursor support */
  .corner-color {
    display: none;
  }
  /* show cursor when hover is supported */
  .cursor--moved {
    display: block;
  }
}

.about {
  display: none;
  flex-direction: column;
  position: absolute;
  justify-content: end;
  gap: var(--spacing-1);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-yellow);
  color: var(--color-black);
  padding: var(--spacing-1);
  font-size: 24px;
}

.about.is-active {
  display: flex;
}

.about p {
  margin: 0;
  max-width: 24em;
}

.copylove {
  font-size: 16px;
  font-weight: 500;
}

.close {
  position: absolute;
  top: 75px;
  right: 40px;
  background: none;
  border: none;
  cursor: pointer;
}

@media only screen and (min-width: 50em) {
  .tagline {
    display: inline-block;
    /* font-size: 96px; */
    max-width: 10em;
  }

  .about {
    /* top: 0;
    right: 0;
    font-size: 36px; */
  }

  .about p {
    /* padding-left: 140px; */
  }

  .copylove {
    /* font-size: 36px; */
  }

  .close {
    font-size: 40px;
  }

  .nav {
    /* font-size: 96px;
    top: 55px;
    right: 90px; */
  }
}

@media only screen and (min-width: 1024px) {
  .copylove {
    position: absolute;
    right: var(--spacing-1);
  }
}
