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

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

body {
    overflow: hidden;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: 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;
    font-weight: 200;
    text-align: center;
    opacity: .9;
    margin-top: .2em;
}
.header span {
    display: block;
    font-family: Helvetica, sans-serif;
    font-size: calc(var(--index) * .75); 
    margin-top: 5px;
}
.gallery {
    width: 30vw;
    column-width: 2em;
    gap: var(--gap);
    transform: scale(8);
    will-change: transform;
    transition: transform 1s cubic-bezier(.075, 1, .25, 1), opacity 1s;
}
.gallery__item {
    margin-bottom: var(--gap);
    transform: scale(1.001);
    will-change: transform;
    transition-property: all;
    transition: all ease 1s;    
}
.gallery__item:hover {
    transform: scale(1.3);
    transition: 1s ;
}
.gallery__item img {
    width: 100%;
    display: block;
    border-radius: 1px;
}
.loaded .gallery {
    opacity: 1;
}
.loaded .header span {
    opacity: 0;
}

/* Dark Mode */

@media (prefers-color-scheme: dark) {
    body {
        background-color: #000;
    }
    .header {
        filter: invert(100%);
    }
}