/* 
color palettes: 
https://coolors.co/palette/2d2926-3e362e-4a3728-3a4032-1b2631 
https://coolors.co/palette/2b2a3d-24303b-1e2f2b-3a2626-2a2522
*/

:root {
    /* Page */
    --color-page-background:#282828; 
    /* #6c7888; */
    --color-text-primary: #f4f6fb;
    --color-text-muted: #cbd2da;
    --color-accent: #ffffff;

    /* Navigation */
    --color-nav-background: rgba(18, 24, 31, 0.94);
    --color-nav-border: rgba(255, 255, 255, 0.1);

    /* Cards */
    --color-card-highlight: rgba(255, 255, 255, 0.06);
    --color-card-highlight-fade: rgba(255, 255, 255, 0.199);
    --color-card-background-start: rgba(25, 29, 38, 0.94);
    --color-card-background-end: rgba(11, 13, 18, 0.96);
    --color-card-inset: rgba(255, 255, 255, 0.08);
    --color-card-shadow: rgba(0, 0, 0, 0.34);
    --color-card-shadow-mobile: rgb(187, 187, 187);
    --color-modal-backdrop: rgba(0, 0, 0, 0.78);
}

html{
    background-color: var(--color-page-background);
}

body {
    margin: 0;
    color: var(--color-text-primary);
    font-family: Arial, Helvetica, sans-serif;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 10;
    border-bottom: 1px solid var(--color-nav-border);
    background: linear-gradient(145deg, rgba(25, 29, 38, 0.94), rgba(11, 13, 18, 0.96));
    backdrop-filter: blur(10px);
}

.site-navbar {
    display: flex;
    min-height: 64px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    box-shadow: inset 0 1px 0 var(--color-card-inset), 0 22px 44px var(--color-card-shadow);
}

.site-brand {
    color: var(--color-accent);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.site-links {
    display: flex;
    align-items: center;
    gap: 1.75rem;
}

.site-links a {
    padding: 0.4rem 0;
    border-bottom: 2px solid transparent;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    transition: color 150ms ease, border-color 150ms ease;
}

.site-links a:hover,
.site-links a:focus-visible {
    color: var(--color-accent);
}

.site-links a[aria-current="page"] {
    border-bottom-color: var(--color-accent);
    color: var(--color-accent);
}

.container {
    display: flex;
    min-height: calc(100vh - 65px);
    flex-direction: column;
    align-items: center;
}

.page-content {
    box-sizing: border-box;
    width: min(100% - 2rem, 760px);
    min-height: calc(100vh - 65px);
    margin: 0 auto;
    padding: 3.5rem 0;
}

.page-content h1 {
    margin: 0 0 2rem;
    font-size: 2rem;
}

.about-page {
    display: flex;
    width: min(100% - 2rem, 680px);
    flex-direction: column;
    justify-content: center;
}

.about-page .profile-photo {
    margin: 0 auto 1.5rem;
}

.about-content {
    padding: 2rem;
    background: linear-gradient(180deg, var(--color-card-highlight), var(--color-card-highlight-fade)), linear-gradient(145deg, var(--color-card-background-start), var(--color-card-background-end));
    box-shadow: inset 0 1px 0 var(--color-card-inset), 0 22px 44px var(--color-card-shadow);
    text-align: center;
}

.about-content p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.about-content p + p {
    margin-top: 1.25rem;
}

.project-list {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--color-nav-border);
    list-style: none;
}

.project-list li {
    border-bottom: 1px solid var(--color-nav-border);
}

.project-list a {
    display: flex;
    padding: 1.15rem 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--color-text-primary);
}

.project-list a:hover,
.project-list a:focus-visible,
.back-link:hover,
.back-link:focus-visible {
    color: var(--color-accent);
}

.back-link {
    display: inline-block;
    margin-bottom: 2rem;
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.project-page h1 {
    margin-bottom: 0;
}

.card-container {
    display: flex;
    justify-content: space-between;
    align-items: start;
    width: 50%;
    margin-top: 20vh;
}

.card {
    background: linear-gradient(180deg, var(--color-card-highlight), var(--color-card-highlight-fade)), linear-gradient(145deg, var(--color-card-background-start), var(--color-card-background-end));
    box-shadow: inset 0 1px 0 var(--color-card-inset), 0 22px 44px var(--color-card-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    aspect-ratio: 2 / 1;
    white-space: nowrap;
}

.card > span {
    color: var(--color-text-primary);
}

@media (min-width: 601px) {
    .cv-card-container {
        justify-content: center;
        gap: 15vw;
    }
}

.profile-photo{
    width: 25vh;
    height: 25vh;
    object-fit: cover;
    border: 2px solid var(--color-accent);
    border-radius: 50%;
    margin-top: 15vh;
}

a {
    text-decoration: none;
}

@media (max-width: 600px){
    .site-navbar {
        min-height: auto;
        padding: 0.75rem 1rem;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.65rem;
    }

    .site-brand {
        font-size: 0.9rem;
    }

    .site-links {
        width: 100%;
        justify-content: center;
        gap: 0.9rem;
    }

    .site-links a {
        font-size: 0.8rem;
    }

    .container{
        min-height: calc(100vh - 94px);
        flex-direction: column-reverse;
        justify-content: start;
    }

    .page-content {
        min-height: calc(100vh - 94px);
        padding: 2.5rem 0;
    }

    .card-container{
        flex-direction: column;
        align-items: center;
        margin-bottom: 15vh;
        margin-top: 5vh;
        width: 90%;
    }

    .card {
        box-shadow: 0 5px 10px 1px var(--color-card-shadow-mobile);
        margin-top: 5vh;
    }

    .profile-photo{
        width: 15vh;
        height: 15vh;
        margin-top: 10vh;
    }
}

