@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 img: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 img {
    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 img {
        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 img: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 img {
        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 img {
        transition: none;
    }
}