.about {
    background-color: inherit;
    color: inherit;
    /* Mismo padding que contact y types: se adapta al ancho entre un mínimo y un máximo */
    padding: clamp(48px, 8%, 96px) clamp(16px, 5%, 60px);
}

.about-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* En el celular, con una sola columna, 40px entre el texto y la imagen es demasiado */
    gap: clamp(24px, 5%, 40px);
    align-items: center;
}

/* Sin esto, un grid item no se achica por debajo del ancho de su contenido —
   una palabra larga en .about-text empujaría la columna (y la imagen) en vez
   de cortar de línea. */
.about-text,
.about-img-container {
    min-width: 0;
}

.about-img-container {
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
}

/* 4:3 por defecto: una imagen alta o cuadrada no estira el widget. Si se elige otra
   proporción en el drawer, va en línea y gana sobre esta */
.about-img-container img {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 3;
}

.about-text .element-heading {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.about-text .element-paragraph {
    margin-bottom: 20px;
    line-height: 1.8;
}

@container site (max-width: 767px) {
    .about-content {
        grid-template-columns: 1fr;
    }

    .about-text .element-heading {
        font-size: 2rem;
    }
}
