.illustrations-section {
    font-family: 'Poppins', sans-serif;
    color: #1a1a1a;
}

/* ========================================= */
/* ESTILOS DEL ENCABEZADO (TÍTULO)           */
/* ========================================= */
.illustrations-header {
    padding-top: 24rem;
    padding-bottom: 24rem;
}

.illustrations-title {
    color: #000000;
    margin-bottom: 1rem;
}

.illustrations-subtitle {
    line-height: 1.6;
    color: #555555;
    margin-bottom: 0;
}

/* ========================================= */
/* ESTILOS DE LOS BLOQUES DE PROYECTOS       */
/* ========================================= */
.project-block {
    padding-bottom: 8rem;
}

.project-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    font-weight: 500;
}

.software-icons .badge {
    font-family: Arial, sans-serif; 
}

/* ========================================= */
/* GALERÍA 1: MASONRY LIBRE (Img 1-7)        */
/* ========================================= */
.masonry-gallery {
    column-count: 3;
    column-gap: 0.5rem; 
}

.masonry-gallery img {
    width: 100%;
    display: block;
    margin-bottom: 0.5rem; 
    break-inside: avoid;
    border-radius: 4px; 
}

/* ========================================= */
/* GALERÍA 2: 3 COLUMNAS RECTANGULARES       */
/* ========================================= */
/* Aplicamos object-fit para que llenen el molde sin deformar tu arte */
.img-cuadrada,
.img-vertical {
    width: 100%;
    object-fit: cover; 
    border-radius: 4px;
    display: block;
}

/* La fila de arriba será matemáticamente cuadrada */
.img-cuadrada {
    aspect-ratio: 1 / 1; 
}

/* La fila de abajo será un rectángulo vertical idéntico para las 3 columnas */
.img-vertical {
    aspect-ratio: 3 / 4; 
}

/* ========================================= */
/* AJUSTES RESPONSIVOS (CELULARES Y TABLETS) */
/* ========================================= */
@media (max-width: 991px) {

    .illustrations-title {
        font-size: clamp(3rem, 10vw, 5rem); 
    }

    .illustrations-subtitle {
        font-size: 1rem;
    }

    .masonry-gallery {
        column-count: 2; 
    }
    
    .project-block .col-lg-3 {
        margin-bottom: 2rem;
    }
}

@media (max-width: 576px) {
    .masonry-gallery {
        column-count: 1; 
    }
}