/* ============================= */
/* Reset */
/* ============================= */

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

body {
    font-family: 'Nunito Sans', sans-serif;
    background-color: #e0e0db;
    color: #222;
}

/* ============================= */
/* Variables */
/* ============================= */

:root {
    --side-padding: 200px;   /* Desktop padding */
}

/* Reduce padding on mobile */
@media (max-width: 900px) {
    :root {
        --side-padding: 24px;
    }
}

/* ============================= */
/* Navbar */
/* ============================= */

.navbar {
    display: flex;
    align-items: center;
    padding: 18px var(--side-padding);
    gap: clamp(16px, 4vw, 40px);
}

#site-title {
    font-family: 'Sansita', serif;
    font-size: clamp(16px, 3vw, 21.6px);
    font-weight: 600;
    text-decoration: none;
    color: #000;
    white-space: nowrap;
    flex-shrink: 0;
}

.nav-scroll {
    margin-left: auto;
    overflow-x: auto;
    scrollbar-width: none;
}

.nav-scroll::-webkit-scrollbar {
    display: none;
}

.nav-links {
    display: flex;
    gap: clamp(16px, 4vw, 40px);
    list-style: none;
    white-space: nowrap;
}

.nav-links a {
    text-decoration: none;
    color: #000;
    font-size: clamp(13px, 2.5vw, 16px);
    font-weight: 500;
    transition: opacity 0.2s ease;
}

.nav-links a:hover {
    opacity: 0.6;
}

.scroll-arrow {
    display: none;
    font-size: 18px;
    cursor: pointer;
}

/* ============================= */
/* Page Container */
/* ============================= */

.page-container {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
}

/* ============================= */
/* About Section (Mobile First) */
/* ============================= */

.about-layout {
    display: grid;
    grid-template-columns: 1fr;   /* stacked on mobile */
    gap: 40px;
    margin-top: 40px;
    margin-bottom: 60px;
}

.about-text h1 {
    font-family: 'Sansita', serif;
    font-weight: 700;
    font-size: clamp(32px, 9vw, 48px);
    margin-bottom: 20px;
}

.about-text p {
    font-size: clamp(14px, 4vw, 18px);
    line-height: 1.7;
    margin-bottom: 18px;
}

.about-image img {
    width: 100%;
    height: clamp(340px, 65vw, 520px);
    object-fit: cover;
    display: block;
}

/* ============================= */
/* Desktop Layout */
/* ============================= */

@media (min-width: 901px) {

    .about-layout {
        grid-template-columns: 1fr 1fr;  /* equal halves */
        gap: 80px;
        margin-top: 80px;
        align-items: stretch;  /* ensures both columns match height */
    }

    .about-text {
        display: flex;
        flex-direction: column;
        justify-content: center;  /* vertical centering */
    }

    .about-text h1 {
        font-size: 40px;
        margin-bottom: 20px;
    }

    .about-text p {
        font-size: 18px;
    }

    .about-image img {
        width: 100%;
        height: clamp(450px, 80vh, 650px);
        object-fit: cover;
    }
}

/* ============================= */
/* Mobile Navbar Scroll Behavior */
/* ============================= */

@media (max-width: 768px) {

    .navbar {
        gap: 0;
    }

    #site-title {
        white-space: normal;
        line-height: 1.1;
    }

    .nav-scroll {
        width: 110px;
    }

    .nav-links {
        gap: 0;
    }

    .nav-links li {
        flex: 0 0 110px;
        display: flex;
        justify-content: flex-end;
        padding-right: 16px;
    }

    .nav-links li.double {
        flex: 0 0 55px;
    }

    .scroll-arrow {
        display: block;
    }
}