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

/* CSS Variables */
:root {
    --bg-color: #000;
    --text-color: #ff69b4; /* Hot pink */
    --highlight-color: #7fff00; /* Chartreuse green */
}

/* Body styling */
body {
    font-family: Arial, sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    margin: 0;
}

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

header h1 {
    font-size: 2.5rem;
    color: var(--text-color);
}

/* Grid container */
.grid-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    width: 90%;
    max-width: 1200px;
}

/* Grid items */
.grid-item {
    flex: 1 1 calc(33.333% - 20px);
    max-width: calc(33.333% - 20px);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    position: relative;
    border: 2px solid var(--highlight-color);
    transition: transform 0.3s, filter 0.3s;
}

.grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s, filter 0.3s;
}

.grid-item:hover {
    transform: scale(0.95);
}

.grid-item:hover img {
    filter: grayscale(100%);
    transform: scale(1.05);
}

/* Responsive styling */
@media (max-width: 768px) {
    .grid-item {
        flex: 1 1 calc(50% - 20px);
        max-width: calc(50% - 20px);
    }
}

@media (max-width: 480px) {
    .grid-item {
        flex: 1 1 100%;
        max-width: 100%;
    }
}
