* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}


body {
    color: #f4f4f4;
    font-family: 'Space Grotesk', sans-serif;
    min-height: 100vh;
    background: none;
}


.bg {

    position: fixed;

    top: 50%;
    left: 50%;

    height: 100vh;
    min-width: 100vw;

    transform: translate(-50%, -50%);

    object-fit: cover;

    z-index: -1;

}

.subtitle,
.blurb,
.section-desc{

background:rgba(0,0,0,.60);

backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);

padding:18px 24px;

border-left:4px solid rgba(255,32,32,.7);

box-shadow:
0 0 40px rgba(0,0,0,.4);

}

a {
    color: inherit;
    text-decoration: none;
}

.hero {

    min-height: 100vh;

    padding: 80px 8vw;

    display: flex;

    flex-direction: column;

    justify-content: center;

    position: relative;

    -webkit-transform: translate3d(0, 0, 0);

}

.hero img {

    width: 100%;

    display: block;

    image-rendering: auto;

    -webkit-font-smoothing: antialiased;

    object-fit: contain;

    filter:
        drop-shadow(8px 8px #ff2020);

    transition: .25s;

    pointer-events: auto;
    -webkit-user-drag: none;

}

.hero img:hover {

    transform:
        translateY(-6px) rotate(-1deg);

    filter:
        drop-shadow(10px 10px white);

}

.hero::before {

    content: "BUILD // FLY // PAINT // EXPERIMENT";

    position: absolute;

    font-size: 8vw;

    opacity: .035;

    color: white;

    transform: rotate(-8deg);

    pointer-events: none;

}

.logo {

    font-family: 'Permanent Marker';

    font-size:
        clamp(5rem, 14vw, 13rem);

    line-height: .8;

    color: #cc0000;

    text-shadow:
        8px 8px #000;

}

.subtitle {

    margin-top: 28px;

    font-size: 1.4rem;

    letter-spacing: 2px;

    color: white;

}

.blurb {

    margin-top: 28px;

    max-width: 900px;

    font-size: 1.1rem;

    line-height: 2;

    opacity: .7;

}

nav {

    margin-top: 60px;

    display: flex;

    gap: 18px;

    flex-wrap: wrap;

}

nav a {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 180px;

    padding: 14px 26px;

    border: 2px solid white;

    background: black;

    transition: .25s;

}

nav a:hover {

    background: #ff2020;

    border-color: #ff2020;

    color: white;

    transform:
        translateY(-10px) rotate(-2deg) scale(1.04);

    box-shadow:
        8px 8px #ffffff;

    cursor: pointer;

}

section {

    padding:
        180px 8vw;

    min-height: 100vh;

    display: block;

    scroll-margin-top: 0;

}

.section-title {

    font-family: 'Permanent Marker';

    font-size: 4rem;

    color: #ff2020;

    margin-bottom: 30px;

}

.section-desc {

    max-width: 900px;

    opacity: .7;

    margin-bottom: 60px;

    line-height: 1.8;

}

.grid {

    display: grid;

    grid-template-columns:
        repeat(auto-fit, minmax(300px, 1fr));

    gap: 28px;

}

.card {

    background: #0b0b0b;

    border:
        1px solid rgba(255, 255, 255, .18);

    transition: .25s;

    position: relative;

    overflow: hidden;

    padding: 0;

    min-height: 300px;

    z-index:1;

}

.card-img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}


.card:hover {

    z-index:100;

    transform:
        translateY(-10px) rotate(-1deg) scale(1.4);

    border-color: #ff2020;
    

}

.card h3 {

    font-size: 2rem;

    color: white;

    margin-bottom: 18px;

}

.card p {

    opacity: .72;

    line-height: 1.9;

}

.tag {

    display: inline-block;

    margin-top: 20px;

    border: 1px solid white;

    padding: 6px 12px;

    font-size: .8rem;

}

footer {

    padding: 100px;

    text-align: center;

    font-family: 'Permanent Marker';

    font-size: 2rem;

    color: #ff2020;

}


/* MOBILE */

@media(max-width:768px) {

    .hero {

        padding: 40px 6vw;

        min-height: auto;

    }

    .hero img {

        width: 85%;

        margin: auto;

        filter:
            drop-shadow(5px 5px #ff2020);

    }

    .subtitle {

        font-size: 1rem;

        letter-spacing: 1px;

    }

    .blurb {

        font-size: 1rem;

        line-height: 1.7;

    }

    nav {

        flex-direction: column;

        gap: 12px;

        margin-top: 40px;

    }

    nav a {

        width: 100%;

        min-width: 0;

    }

    section {

        padding: 80px 6vw;

        min-height: auto;

    }

    .section-title {

        font-size: 3rem;

    }

    .section-desc {

        margin-bottom: 40px;

    }

    .grid {

        grid-template-columns: 1fr;

    }

    .card {

        background: #0b0b0b;

        border:
            1px solid rgba(255, 255, 255, .18);

        transition: .25s;

        position: relative;

        overflow: hidden;

        padding: 0;

        min-height: 300px;

        z-index:1;

    }

    .card-img {

        width: 100%;

        height: 100%;

        object-fit: cover;

        display: block;

    }

    .card:hover {

    z-index:100;

    transform:
        translateY(-10px) rotate(-1deg) scale(1.1);

    border-color: #ff2020;
    

    }

    .card h3 {

        font-size: 1.7rem;

    }

    footer {

        padding: 60px 20px;

    }
    
    .subtitle .launcher-inline input#toolPath{

        all: unset;
    
        display: inline-block;
    
        background: rgba(0,0,0,.75);
    
        border: 2px solid rgba(255,255,255,.4);
    
        color: white;
    
        padding: 6px 10px;
    
        font-size: .95rem;
    
        min-width: 180px;
    
        box-sizing: border-box;
    
    }
    
    .subtitle .launcher-inline button#goButton{

        all: unset;
    
        cursor: pointer;
    
        background: black;
    
        border: 1px solid white;
    
        color: white;
    
        padding: 6px 10px;
    
        font-weight: bold;
    
        display: inline-block;
    
    }

}