/* ============================================================
   ACNC — Académie Centrafricaine du Numérique et de la Cybersécurité
   style.css — Charte tirée du logo : Bleu vif / Vert écusson / Rouge bordure
   ============================================================ */

:root{
  --bleu:        #0B5ECF;   /* Bleu vif du texte "ACNC" : liens, titres, nav */
  --bleu-fonce:  #06264C;   /* Marine profond : footer, bandeaux */
  --bleu-pale:   #E7F0FC;
  --vert:        #178A45;   /* Vert de l'écusson : actions positives, croissance */
  --vert-pale:   #E6F4EC;
  --rouge:       #C6362C;   /* Rouge de la bordure : alertes, accents */
  --rouge-pale:  #FBEAE8;
  --fond:        #F4F7FB;
  --encre:       #122237;
  --gris:        #5B6B7E;
  --blanc:       #FFFFFF;
  --bord:        #DCE5EF;

  --police-titre: "Bricolage Grotesque", "Segoe UI", Arial, sans-serif;
  --police-texte: "Figtree", "Segoe UI", Arial, sans-serif;

  --rayon: 14px;
  --ombre: 0 8px 28px rgba(6,38,76,.08);
  --largeur: 1180px;
  --transition: .25s ease;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--police-texte);
  color:var(--encre);
  background:var(--blanc);
  line-height:1.65;
  font-size:16px;
}
img{ max-width:100%; display:block; }
a{ color:var(--bleu); text-decoration:none; transition:color var(--transition); }
a:hover{ color:var(--bleu-fonce); }
ul{ list-style:none; }
.conteneur{ max-width:var(--largeur); margin:0 auto; padding:0 22px; }

h1,h2,h3,h4{ font-family:var(--police-titre); color:var(--bleu-fonce); line-height:1.2; }

:focus-visible{ outline:3px solid var(--bleu); outline-offset:2px; border-radius:4px; }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  html{ scroll-behavior:auto; }
}

/* ---------- Signature : liseré tricolore ACNC ---------- */
.lisere{
  height:4px; width:100%;
  background:linear-gradient(90deg, var(--bleu) 0 45%, var(--vert) 45% 80%, var(--rouge) 80% 100%);
}
.titre-section{
  font-size:clamp(1.6rem, 3vw, 2.2rem);
  font-weight:700;
  margin-bottom:.4rem;
}
.titre-section::after{
  content:"";
  display:block;
  width:88px; height:4px; margin-top:12px;
  border-radius:2px;
  background:linear-gradient(90deg, var(--bleu) 0 45%, var(--vert) 45% 80%, var(--rouge) 80% 100%);
}
.sous-titre-section{ color:var(--gris); max-width:720px; margin-bottom:2.2rem; }

/* ================= BARRE SUPÉRIEURE ================= */
.barre-sup{
  background:var(--bleu-fonce);
  color:#CFE0F5;
  font-size:.82rem;
}
.barre-sup .conteneur{
  display:flex; justify-content:space-between; align-items:center;
  min-height:36px; gap:14px; flex-wrap:wrap;
}
.barre-sup a{ color:#CFE0F5; }
.barre-sup a:hover{ color:#fff; }
.barre-sup .devise{ font-style:italic; }

/* ================= EN-TÊTE / NAVIGATION ================= */
.entete{
  position:sticky; top:0; z-index:1000;
  background:var(--blanc);
  box-shadow:0 2px 14px rgba(6,38,76,.07);
}
.entete .conteneur{
  display:flex; align-items:center; justify-content:space-between;
  min-height:76px; gap:20px;
}
.marque{ display:flex; align-items:center; gap:12px; }
.marque img{ height:54px; width:auto; }
.marque-texte{ display:flex; flex-direction:column; line-height:1.15; }
.marque-sigle{
  font-family:var(--police-titre); font-weight:800;
  font-size:1.45rem; color:var(--bleu); letter-spacing:.5px;
}
.marque-nom{ font-size:.62rem; color:var(--gris); text-transform:uppercase; letter-spacing:.6px; max-width:270px; }

.nav-principale > ul{ display:flex; align-items:center; gap:6px; }
.nav-principale a{
  display:block; padding:10px 14px;
  color:var(--encre); font-weight:600; font-size:.95rem;
  border-radius:8px;
}
.nav-principale a:hover{ background:var(--bleu-pale); color:var(--bleu); }
.nav-principale a.actif{ color:var(--bleu); }
.nav-principale a.actif::after{
  content:""; display:block; height:3px; border-radius:2px; margin-top:2px;
  background:linear-gradient(90deg, var(--bleu), var(--vert));
}

/* Menu déroulant */
.a-deroulant{ position:relative; }
.a-deroulant > a::after{ content:" ▾"; font-size:.7em; }
.sous-menu{
  position:absolute; top:100%; left:0;
  min-width:230px; background:var(--blanc);
  border:1px solid var(--bord); border-radius:12px;
  box-shadow:var(--ombre); padding:8px;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all var(--transition);
}
.a-deroulant:hover .sous-menu,
.a-deroulant:focus-within .sous-menu,
.a-deroulant.ouvert .sous-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.sous-menu a{ padding:9px 12px; font-weight:500; }

.btn-nav{
  background:var(--vert); color:#fff!important;
  border-radius:10px; padding:10px 18px!important;
}
.btn-nav:hover{ background:#0F6B34; }

/* Burger mobile */
.burger{
  display:none; background:none; border:0; cursor:pointer; padding:8px;
}
.burger span{
  display:block; width:26px; height:3px; margin:5px 0;
  background:var(--bleu-fonce); border-radius:2px; transition:transform var(--transition), opacity var(--transition);
}
.burger.ouvert span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.burger.ouvert span:nth-child(2){ opacity:0; }
.burger.ouvert span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

/* ================= BOUTONS ================= */
.btn{
  display:inline-block; padding:13px 26px; border-radius:10px;
  font-weight:700; font-size:.95rem; border:2px solid transparent;
  cursor:pointer; transition:all var(--transition); font-family:var(--police-texte);
}
.btn-bleu{ background:var(--bleu); color:#fff; }
.btn-bleu:hover{ background:var(--bleu-fonce); color:#fff; }
.btn-vert{ background:var(--vert); color:#fff; }
.btn-vert:hover{ background:#0F6B34; color:#fff; }
.btn-contour{ background:transparent; border-color:#fff; color:#fff; }
.btn-contour:hover{ background:#fff; color:var(--bleu-fonce); }
.btn-contour-bleu{ background:transparent; border-color:var(--bleu); color:var(--bleu); }
.btn-contour-bleu:hover{ background:var(--bleu); color:#fff; }

/* ================= HÉROS / SLIDER ================= */
.heros{ position:relative; overflow:hidden; color:#fff; }
.diapositive{
  display:none; min-height:520px;
  padding:90px 0;
  background-size:cover; background-position:center;
}
.diapositive.active{ display:flex; align-items:center; animation:fondu .8s ease; }
@keyframes fondu{ from{opacity:.3;} to{opacity:1;} }

.diapo-1{ background:linear-gradient(115deg, rgba(6,38,76,.94), rgba(11,94,207,.82)),
  repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 2px, transparent 2px 26px); background-color:var(--bleu-fonce); }
.diapo-2{ background:linear-gradient(115deg, rgba(9,58,29,.94), rgba(23,138,69,.80)),
  repeating-linear-gradient(-45deg, rgba(255,255,255,.04) 0 2px, transparent 2px 26px); background-color:#0A4A24; }
.diapo-3{ background:linear-gradient(115deg, rgba(6,38,76,.95), rgba(198,54,44,.68)),
  repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 2px, transparent 2px 26px); background-color:var(--bleu-fonce); }

.diapositive .etiquette{
  display:inline-block; background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.3);
  padding:6px 14px; border-radius:999px; font-size:.8rem;
  letter-spacing:1px; text-transform:uppercase; margin-bottom:18px;
}
.diapositive h1, .diapositive h2{
  color:#fff; font-size:clamp(1.9rem, 4.4vw, 3.2rem);
  font-weight:800; max-width:760px; margin-bottom:16px;
}
.diapositive p{ max-width:640px; font-size:1.08rem; color:#E4EDF8; margin-bottom:28px; }
.diapo-boutons{ display:flex; gap:14px; flex-wrap:wrap; }

.heros-controles{
  position:absolute; bottom:24px; left:0; right:0;
  display:flex; justify-content:center; gap:10px; z-index:5;
}
.point{
  width:34px; height:5px; border-radius:3px; border:0; cursor:pointer;
  background:rgba(255,255,255,.35); transition:background var(--transition);
}
.point.actif{ background:#fff; }
.fleche{
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.3);
  width:44px; height:44px; border-radius:50%; cursor:pointer; font-size:1.1rem; z-index:5;
  transition:background var(--transition);
}
.fleche:hover{ background:rgba(255,255,255,.32); }
.fleche-g{ left:18px; } .fleche-d{ right:18px; }

/* Petits héros de pages intérieures */
.heros-page{
  background:linear-gradient(115deg, var(--bleu-fonce), var(--bleu));
  color:#fff; padding:64px 0;
}
.heros-page h1{ color:#fff; font-size:clamp(1.8rem, 3.6vw, 2.6rem); }
.heros-page p{ color:#DCE8F7; max-width:700px; margin-top:10px; }
.fil-ariane{ font-size:.85rem; color:#AFC8E8; margin-bottom:14px; }
.fil-ariane a{ color:#DCE8F7; }

/* ================= SECTIONS GÉNÉRIQUES ================= */
.section{ padding:74px 0; }
.section-grise{ background:var(--fond); }
.section-marine{ background:var(--bleu-fonce); color:#D9E5F4; }
.section-marine .titre-section{ color:#fff; }

/* Domaines clés */
.grille-domaines{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
}
.domaine{
  background:var(--blanc); border:1px solid var(--bord);
  border-top:4px solid var(--bleu);
  border-radius:var(--rayon); padding:26px 22px;
  transition:transform var(--transition), box-shadow var(--transition);
}
.domaine:nth-child(2){ border-top-color:var(--vert); }
.domaine:nth-child(3){ border-top-color:var(--rouge); }
.domaine:nth-child(4){ border-top-color:var(--bleu-fonce); }
.domaine:hover{ transform:translateY(-5px); box-shadow:var(--ombre); }
.domaine .icone{ font-size:1.9rem; margin-bottom:12px; }
.domaine h3{ font-size:1.06rem; margin-bottom:8px; }
.domaine p{ font-size:.9rem; color:var(--gris); }

/* Cartes activités / services / actus */
.grille-cartes{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.carte{
  background:var(--blanc); border:1px solid var(--bord);
  border-radius:var(--rayon); overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform var(--transition), box-shadow var(--transition);
}
.carte:hover{ transform:translateY(-5px); box-shadow:var(--ombre); }
.carte-visuel{
  height:150px; display:flex; align-items:center; justify-content:center;
  font-size:2.6rem; color:#fff;
  background:linear-gradient(120deg, var(--bleu), var(--bleu-fonce));
}
.carte-visuel.vert{ background:linear-gradient(120deg, var(--vert), #0A4A24); }
.carte-visuel.rouge{ background:linear-gradient(120deg, var(--rouge), #7E211B); }
.carte-corps{ padding:22px; flex:1; display:flex; flex-direction:column; gap:10px; }
.carte h3{ font-size:1.08rem; }
.carte p{ font-size:.92rem; color:var(--gris); flex:1; }
.carte .lien-plus{ font-weight:700; font-size:.9rem; }
.badge{
  align-self:flex-start; font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.6px;
  padding:4px 10px; border-radius:999px;
}
.badge-bleu{ background:var(--bleu-pale); color:var(--bleu); }
.badge-vert{ background:var(--vert-pale); color:var(--vert); }
.badge-rouge{ background:var(--rouge-pale); color:var(--rouge); }

/* Indicateurs chiffrés */
.grille-chiffres{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; text-align:center; }
.chiffre{ padding:28px 16px; border-radius:var(--rayon); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); }
.chiffre .valeur{
  font-family:var(--police-titre); font-weight:800;
  font-size:clamp(2rem, 4vw, 2.8rem); color:#fff;
}
.chiffre .valeur small{ font-size:.55em; color:#9FC1E8; }
.chiffre .legende{ font-size:.88rem; color:#B9CCE3; margin-top:6px; }

/* Actualités */
.actu-date{ font-size:.8rem; color:var(--rouge); font-weight:700; letter-spacing:.4px; }
.tout-voir{ text-align:center; margin-top:34px; }

/* FAQ */
.faq{ max-width:820px; margin:0 auto; }
.faq-item{ border:1px solid var(--bord); border-radius:12px; margin-bottom:12px; background:var(--blanc); overflow:hidden; }
.faq-question{
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  padding:18px 20px; font-family:var(--police-titre); font-weight:600;
  font-size:1rem; color:var(--bleu-fonce);
  display:flex; justify-content:space-between; align-items:center; gap:14px;
}
.faq-question::after{ content:"+"; font-size:1.4rem; color:var(--bleu); transition:transform var(--transition); }
.faq-item.ouvert .faq-question::after{ transform:rotate(45deg); color:var(--rouge); }
.faq-reponse{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-reponse p{ padding:0 20px 18px; color:var(--gris); font-size:.94rem; }

/* Partenaires (défilement continu) */
.marquee{ overflow:hidden; position:relative; }
.marquee-piste{ display:flex; gap:16px; width:max-content; animation:defiler 30s linear infinite; }
.marquee:hover .marquee-piste{ animation-play-state:paused; }
@keyframes defiler{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.partenaire{
  border:1px solid var(--bord); background:var(--blanc);
  border-radius:12px; padding:16px 26px; white-space:nowrap;
  font-weight:700; color:var(--gris); font-size:.92rem;
  display:flex; align-items:center; gap:10px;
}
.partenaire .pastille{ width:10px; height:10px; border-radius:50%; background:var(--vert); }
.partenaire:nth-child(3n) .pastille{ background:var(--bleu); }
.partenaire:nth-child(3n+1) .pastille{ background:var(--rouge); }

/* Bandeau appel à l'action */
.bandeau-cta{
  background:linear-gradient(115deg, var(--vert), #0A4A24);
  color:#fff; border-radius:var(--rayon);
  padding:46px 40px; display:flex; align-items:center;
  justify-content:space-between; gap:26px; flex-wrap:wrap;
}
.bandeau-cta h2{ color:#fff; font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:8px; }
.bandeau-cta p{ color:#DFF2E6; max-width:560px; }

/* ================= CONTENU ÉDITORIAL (pages intérieures) ================= */
.deux-colonnes{ display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:start; }
.encadre{
  background:var(--fond); border-left:5px solid var(--vert);
  border-radius:0 var(--rayon) var(--rayon) 0; padding:24px 26px;
}
.encadre.rouge{ border-left-color:var(--rouge); }
.encadre.bleu{ border-left-color:var(--bleu); }
.encadre h3{ margin-bottom:10px; font-size:1.05rem; }
.encadre ul{ list-style:disc; padding-left:20px; color:var(--gris); font-size:.94rem; }
.encadre li{ margin-bottom:6px; }

.liste-missions{ display:grid; gap:14px; margin-top:20px; }
.mission{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--blanc); border:1px solid var(--bord);
  border-radius:12px; padding:16px 18px;
}
.mission .puce{
  flex:0 0 34px; height:34px; border-radius:9px;
  background:var(--bleu-pale); color:var(--bleu);
  display:flex; align-items:center; justify-content:center; font-weight:800;
  font-family:var(--police-titre);
}
.mission:nth-child(3n) .puce{ background:var(--vert-pale); color:var(--vert); }
.mission:nth-child(3n+2) .puce{ background:var(--rouge-pale); color:var(--rouge); }
.mission p{ font-size:.95rem; color:var(--encre); }
.mission strong{ color:var(--bleu-fonce); }

/* Gouvernance : organigramme */
.organe{
  background:var(--blanc); border:1px solid var(--bord); border-radius:var(--rayon);
  padding:30px; margin-bottom:24px; box-shadow:var(--ombre);
  border-top:5px solid var(--bleu);
}
.organe.vert{ border-top-color:var(--vert); }
.organe.rouge{ border-top-color:var(--rouge); }
.organe h3{ font-size:1.25rem; margin-bottom:4px; }
.organe .role{ color:var(--rouge); font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.6px; }
.organe p{ color:var(--gris); margin-top:10px; font-size:.95rem; }
.organe ul{ margin-top:12px; display:grid; gap:8px; }
.organe li{ padding-left:22px; position:relative; font-size:.93rem; color:var(--encre); }
.organe li::before{ content:"✓"; position:absolute; left:0; color:var(--vert); font-weight:800; }
.connecteur{ width:4px; height:34px; margin:-12px auto 12px; background:linear-gradient(var(--bleu), var(--vert)); border-radius:2px; }

/* Documents à télécharger */
.doc{
  display:flex; align-items:center; gap:16px;
  background:var(--blanc); border:1px solid var(--bord);
  border-radius:12px; padding:16px 18px; margin-bottom:12px;
  transition:box-shadow var(--transition);
}
.doc:hover{ box-shadow:var(--ombre); }
.doc .icone-doc{
  flex:0 0 46px; height:46px; border-radius:10px;
  background:var(--rouge-pale); color:var(--rouge);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.8rem;
}
.doc .infos{ flex:1; }
.doc .infos strong{ display:block; color:var(--bleu-fonce); font-size:.97rem; }
.doc .infos span{ font-size:.82rem; color:var(--gris); }

/* Tableaux (frais, calendrier…) */
.tableau{ width:100%; border-collapse:collapse; font-size:.93rem; }
.tableau th{ background:var(--bleu-fonce); color:#fff; text-align:left; padding:12px 14px; }
.tableau td{ padding:12px 14px; border-bottom:1px solid var(--bord); }
.tableau tr:nth-child(even) td{ background:var(--fond); }

/* ================= FORMULAIRES ================= */
.formulaire{
  background:var(--blanc); border:1px solid var(--bord);
  border-radius:var(--rayon); padding:34px; box-shadow:var(--ombre);
}
.champ{ margin-bottom:18px; }
.champ label{ display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; color:var(--bleu-fonce); }
.champ input, .champ select, .champ textarea{
  width:100%; padding:12px 14px; font-size:.95rem;
  border:1.5px solid var(--bord); border-radius:10px;
  font-family:var(--police-texte); background:var(--fond);
  transition:border-color var(--transition), background var(--transition);
}
.champ input:focus, .champ select:focus, .champ textarea:focus{
  outline:none; border-color:var(--bleu); background:#fff;
}
.champ .erreur-msg{ display:none; color:var(--rouge); font-size:.8rem; margin-top:4px; }
.champ.invalide input, .champ.invalide textarea, .champ.invalide select{ border-color:var(--rouge); }
.champ.invalide .erreur-msg{ display:block; }
.grille-champs{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }

.coordonnee{ display:flex; gap:14px; margin-bottom:20px; align-items:flex-start; }
.coordonnee .ico{
  flex:0 0 44px; height:44px; border-radius:10px; font-size:1.2rem;
  background:var(--bleu-pale); display:flex; align-items:center; justify-content:center;
}
.coordonnee strong{ display:block; color:var(--bleu-fonce); }
.coordonnee span, .coordonnee a{ font-size:.92rem; color:var(--gris); }

.carte-osm{ border:0; width:100%; height:380px; border-radius:var(--rayon); box-shadow:var(--ombre); }

/* ================= PIED DE PAGE ================= */
.pied{ background:var(--bleu-fonce); color:#B9CCE3; font-size:.92rem; }
.pied-haut{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px;
  padding:60px 0 44px;
}
.pied h4{ color:#fff; font-size:1rem; margin-bottom:16px; }
.pied ul li{ margin-bottom:9px; }
.pied a{ color:#B9CCE3; }
.pied a:hover{ color:#fff; }
.pied .marque-sigle{ color:#fff; }
.pied .marque-nom{ color:#8FA9C8; }
.pied .devise-pied{ margin-top:14px; font-style:italic; color:#8FA9C8; }
.reseaux{ display:flex; gap:10px; margin-top:16px; }
.reseaux a{
  width:38px; height:38px; border-radius:9px;
  background:rgba(255,255,255,.09); display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:.75rem; letter-spacing:.5px;
  transition:background var(--transition);
}
.reseaux a:hover{ background:var(--bleu); color:#fff; }
.pied-bas{
  border-top:1px solid rgba(255,255,255,.12);
  padding:18px 0; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  font-size:.83rem; color:#8FA9C8;
}

/* Notification formulaire */
.note-info{
  background:var(--vert-pale); border:1px solid var(--vert);
  color:#0A4A24; border-radius:10px; padding:14px 16px; font-size:.9rem; margin-bottom:18px;
}

/* Bouton remonter */
#remonter{
  position:fixed; right:22px; bottom:22px; z-index:900;
  width:46px; height:46px; border-radius:12px; border:0; cursor:pointer;
  background:var(--bleu); color:#fff; font-size:1.2rem;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all var(--transition); box-shadow:var(--ombre);
}
#remonter.visible{ opacity:1; visibility:visible; transform:translateY(0); }
#remonter:hover{ background:var(--vert); }

/* ================= RESPONSIVE ================= */
@media (max-width: 1020px){
  .grille-domaines{ grid-template-columns:repeat(2,1fr); }
  .grille-cartes{ grid-template-columns:repeat(2,1fr); }
  .grille-chiffres{ grid-template-columns:repeat(2,1fr); }
  .pied-haut{ grid-template-columns:1fr 1fr; }
  .deux-colonnes{ grid-template-columns:1fr; }
}

@media (max-width: 780px){
  .burger{ display:block; }
  .nav-principale{
    position:fixed; top:0; right:-100%; width:min(320px, 84vw); height:100vh;
    background:var(--blanc); box-shadow:-8px 0 30px rgba(6,38,76,.18);
    padding:90px 22px 30px; transition:right .3s ease; overflow-y:auto; z-index:990;
  }
  .nav-principale.ouvert{ right:0; }
  .nav-principale > ul{ flex-direction:column; align-items:stretch; gap:2px; }
  .nav-principale a{ padding:13px 12px; }
  .sous-menu{
    position:static; opacity:1; visibility:visible; transform:none;
    border:0; box-shadow:none; padding:0 0 0 16px; display:none;
  }
  .a-deroulant.ouvert .sous-menu{ display:block; }
  .voile{
    position:fixed; inset:0; background:rgba(6,38,76,.45); z-index:980;
    opacity:0; visibility:hidden; transition:all var(--transition);
  }
  .voile.visible{ opacity:1; visibility:visible; }
  .diapositive{ min-height:460px; padding:70px 0; }
  .fleche{ display:none; }
  .grille-champs{ grid-template-columns:1fr; }
  .bandeau-cta{ padding:34px 24px; }
}

@media (max-width: 560px){
  .grille-domaines, .grille-cartes, .grille-chiffres{ grid-template-columns:1fr; }
  .pied-haut{ grid-template-columns:1fr; }
  .barre-sup .devise{ display:none; }
  .marque-nom{ display:none; }
  .section{ padding:54px 0; }
}
