@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap&#39;');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-snap-type: y mandatory;
}

:root{
    --primary-color: #8390c7;
    --secondary-color: #4357c7;
}
body{
    height: 100vh;
    background-color: var(--primary-color);
    display: flex;
    flex-direction: column;
    font-family: 'Righteous', cursive;
}

.container{
    height: 100%;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    width: 90vw;
    margin: auto;
}
header{
    margin-top: 70px;
}
header a{
    grid-column: 1/-1;
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    color: var(--secondary-color);
    font-size: 2rem;
}
header img{
    width: 125px;
}
main{
    flex-grow: 1;
}
.title{
    position: relative;
    grid-column: 1/-1;
    place-self: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.title_text{
    font-size: 20vw;
    color: #fff;
}
.title_transparent{
    position: absolute;
    top: -50%;
    font-size: 22vw;
    color: #fff5;
    z-index: -1;
}
.description{
    grid-column: 1/7;
    place-self: start;
    color: var(--secondary-color);
    z-index: 1;
}
.description_title{
    font-size: 4rem;
}
.description_text{
    width: 500px;
    font-size: 1.2rem;
}
.action{
    grid-column: 7/-1;
    place-self: start end;
    height: 100px;
    width: 411px;
    background-color: var(--secondary-color);
    color: #fff;
    font-size: 3rem;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}
.footer_text{
    grid-column: 1/-1;
    place-self: center;
    margin-bottom: 24px;
    color: var(--secondary-color);
    font-size: 1rem;
}
.iphone-image{
    width: 400px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    height: 100vh;
    width: 100vw;
    scroll-snap-align: start;
}



@media(max-width:960px){
    .container{
        grid-template-columns: 1fr;
    }
    header{
        margin-top: 30px;
    }
    .title{
        place-self: start center;
        transform: translate(20%);
    }
    .action{
        grid-column: 1;
        grid-row: 2;
        place-self: end center;
        margin-bottom: 24px;
    }
    footer{
        display: none;
    }
}

@media(max-width:640px){
    .description_title{
        font-size: 10vw;
    }
    .description_text{
        display: none;
    }
    .action{
        width: 100%;
        font-size: 10vw;
    }
    .iphone-image{
        width: 90vw;
    }
}