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

html, body {
  margin: 0;
  min-height: 100%;
}

body {
  background: #050505;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
}

.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100vh;
  overflow: hidden;
  isolation: isolate;
  background: #080808;
}

.hero__background {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: url("space.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transform: scale(1.002);
}

/* Recreates the very dark left side of the original design while keeping
   the photographic background visible underneath. */
.hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,100) 0%,
      rgba(0,0,0,.66) 40%,
      rgba(0,0,0,.34) 57%,
      rgba(0,0,0,.08) 80%,
      rgba(0,0,0,.24) 100%),
    linear-gradient(180deg,
      rgba(0,0,0,.20) 0%,
      rgba(0,0,0,.03) 40%,
      rgba(0,0,0,.20) 100%);
}

.content {
  position: relative;
  width: min(590px, 42vw);
  margin-left: clamp(28px, 2.7vw, 56px);
  padding-top: clamp(100px, 9.6vh, 132px);
}

.logo {
  display: block;
  width: clamp(220px, 14.3vw, 293px);
  height: auto;
  object-fit: contain;
  object-position: left top;
  margin-bottom: clamp(35px, 3.1vh, 48px);
  filter: brightness(1.04);
}

.intro {
  margin: 0 0 22px;
  max-width: 590px;
  color: rgba(255,255,255,.43);
  font-size: clamp(14px, .93vw, 19px);
  line-height: 1.38;
  font-weight: 600;
  letter-spacing: -.1px;
}

.email {
  display: inline-block;
  margin-bottom: 26px;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.18vw, 24px);
  line-height: 1.2;
  transition: color .2s ease;
}

.email:hover,
.email:focus-visible {
  color: #fff;
}

.contact {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  color: rgba(255,255,255,.43);
  font-size: clamp(14px, .91vw, 18px);
  line-height: 1.25;
  font-style: normal;
  font-weight: 600;
}

.facebook {
  position: absolute;
  top: 38px;
  left: clamp(42px, 3vw, 62px);
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.16);
  color: rgba(255,255,255,.72);
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 26px;
  font-weight: 700;
  transition: background .2s ease, color .2s ease;
}

.facebook span {
  transform: translateY(2px);
}

.facebook:hover,
.facebook:focus-visible {
  background: rgba(255,255,255,.26);
  color: #fff;
}



@media (max-width: 900px) {
  .content {
    width: min(620px, calc(100vw - 64px));
    margin-left: 32px;
    padding-top: 105px;
  }

  .hero__background {
    background-position: 62% center;
  }

  .hero__shade {
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.82) 0%,
        rgba(0,0,0,.72) 52%,
        rgba(0,0,0,.34) 100%),
      linear-gradient(180deg,
        rgba(0,0,0,.22),
        rgba(0,0,0,.20));
  }
}

@media (max-width: 600px) {
  .hero {
    min-height: 100vh;
  }

  .hero__background {
    background-position: 66% center;
  }

  .hero__shade {
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.86) 0%,
        rgba(0,0,0,.74) 68%,
        rgba(0,0,0,.40) 100%),
      linear-gradient(180deg,
        rgba(0,0,0,.28),
        rgba(0,0,0,.28));
  }

  .content {
    width: auto;
    margin: 0 28px;
    padding-top: 96px;
  }

  .logo {
    width: 245px;
    margin-bottom: 34px;
  }

  .intro {
    max-width: 510px;
    font-size: 14px;
    line-height: 1.42;
    margin-bottom: 20px;
  }

  .email {
    font-size: 19px;
    margin-bottom: 25px;
  }

  .contact {
    font-size: 14px;
    gap: 12px;
  }

  .facebook {
    top: 28px;
    left: 28px;
    width: 36px;
    height: 36px;
    font-size: 23px;
  }

  .hero::after {
    width: 42%;
    height: 100px;
  }
}

@media (max-width: 380px) {
  .content { margin: 0 22px; }
  .logo { width: 220px; }
  .email { font-size: 17px; }
}
