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

    p {
        margin-bottom: 0;
    }
}



body {
    background-color: #FFFFFF;

    #contenido {
        padding: 20px 0;

        #lema {
            text-align: center;
            padding: 60px 20px;
            color: #2D2D2D;

            h1 {
                font-size: 2.5rem;
                font-weight: bold;
                margin-bottom: 30px;
            }

            p {
                font-size: 1.2rem;
                font-style: italic;
            }
        }

        #texto {
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 30px 15px;
            color: #2D2D2D;
            background: #E8F5EE;
            border-radius: 20px;
            box-shadow: 0px 8px 30px rgba(26, 58, 42, 0.2);
            border: 1px solid rgba(0, 0, 0, 0.08);
            width: 90%;
            margin: 30px auto;

        }
    }

    #galeria-imagenes {
        padding: 40px 20px;
        background: #FDECEA;

        h2 {
            text-align: center;
            font-size: 2.5rem;
            color: #2D2D2D;
            margin-bottom: 30px;
        }

        #fotos {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-auto-rows: 150px;
            gap: 10px;
            padding: 15px;

            a {
                display: block;
                overflow: hidden;
                border-radius: 10px;


                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    transition: 0.3s ease;

                    &:hover {
                        transform: scale(1.08);
                        filter: brightness(0.85);
                    }
                }
            }
        }
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    body {
        #contenido {
            display: flex;
            align-items: center;
            gap: 20px;
            padding: 40px 30px;

            #lema {
                padding: 30px 20px;

                h1 {
                    font-size: 2.2rem;
                }

                p {
                    font-size: 1.1rem;
                }
            }

            #texto {
                width: auto;
                padding: 30px 25px;

                h2 {
                    font-size: 26px;
                }

                p {
                    font-size: 15px;
                }
            }
        }

        #galeria-imagenes {
            padding: 30px 20px;

            h2 {
                font-size: 2.2rem;
            }

            #fotos {
                grid-template-columns: repeat(3, 1fr);
                grid-auto-rows: 180px;
            }

            #fotos a:nth-child(1) {
                grid-column: span 2;
                grid-row: span 2;
            }

            #fotos a:nth-child(4) {
                grid-row: span 2;
            }
        }
    }
}

@media (min-width: 1024px) {
    body {
        #contenido {
            display: flex;
            align-items: center;
            gap: 40px;
            padding: 60px 80px;

            #lema {
                flex: 1;
                padding: 40px 20px;

                h1 {
                    font-size: 2.8rem;
                }

                p {
                    font-size: 1.3rem;
                }
            }

            #texto {
                width: 50%;
                height: 50%;
                padding: 40px 35px;

                h2 {
                    font-size: 30px;
                }

                p {
                    font-size: 17px;
                }
            }
        }

        #galeria-imagenes {
            padding: 40px 80px;

            h2 {
                font-size: 2.8rem;
            }

            #fotos {
                grid-template-columns: repeat(4, 1fr);
                grid-auto-rows: 200px;
                gap: 15px;
            }

            #fotos a:nth-child(1) {
                grid-column: span 2;
                grid-row: span 2;
            }

            #fotos a:nth-child(3) {
                grid-row: span 2;
            }

            #fotos a:nth-child(6) {
                grid-column: span 2;
            }
        }
    }
}