@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&display=swap');

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

html{
    scroll-behavior:smooth;
}

body{
    min-height:100vh;
    background:#f7f5f2;
    color:#111;
    font-family:'Geist', Arial, sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}

.container{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:56px 24px;
}

.logo{
    width:clamp(230px, 22vw, 340px);
    height:auto;
    margin-bottom:clamp(84px, 10vw, 140px);
    opacity:0;
    animation:fadeUp 1s cubic-bezier(.22,.61,.36,1) forwards;
}

.manifesto{
    opacity:0;
    animation:fadeUp 1s cubic-bezier(.22,.61,.36,1) forwards;
    animation-delay:.18s;
}

h1{
    max-width:980px;
    font-size:clamp(30px, 4.2vw, 64px);
    line-height:1.24;
    font-weight:500;
    letter-spacing:-0.052em;
    text-transform:uppercase;
}

.archive-link{
    position:relative;
    display:inline-block;
    margin-top:clamp(60px, 7vw, 92px);
    color:#111;
    text-decoration:none;
    font-size:12px;
    font-weight:500;
    letter-spacing:.34em;
    text-transform:uppercase;
    opacity:0;
    animation:fadeUp 1s cubic-bezier(.22,.61,.36,1) forwards;
    animation-delay:.36s;
    transition:
        opacity .35s ease,
        transform .35s cubic-bezier(.22,.61,.36,1);
}

.archive-link::before{
    content:"↓";
    position:absolute;
    left:50%;
    top:-30px;
    transform:translateX(-50%) translateY(-4px);
    opacity:0;
    font-size:13px;
    letter-spacing:0;
    transition:
        opacity .35s ease,
        transform .35s cubic-bezier(.22,.61,.36,1);
}

.archive-link::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-13px;
    width:0;
    height:1px;
    background:#111;
    transform:translateX(-50%);
    transition:width .35s cubic-bezier(.22,.61,.36,1);
}

.archive-link:hover{
    opacity:.72;
    transform:translateY(2px);
}

.archive-link:hover::before{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}

.archive-link:hover::after{
    width:100%;
}

.footer{
    margin-top:44px;
    font-size:10px;
    font-weight:400;
    letter-spacing:.32em;
    color:#777;
    opacity:0;
    animation:fadeUp 1s cubic-bezier(.22,.61,.36,1) forwards;
    animation-delay:.52s;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(14px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media (max-width:640px){
    .container{
        padding:44px 22px;
    }

    .logo{
        width:220px;
        margin-bottom:78px;
    }

    h1{
        font-size:31px;
        line-height:1.22;
        letter-spacing:-0.04em;
    }

    .archive-link{
        margin-top:58px;
        font-size:11px;
        letter-spacing:.26em;
    }

    .footer{
        margin-top:40px;
        font-size:9px;
        letter-spacing:.24em;
    }
}
