/* ============================================================
   NaeR — feuille de style commune du site vitrine
   Palette : vert forêt / crème / or / corail (identité NaeR)
   ============================================================ */

:root{
  --vert:#14452E;
  --vert-fonce:#0E3121;
  --vert-clair:#7FC49B;
  --corail:#E8542F;
  --corail-fonce:#C8401F;
  --creme:#F6F4EF;
  --gris:#F3F5F3;
  --bord:#E2E6E2;
  --texte:#2B342E;
  --texte-doux:#5D6A62;
  --or:#B8902A;
  --rayon:8px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:Calibri, "Segoe UI", Arial, Helvetica, sans-serif;
  color:var(--texte);
  background:#FFFFFF;
  line-height:1.55;
}
h1,h2,h3,h4{
  font-family:Georgia, "Times New Roman", serif;
  color:var(--vert);
  margin:0 0 .5em 0;
  line-height:1.2;
}
p{ margin:0 0 1em 0; }
a{ color:var(--corail); text-decoration:none; }
a:hover{ text-decoration:underline; }
img{ max-width:100%; display:block; }
.container{ max-width:1120px; margin:0 auto; padding:0 24px; }
.eyebrow{
  display:inline-block;
  font-size:11px;
  font-weight:bold;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--or);
  border-bottom:2px solid var(--bord);
  padding-bottom:6px;
  margin-bottom:14px;
}

/* ===== NAVIGATION ===== */
.topnav{
  background:var(--vert-fonce);
  padding:14px 0;
  position:sticky;
  top:0;
  z-index:50;
}
.topnav .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.topnav .logo{
  color:#FFFFFF;
  font-family:Georgia, serif;
  font-size:21px;
  font-weight:bold;
  letter-spacing:-0.3px;
  white-space:nowrap;
}
.topnav .logo span{
  color:var(--corail);
  font-size:10px;
  font-weight:bold;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-family:Calibri, sans-serif;
  margin-left:6px;
  vertical-align:middle;
}
.topnav nav{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}
.topnav nav a{
  color:#D6E5DC;
  font-size:14px;
  font-weight:600;
}
.topnav nav a:hover{ color:#FFFFFF; text-decoration:none; }
.topnav nav a.active{ color:#FFFFFF; border-bottom:2px solid var(--corail); padding-bottom:4px; }
.topnav .btn-nav{
  background:var(--corail);
  color:#FFFFFF !important;
  padding:10px 18px;
  border-radius:4px;
  font-weight:bold;
  font-size:13.5px;
}
.topnav .btn-nav:hover{ background:var(--corail-fonce); text-decoration:none; }

/* ===== BOUTONS ===== */
.btn{
  display:inline-block;
  padding:14px 28px;
  border-radius:4px;
  font-weight:bold;
  font-size:15.5px;
  text-align:center;
  cursor:pointer;
  border:none;
}
.btn-primaire{ background:var(--corail); color:#FFFFFF !important; }
.btn-primaire:hover{ background:var(--corail-fonce); text-decoration:none; }
.btn-secondaire{ background:transparent; color:#FFFFFF !important; border:1.5px solid rgba(255,255,255,0.55); }
.btn-secondaire:hover{ border-color:#FFFFFF; text-decoration:none; }
.btn-sombre{ background:var(--vert); color:#FFFFFF !important; }
.btn-sombre:hover{ background:var(--vert-fonce); text-decoration:none; }

/* ===== HERO ===== */
.hero{
  background:linear-gradient(160deg, var(--vert) 0%, var(--vert-fonce) 100%);
  padding:72px 0 64px 0;
  color:#FFFFFF;
}
.hero .badge{
  display:inline-block;
  background:var(--corail);
  color:#FFFFFF;
  font-size:11px;
  font-weight:bold;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:3px;
  margin-bottom:20px;
}
.hero h1{ color:#FFFFFF; font-size:38px; line-height:1.18; max-width:720px; }
.hero p.lead{ color:#D6E5DC; font-size:17px; max-width:600px; margin-bottom:28px; }
.hero .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }

/* ===== BANDE CHIFFRES ===== */
.chiffres{ background:var(--vert-fonce); }
.chiffres .grille{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  text-align:center;
}
.chiffres .item{
  padding:26px 12px;
  border-right:1px solid rgba(255,255,255,0.14);
}
.chiffres .item:last-child{ border-right:none; }
.chiffres .valeur{ color:var(--vert-clair); font-size:22px; font-weight:800; }
.chiffres .label{ color:#D7E6DC; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; margin-top:4px; }

/* ===== SECTIONS ===== */
section{ padding:64px 0; }
section.alt{ background:var(--gris); }
section.sombre{ background:var(--vert); color:#FFFFFF; }
section.sombre h2, section.sombre h3{ color:#FFFFFF; }
section.sombre .eyebrow{ color:var(--or); }
.section-head{ max-width:640px; margin-bottom:36px; }
.section-head h2{ font-size:28px; }
.section-head p{ color:var(--texte-doux); font-size:15.5px; }

/* ===== GRILLES DE CARTES ===== */
.grille-cartes{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; }
.grille-cartes.col-4{ grid-template-columns:repeat(4, 1fr); }
.carte{
  background:#FFFFFF;
  border:1px solid var(--bord);
  border-radius:var(--rayon);
  padding:26px;
}
.carte .num{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px;
  background:var(--vert);
  color:#FFFFFF;
  font-weight:bold; font-size:13px;
  border-radius:4px;
  margin-bottom:14px;
}
.carte h3{ font-size:17px; margin-bottom:8px; }
.carte p{ color:var(--texte-doux); font-size:14px; margin-bottom:10px; }
.carte a.voir{ font-weight:bold; font-size:13.5px; }

/* ===== POSITIONNEMENT ===== */
.positionnement-bloc{
  background:#FBF8F0;
  border:1px solid #E3D3A3;
  border-radius:var(--rayon);
  overflow:hidden;
}
.positionnement-bloc .entete{
  background:var(--or);
  color:#FFFFFF;
  padding:12px 24px;
  font-size:11px;
  font-weight:bold;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.positionnement-bloc .corps{ padding:24px 28px; }
.positionnement-bloc .corps p{ font-size:15px; }
.positionnement-bloc .jamais{
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed #E3D3A3;
  font-size:13.5px;
  color:var(--texte-doux);
}

/* ===== FOOTER ===== */
footer.site-footer{
  background:var(--vert-fonce);
  color:#B9CBC0;
  padding:44px 0 28px 0;
  font-size:13px;
}
footer.site-footer .grille{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:32px;
  margin-bottom:28px;
}
footer.site-footer h4{ color:#FFFFFF; font-family:Calibri, sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.6px; margin-bottom:12px; }
footer.site-footer a{ color:#B9CBC0; }
footer.site-footer a:hover{ color:#FFFFFF; }
footer.site-footer .legal{
  border-top:1px solid rgba(255,255,255,0.12);
  padding-top:18px;
  font-size:11.5px;
  color:#8FA69A;
  line-height:1.7;
}
footer.site-footer ul{ list-style:none; margin:0; padding:0; }
footer.site-footer li{ margin-bottom:8px; }

/* ===== FORMULAIRE ===== */
.form-card{
  background:#FFFFFF;
  border:1px solid var(--bord);
  border-radius:var(--rayon);
  padding:30px;
}
.champ{ margin-bottom:16px; }
.champ label{ display:block; font-size:13px; font-weight:bold; color:var(--vert); margin-bottom:6px; }
.champ input, .champ select, .champ textarea{
  width:100%;
  padding:11px 12px;
  border:1px solid var(--bord);
  border-radius:4px;
  font-family:inherit;
  font-size:14px;
  color:var(--texte);
  background:#FFFFFF;
}
.champ input:focus, .champ select:focus, .champ textarea:focus{
  outline:none; border-color:var(--vert);
}
.ligne-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.rgpd{ font-size:12.5px; color:var(--texte-doux); display:flex; gap:8px; align-items:flex-start; }
.rgpd input{ width:auto; margin-top:3px; }

/* ===== RESPONSIVE ===== */
@media (max-width:860px){
  .topnav nav{ display:none; }
  .hero h1{ font-size:30px; }
  .chiffres .grille{ grid-template-columns:repeat(2,1fr); }
  .chiffres .item{ border-right:none; border-bottom:1px solid rgba(255,255,255,0.14); }
  .grille-cartes{ grid-template-columns:1fr; }
  .grille-cartes.col-4{ grid-template-columns:1fr; }
  footer.site-footer .grille{ grid-template-columns:1fr; }
  .ligne-2{ grid-template-columns:1fr; }
}
