:root {

    --blue-dark: #21476a;
    --blue-main: #2d5d87;
    --blue-light: #dbe8f4;

    --border: #c7d3df;

    --text: #222;

}



* {

    box-sizing: border-box;

}



body {

    margin: 0;

    font-family:
        "Segoe UI",
        Tahoma,
        Arial,
        sans-serif;


    color: var(--text);


    background:

        linear-gradient(
            rgba(0,0,0,.40),
            rgba(0,0,0,.40)
        ),

        url("images/background.jpg");


    background-size: cover;

    background-position: center;

}



.wrapper {

    width: min(1200px, 95%);

    margin: 40px auto;

}



.panel {

    background: rgba(255,255,255,.94);

    border-radius: 12px;

    overflow: hidden;

    box-shadow:
        0 10px 30px rgba(0,0,0,.35);

}



header {

    background:

        linear-gradient(
            var(--blue-main),
            var(--blue-dark)
        );


    color: white;

    padding: 30px;

}



header h1 {

    margin: 0;

    font-size: 2.5rem;

}



header p {

    margin-top: 10px;

}





.intro {

    background: var(--blue-light);

    padding: 20px 30px;

    font-size: 1.1rem;

}





.archive-grid {

    display: grid;

    grid-template-columns:

        repeat(2, 1fr);


    gap: 30px;

    padding: 35px;

}





.archive-card {

    text-decoration: none;

    color: var(--text);


    background: white;


    border: 1px solid var(--border);


    border-radius: 15px;


    overflow: hidden;


    box-shadow:

        0 5px 15px rgba(0,0,0,.18);


    transition:

        transform .2s ease,

        box-shadow .2s ease;

}



.archive-card:hover {

    transform: translateY(-8px);


    box-shadow:

        0 12px 25px rgba(0,0,0,.28);

}





.thumbnail-container {

    height: 300px;


    display: flex;

    justify-content: center;

    align-items: center;


    padding: 25px;

}



.thumbnail-container img {

    max-width: 100%;

    max-height: 100%;

    object-fit: contain;

}





.card-content {

    padding: 20px;

    text-align: center;

}



.card-content h2 {

    margin: 0 0 10px;


    color:

        var(--blue-dark);


    font-size: 1.8rem;

}



.card-content p {

    margin: 0;

}





footer {

    background: #edf3f8;

    padding: 15px;

    text-align: center;

}





@media(max-width:800px) {


    .archive-grid {

        grid-template-columns: 1fr;

    }


}