/* Brutalist Design Principles */
:root {
    --cream: #F5F3C1;
    --dark: #1A1A1A;
    --accent: #FF6B35;
    --accent-light: #FFB347;
    --border-gray: #E0DDB4;
    --h-yellow: #FFFACD;
    --h-pink: #FFB3BA;
    --h-green: #BAFFC9;
    --h-blue: #BAE1FF;
    --h-red: #FF6961;
    --black: #000000;
}

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

body {
    background-color: var(--cream);
    color: var(--dark);
    font-family: 'Courier New', Courier, monospace;
    font-size: 1.1rem;
    line-height: 1.4;
    padding: 2rem;
}

header {
    margin-bottom: 3rem;
    border-bottom: 8px solid var(--black);
    padding-bottom: 2rem;
}

h1 {
    font-size: 4rem;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.9;
    word-break: break-word;
    margin-bottom: 1rem;
    color: var(--black);
}

.subtitle {
    font-size: 1.5rem;
    font-weight: bold;
    max-width: 800px;
    color: var(--dark);
}

h2 {
    font-size: 2.5rem;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    background: var(--accent);
    color: #fff;
    display: inline-block;
    padding: 0.5rem 1rem;
    border: 4px solid var(--black);
}

h3 {
    font-size: 1.8rem;
    text-transform: uppercase;
    margin-bottom: 1rem;
    text-decoration: underline;
    text-decoration-thickness: 4px;
}

.card {
    background: #fff;
    border: 4px solid var(--black);
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: 12px 12px 0px var(--black);
    transition: transform 0.1s;
}

/* Color variations for cards in grid */
.grid .card:nth-child(5n+1) { background-color: var(--h-yellow); }
.grid .card:nth-child(5n+2) { background-color: var(--h-pink); }
.grid .card:nth-child(5n+3) { background-color: var(--h-green); }
.grid .card:nth-child(5n+4) { background-color: var(--h-blue); }
.grid .card:nth-child(5n+5) { background-color: var(--h-red); }

.card:hover {
    transform: translate(-4px, -4px);
    box-shadow: 16px 16px 0px var(--black);
}

.link {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.5rem 1rem;
    background: var(--dark);
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    text-transform: uppercase;
    border: 3px solid var(--black);
}

.link:hover {
    background: var(--accent-light);
    color: var(--black);
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

footer {
    margin-top: 4rem;
    padding: 2rem;
    background: var(--border-gray);
    border: 5px solid var(--black);
    font-weight: bold;
    text-transform: uppercase;
}

footer .link {
    background: var(--black);
    margin-right: 1rem;
}

footer .link:hover {
    background: var(--accent);
}

/* Responsiveness */
@media (max-width: 768px) {
    h1 {
        font-size: 2.5rem;
    }
    
    body {
        padding: 1rem;
    }

    .card {
        box-shadow: 8px 8px 0px #000;
    }
}
