:root {
    --font-grey: #34373C;
    --font-black: #000000;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-family: Montserrat, sans-serif;
    font-weight: 300;
    font-size: 15px;
    letter-spacing: 0%;
}

.main-wrap {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Минимальная высота = экран */
}

.main-page {
    background-image: url(../images/main2.jpg);
    background-size: cover;
    background-position-x: center;
    background-attachment: scroll; /* Фон скроллится */
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

header {
    display: flex;
    justify-content: space-between;
    padding: 3% 3.5%;
}

header a {
    font-family: Judson, sans-serif;
    font-size: 32px;
    color: var(--font-black);
    text-decoration: none;
    text-transform: uppercase;
}

footer {
    display: flex;
    justify-content: space-between;
    padding: 2.5% 2.5%;
    margin-top: auto; /* Прижимает футер вниз */
}

footer a {
    font-family: Judson, sans-serif;
    font-size: 20px;
    color: var(--font-black);
    text-decoration: none;
}

/* Projects section (если нужно) */
.article-section {
    padding: 2% 8%;
}

.article {
    margin-bottom: 8%;
}

.article p {
    font-family: Judson, sans-serif;
}

/* Адаптивность для мобильных */
@media (max-width: 480px) {
    body {
        font-size: 13px;
    }

    header a {
        font-size: 22px;
    }

    footer a {
        font-size: 16px;
    }

    .main-page {
        background-position-x: 75%;
        background-position-y: bottom;
    }    

   /* .main-page {
        min-height: calc(100vh - 60px); /* Учет высоты футера */
    }
}