:root{--bleu-fonce:#0E5B74;--bleu:#277792;--vert-fonce:#45623F;--vert:#7D915B;--bleu-nuit:#0a4457;--bleu-pale:#cfe3ea;--vert-clair:#eef1e7;--texte:#1f2a33;--texte-doux:#55636e;--fond:#fbfbf9;--blanc:#ffffff;--trait:#dfe4e2;--police:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--largeur:1080px;--rayon:6px}*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:5rem}body{margin:0;font-family:var(--police);font-size:1.0625rem;line-height:1.65;color:var(--texte);background:var(--fond)}img{max-width:100%;height:auto}a{color:var(--bleu)}a:hover{color:var(--bleu-fonce)}h1,h2,h3{line-height:1.25;color:var(--bleu-fonce)}.conteneur{max-width:var(--largeur);margin:0 auto;padding:0 1.25rem}.lien-evitement{position:absolute;left:-999px}.lien-evitement:focus{left:1rem;top:1rem;z-index:10;background:var(--blanc);padding:.5rem 1rem}.entete{position:sticky;top:0;z-index:5;background:var(--blanc);border-bottom:1px solid var(--trait)}.entete-interieur{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;min-height:4.25rem}.marque{text-decoration:none;display:flex;flex-direction:column;line-height:1.2}.marque-nom{font-weight:700;color:var(--bleu-fonce);font-size:1.05rem}.marque-metier{color:var(--texte-doux);font-size:.85rem}.menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}.menu a{text-decoration:none;color:var(--texte);font-size:.95rem;padding:.35rem 0;border-bottom:2px solid transparent}.menu a:hover{color:var(--bleu)}.menu a[aria-current=page]{color:var(--bleu-fonce);border-bottom-color:var(--bleu);font-weight:600}.bouton{display:inline-flex;align-items:center;gap:.5rem;background:var(--bleu);color:var(--blanc);padding:.7rem 1.3rem;border-radius:var(--rayon);text-decoration:none;font-weight:600;font-size:.95rem;border:2px solid var(--bleu)}.bouton:hover{background:var(--bleu-fonce);border-color:var(--bleu-fonce);color:var(--blanc)}.bouton-clair{background:0 0;border-color:rgba(255,255,255,.6)}.bouton-clair:hover{background:rgba(255,255,255,.12);border-color:var(--blanc)}.bouton-contour{background:0 0;color:var(--bleu-fonce);border-color:var(--bleu-fonce)}.bouton-contour:hover{background:var(--bleu-fonce);color:var(--blanc)}.bouton .icone{width:1.1em;height:1.1em}.bandeau{background:var(--bleu-fonce)url(/img/banniere-isolignes.svg)50%/cover no-repeat;color:var(--blanc);padding:5.5rem 0 5rem}.bandeau h1{color:var(--blanc);font-size:clamp(2rem,5vw,3rem);margin:.25rem 0 1rem}.surtitre{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--bleu-pale)}.accroche{max-width:38rem;font-size:1.15rem;margin:0 0 2rem;color:var(--bleu-pale)}.actions{display:flex;flex-wrap:wrap;gap:.75rem}.section{padding:4rem 0}.section-teintee{background:var(--vert-clair)}.titre-section{font-size:1.6rem;margin:0 0 2rem}.cartes{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.carte a{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--rayon);padding:2rem 1.5rem 1.5rem;text-decoration:none;color:var(--texte);transition:border-color .15s,transform .15s}.carte a:hover{border-color:var(--bleu);transform:translateY(-2px)}.carte .icone{width:3.5rem;height:3.5rem;color:var(--vert-fonce);stroke-width:1.3}.carte h3{font-size:1.1rem;margin:1.25rem 0 .5rem}.carte p{margin:0 0 1rem;color:var(--texte-doux);font-size:.97rem}.carte-lien{margin-top:auto;display:inline-flex;align-items:center;gap:.35rem;color:var(--bleu);font-weight:600;font-size:.9rem}.carte-lien .icone{width:1rem;height:1rem;color:currentColor}.presentation{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 3rem;flex-wrap:wrap}.presentation h2{margin:0 0 .5rem}.presentation p{margin:0;max-width:40rem}.appel{text-align:center;max-width:42rem}.appel h2{margin-top:0}.appel p{color:var(--texte-doux);margin-bottom:1.75rem}.titre-page{background:var(--bleu-fonce);color:var(--blanc);padding:3rem 0 2.5rem}.titre-page h1{color:var(--blanc);margin:0;font-size:clamp(1.8rem,4vw,2.4rem)}.titre-page .projet-meta a{color:var(--bleu-pale)}.texte{max-width:46rem;padding-top:2.5rem;padding-bottom:4rem}.texte h2{margin-top:2.5rem;font-size:1.45rem}.texte table{border-collapse:collapse;width:100%;margin:1rem 0}.texte th,.texte td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--trait)}.texte th{color:var(--bleu-fonce)}.texte pre{background:var(--bleu-nuit);color:var(--bleu-pale);padding:1rem;border-radius:var(--rayon);overflow-x:auto;font-size:.9rem}.numerote{counter-reset:prestation}.mots-cles{border-left:3px solid var(--vert);padding:.4rem 0 .4rem .9rem;color:var(--texte-doux);font-size:.95rem}.numerote h2::before{counter-increment:prestation;content:counter(prestation,decimal-leading-zero)" — ";color:var(--vert-fonce)}.bloc-contact{display:flex;align-items:center;gap:.75rem;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--rayon);padding:1rem 1.25rem;margin:1rem 0}.bloc-contact .icone{width:1.4rem;height:1.4rem;color:var(--vert-fonce);flex-shrink:0}.a-completer{color:#a05a00;font-style:italic}.liste-projets{list-style:none;padding:0;margin:0 0 4rem;display:grid;gap:1.25rem}.projet a{display:grid;gap:1.25rem;grid-template-columns:1fr;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--rayon);padding:1.25rem;text-decoration:none;color:var(--texte)}.projet a:hover{border-color:var(--bleu)}@media(min-width:700px){.projet a:has(img){grid-template-columns:240px 1fr}}.projet h2{margin:.2rem 0 .5rem;font-size:1.25rem}.projet-meta{margin:0;font-size:.85rem;color:var(--texte-doux);text-transform:uppercase;letter-spacing:.06em}.etiquettes{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0}.etiquettes span{background:var(--vert-clair);color:var(--vert-fonce);padding:.15rem .6rem;border-radius:999px;font-size:.8rem}.vide{color:var(--texte-doux);font-style:italic;padding-bottom:4rem}.image-projet{border-radius:var(--rayon);margin-bottom:1rem}.pied{background:var(--bleu-nuit);color:var(--bleu-pale);font-size:.9rem}.pied-interieur{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 2rem;padding-top:1.5rem;padding-bottom:1.5rem}.pied p{margin:0}.pied a{color:var(--blanc)}@media(max-width:640px){.entete{position:static}.entete-interieur{padding-top:.75rem;padding-bottom:.75rem}.menu{gap:.25rem 1rem}.bandeau{padding:3.5rem 0}.section{padding:3rem 0}}