    body {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
    }

    .container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 20px;
        flex: 1 0 auto;
        width: 100%;
    }

    img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
        filter: url(#gradient-map);
    }

    /* --- HEADER --- */
    header {
        text-align: center;
        margin-bottom: 20px;
    }

    /* --- TOP SECTION --- */

    .page-title {
        font-family: var(--font-pixel);
        font-size: 4rem;
        line-height: 0.8;
        margin-bottom: 20px;
        font-weight: normal;
        font-feature-settings: normal; 
    }

    .subtitle {
        font-size: 0.8rem;
    }

    .archive-list {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
        margin-bottom: 20px;
        list-style: none;
    }

    .archive-item {
        border-bottom: 2px solid var(--purple);
        padding: 15px 0;
    }

    .archive-text h2 {
        font-size: 1.4rem;
        line-height: 1.1;
        margin: 0;
    }

    .archive-text h2 a {
        text-decoration: none;
        color: var(--purple);
    }

    .archive-date {
        font-size: 0.7rem;
        font-weight: bold;
        display: block;
        margin-bottom: 5px;
        color: var(--purple);
    }

    .search-box input {
        width: 100%;
        padding: 15px;
        background: transparent;
        border: 3px solid var(--purple);
        font-family: var(--font-main);
        font-size: 1.5rem;
        color: var(--purple);
        outline: none;
        font-feature-settings: "calt" 0;
        text-align: center;
    }


    .search-box input::placeholder {
        color: var(--purple);
        opacity: 0.8;
    }

    #results-count {
        text-align: center;
        font-size: 0.7rem; 
        margin-top: 10px; 
        font-weight: bold;
    }

/* --- MOBILE STYLES --- */
@media (max-width: 768px) {
    .container {
        padding: 0 15px 0px 15px;
    }

    /* TOP SECTION */
    .page-title {
        font-size: 3.5rem;
        text-align: center;
    }

    .subtitle {
        text-align: center;
        font-size: 0.7rem;
        padding: 0 10px;
    }

    .search-box input {
        font-size: 1.1rem;
        padding: 12px;
        border-width: 2px;
    }

    .archive-item {
        padding: 20px 0;
    }

    .archive-text h2 {
        font-size: 1.2rem;
    }

    #results-count {
        text-align: center;
        font-size: 0.7rem;
    }
}