/* ========================================
   LAYOUT
   ======================================== */

.site-header {
    position: relative;
    overflow: hidden;

    padding: 80px 20px;
    text-align: center;

    background: linear-gradient(
        135deg,
        #142337,
        #111923 60%,
        var(--background)
    );

    border-bottom: 1px solid var(--border);
}

.site-header::before {
    content: "";
    position: absolute;

    width: 350px;
    height: 350px;

    top: -220px;
    left: calc(50% - 175px);

    background: var(--blue);
    opacity: 0.12;
    filter: blur(90px);
    border-radius: 50%;

    pointer-events: none;
}

.site-logo {
    position: relative;
    width: 96px;
    height: 96px;
    object-fit: contain;
}

.site-header h1 {
    position: relative;

    margin: 15px 0 0;
    color: var(--blue);

    font-size: clamp(2.2rem, 6vw, 4rem);
    letter-spacing: 2px;
}

.site-header p {
    position: relative;

    margin-top: 10px;
    color: var(--muted);
    font-size: 1.15rem;
}

main {
    width: min(1100px, 90%);
    margin: 60px auto;
}

main section {
    margin-bottom: 75px;
    scroll-margin-top: 30px;
}

main section > h2 {
    position: relative;

    margin-bottom: 30px;
    padding-bottom: 12px;

    color: var(--text);
    font-size: clamp(1.6rem, 4vw, 2.1rem);
}

main section > h2::after {
    content: "";
    position: absolute;

    bottom: 0;
    left: 0;

    width: 65px;
    height: 3px;

    background: var(--blue);
    border-radius: 10px;
}

.projects-section > h2::after {
    background: var(--orange) !important;
}

.games-section > h2::after {
    background: var(--green) !important;
}

.contacts-section > h2::after {
    background: var(--yellow) !important;
}

.team,
.projects,
.contacts {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(min(100%, 300px), 1fr)
    );
    gap: 22px;
}

.site-footer {
    padding: 30px 20px;
    text-align: center;

    color: var(--muted);
    background: #0e141d;
    border-top: 1px solid var(--border);
}

.site-footer p {
    margin: 0;
}