@font-face {
  font-family: "Courier Prime Web";
  src: url("CourierPrime-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  color: #000;
  background: #fff;
  font-family: "Courier New", Courier, monospace;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  background: #fff;
  font-weight: 700;
}

img {
  display: block;
  max-width: 100%;
}

.artboard {
  container-type: inline-size;
  position: relative;
  width: min(100%, 1280px);
  aspect-ratio: 1280 / 1733;
  min-height: 860px;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
}

.hero-copy {
  position: absolute;
  z-index: 3;
  top: 7.2%;
  left: 19.2%;
}

h1,
p {
  margin: 0;
}

h1 {
  font-size: 2.73vw;
  line-height: 1;
}

.hero-copy p {
  margin-top: 4.2vw;
  font-size: 2.42vw;
  line-height: 1.18;
  letter-spacing: -0.06vw;
}

.get-link {
  display: block;
  width: 22.3vw;
  margin-top: 4.3vw;
  border-radius: 999px;
  cursor: help;
}

.get-link:active {
  transform: translateY(2px);
}

.get-link:focus-visible,
.socials a:focus-visible {
  outline: 0.32vw dashed #ff00b8;
  outline-offset: 0.38vw;
}

.hero-dog {
  position: absolute;
  z-index: 4;
  top: -51.1%;
  right: -1.2%;
  width: 38.65%;
}

.rushmore {
  position: absolute;
  z-index: 2;
  top: 29.05%;
  left: 13.55%;
  width: 78.15%;
}

.rushmore-art {
  position: relative;
  z-index: 2;
  width: 100%;
}

.question {
  position: absolute;
  z-index: 5;
  font-size: 2.65vw;
  line-height: 1;
  white-space: nowrap;
}

.question--left {
  top: 27.3%;
  left: -9.6%;
}

.question--right {
  top: 69.3%;
  left: 94.2%;
  font-size: 3.8vw;
}

.question--bottom-left {
  top: 92%;
  left: -5.5%;
  font-size: 3.8vw;
}

.question-white {
  color: #fff;
}

.question-black {
  color: #000;
}

.below-rushmore {
  display: contents;
}

.socials {
  position: absolute;
  z-index: 5;
  top: 69.75%;
  left: 13.7%;
  display: flex;
  gap: 1.75vw;
  align-items: center;
}

.socials a {
  display: block;
  width: 4.05vw;
  border-radius: 50%;
}

.pipe-facts {
  position: absolute;
  z-index: 5;
  top: 70.65%;
  left: 53.8%;
  width: 36%;
  text-align: right;
  font-size: 2.35vw;
  line-height: 1.2;
  letter-spacing: -0.06vw;
}

.pipe-facts p+p {
  margin-top: 4.1vw;
}

.ghost-dog {
  position: absolute;
  z-index: 1;
  max-width: none;
  opacity: 0.3;
  pointer-events: none;
  user-select: none;
}

.ghost-dog--tiny {
  top: -1.2%;
  left: 5.4%;
  width: 8.7%;
  transform: rotate(154deg);
}

.ghost-dog--left {
  top: 80.5%;
  left: -28.8%;
  width: 49.9%;
  transform: rotate(42deg) scaleY(-1);
  transform-origin: 50% 50%;
}

.ghost-dog--bottom {
  right: -1.6%;
  bottom: -6%;
  width: 43%;
}

.question--last {
  z-index: 3;
  top: 83.4%;
  right: 17%;
}

@media (max-width: 700px) {
  .artboard {
    width: 100%;
    aspect-ratio: auto;
    min-height: 0;
    font-family: "Courier Prime Web", "Courier New", Courier, monospace;
    font-weight: 700;
  }

  .hero {
    position: relative;
    min-height: 58vh;
  }

  .hero-copy {
    position: relative;
    top: auto;
    left: auto;
    padding: 12.31vw 0 0 6.15vw;
  }

  h1 {
    font-size: 7.69vw;
  }

  .hero-copy p {
    margin-top: 8.72vw;
    font-size: 5.64vw;
    line-height: 1.2;
    letter-spacing: -0.15vw;
  }

  .get-link {
    width: 59.49vw;
    margin-top: 8.72vw;
  }

  .hero-dog {
    top: auto;
    right: 0;
    bottom: 98%;
    width: 60%;
  }

  .rushmore {
    position: relative;
    top: auto;
    left: auto;
    width: 72%;
    margin: 0 auto;
  }

  .question {
    font-size: 6.15vw;
  }

  .question--left {
    top: 27.3%;
    left: -17.4%;
    font-size: 4.62vw;
  }

  .question--right {
    top: 69.3%;
    right: auto;
    left: 87.2%;
    font-size: 7.69vw;
  }

  .question--bottom-left {
    top: 82.5%;
    left: -14%;
    font-size: 7.69vw;
  }

  .below-rushmore {
    display: block;
    position: relative;
    min-height: 160vw;
    padding-top: 10vw;
  }

  .socials {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-left: 0;
    gap: 3.85vw;
    justify-content: center;
  }

  .socials a {
    width: 11.79vw;
  }

  .pipe-facts {
    position: relative;
    top: auto;
    left: auto;
    width: 76%;
    margin: 18vw auto 0;
    font-size: 5.64vw;
    line-height: 1.25;
  }

  .pipe-facts p+p {
    margin-top: 7vw;
  }

  .ghost-dog--tiny {
    top: -2.05vw;
    left: 72%;
    width: 22.05vw;
  }

  .ghost-dog--left {
    top: 77%;
    left: -35%;
    width: 60%;
    transform: rotate(42deg) scaleY(-1);
  }

  .ghost-dog--bottom {
    right: -15vw;
    bottom: clamp(-6vw, calc(145px - 20vh), 8vw);
    width: 76vw;
  }

  .question--last {
    top: auto;
    right: 22.05vw;
    bottom: 60vw;
  }
}

@media (min-width: 1280px) {
  h1 {
    font-size: 34.944px;
  }

  .hero-copy p {
    margin-top: 53.76px;
    font-size: 30.976px;
    letter-spacing: -0.768px;
  }

  .get-link {
    width: 285.44px;
    margin-top: 55.04px;
  }

  .get-link:focus-visible,
  .socials a:focus-visible {
    outline-width: 4.096px;
    outline-offset: 4.864px;
  }

  .question {
    font-size: 33.92px;
  }

  .question--right,
  .question--bottom-left {
    font-size: 48.64px;
  }

  .socials {
    gap: 22.4px;
  }

  .socials a {
    width: 51.84px;
  }

  .pipe-facts {
    font-size: 30.08px;
    letter-spacing: -0.768px;
  }

  .pipe-facts p+p {
    margin-top: 52.48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .get-link,
  .socials a {
    transition: none;
  }
}