:root{
    --bg:#ffefe0;
    --text:#242424;
    --accent:#ed5001;
    --content-width:700px;
    --viewport-padding:clamp(16px,4vw,50px);
    --preview-center-offset:clamp(140px,18vw,320px);
    --preview-width:clamp(220px,24vw,360px);
}


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

body{
    background:var(--bg);
    color:var(--text);
    font-family:"Fraunces", serif;

    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;

    padding:var(--viewport-padding);
    overflow-x:hidden;
}

main{
    width:min(var(--content-width),100%);
}

h1 {
    font-weight:600;
    letter-spacing:-0.02em;
}

h1 span{
    color:var(--accent);
}

p{
    margin-top:25px;
    max-width:520px;
    line-height:1.7;
    color:#444;
}

/* SOCIALS */

.socials{
    margin-top:50px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.socials a{
    position:relative;

    display:flex;
    align-items:center;
    gap:10px;

    text-decoration:none;
    color:var(--text);

    font-size:1rem;
    width:fit-content;

    transition:0.25s ease;
}

.socials a img{
    width:18px;
    height:18px;

    opacity:0;
    transform:translateX(-8px) scale(0.9);
    transition:0.25s ease;
}

.socials a:hover{
    color:var(--accent);
    transform:translateX(6px);
}

.socials a:hover img{
    opacity:1;
    transform:translateX(0) scale(1);
}

.socials a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-4px;

    width:0%;
    height:2px;
    background:var(--accent);

    transition:0.3s ease;
    opacity:0.7;
}

.socials a:hover::after{
    width:100%;
}


footer{
    margin-top:60px;
    display:flex;
    justify-content:space-between;
    font-size:0.8rem;
    color:#777;
}

.counter{
    transform:scale(0.85);
    opacity:0.7;
    transform-origin:right;
}

.preview{
    position:fixed;
    left:min(
        calc(50% + var(--preview-center-offset)),
        calc(100vw - var(--preview-width) - var(--viewport-padding))
    );
    top:50%;
    transform:translateY(-50%);

    width:var(--preview-width);
    height:260px;

    display:flex;
    align-items:center;
    justify-content:center;

    pointer-events:none;
}

.preview-img{
    width:100%;
    border-radius:14px;

    opacity:0;
    transform:translateY(10px) scale(0.99);

    transition:
        opacity 280ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change:opacity, transform;
}

.socials a .icon{
    width:18px;
    height:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    font-size:16px;
    line-height:1;

    opacity:0;
    transform:translateX(-8px) scale(0.9);
    transition:0.25s ease;
}

.socials a:hover .icon{
    opacity:1;
    transform:translateX(0) scale(1);
    color:var(--accent);
}

@media (max-width: 1200px){
    .preview{
        display:none;
    }
}

@media (max-width: 700px){
    body{
        align-items:flex-start;
        padding:24px 18px;
    }

    h1{
        font-size:clamp(2rem,10vw,2.6rem);
    }

    p{
        margin-top:18px;
        line-height:1.55;
    }

    .socials{
        margin-top:32px;
        gap:12px;
    }

    footer{
        margin-top:36px;
        flex-direction:column;
        gap:12px;
        align-items:flex-start;
    }

    .counter{
        transform:scale(0.85);
        transform-origin:left;
    }
}