@font-face {
    font-family: 'Inter';
    src: url('/assets/fonts/InterDisplay-Regular.woff2') format('woff2'),
        url('/assets/fonts/InterDisplay-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Anton';
    src: url('/assets/fonts/Anton-Regular.woff2') format('woff2'),
        url('/assets/fonts/Anton-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root{
    --color-light: 0 0% 92%;
    --color-dark: 24 12% 8%;
    --color-accent: 11 72% 50%;
}
html{
    margin:0;
    padding:0;
    font-size: 16px;
    scroll-behavior: smooth;
}
*{
    box-sizing: border-box;
    transition-duration: 250ms;
}
body{
    margin:0;
    padding:0;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 1.5rem;
    background: white;
    color: hsl(var(--color-dark));
}
h1,h2,h3,h4,h5{
    font-family: "Anton", sans-serif;
    font-weight: 400;
    font-style: normal;
}
h1 {
    font-size: 2rem;
    line-height: 1.2;
}
h2 {
    font-size: 1.75rem;
    line-height: 1.3;
}
h3 {
    font-size: 1.5rem;
    line-height: 1.4;
}
h4 {
    font-size: 1.25rem;
    line-height: 1.4;
}
h5 {
    font-size: 1rem;
    line-height: 1.5;
}
a{
    color: hsl(var(--color-accent));
}
.big-copy{
    font-size: 1.5rem;
    line-height: 1.4;
}

.grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    .col-3,
    .col-2 {
        grid-column: span 1;
    }
}

ul{
    li{
        padding-block: 8px;
    }
}
div.img{
    border-radius: 16px;
    width:100%;
    height:100%;
    overflow:clip;
    img{
        object-fit: cover;
        width:100%;
        height:100%;
    }
}
@keyframes floatArrow {
    0%, 25% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(100%);
    }
}
header#hero{
    height: 100vh;
    padding:32px;
    background-color:hsl(var(--color-dark));
    section{
        width:100%;
        height: 100%;
        position: relative;
        overflow: hidden;
        border-radius: 16px;
        background: hsl(var(--color-dark));
        color: hsl(var(--color-light));
        box-shadow: -1px 1px 260px 164px rgba(0,0,0,1) inset;
        -webkit-box-shadow: -1px 1px 260px 164px rgba(0,0,0,1) inset;
        -moz-box-shadow: -1px 1px 260px 164px rgba(0,0,0,1) inset;
        .logo{
            display: block;
            margin-inline: auto;
            mask-image: url('/assets/logo.svg');
            mask-repeat: no-repeat;
            width:94px;
            height:83px;
            background-color:hsl(var(--color-light));
            margin-bottom:32px;
        }
        picture,img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 0;
            opacity:.6;
            pointer-events: none;
        }
        .content {
            position: absolute;
            z-index: 1;
            text-align: center;
            color: white;
            padding: 24px;
            width:100%;
            left: 50%;
            top: 50%;
            transform: translate(-50% ,-50%);
            .arr-down{
                margin-top:64px;
                padding-block: 32px;
                position: relative;
                i{
                    position: absolute;
                    left:50%;
                    margin-left:-25px;
                    font-size:3rem;
                    animation: 2s;
                    animation-name: floatArrow;
                    animation-duration: 2s;
                    animation-iteration-count: infinite;
                    animation-timing-function: linear(0, 0.446 4.5%, 0.722 8.1%, 0.888 11.6%, 0.929 13.3%, 0.942 15%, 0.934 16.4%, 0.906 17.9%, 0.795 21%, -0.146 36%, -0.316 40%, -0.403 44%, -0.415 45.6%, -0.414 47.2%, -0.377 50.7%, -0.047 64.3%, 0.014 67.8%, 0.051 71.3%, 0.064 74.1%, 0.064 77.2%, 0.01 90.7%, 0);
                }
            }
        }
    }
    section::before{
        content:'';
        position:absolute;
        inset:0;
        background-image: url('/assets/noise.png');
        background-size:150px;
        opacity:.8
    }
}
main#main{
    width:100%;
    position: relative;
    #logo-wrap{
        position: sticky;
        display: flex;
        gap:24px;
        justify-content: center;
        align-items: center;
        top:0;
        width:100%;
        padding:24px;
        text-align: center;
        background-color:hsl(var(--color-light) / 0.9);
        z-index:10;
        #logo{
            display: block;
            mask-image: url('/assets/logo.svg');
            mask-repeat: no-repeat;
            width:94px;
            min-width:94px;
            height:69px;
            background-color:hsl(var(--color-dark));
            flex-shrink: 1;
        }
        div{
            padding-inline: 24px;
            border-left: 1px solid hsl(var(--color-dark) / 0.5);
            text-align: left;
            font-size:0.75rem;
            line-height:1.1;
        }
    }
    section.content:first-of-type{
        margin-top:32px;
    }
    .content{
        max-width:1536px;
        padding:24px;
        margin:auto;
        .offer {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 24px;
            div{
                text-align: center;
                padding:24px;
                padding-top:32px;
                border-radius: 12px;
                border: 1px solid hsl(var(--color-dark) / 0.2);
                h5{
                    margin:24px 0 16px 0;
                }
                i{
                    font-size:1.75rem;
                    color:white;
                    background-color: hsl(var(--color-accent));
                    border-radius: 100%;
                    padding:12px;
                }
                p{
                    margin:0;
                }
            }
        }
    }
}
footer{
    width:100%;
    background-color: hsl(var(--color-dark));
    .foot-bg{
        position: relative;
        padding-block:24px;
        picture,img {
            position: absolute;
            width: 100%;
            height: 100%;
            inset:0;
            object-fit: cover;
            z-index: 0;
            opacity:.6;
            pointer-events: none;
        }
        .content{
            max-width:1536px;
            padding:24px;
            margin:auto;
            color:white;
            z-index:10;
            position: relative;
            div{
                padding:16px 24px 32px 24px;
                border-radius: 16px;
            }
        }
    }
    .foot-bg::before{
        content:'';
        position:absolute;
        inset:0;
        background-image: url('/assets/noise.png');
        background-size:150px;
        opacity:.8
    }
    .content{
        color:white;
        .footer{
            padding-block: 24px;
            text-align: center;
            color: hsl(var(--color-light));
            font-size:0.75rem;
        }
    }
}

@media (max-width: 460px) {
    main#main{
        .content{
            .offer {
                grid-template-columns: 1fr;
                div{
                    width:100%;
                }
            }
        }
    }
}

@media (min-width: 768px) {
    h1 {
        font-size: clamp(3rem, 5vw + 1rem, 6rem);
        line-height: 1.1; 
    }
    h2 {
        font-size: 2.25rem;
        line-height: 1.3;
    }

    h3 {
        font-size: 1.75rem;
        line-height: 1.4;
    }

    h4 {
        font-size: 1.5rem;
        line-height: 1.4;
    }

    h5 {
        font-size: 1.25rem;
        line-height: 1.5;
    }
    header#hero{
        padding: 64px;
        section{
            border-radius: 32px;
            .content {
                width:50%;
            }
            .logo{
                width:200px;
                height:147px;
                margin-bottom: 42px;
            }
            .content{
                .arr-down{
                    padding-block:48px;
                }
            }
        }
    }
    .grid{
        grid-template-columns: repeat(5, 1fr);
        gap: 32px;
        .col-3{
            grid-column: span 3;
        }
        .col-2 {
            grid-column: span 2;
        }
    }
    main#main{
        #logo-wrap{
            #logo{
                width:140px;
                height:103px;
            }
            div{
                font-size:1rem;
            }
        }
        .content{
            padding: 40px;
        }
    }
    footer{
        .content{
            padding:40px;
        }
    }
}