@font-face {
    font-family: "Old London";
    src: url("fonts/OldLondon.woff2") format("woff2"),
         url("fonts/OldLondon.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

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

html,
body {
    height: 100%;
}

body {
    background: #140f0b;
    overflow: hidden;
}

.landing {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}

.nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: clamp(1.5rem, 5vw, 4rem);
    padding: clamp(1.25rem, 2.5vw, 2rem) 1.5rem;
    transition: opacity 800ms ease;
}

.nav__link {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(0.875rem, 1.1vw, 1.0625rem);
    font-style: italic;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0.04em;
    opacity: 0.85;
    transition: opacity 200ms ease;
}

.nav__link:hover {
    opacity: 1;
}

.landing.is-leaving .nav {
    opacity: 0;
}

.landing__bg {
    position: absolute;
    inset: 0;
    background-image: url("images/emma3.jpg");
    background-repeat: no-repeat;
    background-size: 120% auto;
    background-position: 70% 60%;
    user-select: none;
    pointer-events: none;
    transition: opacity 800ms ease;
}

.landing.is-leaving .landing__bg {
    opacity: 0;
}

@media (max-aspect-ratio: 1 / 1) {
    .landing__bg {
        background-size: auto 130%;
        background-position: 50% 65%;
    }
}

.landing.is-leaving .landing__title {
    transition: opacity 0ms 1400ms;
    opacity: 0;
}

.landing__title {
    position: relative;
    z-index: 1;
    font-family: "Old London", serif;
    font-size: clamp(3rem, 16vw, 30rem);
    font-weight: normal;
    line-height: 1;
    color: #fff;
    letter-spacing: 0.05em;
    text-align: center;
    user-select: none;
}
