* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --gap: .5em;
    --index: calc(1vw + 1vh);
    --color-dark: #000;
}

body {
    overflow: hidden;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header {
    text-transform: uppercase;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    letter-spacing: .1em;
    font-size: calc(var(--index) * 2.8);
    position: absolute;
    text-align: center;
    opacity: .9;
    margin-top: .2em;
}

.header span {
    display: block;
    font-family: Arial, Helvetica, sans-serif;
    font-size: calc(var(--index) * .75);
    margin-top: 5px;
}

.gallery {
    width: 30vw;
    column-width: 2em;
    gap: var(--gap);
    transform: scale(8.2);
    will-change: tranform;
    transition: transform 1s cubic-bezier(.075, 1, .25, 1), opacity 1s;
}

.gallery__item {
    margin-bottom: var(--gap);
    transform: scale(1.001);
    will-change: tranform;
    transition: .3s;
}

.gallery__item:hover {
    transform: scale(1.03);
}

.gallery__item img {
    width: 100%;
    display: block;
}

.loaded .gallery {
    opacity: 1;
}

.loaded .header span {
    opacity: 0;
}

/* DARK MODE OS */
@media (prefers-color-scheme: dark) {
    body {
        background-color: var(--color-dark);
    }

    .header {
        /* color: #fff; */
        filter: invert(100%);
    }
}

/* MOBILE */

@media (max-width : 968px) {

    .header {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    body {
        display: block;
        padding: var(--gap);
    }

    .gallery {
        width: 100vw;

    }

    .gallery__item:hover {
        /* transform: scale(10); */
    }
    .gallery__item img {
        width: 100%;
        height: 30px;
        object-fit: contain;
    }

}