/* Concept Color – site vitrine. Couleurs reprises du logo. */
:root{
  --jaune:#f0c419; --violet:#6b2f84; --bleu:#1d5cb8; --rouge:#c62d24; --vert:#2a8a3c;
  --encre:#1f2328; --doux:#5b6470; --fond:#ffffff; --fond2:#f5f3f7; --ligne:#e3dfe8;
  --accent:var(--violet); --accent-fonce:#55246a;
  --rayon:10px; --ombre:0 2px 10px rgba(40,20,60,.08);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--encre);background:var(--fond)}
img{max-width:100%;height:auto;display:block}
a{color:var(--bleu)}
a:hover{color:var(--accent)}
h1,h2,h3{line-height:1.25;color:var(--accent-fonce)}
h1{font-size:clamp(1.6rem,4vw,2.3rem);margin:1.2em 0 .5em}
h2{font-size:clamp(1.25rem,3vw,1.6rem);margin:1.6em 0 .6em}
h3{font-size:1.1rem;margin:.6em 0 .3em}
.largeur{max-width:1100px;margin:0 auto;padding:0 16px}
.saut{position:absolute;left:-999px}
.saut:focus{left:16px;top:8px;background:#fff;padding:8px;z-index:10}

/* En-tête */
.entete{background:#fff;position:sticky;top:0;z-index:5;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.entete-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.marque img{width:150px}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap;align-items:center}
nav a{display:block;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--encre);font-weight:600;font-size:.95rem}
nav a:hover{background:var(--fond2);color:var(--accent)}
nav a[aria-current="page"]{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}
nav a.btn-devis{background:var(--accent);color:#fff}
nav a.btn-devis:hover,nav a.btn-devis[aria-current="page"]{background:var(--accent-fonce);color:#fff;box-shadow:none}
.menu-btn{display:none;font:inherit;font-weight:600;border:1px solid var(--ligne);background:#fff;border-radius:6px;padding:8px 14px;cursor:pointer}
.arc{display:flex;height:5px}
.arc i{flex:1}
.arc i:nth-child(1){background:var(--jaune)} .arc i:nth-child(2){background:var(--violet)} .arc i:nth-child(3){background:var(--bleu)}
.arc i:nth-child(4){background:var(--rouge)} .arc i:nth-child(5){background:var(--vert)}
@media (max-width:860px){
  .menu-btn{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 8px 16px rgba(0,0,0,.08)}
  nav.ouvert{display:block}
  nav ul{flex-direction:column;align-items:stretch;padding:8px 16px 16px}
  nav a{padding:12px}
  .entete{position:relative}
}

/* Bandeau photo */
.bandeau{height:clamp(120px,22vw,250px);background:center/cover no-repeat var(--fond2)}

/* Accueil */
.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center}
.chapo{font-size:1.15rem;color:var(--doux)}
.intro-btns{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:860px){.intro{grid-template-columns:1fr}}
.video{margin-top:1.2em}
.video-btn{position:relative;display:block;width:100%;padding:0;border:0;background:#000;cursor:pointer;border-radius:var(--rayon);overflow:hidden}
.video-btn img{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.85}
.lecture{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;background:var(--rouge);color:#fff;font-size:30px;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.video-note{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;font-size:.8rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));text-align:left}
.video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--rayon)}

/* Cartes */
.cartes{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
@media (max-width:980px){.cartes{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.cartes{grid-template-columns:repeat(2,1fr)}}
.carte{background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre)}
.carte img{width:100%;aspect-ratio:4/3;object-fit:cover}
.carte h3,.carte h2,.carte p{padding:0 14px}
.carte p{color:var(--doux);font-size:.95rem;margin:0 0 14px}
.carte.grande img{aspect-ratio:1/1;max-height:320px}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:700px){.deux{grid-template-columns:1fr}}

/* Prestations, équipements */
/* les 5 blocs sur une même ligne, à la même hauteur */
.liste-prestations{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:980px){.liste-prestations{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.liste-prestations{grid-template-columns:1fr}}
.liste-prestations article{background:var(--fond2);border-radius:var(--rayon);padding:4px 18px 10px;border-top:4px solid var(--accent)}
.liste-prestations article:nth-child(2){border-color:var(--bleu)} .liste-prestations article:nth-child(3){border-color:var(--rouge)}
.liste-prestations article:nth-child(4){border-color:var(--vert)} .liste-prestations article:nth-child(5){border-color:var(--jaune)}
.liste-prestations h2{font-size:1.15rem;margin-top:.8em}
.puces li{margin:.4em 0}
/* équipements : une grille de cartes alignées (3 × 2), titre puis détail */
.equipements{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.equipements li{background:var(--fond2);border-radius:var(--rayon);padding:14px 16px;border-left:4px solid var(--accent)}
.equipements li:nth-child(2){border-color:var(--bleu)} .equipements li:nth-child(3){border-color:var(--rouge)}
.equipements li:nth-child(4){border-color:var(--vert)} .equipements li:nth-child(5){border-color:var(--jaune)}
.equipements strong{display:block;color:var(--accent-fonce);margin-bottom:2px}
.equipements span{display:block;color:var(--doux);font-size:.95rem}
@media (max-width:860px){.equipements{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.equipements{grid-template-columns:1fr}}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:24px}
.galerie img{width:100%;aspect-ratio:3/1;object-fit:cover;border-radius:8px}

/* Bandeau d'appel */
.appel{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:48px 0 32px;padding:24px;border-radius:var(--rayon);
  background:linear-gradient(120deg,var(--accent-fonce),var(--bleu));color:#fff}
.appel h2{color:#fff;margin:0 0 4px}
.appel p{margin:0;opacity:.9}
.appel-btns{display:flex;gap:10px;flex-wrap:wrap}
.appel .btn{background:#fff;color:var(--accent-fonce)}
.appel .btn.ghost{background:transparent;color:#fff;border-color:#fff}

/* Boutons */
.btn{display:inline-block;padding:11px 20px;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer}
.btn:hover{background:var(--accent-fonce);color:#fff}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn.ghost:hover{background:var(--fond2);color:var(--accent-fonce)}
.btn:disabled{opacity:.6;cursor:wait}

/* Formulaires */
.formulaire{max-width:760px}
fieldset{border:1px solid var(--ligne);border-radius:var(--rayon);padding:12px 18px 16px;margin:0 0 18px}
legend{font-weight:700;color:var(--accent-fonce);padding:0 6px}
.grille{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
@media (max-width:640px){.grille{grid-template-columns:1fr}}
label{display:block;font-weight:600;font-size:.95rem;margin:8px 0}
input:not([type=radio]),textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;font:inherit;border:1px solid #c9c3d1;border-radius:8px;background:#fff}
input:focus,textarea:focus{outline:2px solid var(--bleu);outline-offset:1px;border-color:var(--bleu)}
.ligne{margin:10px 0}
.etiq{display:block;font-weight:600;font-size:.95rem;margin-bottom:4px}
.choix-ligne{display:flex;flex-wrap:wrap;gap:6px 14px}
.choix-colonne{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
@media (max-width:640px){.choix-colonne{grid-template-columns:1fr}}
.choix{display:inline-flex;align-items:center;gap:6px;font-weight:400;margin:2px 0;cursor:pointer}
.choix input{width:18px;height:18px;accent-color:var(--accent)}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.note{font-size:.88rem;color:var(--doux)}
.note.erreur{color:var(--rouge);font-weight:600}
.contact{display:grid;grid-template-columns:1fr 1.6fr;gap:32px}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.coordonnees{background:var(--fond2);border-radius:var(--rayon);padding:6px 20px;align-self:start}
.retour{text-align:center;padding:40px 0 60px}
.texte{max-width:800px}

/* Pied de page */
.pied{margin-top:48px;background:#2a1d33;color:#e9e3ef;font-size:.92rem}
.pied a{color:#fff}
.pied-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 16px}
.pied-liens{align-self:end}
