/* ==========================================================================
   HOME — PROTOTYPE DA V2.1 (index.html UNIQUEMENT)
   Corrections apportées suite au test visuel 1920×1080 :
   1. Contraste : plus aucun texte clair sur fond papier/beige.
   2. Densité desktop : hauteurs et espacements réduits section par
      section, sans toucher aux breakpoints mobile/tablette.
   3. Suppression de la flèche/animation de scroll du Hero.
   4. Photo Origine ramenée à une emprise proche de la V1.
   Ce fichier n'est chargé que par index.html : rien ici n'affecte les
   cinq autres pages.
   ========================================================================== */

:root{
  --display: 'Montserrat', 'Public Sans', sans-serif;
  --home-wrap: 1460px;
  --home-gutter: clamp(24px, 4.2vw, 88px);
}

#territories .wrap,
#approach .wrap,
#origin .wrap,
#support .wrap,
.home-hero .wrap,
.cta-final--home .wrap,
.conviction .wrap{
  max-width:var(--home-wrap);
  padding-left:var(--home-gutter);
  padding-right:var(--home-gutter);
}

body.page-home .nav__inner{
  max-width:var(--home-wrap);
  padding-left:var(--home-gutter);
  padding-right:var(--home-gutter);
}
body.page-home .nav__logo{
  font-weight:500;
  letter-spacing:.01em;
}
body.page-home .site-footer .wrap{
  max-width:var(--home-wrap);
  padding-left:var(--home-gutter);
  padding-right:var(--home-gutter);
}
body.page-home .site-footer__brand{
  font-weight:500;
}

/* ============ 01 HERO ============
   Hauteur contrôlée : on ne réserve plus une hauteur de figure fixe,
   les deux colonnes se calent sur le contenu réellement présent. */
.home-hero{background:var(--navy); color:var(--mist); overflow:hidden;}
.home-hero__grid{
  display:grid;
  grid-template-columns:7fr 5fr;
  gap:clamp(32px,5vw,72px);
  align-items:center;
  padding:clamp(56px,7vw,104px) 0;
}
.home-hero h1{
  font-family:var(--display);
  font-weight:300;
  font-size:clamp(36px,3.7vw,70px);
  line-height:1.04;
  letter-spacing:-0.01em;
  color:#fff;
  max-width:13ch;
}
.home-hero__lead{
  font-family:var(--body);
  font-style:normal;
  font-weight:400;
  font-size:clamp(16px,1.3vw,18px);
  line-height:1.55;
  color:var(--mist);
  max-width:36ch;
  margin-top:clamp(22px,2.4vw,32px);
}
.home-hero__meta{
  font-size:13.5px;
  color:var(--mist-dim);
  margin-top:16px;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-family:var(--mono);
}
.home-hero__actions{
  display:flex; gap:18px; flex-wrap:wrap;
  margin-top:34px;
}
.home-hero__figure{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.home-hero__choice{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}
.home-hero__choice-word{
  font-family:var(--display);
  font-weight:500;
  text-transform:uppercase;
  font-size:clamp(28px,3.1vw,46px);
  line-height:1.02;
  letter-spacing:.01em;
  color:#fff;
}
.home-hero__choice-or{
  font-family:var(--mono);
  font-style:normal;
  font-weight:400;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--terracotta);
  margin:6px 0 6px 2px;
}
.home-hero__choice-invite{
  margin-top:22px;
  font-family:var(--body);
  font-size:14px;
  line-height:1.55;
  color:var(--mist-dim);
  max-width:24ch;
}
@media(max-width:880px){
  .home-hero__grid{grid-template-columns:1fr; padding-top:64px;}
  .home-hero__figure{margin-top:56px; justify-content:flex-start;}
}

/* ============ 02 CONVICTION ============
   Rupture de rythme : section volontairement compacte. */
.conviction{ padding:clamp(48px,5.5vw,76px) 0; }
.conviction__inner{max-width:none;}
@media(min-width:1000px){
  .conviction__inner{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    column-gap:clamp(48px,6vw,96px);
    align-items:center;
  }
  .conviction__lead{ grid-column:1; grid-row:1; }
  .conviction__oppositions{ grid-column:2; grid-row:1; margin-top:0; }
  .conviction__close{ grid-column:1/-1; grid-row:2; margin-top:36px; }
}
.conviction__lead{
  font-family:var(--display);
  font-weight:300;
  font-size:clamp(28px,3.1vw,48px);
  line-height:1.1;
  color:var(--navy);
  max-width:12ch;
}
.conviction__oppositions{
  margin-top:40px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.conviction__oppositions p{
  font-family:var(--display);
  font-size:clamp(17px,1.5vw,20px);
  font-weight:400;
  line-height:1.3;
  color:var(--ink);
}
.conviction__oppositions p:nth-child(1){margin-left:0;}
.conviction__oppositions p:nth-child(2){margin-left:clamp(0px,3vw,32px);}
.conviction__oppositions p:nth-child(3){margin-left:clamp(0px,6vw,64px);}
.conviction__oppositions .pos{color:var(--navy); font-weight:500;}
.conviction__oppositions .neg{
  color:var(--ink-soft);
  text-decoration:line-through;
  text-decoration-color:var(--terracotta);
  text-decoration-thickness:1.5px;
}
.conviction__close{
  font-family:var(--body);
  font-size:15px;
  line-height:1.6;
  color:var(--ink-soft);
  max-width:52ch;
  padding-top:24px;
  border-top:1px solid var(--line-dark);
}

/* ============ 03 TERRITOIRES (fond papier) ============
   Contraste corrigé : les repères terracotta sur fond clair passent en
   --terracotta-dark (le terracotta standard, pensé pour un fond bleu
   nuit, n'offre pas un contraste suffisant sur le papier). */
.territories{ padding:clamp(56px,6.5vw,96px) 0; }
.territories .eyebrow{ color:var(--terracotta-dark); }
.territories h2{
  font-family:var(--display);
  font-weight:300;
  font-size:clamp(24px,2.3vw,36px);
  color:var(--navy);
  max-width:19ch;
  margin-bottom:clamp(36px,4.5vw,56px);
}
.territories__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(28px,3.5vw,48px);
}
.territory{
  padding-top:22px;
  border-top:1px solid var(--line-dark);
}
.territory:nth-child(1){transform:translateY(0);}
.territory:nth-child(2){transform:translateY(clamp(0px,3vw,32px));}
.territory:nth-child(3){transform:translateY(clamp(0px,1.4vw,12px));}
.territory__index{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--terracotta-dark);
}
.territory h3{
  font-family:var(--display);
  font-size:clamp(18px,1.5vw,22px);
  font-weight:500;
  color:var(--navy);
  margin-top:12px;
}
.territory p{
  margin-top:12px;
  font-family:var(--body);
  font-size:14.5px;
  line-height:1.6;
  color:var(--ink-soft);
  max-width:34ch;
}
.territories__link{ margin-top:clamp(32px,4vw,48px); display:inline-flex; }
@media(max-width:820px){
  .territories__grid{grid-template-columns:1fr; gap:40px;}
  .territory:nth-child(1),.territory:nth-child(2),.territory:nth-child(3){transform:none;}
}

/* ============ 04 APPROCHE — pic graphique, mais mieux composé ============
   Labels et explications fusionnés en un seul objet sous le tracé
   (au lieu de deux blocs empilés) : la section reste le sommet visuel
   de la page sans imposer une succession verticale inutile. */
.approach{ padding:clamp(72px,8.5vw,120px) 0; }
.approach h2{
  font-family:var(--display);
  font-weight:300;
  font-size:clamp(28px,2.8vw,44px);
  color:#fff;
  max-width:13ch;
}
.approach__path{
  position:relative;
  margin-top:clamp(48px,6vw,80px);
}
.approach__path svg{width:100%; height:auto; overflow:visible;}
.approach__path-line{
  fill:none;
  stroke:var(--terracotta);
  stroke-width:1.6;
  stroke-linecap:round;
}
.approach__path-dot{fill:var(--navy);}
.approach__path-dot--end{fill:var(--terracotta);}
.approach__legend{
  margin-top:22px;
  display:flex;
  gap:clamp(14px,2vw,28px);
}
.approach__legend-item{ flex:1; min-width:0; }
.approach__label{
  display:block;
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--mist-dim);
  margin-bottom:10px;
}
.approach__legend-item.is-key .approach__label{ color:var(--terracotta); }
.approach__legend-item p{
  font-family:var(--body);
  font-size:14px;
  line-height:1.55;
  color:var(--mist);
}
.approach__note{
  margin-top:clamp(48px,5.5vw,72px);
  padding-top:28px;
  border-top:1px solid var(--navy-line);
  font-family:var(--display);
  font-style:normal;
  font-weight:300;
  font-size:clamp(22px,2vw,30px);
  line-height:1.35;
  color:#fff;
  max-width:26ch;
}
.approach__signature{
  margin-top:20px;
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--terracotta);
}
@media(max-width:820px){
  .approach__legend{ flex-wrap:wrap; }
  .approach__legend-item{ flex:1 1 40%; }
  .approach__label{font-size:9.5px;}
}

/* ============ 05 ORIGINE — présence raisonnable de la photo ============
   Retour à une proportion proche de la V1 : la photo accompagne le
   contenu, elle n'en devient pas le centre. */
.origin{ padding:clamp(56px,6.5vw,96px) 0; }
.origin__grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(36px,5vw,72px);
  align-items:center;
}
.origin__photo{
  position:relative;
  aspect-ratio:4/5;
  max-width:340px;
  background:
    repeating-linear-gradient(135deg, rgba(23,32,43,.05) 0 2px, transparent 2px 14px),
    var(--paper-dim);
  border:1px solid var(--line-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  overflow:hidden;
}
.origin__photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.origin__photo span{
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-soft);
  line-height:1.8;
}
.origin__lead{
  font-family:var(--display);
  font-weight:300;
  font-size:clamp(28px,2.6vw,44px);
  line-height:1.1;
  color:var(--navy);
  max-width:12ch;
  margin-bottom:20px;
}
.origin__content p + p{
  margin-top:16px;
  font-family:var(--body);
  font-size:15.5px;
  line-height:1.65;
  color:var(--ink-soft);
  max-width:52ch;
}
.origin__content .link-arrow{margin-top:28px;}
@media(max-width:820px){
  .origin__grid{grid-template-columns:1fr;}
  .origin__photo{max-width:280px;}
}

/* ============ 06 ACCOMPAGNEMENT (Home) — une seule composition ============ */
.support{max-width:none;}
.support > .eyebrow{ margin-bottom:16px; color:var(--terracotta-dark); }
.support h2{
  font-family:var(--display);
  font-weight:300;
  font-size:clamp(24px,2.3vw,34px);
  color:var(--navy);
  max-width:16ch;
}
.support p.support__body{
  font-family:var(--body);
  font-size:15.5px;
  line-height:1.65;
  color:var(--ink-soft);
  max-width:48ch;
}
.support p.support__body + p.support__body{ margin-top:14px; }
@media(min-width:1000px){
  .support--home{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    column-gap:clamp(48px,6vw,88px);
  }
  .support--home > .eyebrow{ grid-column:1; grid-row:1; }
  .support--home > h2{ grid-column:1; grid-row:2; align-self:start; }
  .support--home p.support__body:nth-of-type(1){ grid-column:2; grid-row:1; margin-top:0; }
  .support--home p.support__body:nth-of-type(2){ grid-column:2; grid-row:2; }
  .support--home > .support__sequence{ grid-column:1/-1; grid-row:3; }
  .support--home > .support__close{ grid-column:1/-1; grid-row:4; }
  .support--home > .link-arrow{ grid-column:1/-1; grid-row:5; }
}
.support__sequence{
  margin-top:32px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  padding:18px 0;
  border-top:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
}
.support__sequence span{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--navy);
}
.support__sequence .arrow{color:var(--terracotta-dark); font-family:var(--body);}
.support__close{
  margin-top:24px;
  font-family:var(--display);
  font-style:normal;
  font-weight:400;
  font-size:clamp(19px,1.7vw,22px);
  line-height:1.35;
  color:var(--navy);
  max-width:36ch;
}
.support .link-arrow{margin-top:22px;}

/* ============ 07 CTA FINAL (Home) — conclusion nette ============ */
.cta-final--home{ padding:0; }
.cta-final__inner.cta-final__inner--home{
  max-width:var(--home-wrap);
  padding:clamp(64px,7.5vw,104px) 0;
}
@media(min-width:900px){
  .cta-final__inner.cta-final__inner--home{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    column-gap:clamp(56px,7vw,100px);
    align-items:center;
  }
  .cta-final__inner.cta-final__inner--home h2{ grid-column:1; grid-row:1/4; align-self:center; }
  .cta-final__inner.cta-final__inner--home p:nth-of-type(1){ grid-column:2; grid-row:1; margin-top:0; }
  .cta-final__inner.cta-final__inner--home p:nth-of-type(2){ grid-column:2; grid-row:2; }
  .cta-final__inner.cta-final__inner--home .btn{ grid-column:2; grid-row:3; justify-self:start; }
}
.cta-final--home h2{
  font-family:var(--display);
  font-weight:300;
  font-size:clamp(32px,3.6vw,58px);
  line-height:1.05;
  color:#fff;
  max-width:11ch;
}
.cta-final--home p{
  font-family:var(--body);
  font-size:15.5px;
  line-height:1.65;
  color:var(--mist);
  max-width:42ch;
}
.cta-final--home .btn{ margin-top:24px; }
