/* Hauptcontainer zentriert und mit Abständen */
.intro, .gallery {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Überschrift in .intro und .gallery */
.intro h1, .gallery h2 {
    font-size: 36px;
    text-align: left;
    margin: 0 0 20px 0;
    color: #6c4f70;
}

/* Text in .intro */
.intro p {
    font-size: 18px;
    line-height: 1.6;
    text-align: left;
    max-width: 800px;
    margin: 0 0 20px 0;
    color: #757081;
}

.gallery {
    padding: 50px 20px;
    background-color: #f9f9f9;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.gallery h2 {
    font-size: 36px;
    margin-bottom: 20px;
    color: #6c4f70;
}

.gallery-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.thumbnail.portrait {
    grid-row: span 2;
}

.thumbnail.landscape {
    grid-column: span 2;
}

/* Responsive Adjustments */
@media screen and (max-width: 768px) {
    .thumbnail.portrait,
    .thumbnail.landscape {
        grid-column: span 1;
        grid-row: span 1;
    }
}
