:root {
    --background: #282828;
    --foreground: #ebdbb2;
    --card-background: #3c3836;
    --border-color: #504945;
    --accent-color: #fabd2f;
    --hover-color: #fe8019;
    --text-color: #d5c4a1;
    --header-color: #83a598;
}

body {
    background: var(--background);
    color: var(--text-color);
    font-family: 'Source Code Pro', monospace;
    margin: 0;
    padding: 5%;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

header h1 {
    font-size: 4rem;
    text-align: center;
    margin-bottom: 2em;
    font-weight: 700;
    color: var(--header-color);
}

.bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(200px, auto);
    gap: 20px;
}

.virtue {
    background: var(--card-background);
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--border-color);
    transition: transform 0.3s ease;
}

.virtue:hover {
    transform: scale(1.03);
}

.grid-col-span-2 { grid-column: span 2; }
.grid-row-span-2 { grid-row: span 2; }

.virtue h2 {
    font-size: 2.5rem;
    margin: 0 0 0.5em 0;
    font-weight: 700;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.virtue p {
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
}

.cynical {
    color: #a89984;
    margin-bottom: 1em;
}

.redemptive {
    color: var(--foreground);
}

.temperance h2 { background-image: linear-gradient(45deg, #5DADE2, #2874A6); }
.visions h2 { background-image: linear-gradient(45deg, #8E44AD, #5B2C6F); }
.humility h2 { background-image: linear-gradient(45deg, #F1C40F, #B7950B); }
.charity h2 { background-image: linear-gradient(45deg, #E59866, #AF601A); }
.diligence h2 { background-image: linear-gradient(45deg, #E67E22, #A04000); }
.chastity h2 { background-image: linear-gradient(45deg, #BDC3C7, #95A5A6); }
.kindness h2 { background-image: linear-gradient(45deg, #2ECC71, #1D8348); }