.studio-about hr{
    margin-bottom: 0;
}

/* La hauteur de la ligne est définie par le texte (studio-about).
   L'image sort du flux pour ne pas imposer sa hauteur naturelle :
   studio-img s'étire à la hauteur du texte et l'image est recadrée. */
.studio-img{
    align-self: stretch;
    position: relative;
    overflow: hidden;
}

.studio-img img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about_quote{
    padding-left: 50px;
    padding-right: 100px;
    margin-top: 18px;
}

/* Ligne Contact / Prendre RDV / Réseaux sociaux : contact à gauche,
   bouton centré et aligné en bas, réseaux sociaux calés à droite. */
.studio-contact-row{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: start;
}

.studio-contact-row .google-calendar-button{
    align-self: end;
}

.studio-contact-row .studio-social{
    justify-self: end;
}

.studio-contact address.lf-bloc-text{
    font-style: normal
}

.studio-contact .lf-bloc-text a:hover{
    color: #4d4d4d;
}

.studio-social .lf-bloc-text a:hover{
    color: #4d4d4d;
}

.google-calendar-button{
    padding: 9px 30px;
    border: 1px solid black;
    width: fit-content;
    color: #000;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 2.3px;
    margin-top: 8px;
    transition: 0.2s;
}

.google-calendar-button:hover{
    background-color: #000;
    color: #fff;
}

/* ===== SECTION PUBLICATIONS ===== */

/* Liste pleine largeur : on garde le titre à gauche (margin-right:auto)
   et on regroupe Type + Année à droite avec un espacement fixe. */
.publication-bloc .project-list-link{
    gap: 48px;
}

/* ===== RESPONSIVE MOBILE ===== */

@media (max-width: 768px){

    .about_quote {
        padding-right: 50px;
        margin-top: 30px;
    }

    .studio-about .lf-divider{
        display: none;
    }

    /* La ligne about/image passe en colonne (règle globale .lf-section-3-2) :
       l'image revient dans le flux, reprend sa hauteur naturelle (pas de recadrage)
       et s'affiche sous le texte avec un espacement bas. */
    .studio-img{
        align-self: auto;
        position: static;
    }

    .studio-img img{
        position: static;
        height: auto;
    }

    /* Empilement : contact, réseaux sociaux, puis bouton, tous à gauche */
    .studio-contact-row{
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .studio-contact-row .studio-social{
        justify-self: start;
    }

    .studio-contact-row .google-calendar-button{
        order: 1;
        margin-bottom: 20px;
    }

    .publication-bloc .project-list-link {
        gap: 24px;
    }

    .publication-bloc .project-list-col-name{
        line-height: 1.2;
    }
}


/* ===== RESPONSIVE TABLETTE ===== */

@media (min-width: 769px) and (max-width: 1279px){

    /* Mise à l'échelle ×0.8 (font-size 16px implicite par défaut) */
    .google-calendar-button{
        font-size: 13px;
        letter-spacing: 1.8px;
        padding: 7px 24px;
        margin-top: 6px;
    }

}


/* ===== RESPONSIVE LAPTOP ===== */

@media (min-width: 1280px) and (max-width: 1440px){

    /* Mise à l'échelle ×0.9 (font-size 16px implicite par défaut) */
    .google-calendar-button{
        font-size: 14px;
        letter-spacing: 2.1px;
        padding: 8px 27px;
        margin-top: 7px;
    }

}


/* ===== RESPONSIVE GRAND ÉCRAN ===== */

@media (min-width: 1920px){

    /* Mise à l'échelle ×1.25 (font-size 16px implicite par défaut) */
    .google-calendar-button{
        font-size: 20px;
        letter-spacing: 2.9px;
        padding: 11px 38px;
        margin-top: 10px;
    }

}