
/* Accueil 2026 — redesign validé étape par étape */
.home-redesign{
  --home-green:#173b30;
  --home-green-2:#285747;
  --home-sage:#8aa394;
  --home-cream:#f7f4ed;
  --home-cream-2:#f3efe7;
  --home-ink:#2f3632;
  background:var(--home-cream);
}
.home-redesign .container{width:min(1240px,calc(100% - 3rem))}
.home-redesign .header.home-header{
  position:relative;
  inset:auto;
  background:var(--home-cream);
  backdrop-filter:none;
  box-shadow:none;
  border-bottom:1px solid rgba(23,59,48,.08);
}
.home-redesign .home-header .nav{height:94px;color:var(--home-green)}
.home-brand{display:flex;align-items:center;gap:.8rem;color:var(--home-green)}
.home-brand img{width:112px;height:72px;object-fit:contain}
.home-brand span{font:600 1.85rem/1 var(--serif);letter-spacing:.03em}
.home-redesign .home-header .menu{color:var(--home-ink);gap:1.9rem;font-size:.74rem}
.home-redesign .home-header .menu a{opacity:1}
.home-redesign .home-header .menu a[aria-current="page"]{color:var(--home-green);position:relative}
.home-redesign .home-header .menu a[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:0;bottom:-.6rem;height:1px;background:var(--home-green)
}
.home-redesign .home-header .menu .cta{
  color:white;background:var(--home-green);border-color:var(--home-green);
  padding:.8rem 1rem;border-radius:.28rem;
}
.home-redesign .toggle span{background:var(--home-green)}

.home-hero-new{
  min-height:535px;
  display:flex;align-items:center;
  background:
    linear-gradient(90deg,rgba(9,24,18,.76) 0%,rgba(9,24,18,.54) 32%,rgba(9,24,18,.16) 52%,rgba(9,24,18,0) 72%),
    url("../img/hero-cervin.jpg") center center/cover no-repeat;
  color:white;
}
.home-hero-copy{max-width:510px;padding:4.5rem 0}
.home-hero-copy h1{
  font-size:clamp(3.4rem,5vw,5rem);
  line-height:.93;
  color:white;
  text-shadow:0 5px 22px rgba(0,0,0,.15);
}
.home-accent{width:42px;height:1px;background:#c7a070;margin:1.35rem 0 1.15rem}
.home-hero-copy p{margin:.25rem 0;max-width:470px;font-size:.98rem;line-height:1.65}
.home-hero-copy .actions{margin-top:1.45rem}
.home-redesign .btn{min-height:44px}
.home-redesign .home-outline{border:1px solid rgba(255,255,255,.8);color:white;background:rgba(255,255,255,.03)}

.section-home-spaced{padding:8.5rem 0 7.5rem;background:#fbfaf7}
.home-center-heading{text-align:center;max-width:850px;margin:0 auto 5rem}
.home-center-heading .eyebrow,.home-services-heading .eyebrow{
  color:var(--home-sage);font-size:.7rem;letter-spacing:.2em;margin-bottom:1.1rem
}
.home-center-heading h2,.home-services-heading h2{
  color:var(--home-green);font-size:clamp(2.7rem,4vw,4rem)
}
.home-center-heading>p:last-child{color:#626a65;max-width:780px;margin:1.2rem auto 0;line-height:1.65}

.home-method-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:stretch;
}
.home-method-item{
  display:grid;grid-template-columns:92px 1fr;gap:1rem;align-items:center;
  padding:0 1.5rem;border-right:1px solid rgba(23,59,48,.15);
}
.home-method-item:last-child{border-right:0}
.home-method-item img{width:82px;height:82px;object-fit:contain}
.home-method-item span{font:600 1.25rem var(--serif);color:var(--home-green)}
.home-method-item h3{font-size:2rem;color:var(--home-green);margin:.05rem 0 .5rem}
.home-method-item p{font-size:.82rem;line-height:1.55;margin:0;color:#59615d}

.home-services{padding:5.5rem 0 7rem;background:var(--home-cream-2)}
.home-services-heading{margin-bottom:2.8rem}
.home-services-heading h2{max-width:850px}
.home-service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
.home-service-card{
  position:relative;min-height:190px;border-radius:.12rem;overflow:hidden;
  background-size:cover;background-position:center;
}
.card-people{background-image:url("../img/home-card-personnes.jpg")}
.card-projects{background-image:url("../img/home-card-projets.jpg")}
.card-org{background-image:url("../img/home-card-organisations.jpg")}
.home-card-mask{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(9,25,19,.90) 0%,rgba(9,25,19,.73) 52%,rgba(9,25,19,.15) 100%);
}
.home-service-content{
  position:relative;z-index:2;color:white;padding:2rem 1.6rem 1.25rem;
  max-width:83%;
}
.home-service-content h3{color:white;font-size:2rem;margin:0 0 .45rem}
.home-service-content p{font-size:.79rem;line-height:1.55;margin:0 0 1.1rem}
.home-service-content a{
  color:white;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
}

.home-why{padding:7.5rem 0 7rem;background:var(--home-cream-2)}
.home-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.home-values-grid article{border-top:1px solid rgba(23,59,48,.18);padding-top:1.7rem}
.home-values-grid span{font:600 1.45rem var(--serif);color:#829989}
.home-values-grid h3{font-size:2.1rem;color:var(--home-green);margin:.1rem 0 .8rem}
.home-values-grid p{font-size:.86rem;color:#69706c;margin:0;line-height:1.6}

.home-quote{
  min-height:430px;display:flex;align-items:center;text-align:center;color:white;
  background:
    linear-gradient(rgba(17,42,33,.67),rgba(17,42,33,.69)),
    url("../img/hero-cervin.jpg") center 58%/cover no-repeat;
}
.home-quote blockquote{
  margin:0 auto;max-width:900px;
  font:600 clamp(2.5rem,4.5vw,4.25rem)/1.15 var(--serif);
}

.home-contact-cta{padding:7.5rem 0 8.5rem;background:var(--home-cream-2);text-align:center}
.home-contact-cta .container{max-width:900px}
.home-contact-cta .eyebrow{color:var(--home-sage)}
.home-contact-cta h2{font-size:clamp(3rem,4.4vw,4.6rem);color:var(--home-green);line-height:1}
.home-contact-cta p{margin:1rem auto 1.35rem;max-width:760px;color:#575f5a}

.home-footer{background:var(--home-cream);color:var(--home-ink);padding:5.2rem 0 1.4rem;border-top:1px solid rgba(23,59,48,.1)}
.home-footer-main{
  display:grid;grid-template-columns:1.45fr 1fr 1.05fr 1.05fr 1.3fr;
  gap:2rem;align-items:start;padding-bottom:4rem;
}
.home-footer-brand{text-align:center;padding-right:1.7rem;border-right:1px solid rgba(23,59,48,.12)}
.home-footer-brand img{width:145px;height:95px;object-fit:contain;margin:0 auto .2rem}
.home-footer-brand strong{display:block;font:600 1.75rem var(--serif);color:var(--home-green);letter-spacing:.03em}
.home-footer-brand p{font:italic 1.45rem/1.25 var(--serif);color:#6e8879;margin:1.2rem 0 0}
.home-footer-col{display:flex;flex-direction:column;gap:.72rem;padding-left:1.2rem;border-left:1px solid rgba(23,59,48,.12)}
.home-footer-col h3{
  font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.16em;
  color:#758d7e;margin:0 0 .7rem
}
.home-footer-col a,.home-footer-col>span{font-size:.83rem;color:#303833}
.home-footer-contact a,.home-contact-line{display:flex;align-items:center;gap:.65rem}
.home-footer-contact svg{width:19px;height:19px;fill:none;stroke:#315849;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.home-footer-bottom{
  display:flex;justify-content:center;align-items:center;gap:2rem;
  padding-top:1.4rem;border-top:1px solid rgba(23,59,48,.13);
  font-size:.75rem;color:#59635d;
}
.home-footer-bottom>span:last-child{display:flex;align-items:center;gap:1.2rem}
.home-footer-bottom i{width:1px;height:14px;background:rgba(23,59,48,.2)}

@media(max-width:1050px){
  .home-redesign .home-header .menu{gap:1.1rem}
  .home-brand span{font-size:1.5rem}
  .home-brand img{width:94px}
  .home-method-grid{grid-template-columns:1fr 1fr;gap:2.2rem 0}
  .home-method-item:nth-child(2){border-right:0}
  .home-footer-main{grid-template-columns:1.35fr 1fr 1fr}
  .home-footer-contact{grid-column:2 / 4}
}
@media(max-width:900px){
  .home-redesign .home-header .menu{
    color:white;background:rgba(20,42,33,.99)
  }
  .home-redesign .home-header .menu a[aria-current="page"]{color:white}
  .home-brand span{display:block}
  .home-service-cards{grid-template-columns:1fr}
  .home-service-card{min-height:240px}
  .home-values-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .home-redesign .container{width:calc(100% - 1.6rem)}
  .home-redesign .home-header .nav{height:76px}
  .home-brand img{width:75px;height:54px}
  .home-brand span{font-size:1.15rem}
  .home-hero-new{min-height:560px;background-position:58% center}
  .home-hero-copy{padding:4rem 0}
  .home-hero-copy h1{font-size:3.4rem}
  .section-home-spaced{padding:6rem 0 5.5rem}
  .home-center-heading{margin-bottom:3.5rem}
  .home-method-grid{grid-template-columns:1fr}
  .home-method-item{border-right:0;border-bottom:1px solid rgba(23,59,48,.13);padding:1rem 0 1.8rem}
  .home-method-item:last-child{border-bottom:0}
  .home-services{padding:4.5rem 0}
  .home-services-heading h2{font-size:3rem}
  .home-why{padding:5.5rem 0}
  .home-values-grid{grid-template-columns:1fr}
  .home-quote{min-height:350px}
  .home-quote blockquote br{display:none}
  .home-contact-cta{padding:5.5rem 0 6rem}
  .home-footer-main{grid-template-columns:1fr}
  .home-footer-brand{border-right:0;padding-right:0;padding-bottom:2rem;border-bottom:1px solid rgba(23,59,48,.12)}
  .home-footer-col{border-left:0;padding-left:0}
  .home-footer-contact{grid-column:auto}
  .home-footer-bottom{flex-direction:column;gap:.8rem;text-align:center}
}


/* === Ajustements accueil validés — V3 === */

/* Hero : même bandeau / même image ; titre sur 2 lignes avec taille doublée. */
.home-hero-copy{
  max-width: 980px;
}
.home-hero-copy h1{
  font-size: clamp(5.8rem, 7.2vw, 8rem);
  line-height: .93;
  white-space: nowrap;
}
.home-hero-copy p{
  font-size: 1.45rem;
  line-height: 1.62;
  max-width: 760px;
}
.home-hero-copy .btn{
  font-size: 1.05rem;
  padding-left: 1.35rem;
  padding-right: 1.35rem;
}

/* Accompagnements : fond distinct du bloc précédent + photos éclaircies. */
.home-services{
  background: #f0ece3;
}
.home-card-mask{
  background: linear-gradient(
    90deg,
    rgba(9,25,19,.48) 0%,
    rgba(9,25,19,.34) 52%,
    rgba(9,25,19,.08) 100%
  );
}

/* Pourquoi Racines & Cimes : titre inchangé, autres polices agrandies. */
.home-why .home-center-heading .eyebrow{
  font-size: .95rem;
}
.home-why .home-center-heading > p:last-child{
  font-size: 1.18rem;
  line-height: 1.7;
  max-width: 980px;
}
.home-values-grid span{
  font-size: 1.65rem;
}
.home-values-grid p{
  font-size: 1.12rem;
  line-height: 1.65;
}

/* Citation */
.home-quote blockquote{
  max-width: 1100px;
}

/* Responsive */
@media(max-width:1050px){
  .home-hero-copy h1{
    font-size: clamp(4.5rem, 8vw, 6.4rem);
    white-space: normal;
  }
}
@media(max-width:620px){
  .home-hero-copy h1{
    font-size: 3.65rem;
    white-space: normal;
  }
  .home-hero-copy p{
    font-size: 1.08rem;
  }
}


/* =========================================================
   ACCUEIL V4 — corrections validées bloc par bloc
   ========================================================= */

/* 1. Bandeau : même logo, mêmes intitulés, davantage d'espace horizontal. */
.home-redesign .home-header .nav{
  width:min(1500px,calc(100% - 4rem));
  max-width:none;
}
.home-redesign .home-header .menu{
  flex:1;
  justify-content:flex-end;
  gap:clamp(1.8rem,2.7vw,3.4rem);
}
.home-redesign .home-header .menu .cta{
  margin-left:clamp(.6rem,1.3vw,1.4rem);
}

/* 2. Hero : bloc texte décalé vers la gauche ; seul le titre est réduit. */
.home-hero-new .container{
  width:min(1500px,calc(100% - 4rem));
  max-width:none;
}
.home-hero-copy{
  margin-left:0;
  max-width:860px;
}
.home-hero-copy h1{
  font-size:clamp(4.4rem,5.6vw,6.2rem);
  line-height:.96;
  white-space:normal;
}
/* annule l'agrandissement V3 des textes courants et des boutons */
.home-hero-copy p{
  font-size:.98rem;
  line-height:1.65;
  max-width:620px;
}
.home-hero-copy .btn{
  font-size:.78rem;
  padding-left:1.05rem;
  padding-right:1.05rem;
}

/* 3. Méthode : première partie inchangée.
      Partie 4 étapes plus large, alignée sur la grille générale,
      fond identique au bandeau, pictogrammes inchangés mais contour renforcé. */
.home-method{
  background:var(--home-cream) !important;
}
.home-method .container{
  width:min(1500px,calc(100% - 4rem));
  max-width:none;
}
.home-method-grid{
  width:100%;
  gap:0;
}
.home-method-item{
  grid-template-columns:112px 1fr;
  gap:1.35rem;
  padding:0 2.1rem;
}
.home-method-item:first-child{padding-left:0}
.home-method-item:last-child{padding-right:0}
.home-method-item img{
  width:96px;
  height:96px;
  box-sizing:border-box;
  border:2px solid #8fa99b;
  border-radius:50%;
  padding:7px;
  background:transparent;
}

/* 4. Trois domaines : fond plus clair que le bloc précédent,
      surtitre plus grand, titre sur une ligne, images éclaircies,
      textes conservés. */
.home-services{
  background:#fcfbf8 !important;
}
.home-services .container{
  width:min(1500px,calc(100% - 4rem));
  max-width:none;
}
.home-services-heading .eyebrow{
  font-size:.9rem;
  letter-spacing:.2em;
}
.home-services-heading h2{
  max-width:none;
  white-space:nowrap;
}
.home-service-card{
  min-height:300px;
  border-radius:.5rem;
  box-shadow:0 8px 22px rgba(25,45,37,.08);
}
/* Les images restent les mêmes scènes mais sont visuellement remplacées
   par leur version claire : on neutralise l'ancien voile sombre et on
   applique un voile clair qui masque aussi les anciens textes incrustés. */
.home-card-mask{
  background:linear-gradient(
    90deg,
    rgba(250,248,242,.88) 0%,
    rgba(250,248,242,.70) 50%,
    rgba(250,248,242,.18) 100%
  ) !important;
}
.home-service-content{
  color:var(--home-ink);
  max-width:82%;
  padding:3rem 2rem 1.7rem;
}
.home-service-content h3{
  color:var(--home-green);
}
.home-service-content p{
  color:#333b36;
  font-size:.86rem;
}
.home-service-content a{
  color:var(--home-green);
}

/* 5. Pourquoi Racines & Cimes : bloc validé tel quel.
      On n'ajoute aucune modification supplémentaire. */

/* 6. Citation : deux lignes. */
.home-quote blockquote{
  max-width:1250px;
  line-height:1.12;
}

/* 7. Premier échange : phrase descriptive sur une seule ligne sur desktop. */
.home-contact-cta .container{
  max-width:1250px;
}
.home-contact-cta > .container > p:not(.eyebrow){
  max-width:none;
  white-space:nowrap;
}

/* 8. Footer : alignement avec le bandeau + 5 titres cliquables uniquement. */
.home-footer{
  background:var(--home-cream);
}
.home-footer .container{
  width:min(1500px,calc(100% - 4rem));
  max-width:none;
}
.home-footer-main-simple{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:3.5rem;
  align-items:center;
  padding-bottom:3rem;
}
.home-footer-main-simple .home-footer-brand{
  padding-right:2.5rem;
}
.home-footer-nav-simple{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  align-items:center;
}
.home-footer-nav-simple a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:82px;
  padding:0 1.2rem;
  border-left:1px solid rgba(23,59,48,.14);
  color:#536a5f;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-footer-bottom{
  justify-content:center;
}

/* Responsive */
@media(max-width:1100px){
  .home-services-heading h2{white-space:normal}
  .home-method-item{
    grid-template-columns:92px 1fr;
    padding:0 1.2rem;
  }
  .home-method-item img{width:82px;height:82px}
  .home-footer-main-simple{
    grid-template-columns:1fr;
  }
  .home-footer-main-simple .home-footer-brand{
    border-right:0;
    border-bottom:1px solid rgba(23,59,48,.12);
    padding-right:0;
    padding-bottom:2rem;
  }
}
@media(max-width:900px){
  .home-redesign .home-header .nav,
  .home-hero-new .container,
  .home-method .container,
  .home-services .container,
  .home-footer .container{
    width:calc(100% - 2rem);
  }
  .home-footer-nav-simple{
    grid-template-columns:1fr 1fr;
  }
  .home-footer-nav-simple a{
    border-left:0;
    border-top:1px solid rgba(23,59,48,.12);
  }
  .home-contact-cta > .container > p:not(.eyebrow){
    white-space:normal;
  }
}
@media(max-width:620px){
  .home-method-item{
    padding:1rem 0 1.8rem;
  }
  .home-footer-nav-simple{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   ACCUEIL V5 — bloc « Accompagnements » final validé
   ========================================================= */

/* On conserve le titre, le fond et les espacements validés.
   Les trois cartes sont désormais les visuels finaux validés,
   sans texte ancien visible en arrière-plan. */
.home-service-cards-final{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.9rem;
}
.home-service-card-final{
  display:block;
  overflow:hidden;
  border-radius:.55rem;
  box-shadow:0 8px 22px rgba(25,45,37,.10);
  transition:transform .18s ease, box-shadow .18s ease;
}
.home-service-card-final img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1.02 / 1;
  object-fit:cover;
}
.home-service-card-final:hover,
.home-service-card-final:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(25,45,37,.14);
}
.home-service-card-final:focus-visible{
  outline:2px solid var(--home-green);
  outline-offset:3px;
}

@media(max-width:900px){
  .home-service-cards-final{
    grid-template-columns:1fr;
  }
  .home-service-card-final img{
    aspect-ratio:auto;
  }
}

/* FOOTER COMPACT — référence commune à toutes les pages */
.home-footer{
  padding-top:1.15rem !important;
  padding-bottom:1.15rem !important;
}
.home-footer .home-footer-main{
  padding-top:0 !important;
  padding-bottom:0 !important;
  min-height:0 !important;
}
.home-footer .home-footer-bottom{
  margin-top:.75rem !important;
  padding-top:.65rem !important;
  padding-bottom:0 !important;
}
