.bienvenu{
   font-weight: bold;
   font-family: cursive;
}

.titre{
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-weight: bold;
font-size: 50px;
}

button .cv{
   text-decoration: none;
   color: black;
}

button .cv:hover{
   color: white;
}

.sous-titre{
   font-family: Georgia, 'Times New Roman', Times, serif;
   font-weight: bold;
}

.souscompetence{
   text-decoration: underline;
}

.contact-info-list li a {
   color: #333;
}
.contact-info-list li a:hover {
   color: #2960f7;
}

/* Vignettes portfolio : même format pour toutes les cartes, quelle que soit la taille/orientation de l'image source */
.grid-item .img-place {
   aspect-ratio: 4 / 3;
   height: auto;
}
.grid-item .img-place img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center top;
}

/* Modale details projet */
.project-modal-overlay {
   display: none;
   position: fixed;
   inset: 0;
   background: rgba(15, 20, 30, 0.65);
   z-index: 2000;
   align-items: flex-start;
   justify-content: center;
   padding: 40px 16px;
   overflow-y: auto;
}
.project-modal-overlay.open { display: flex; }
.project-modal {
   background: #fff;
   border-radius: 8px;
   max-width: 760px;
   width: 100%;
   position: relative;
   box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.project-modal-close {
   position: absolute;
   top: 12px;
   right: 14px;
   background: rgba(255,255,255,0.9);
   border: none;
   border-radius: 50%;
   width: 34px;
   height: 34px;
   font-size: 18px;
   cursor: pointer;
   z-index: 2;
}
.project-modal-gallery {
   display: flex;
   gap: 8px;
   overflow-x: auto;
   padding: 16px;
   background: #f4f7fc;
   border-radius: 8px 8px 0 0;
}
.project-modal-gallery a { flex-shrink: 0; display: block; cursor: zoom-in; }
.project-modal-gallery img { height: 180px; border-radius: 6px; flex-shrink: 0; display: block; transition: opacity .15s ease; }
.project-modal-gallery a:hover img { opacity: 0.85; }
.project-modal-body { padding: 24px 28px 30px; }
.project-modal-body h2 { margin-bottom: 4px; }
.project-modal-role { font-size: 13.5px; color: #2960f7; font-weight: 600; margin-bottom: 14px; }
.project-modal-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.project-modal-tags span {
   background: #eef3fc;
   color: #2960f7;
   font-size: 12px;
   font-weight: 600;
   padding: 5px 12px;
   border-radius: 20px;
}
.project-modal-body p.desc { color: #666; font-size: 14.5px; margin-bottom: 16px; white-space: pre-line; }
.project-modal-body h4 { font-size: 14px; margin: 16px 0 8px; }
.project-modal-body ul { padding-left: 20px; }
.project-modal-body li { font-size: 13.8px; color: #666; margin-bottom: 5px; }