.main-wrapper {
    width: 100%;
}

.main {
    height: 100%;

    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 20rem repeat(2, auto);

    background-color: #23304b;
    background-image: 
        radial-gradient(circle at 62% 39%, #00000020 50%, transparent 50.05%),
        radial-gradient(circle at 20% -85%, #0000002e 42%, transparent 42.05%),
        radial-gradient(circle at -54% 59%, #0000001f 49%, transparent 49.05%),
        linear-gradient(297deg, #0000002d 50%, transparent 50.05%),
        linear-gradient(0deg, #0000001e 50%, transparent 50.05%),
        radial-gradient(circle at 1% 51%, #0000001e 29%, transparent 34.05%)
    ;
    background-position: 0 0;
}

.main-title {
    grid-column: 1 / 2 ;
    grid-row: 1 / 2;

    display: flex;
    justify-content: center;
    align-items: center;
}

.main-title h1 {
    font-weight: 800;
    color: aliceblue;
    width: 80%;
    font-size: clamp(2rem, 4vw, 3rem);
    text-align: center;
    text-transform: uppercase;
}

.main-subtitle {
    grid-column: 1 / 2 ;
    grid-row: 2 / 3;

    background-color: aliceblue;

    display: flex;
    justify-content: center;
    align-items: start;
}

.main-subtitle h2 {
    padding: 1rem;
    font-size: clamp(1.1rem, 3.5vw, 1.8rem);
    text-align: center;
}

.main-links {
    grid-column: 1 / 2 ;
    grid-row: 3 / 4;

    width: 100%;
    max-width: 50rem;
    align-self: center;
    justify-self: center;

    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 2rem;

    padding: 2rem;
}

.main-links div {
    display: flex;
    width: 100%;
}

.main-links a {
    font-size: clamp(1rem, 3.5vw, 1.8rem);
    text-align: center;
    background-color: aliceblue;
    color: black;
    padding: .8rem;
    width: 100%;
}


@media screen and (min-width: 1279px) {
    
    .main-wrapper {
        width: 100%;

        height: 85vh;
    }

    .main {
        grid-template-columns: 50% 50% ;
        grid-template-rows: 85% 15%;

        position: unset;
    }

    .main-title {
        grid-column: 1 / 3 ;
        grid-row: 1 / 2;

        display: flex;
        justify-content: center;
        align-items: center;
        justify-self: center;
    }
    
    .main-title h1 {
        font-size: clamp(4rem, 3vw, 6rem);
        align-self: left;

        width: 100%;

        position: relative;

        filter: 
            drop-shadow(.4rem .4rem 0 rgb(41, 62, 100))
            drop-shadow(0 0 1rem black)
        ;

        z-index: 3;
    }

    .main-subtitle {
        grid-column: 1 / 3 ;
        grid-row: 2 / 3;

        align-items: center;

        z-index: 2;

        filter: drop-shadow(0 0 1rem black);
    }

    .main-subtitle h2 {
        font-size: clamp(2rem, 2vw, 3rem);

        z-index: 2;
    }

    .main-image {
        grid-area: 1 / 1 / -1 / -1;

        display: flex;
        justify-content: end;
        align-items: end;
    
        z-index: 1;
    
        background-image: 
            url('../assets/images/hero-banner-1.png'),
            url('../assets/images/hero-banner-2.png'),
            url('../assets/images/hero-banner-3.png'),
            url('../assets/images/hero-banner-4.png')
        ;
    
        background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
        background-position: 
            center top,
            center right,
            center bottom,
            center left
        ;        
        background-size: 
            30% 15rem,
            200px 100%,
            40% 200px,
            200px 100%
        ;
    }

    .main-links {
        display: none;
    }

}