/* Palette : celle de la carte d'affaires. Un seul accent, le vert signal. */
:root{
  --encre:#172022;          /* texte et fonds foncés */
  --encre-2:#26312F;        /* survol des boutons foncés */
  --papier:#DFE0D9;         /* fond clair */
  --acier:#55636A;          /* texte secondaire : 4,8:1 sur le papier */
  --signal:#1C6F60;         /* accent sur fond clair */
  --signal-clair:#7FCBB3;   /* accent sur fond foncé : 9:1 sur l'encre */
  --texte-doux:#33403F;     /* paragraphes */
  --trait:#C9CCC4;
  --marge:clamp(1.25rem, 5vw, 5rem);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--papier);
  color:var(--encre);
  font-family:"Archivo",system-ui,sans-serif;
  font-variation-settings:"wdth" 100,"wght" 400;
  font-size:clamp(1rem,0.96rem + 0.2vw,1.0625rem);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
p{max-width:62ch}
img{max-width:100%}

a{color:inherit}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:2px}

.enveloppe{
  max-width:90%;
  margin:0 auto;
  padding:0 var(--marge)}

/* ---------- barre ---------- */
.barre{
  position:sticky;top:0;z-index:20;
  background:color-mix(in srgb,var(--papier) 88%,transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--trait);
}
.barre-int{
  display:flex;align-items:center;
  justify-content:space-between;
  gap:1rem;padding-block:.7rem;
}
.mot{
  font-variation-settings:"wdth" 118,"wght" 800;
  letter-spacing:.14em;font-size:1.05rem;text-transform:uppercase;
  text-decoration:none;line-height:1.15;
}
/* « Applications d'affaires » en petit, sous le nom : le logo reste compact sur téléphone */
.mot span{
  display:block;color:var(--signal);
  font-size:.6em;letter-spacing:.22em;
  font-variation-settings:"wdth" 110,"wght" 700;
}
.barre-liens{display:flex;align-items:center;gap:1.4rem;font-size:.9rem}
.barre-liens a{color:var(--acier);text-decoration:none}
.barre-liens a:hover{color:var(--encre);text-decoration:underline;text-underline-offset:4px}
.barre-liens .liens{display:flex;align-items:center;gap:1.4rem}
/* Sur téléphone : le logo et le bouton sur la première ligne, les liens sur une deuxième ligne défilante */
@media(max-width:760px){
  .barre-int{flex-wrap:wrap;row-gap:.45rem}
  .barre-liens{display:contents}
  .mot{order:1}
  .barre .bouton-tete{order:2;padding:.5rem .8rem;font-size:.82rem;margin-left:auto;flex-shrink:0}
  .barre .mot{font-size:.86rem;letter-spacing:.06em}
  .barre-liens .liens{
    order:3;width:100%;gap:.6rem;
    overflow-x:auto;white-space:nowrap;scrollbar-width:none;
    padding:.15rem 0 .1rem;font-size:.8rem;
  }
  .barre-liens .liens::-webkit-scrollbar{display:none}
}
@media(max-width:480px){.mot{font-size:.9rem;letter-spacing:.07em}}
.bouton-tete{
  white-space:nowrap;
  padding:.55rem 1.15rem;font-size:.85rem;
  color:var(--papier)!important;text-decoration:none!important;
}
.bouton-tete:hover{color:var(--papier)!important}

/* ---------- accroche ---------- */
.accroche{padding-block:clamp(3rem,9vw,6.5rem) clamp(2rem,5vw,3.5rem)}
.accroche-haut{
  display:grid;grid-template-columns:1.1fr .9fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media(max-width:800px){.accroche-haut{grid-template-columns:1fr}}
.accroche h1{
  margin:0 0 1.25rem;
  font-variation-settings:"wdth" 88,"wght" 700;
  font-size:clamp(2.1rem,1.2rem + 4.2vw,4.35rem);
  line-height:1.02;
  letter-spacing:-.022em;
  width: 100%;
  text-wrap:balance;
}
.accroche h1 em{font-style:normal;color:var(--signal)}
.sous{font-size:clamp(1.05rem,1rem + .45vw,1.3rem);color:#2C3A3C;max-width:52ch;margin:0 0 2rem}

/* Aperçu de la démo : une image nette du résultat, qui mène à la vidéo */
.apercu{
  position:relative;display:block;text-decoration:none;
  border-radius:10px;overflow:hidden;
  background:var(--encre);
  box-shadow:0 1px 0 var(--trait), 0 18px 40px -24px rgba(23,32,34,.45);
}
.apercu img{display:block;width:100%;height:auto}
.apercu .lecture{
  position:absolute;left:1rem;bottom:1rem;
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.6rem 1rem .6rem .8rem;border-radius:999px;
  background:var(--encre);color:var(--papier);
  font-size:.9rem;font-variation-settings:"wght" 600;
  transition:background .15s ease;
}
.apercu .lecture svg{width:1.1rem;height:1.1rem;fill:var(--signal-clair)}
.apercu:hover .lecture{background:var(--signal)}
.apercu:hover .lecture svg{fill:var(--papier)}
.apercu-video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:10px;background:var(--encre)}
.legende{margin:.7rem 0 0;color:var(--acier);font-size:.85rem}

/* ---------- boutons ---------- */
.bouton{
  display:inline-block;padding:.85rem 1.6rem;
  background:var(--encre);color:var(--papier);
  text-decoration:none;border:none;cursor:pointer;
  font-family:inherit;font-size:1rem;
  font-variation-settings:"wdth" 100,"wght" 600;
  border-radius:10px;
  transition:background .15s ease;
}
.bouton:hover{background:var(--signal)}
.appel{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}
.appel small{color:var(--acier);font-size:.88rem;max-width:22rem;line-height:1.4}

/* ---------- avant / après ---------- */
.bascule{
  display:grid;
  gap:1px;
  background:var(--trait);
  border:1px solid var(--trait);
  border-radius:10px;
  overflow:hidden;
  grid-template-columns:1fr 1fr;
  margin-top:clamp(2.5rem,6vw,4.5rem);
}
@media(max-width:700px){.bascule{grid-template-columns:1fr}}
.volet{
  background:var(--papier);
  padding:1.6rem clamp(1.1rem,2.5vw,2rem) 1.9rem;
}
.volet.cible{background:var(--encre);color:var(--papier)}
.volet h2{
  margin:0 0 1.1rem;font-size:.82rem;letter-spacing:.1em;
  font-variation-settings:"wdth" 110,"wght" 700;
  color:var(--acier);text-transform:uppercase;
}
.volet.cible h2{color:var(--signal-clair)}
.volet ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.volet li{
  display:grid;grid-template-columns:1.4rem 1fr;gap:.6rem;
  align-items:start;font-size:1.02rem;
}
.volet.cible .marqueur{color:var(--signal-clair);font-variation-settings:"wght" 700}

/* ---------- sections ---------- */
section{padding:clamp(3rem,7vw,5.5rem) 0}
.titre{
  font-variation-settings:"wdth" 92,"wght" 700;
  font-size:clamp(1.5rem,1.2rem + 1.4vw,2.25rem);
  letter-spacing:-.015em;margin:0 0 2rem;line-height:1.12;
}
.filet{border-top:1px solid var(--trait)}

/* Services : grille 2 × 2, aucun service seul sur sa rangée */
.offres{display:grid;gap:2.4rem clamp(1.5rem,4vw,3.5rem);grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.offres{grid-template-columns:1fr}}
.offre h3{
  margin:0 0 .5rem;font-size:1.16rem;
  font-variation-settings:"wdth" 100,"wght" 700;
  padding-top:.85rem;border-top:3px solid var(--signal);
}
.offre p{margin:0;color:var(--texte-doux);font-size:.99rem}

/* ---------- réalisations ---------- */
.realisation-video{
  aspect-ratio:16/9;
  background:rgba(15,26,28,.04);
  border:1px dashed var(--trait);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  color:var(--acier);font-size:.9rem;
  margin-bottom:1rem;
  overflow:hidden;
}
.realisation-video video,.realisation-video iframe{
  width:100%;height:100%;border:none;display:block;
}
.realisation h3{
  margin:0 0 .5rem;font-size:1.16rem;
  font-variation-settings:"wdth" 100,"wght" 700;
}
.realisation p{margin:0;color:var(--texte-doux);font-size:.99rem}

/* Projet en vedette : vidéo à gauche, explication à droite (empilé sur téléphone) */
.realisation.vedette{
  display:grid;grid-template-columns:1.35fr 1fr;
  gap:clamp(1.5rem,4vw,3rem);align-items:start;
}
@media(max-width:860px){.realisation.vedette{grid-template-columns:1fr}}
.realisation.vedette .realisation-video{margin-bottom:0;border-style:solid;aspect-ratio:auto;background:var(--encre)}
.realisation.vedette .realisation-video video{height:auto;aspect-ratio:16/9;background:var(--encre)}
.realisation-texte{display:grid;gap:.9rem;min-width:0}
.realisation-texte h3{margin:0;font-size:1.4rem}
.etiquette{
  font-size:.75rem!important;letter-spacing:.1em;text-transform:uppercase;
  font-variation-settings:"wdth" 110,"wght" 700;color:var(--signal)!important;
}
.avant-apres{margin:.2rem 0 0;display:grid;grid-template-columns:4.2rem 1fr;gap:.6rem 1rem}
.avant-apres dt{
  font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;
  font-variation-settings:"wght" 700;color:var(--acier);padding-top:.2rem;
}
.avant-apres dt:nth-of-type(2){color:var(--signal)}
.avant-apres dd{margin:0;color:var(--texte-doux);font-size:.99rem}

/* ---------- outils : une rangée compacte ---------- */
.outils-intro{margin:-1rem 0 1.6rem;color:var(--texte-doux)}
.outils-grille{
  display:grid;
  gap:8px;
  grid-template-columns:repeat(8,minmax(0,1fr));
}
@media(max-width:900px){.outils-grille{grid-template-columns:repeat(4,minmax(0,1fr))}}
.outil{
  background:#FFFFFF;padding:.9rem .5rem .8rem;
  border-radius:8px;
  display:flex;flex-direction:column;align-items:center;gap:.55rem;
  text-align:center;
}
.outil img{width:2rem;height:2rem;object-fit:contain}
.outil span{
  font-size:.66rem;letter-spacing:.06em;line-height:1.25;
  text-transform:uppercase;font-variation-settings:"wght" 700;
}
@media(max-width:480px){.outil{padding-inline:.25rem}.outil span{font-size:.6rem;letter-spacing:.02em}}

/* ---------- démarche (vraie séquence) ---------- */
.etapes{display:grid;gap:0;counter-reset:e}
.etape{
  display:grid;grid-template-columns:3.4rem 1fr;gap:1.25rem;
  padding:1.35rem 0;border-top:1px solid var(--trait);
}
.etape:last-child{border-bottom:1px solid var(--trait)}
.num{
  font-variation-settings:"wdth" 120,"wght" 700;
  font-size:1.5rem;color:var(--signal);line-height:1.1;
}
.etape h3{margin:.15rem 0 .3rem;font-size:1.08rem;font-variation-settings:"wght" 700}
.etape p{margin:0;color:var(--texte-doux);font-size:.98rem}
.etape .delai{color:var(--acier);font-size:.85rem;margin-top:.35rem;display:block}

/* ---------- témoignage (masqué tant qu'il est vide) ---------- */
.temoignage{
  margin:0;padding:clamp(1.5rem,4vw,2.5rem) 0 0;
  border-top:3px solid var(--signal);
  max-width:46rem;
}
.temoignage blockquote{
  margin:0 0 1.2rem;
  font-size:clamp(1.25rem,1.05rem + .9vw,1.7rem);
  line-height:1.35;letter-spacing:-.01em;
  font-variation-settings:"wdth" 92,"wght" 500;
  text-wrap:pretty;
}
.temoignage figcaption{color:var(--acier);font-size:.95rem}
.temoignage figcaption strong{color:var(--encre);font-variation-settings:"wght" 700}

/* ---------- pour qui ---------- */
.pourqui{display:grid;gap:2rem clamp(1.5rem,4vw,3.5rem);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));align-items:start}
.liste-check{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.liste-check li{display:grid;grid-template-columns:1.3rem 1fr;gap:.55rem;font-size:1rem}
.oui{color:var(--signal);font-variation-settings:"wght" 700}
.non{color:var(--acier)}

/* ---------- carte / contact ---------- */
.carte{
  background:var(--encre);color:var(--papier);
  padding:clamp(1.75rem,4vw,3rem);
  border-radius: 10px;
  display:grid;gap:2rem clamp(1.5rem,4vw,3rem);
  grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
  align-items:start;
}
.carte .nom{
  font-variation-settings:"wdth" 92,"wght" 700;
  font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem);line-height:1.1;margin:0 0 .35rem;
}
.carte .role{color:var(--signal-clair);margin:0 0 1.4rem;font-size:1rem}
.coord{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:1.02rem}
.coord a{color:var(--papier);text-decoration:none;border-bottom:1px solid rgba(236,237,232,.35)}
.coord a:hover{border-bottom-color:var(--signal-clair);color:var(--signal-clair)}
.coord .lieu{color:rgba(223,224,217,.72)}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
/* Sur la carte foncée, le bouton passe au vert clair pour rester visible */
.actions .bouton{background:var(--signal-clair);color:var(--encre)}
.actions .bouton:hover{background:var(--papier)}
.promesse p{color:rgba(236,237,232,.85);margin:0 0 1rem;max-width:40ch}
.promesse p:last-child{margin:0}

.pied{padding:1.5rem 0 3rem;color:var(--acier);font-size:.85rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}
.pied a{color:var(--acier)}

/* ---------- plusieurs réalisations ---------- */
.realisation + .realisation{margin-top:clamp(3rem,7vw,5rem);padding-top:clamp(3rem,7vw,5rem);border-top:1px solid var(--trait)}
.points{margin:.3rem 0 0;padding:0;list-style:none;display:grid;gap:.55rem}
.points li{position:relative;padding-left:1.2rem;color:var(--texte-doux);font-size:.97rem}
.points li::before{content:"";position:absolute;left:0;top:.62em;width:.5rem;height:2px;background:var(--signal)}
.points em{font-style:normal;font-variation-settings:"wght" 600;color:var(--encre)}

/* Fiche visuelle d'un projet dont la vidéo n'est pas encore publiée */
.fiche-projet{
  background:var(--encre);color:var(--papier);border-radius:10px;
  padding:clamp(1.25rem,3vw,2rem);display:grid;gap:.75rem;align-content:start;
}
.realisation .fiche-titre{margin:0 0 .3rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--signal-clair);font-variation-settings:"wdth" 110,"wght" 700}
.fiche-bloc{border:1px solid rgba(223,224,217,.18);border-radius:8px;padding:.85rem 1rem;display:grid;gap:.2rem}
.fiche-bloc strong{font-size:1.08rem;font-variation-settings:"wght" 700}
.fiche-bloc span:last-child{color:rgba(223,224,217,.78);font-size:.92rem;line-height:1.45}
.fiche-qui{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(223,224,217,.6)}
.fiche-socle{border-color:var(--signal-clair);background:rgba(127,203,179,.08)}

/* Colonne de gauche d'une réalisation : la vidéo, puis la fiche */
.colonne-media{display:grid;gap:1rem;min-width:0;align-content:start}
.colonne-media .realisation-video{margin-bottom:0;border-style:solid;aspect-ratio:auto;background:var(--encre)}
.colonne-media .realisation-video video{height:auto;aspect-ratio:16/9;background:var(--encre)}
