:root {
    --bg: #e6e1d3;
    --red: #e1492e;
    --black: #000000;
    --blue: #97adc5;
    --yellow: #fcab24;
}

body {
    background-color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    font-family: 'Helvetica', Arial, sans-serif;
}

.poster {
    background-color: var(--bg);
    width: 500px;
    padding: 40px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}

/* Gitter-Layout für die Hauptgrafik */
.art-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 100px; /* Höhe der kleinen Quadrate */
    gap: 0;
}

/* Grundformen */
.shape {
    width: 100%;
    height: 100%;
}

.red { background-color: var(--red); }
.black { background-color: var(--black); }
.blue { background-color: var(--blue); }
.yellow { background-color: var(--yellow); }

/* Geometrische Logik mit border-radius */
.rnd-top { border-radius: 50% 50% 0 0; }
.semi-top { border-radius: 100% 100% 0 0; height: 50%; align-self: end; }
.semi-bottom { border-radius: 0 0 100% 100%; height: 50%; }
.circle { border-radius: 50%; }
.leaf { border-radius: 100% 0 100% 0; }

/* Spezielle Container */
.yellow-flower-container {
    grid-column: span 2;
    grid-row: span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.flower-petal {
    width: 100%;
    height: 100%;
    border-radius: 100% 0 100% 0;
}
.flower-petal:nth-child(2), .flower-petal:nth-child(3) {
    border-radius: 0 100% 0 100%;
}

.red-circles-container {
    grid-column: span 2;
    grid-row: span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 5px;
}

.small-dots-container {
    grid-column: span 2;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.dot {
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.black-bottom-container {
    grid-column: span 2;
    display: flex;
}

/* Typografie */
.typography {
    text-align: center;
    margin-top: 40px;
}

.typography h1 {
    font-size: 85px;
    margin: 0;
    letter-spacing: -2px;
    line-height: 0.9;
}

.typography p {
    font-size: 14px;
    letter-spacing: 5px;
    margin-top: 10px;
    font-weight: 300;
}