/* Focused Image Presentation Style (McKinnon Inspired) */

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

body {
    background-color: #ffffff;
    overflow-x: hidden;
    padding: 0vh 0 0 0; /* Breathing room from the top */
}

.gallery-wrapper {
    width: 100%; /* Full width */
    margin: 0;
}

/* Binary Column Gallery: Exactly 4 or 2 Columns */
.gallery {
    column-count: 4; /* Maximum 4 columns */
    column-gap: 0vw; /* Larger gap between columns */
    width: 100%;
}

.gallery-item {
    break-inside: avoid;
    margin-bottom: 0vw; /* Larger gap between rows */
    overflow: hidden;
}

.gallery-item img {
    width: 100%;
    height: auto; /* Full Glory - No Cropping */
    display: block;
}

/* Site Footer - Appears naturally at the end of scroll */
.site-footer {
    padding: 60px 3vw 15px; /* Generous top padding to separate from gallery */
    background-color: #ffffff;
    font-family: "Tenor Sans", sans-serif;
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr auto 1fr; /* Center-Name, Right-Links structure */
    align-items: center;
    border-top: 1px solid #eee; /* Subtle separation line */
    padding-top: 20px;
}

.footer-name {
    grid-column: 2; /* Forces name to the center */
    font-family: "Vina Sans", sans-serif;
    font-weight: 400;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    font-size: 1.9rem; /* Slightly larger for Vina Sans impact */
    white-space: nowrap;
}

.footer-name a {
    text-decoration: none;
    color: inherit;
    transition: opacity 0.7s ease;
}

.footer-name a:hover {
    opacity: 0.7;
}

.footer-nav {
    grid-column: 3; /* Aligns links to the right */
    justify-self: end;
}

.footer-nav ul {
    list-style: none;
    display: flex;
    gap: 30px;
}

.footer-nav a {
    text-decoration: none;
    color: #000;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    transition: opacity 0.3s ease;
}

.footer-nav a:hover {
    opacity: 0.5;
}


/* Medium Density 5-Column Gallery (Used for Archive) */
.gallery-5-col {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    width: 100%;
}

@media (max-width: 1300px) {
    .gallery-6-col {
        grid-template-columns: repeat(4, 1fr);
    }
    .gallery-5-col {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 800px) {
    .gallery-5-col {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Section Headers for Experiments & Archive */
.section-header {
    font-family: "Tenor Sans", sans-serif;
    font-size: 1.8rem;
    letter-spacing: -0.04em;
    padding: 20px 1vw 20px;
    color: #000;
    text-transform: uppercase;
    text-align: left;
}


/* Contact Page Styles */
.contact-container {
    height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 3vw;
}

.contact-info {
    font-family: "Tenor Sans", sans-serif;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.02em;
    text-align: center;
}

.contact-info a {
    color: #000;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-bottom 0.3s ease;
}

.contact-info a:hover {
    border-bottom: 1px solid #000;
}

/* Condensed Gallery for Experiments & Archive - Disabled for edge-to-edge */
.gallery-condensed {
    width: 100%;
    margin: 0;
    text-align: left;
}

/* Responsiveness: Strictly switch to 2 columns, no 3 or 1 */
@media (max-width: 1300px) {
    .gallery {
        column-count: 2; /* Minimum 2 columns */
        column-gap: 0vw;
    }
    .gallery-item {
        margin-bottom: 0vw;
    }

    /* Stack footer on small screens for better readability */
    .footer-content {
        display: flex;
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    .footer-nav {
        justify-self: center;
    }
}

/* Responsiveness: Strictly switch to 2 columns, no 3 or 1 */
@media (max-width: 400px) {
    .gallery {
        column-count: 1; /* Minimum 2 columns */
        column-gap: 0vw;
    }
    .gallery-item {
        margin-bottom: 0vw;
    }

    /* Stack footer on small screens for better readability */
    .footer-content {
        display: flex;
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    .footer-nav {
        justify-self: center;
    }
}
