p {
        line-height: 1.5;
        font-family: Arial;
        margin: 0;
	font-size: clamp(12px, 0.88vw, 16px);
}

.txtv {
        line-height: 1.5;
        font-size: clamp(14px, 1.92vh, 22px);
        font-family: Arial;
        margin: 0;
}

.titre1 {
        font-size: clamp(20px, 1.7vw, 32px);
}

.titre2 {
        font-size: clamp(15px, 1.22vw, 23px);
}

gras {
        font-weight: bold;
}

a {
        margin-top: 10%;
        text-decoration: none;
        color: black;
}

.images img {
        position: absolute;
        top: 52%;
        left: 67.3%;
        transform: translate(-50%, -50%);
        height: 70%;
}

.arrow {
        position: fixed;
        top: 70%;
        transform: translateY(-50%);
        font-size: 20px;
        font-family: Arial black;
        cursor: pointer;
        user-select: none;
        color: black;
        padding: 4px 10px;
        width: 8px;
        height: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: white;
        border-radius: 100%;
        z-index: 99;
}

.arrow.left {
        left: 39%;
}

.arrow.right {
        left: 94%;
}

.menu-projets {
        max-height: 600px;
        overflow-y: auto;
        line-height: 5;
}



/* =========================================
   MENU COMMUN — Support SARL d'Architecture
   Référence visuelle : 22-NYO-ESS
   ========================================= */

#menu-root {
    margin: 0;
    padding: 0;
}

/* Menu principal incliné */

.menu-rotatif {
    rotate: 12deg;

    position: fixed;
    top: 6%;
    left: 5%;

    width: 26%;
    height: 88%;

    margin: 0;
    padding: 0;
    border: 0;

    rotate: 12deg;
    scale: 0.92;

    z-index: 10;
    box-sizing: border-box;

    --menu-font-size: 16px;

}

/* Neutralisation des espacements généraux dans le menu */

.menu-rotatif p {
    font-family: Arial, sans-serif;
    font-size: var(--menu-font-size);
    line-height: 1.5;
    margin: 0;
    padding: 0;
}

.menu-rotatif a {
    color: black;
    text-decoration: none;
    margin: 0;
    padding: 0;
}

/* Navigation verticale */

.menu-navigation {
    display: contents;
}

.menu-personne,
.menu-bureau {
    position: relative;
    display: block;
    width: 8%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.menu-personne {
    height: 35%;
}

.menu-bureau {
    height: 30%;
}

.menu-personne a,
.menu-bureau a {
    position: absolute;
    inset: 0;
    display: block;
    writing-mode: sideways-lr;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
}

.menu-personne a::after,
.menu-bureau a::after {
    content: "///////////////////////////////////////////////////////////////////////////////////////////////////////";
    white-space: nowrap;
}



/* Liste des projets : défilement vertical */

.menu-projets {
    border: 0;
    position: absolute;
    top: 0%;
    left: 8%;
    width: 42%;
    height: 86%;

    display: block;
    overflow-y: auto;
    overflow-x: hidden;

    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.menu-projets::-webkit-scrollbar {
    display: none;
}

.menu-projet-ligne {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    column-gap: 0.25em;

    width: 100%;
    min-width: 0;
    box-sizing: border-box;

    font-family: Arial, sans-serif;
    font-size: var(--menu-font-size);
    line-height: 2.15;
}

.menu-projet-nom {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;

    white-space: nowrap;
    color: black;
    text-decoration: none;
}

.menu-projet-points {
    display: block;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.menu-projet-points::before {
    content: "................................................................................................";
}

.menu-rotatif .projet-actif {
    font-family: "Arial Black", sans-serif !important;
    font-weight: normal;
}

.menu-projet-vide {
    grid-template-columns: minmax(0, 1fr);
}

/* Informations du projet */

.menu-informations {
    border: 0;
    position: absolute;
    top: -4%;
    left: 50%;
    width: 42%;
    height: 80%;

    display: flex;
    flex-direction: column;
    align-content: start;
    justify-content: start;

    margin: 0;
    padding: 0;
    box-sizing: border-box;
    min-width: 0;
}

.menu-info-ligne {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: baseline;
    column-gap: 0.25em;

    width: 100%;
    min-width: 0;
    box-sizing: border-box;

    font-family: Arial, sans-serif;
    font-size: var(--menu-font-size);
    line-height: 1.5;
}

.menu-info-libelle {
    white-space: nowrap;
}

.menu-info-points {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.menu-info-points::before {
    content: "................................................................................................";
}

.menu-info-valeur {
    min-width: 0;
    max-width: 100%;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    line-height: 6.45;
}

/* Séparateur vertical */

.menu-separateur {
    writing-mode: sideways-lr;
    border: 0;
    position: absolute;
    top: 0%;
    left: 92%;
    width: 4%;
    height: 100%;

    display: grid;
    place-items: center;

    margin: 0;
    padding: 0;
}

.menu-rotatif .menu-separateur .txtv {
    line-height: 1.5;
    font-size: var(--menu-font-size);
    margin: 0;
    padding: 0;
}

/* Prestations verticales */

.menu-prestations {
    writing-mode: sideways-lr;
    border: 0;
    position: absolute;
    top: 75%;
    left: 8%;
    width: 90%;
    height: 25%;

    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(8, 1fr);

    justify-items: start;
    align-items: center;

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

    overflow: hidden;

}

.menu-rotatif .menu-prestations p {
    line-height: 1.5;
    font-size: var(--menu-font-size);
    white-space: nowrap;
    text-align: left;
    margin: 0;
    padding: 0;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
}

.menu-rotatif .menu-prestations a {
    margin: 0;
    padding: 0;
}


/* Prestations : remplissage automatique en chevrons */

.menu-prestation-lien {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    max-width: 100%;
}

.menu-prestation-lien::after {
    content: ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>";
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    min-width: 0;
    flex: 1 1 auto;
}

/* Prestations : chevrons contenus dans chaque rangée */

.menu-rotatif .menu-prestations .menu-prestation-lien {
    display: block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
}

.menu-rotatif .menu-prestations .menu-prestation-lien::after {
    content: ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>";
    position: relative;
    top: -10px;
    left: 10px;
}

/* Séparateur vertical adaptatif */

.menu-rotatif .menu-separateur {
    overflow: hidden;
}

.menu-rotatif .menu-separateur .menu-traits {
    font-size: clamp(12px, 1.5vh, 18px);
    line-height: 1.5;
    white-space: pre;
    margin: 0;
    padding: 0;
}
