html{
    overflow: hidden;
}

/* Fonts */
@font-face {
    font-family: 'CustomFonts';
    src: url('fonts/EarthBound.ttf') format('truetype');
}
@font-face {
    font-family: 'CustomFonts2';
    src: url('fonts/PublicPixel.ttf') format('truetype');
}

/* Global */
body {
    margin: 0;
    font-family: 'CustomFonts', sans-serif;
    background: url('src/Earthbound_bg.jpg') center / cover no-repeat;
    overflow: hidden;
}

/* MOBILE FIRST – hide video */
#video-container {
display: none;
}

/* Main content container */
main .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    min-height: 100vh;
    text-align: center;
    padding: 20px;
}

/* Titles */

    .title {
        font-family: 'CustomFonts', sans-serif;
        position: absolute;
        font-size: 6em;
        color: white;
        text-align: center;
        top: 37px;
        width: 190vh;
        background: linear-gradient( to bottom, #a360ff 30%, /* bright purple top */ #ff8c00 50%, /* orange middle */ #ff0000 100% );
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        z-index: 1;
    }

    .title-glow {
    font-family: 'CustomFonts', sans-serif;
    position: absolute;
    font-size: 6em;
    color: white;
    text-align: center;
    top: 21px;
    width: 190vh;
    background: linear-gradient( to bottom, #a360ff 30%, /* bright purple top */ #ff8c00 50%, /* orange middle */ #ff0000 100% );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    text-shadow: -1px -1px 0 #f7c43b, 1px -1px 0 #f7c43b, -1px 1px 0 #f7c43b, 1px 1px 0 #f7c43b, /* soft glow */ 0 0 4px #fbe470, 0 0 10px #f7d24c, 0 0 18px #f5c93a;
    z-index: 0;
    }


/* Buttons container */
.buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: -160px;
}

/* Buttons */
button {
    font-family: 'CustomFonts2', sans-serif;
    padding: 12px 24px;
    font-size: 1em;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
    transition: all 0.3s ease;
}

/* Button colors */
.buttonR {
    background: linear-gradient(to top, #ff8c00 70%, #ff0000 100%);
}
.buttonG {
    background: linear-gradient(to top, #fff720 20%, #3cd500 80%);
}
.buttonB {
    background: linear-gradient(to top, #60efff 50%, #0061ff 80%);
}

button:hover { filter: brightness(1.1); }
button:active { transform: translateY(1px); }

/* DESKTOP STYLES */
@media (min-width: 768px) {

    .title {
        font-family: 'CustomFonts', sans-serif;
        position: absolute;
        font-size: 11em;
        color: white;
        text-align: center;
        top: 50px;
        width: 190vh;
        background: linear-gradient( to bottom, #a360ff 30%, /* bright purple top */ #ff8c00 50%, /* orange middle */ #ff0000 100% );
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        z-index: 1;
    }

    .title-glow {
        font-family: 'CustomFonts', sans-serif;
        position: absolute;
        font-size: 11em;
        color: white;
        text-align: center;
        top: 21px;
        width: 190vh;
        background: linear-gradient( to bottom, #a360ff 30%, /* bright purple top */ #ff8c00 50%, /* orange middle */ #ff0000 100% );
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        color: transparent;
        text-shadow: -1px -1px 0 #f7c43b, 1px -1px 0 #f7c43b, -1px 1px 0 #f7c43b, 1px 1px 0 #f7c43b, /* soft glow */ 0 0 4px #fbe470, 0 0 10px #f7d24c, 0 0 18px #f5c93a;
        z-index: 0;
    }

    /* Show video container */
    #video-container {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    overflow: hidden;
    }

    #bg-video {
    position: absolute; /* fills container */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    }

    /* Desktop font sizes */
    .title, .title-glow {
        font-size: 11em;
    }

    .title-glow {
        text-shadow:
        -1px -1px 0 #f7c43b,
        1px -1px 0 #f7c43b,
        -1px  1px 0 #f7c43b,
        1px  1px 0 #f7c43b,
        0 0 4px #fbe470,
        0 0 10px #f7d24c,
        0 0 18px #f5c93a;
    }

    .buttons {
        gap: 20px;
        margin-top: -200px;
    }

    button {
        font-size: 1.2em;
        padding: 12px 24px;
    }
}
@media (max-width: 768px) {
    html, body {
        overflow: hidden;    /* prevent scroll */
        height: 100vh;
        width: 100vw;
        touch-action: none;  /* optional: prevent swipe scroll */
    }

    .Desktop {
        position: fixed;     /* lock to viewport */
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        overflow: hidden;
    }

    .title, .title-glow {
        font-size: 6em;      /* scale down titles for mobile */
        width: 90vw;         /* don’t overflow horizontally */
    }

    div {  /* your buttons container */
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        width: 90vw;
        height: auto;       /* let it adjust to content */
        top: 50%;           /* vertical center */
        transform: translateY(-50%);
    }
}
@media (max-width: 410px) {

    .title{
        font-size: 5em;
        top: 33px;
    }
    .title-glow{
        font-size: 5em;
    }
}
@media (max-width: 366px) {
    .buttons {
        gap: 20px;
        margin-top: -100px;
    }
}
