/* Verno Conseil · maquette accueil
   Registre relevé sur la référence « Growth » : une sans-serif, aucun accent,
   blanc + gris froid, bandes pleine largeur et cartes arrondies, titres centrés. */
:root{
  --blanc:#FFFFFF;
  --gris:#F3F3F3;          /* bande hero, cartes */
  --gris-carte:#F7F7F7;
  --trait:#E6E6E6;
  --encre:#141414;
  --texte-2:#6B6B6B;
  --marine:#1E3A5F;        /* accent validé par la cliente (02/10) */
  --marine-fonce:#152B47;
  --marine-clair:#E9EEF5;
  --bouton:var(--marine);
  --bouton-hover:var(--marine-fonce);
  --police:'Manrope', 'Helvetica Neue', Arial, sans-serif;
  --rayon:14px;
  --rayon-btn:9px;
  --largeur:1180px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--blanc);color:var(--encre);font-family:var(--police);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-0.025em;text-wrap:balance;hyphens:none}
p{margin:0}
:focus-visible{outline:2px solid var(--encre);outline-offset:3px;border-radius:6px}
.enveloppe{max-width:var(--largeur);margin:0 auto;padding-inline:24px}

/* ---------- Boutons, pastilles ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--rayon-btn);font-weight:600;font-size:14px;transition:background .2s}
.btn-plein{background:var(--bouton);color:#fff}
.btn-plein:hover{background:var(--bouton-hover)}
.btn-lien{padding:0 6px;font-size:14px}
.btn-lien:hover{text-decoration:underline;text-underline-offset:4px}
.btn svg{flex-shrink:0}
.pastille{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--blanc);border:1px solid var(--trait);font-size:12px;font-weight:600;color:var(--encre)}
.pastille-grise{background:var(--marine-clair);border-color:transparent;color:var(--marine)}
.puce{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;background:var(--blanc);border:1px solid var(--trait);font-size:12px;font-weight:600}
.puce:hover{border-color:#cfcfcf}

/* ---------- Barre haute ---------- */
.barre-haute{border-bottom:1px solid var(--trait);font-size:12.5px;font-weight:500}
.barre-haute .enveloppe{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:42px}
.barre-haute .infos,.barre-haute .reseaux{display:flex;align-items:center;gap:22px}
.barre-haute .infos span,.barre-haute .infos a{display:inline-flex;align-items:center;gap:6px}
.barre-haute .reseaux a{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center}
.sep{width:1px;height:16px;background:var(--trait)}

/* ---------- Navigation ---------- */
.nav{background:var(--blanc)}
.nav .enveloppe{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.logo{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:700;letter-spacing:-0.03em}
.logo-marque{display:flex;gap:3px}
.logo-marque i{display:block;width:6px;height:18px;background:var(--marine);border-radius:2px;transform:skewX(-18deg)}
.logo-marque i:nth-child(2){opacity:.6}.logo-marque i:nth-child(3){opacity:.3}
.menu{display:flex;gap:30px;font-size:14px;font-weight:600}
.menu a{padding:6px 0}
.menu a:hover{text-decoration:underline;text-underline-offset:5px}
.nav-actions{display:flex;align-items:center;gap:10px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--trait);border-radius:var(--rayon-btn);background:var(--blanc);align-items:center;justify-content:center;cursor:pointer}

/* ---------- Hero ---------- */
.hero{background:var(--gris);padding-block:84px 72px;overflow:hidden}
.hero-texte{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;max-width:980px;margin:0 auto;padding-inline:24px}
.hero h1{font-size:clamp(34px,4.6vw,56px);line-height:1.08;max-width:900px}
.hero .pastille{background:#E6E6E6;border-color:transparent}
.hero-texte > p{font-size:16.5px;color:var(--texte-2);max-width:500px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;margin-top:6px}
.note{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:12px;font-weight:600;color:var(--texte-2)}
.etoiles{display:flex;gap:2px;color:var(--marine)}

/* Bandeau photos : l'élément qui domine — il déborde des deux bords et défile */
.bandeau{margin-top:64px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.bandeau-piste{display:flex;gap:18px;width:max-content;animation:defile 60s linear infinite}
.bandeau:hover .bandeau-piste{animation-play-state:paused}
.bandeau figure{margin:0;width:212px;height:290px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#ddd}
.bandeau img{width:100%;height:100%;object-fit:cover}
@keyframes defile{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.bandeau-piste{animation:none}}

/* ---------- Section : en-tête centré ---------- */
.section{padding-block:104px}
.tete{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:680px;margin:0 auto 52px}
.tete h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1}
.tete p{color:var(--texte-2);font-size:15.5px}

/* ---------- Chiffres ---------- */
.grille-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.carte-chiffre{position:relative;background:var(--gris-carte);border-radius:var(--rayon);padding:30px 28px;display:flex;flex-direction:column;gap:14px}
.carte-chiffre .nombre{color:var(--marine);font-size:46px;font-weight:600;letter-spacing:-0.04em;line-height:1}
.carte-chiffre h3{font-size:15px;letter-spacing:-0.01em;display:flex;align-items:center;gap:8px}
.carte-chiffre p{color:var(--texte-2);font-size:14px}
.carte-chiffre .puce{align-self:flex-start;margin-top:6px}
.carte-vedette{background:var(--marine);color:#fff}
.carte-vedette .nombre{color:#fff}
.carte-vedette p{color:#C9D5E5}
.carte-vedette .puce{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}
.carte-vedette .etiquette{background:rgba(255,255,255,.18);color:#fff}
.etiquette{position:absolute;top:22px;right:22px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:#E8E8E8}
.barre-lien{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;min-height:48px;border-radius:10px;background:var(--gris-carte);font-size:13.5px;font-weight:600}
.barre-lien:hover{background:#EEEEEE}

/* ---------- Expertises : titre à gauche, liste à droite ---------- */
.expertises{background:var(--gris)}
.exp-grille{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:56px;align-items:start}
.exp-titre{position:sticky;top:32px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.exp-titre h2{font-size:clamp(30px,3.4vw,42px);line-height:1.1}
.exp-titre p{color:var(--texte-2)}
.exp-liste{display:flex;flex-direction:column;gap:12px}
.exp-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;background:var(--blanc);border-radius:var(--rayon);padding:24px 26px}
.exp-icone{width:46px;height:46px;border-radius:11px;background:var(--marine-clair);color:var(--marine);display:flex;align-items:center;justify-content:center}
.exp-item h3{font-size:18px;letter-spacing:-0.015em;margin-bottom:4px}
.exp-item p{color:var(--texte-2);font-size:14px}
.fleche{width:40px;height:40px;border-radius:50%;border:1px solid var(--trait);display:flex;align-items:center;justify-content:center;transition:background .2s}
.exp-item:hover .fleche{background:var(--bouton);color:#fff;border-color:var(--bouton)}

/* ---------- Associé dédié : composition superposée ---------- */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.duo-visuel{position:relative;padding-bottom:56px}
.duo-photo{border-radius:16px;overflow:hidden;aspect-ratio:4/4.6;background:#ddd}
.duo-photo img{width:100%;height:100%;object-fit:cover;object-position:35% center}
.verre{position:absolute;display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:18px;font-weight:700;letter-spacing:-0.01em;box-shadow:0 8px 28px rgba(0,0,0,.12)}
.verre-1{top:42%;right:-28px}
.duo-encart{position:absolute;left:-28px;bottom:0;width:46%;border-radius:14px;overflow:hidden;border:6px solid var(--blanc);box-shadow:0 18px 40px rgba(0,0,0,.14);background:#ddd;aspect-ratio:4/3}
.duo-encart img{width:100%;height:100%;object-fit:cover}
.duo-encart .pastille{position:absolute;top:10px;right:10px}
.duo-texte{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.duo-texte h2{font-size:clamp(30px,3.4vw,42px);line-height:1.1}
.duo-texte > p{color:var(--texte-2)}
.temoignage{background:var(--gris-carte);border-radius:var(--rayon);padding:26px;display:flex;flex-direction:column;gap:14px;width:100%}
.temoignage blockquote{margin:0;font-size:14.5px;color:#3F3F3F}
.temoignage .auteur{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}
.temoignage .auteur img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.temoignage .auteur span{font-weight:500;color:var(--texte-2)}
.btn-large{width:100%;justify-content:center;min-height:50px}

/* ---------- Équipe ---------- */
.equipe{background:var(--gris)}
.portrait{position:relative;margin:0;border-radius:var(--rayon);overflow:hidden;aspect-ratio:3/3.7;background:#ddd}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .6s}
.portrait:hover img{transform:scale(1.03)}
.portrait figcaption{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:11px;background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.portrait strong{display:block;font-size:15px;letter-spacing:-0.01em}
.portrait small{display:block;font-size:12.5px;color:var(--texte-2);font-weight:500}
.portrait .fleche{background:var(--blanc);width:36px;height:36px;flex-shrink:0}
.centre{display:flex;justify-content:center;margin-top:36px}

/* ---------- Références ---------- */
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 56px;margin-bottom:48px;color:#8A8A8A;font-weight:700;font-size:19px;letter-spacing:-0.02em}
.logos span:nth-child(2){letter-spacing:.14em;font-size:16px}
.logos span:nth-child(4){font-weight:500}
.grille-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:var(--gris-carte);border-radius:var(--rayon);overflow:hidden}
.cas-photo{background:#ddd;min-height:260px}
.cas-photo img{width:100%;height:100%;object-fit:cover}
.cas-texte{padding:28px;display:flex;flex-direction:column;gap:12px}
.cas-texte .secteur{font-size:12px;font-weight:600;color:var(--texte-2)}
.cas-texte h3{font-size:19px;line-height:1.25;letter-spacing:-0.015em}
.cas-texte p{font-size:14px;color:var(--texte-2)}
.cas-resultat{margin-top:auto;padding-top:14px;border-top:1px solid var(--trait);display:flex;align-items:baseline;gap:8px}
.cas-resultat b{font-size:28px;letter-spacing:-0.03em;white-space:nowrap}
.cas-resultat span{font-size:13px;color:var(--texte-2)}

/* ---------- Actualités ---------- */
.article{display:flex;flex-direction:column;gap:14px}
.article-photo{border-radius:var(--rayon);overflow:hidden;aspect-ratio:16/11;background:#ddd}
.article-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.article:hover img{transform:scale(1.03)}
.article .meta{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--texte-2);font-weight:500}
.article h3{font-size:18px;line-height:1.3;letter-spacing:-0.015em}
.article:hover h3{text-decoration:underline;text-underline-offset:4px}

/* ---------- Appel final ---------- */
.appel{padding-block:0 104px}
.appel-bloc{position:relative;border-radius:18px;overflow:hidden;min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.appel-bloc > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.appel-bloc::after{content:"";position:absolute;inset:0;background:rgba(21,43,71,.78)}
.appel-contenu{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;padding:48px 24px;max-width:640px}
.appel-contenu h2{font-size:clamp(30px,3.8vw,46px);line-height:1.08}
.appel-contenu p{color:#E2E2E2}
.appel-contenu .pastille{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff}
.btn-blanc{background:#fff;color:var(--encre)}
.btn-blanc:hover{background:#ECECEC}

/* ---------- Pied de page ---------- */
.pied{border-top:1px solid var(--trait);padding-block:56px 28px;font-size:14px}
.pied-grille{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:32px}
.pied h4{margin:0 0 14px;font-size:13px;font-weight:700}
.pied ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;color:var(--texte-2)}
.pied ul a:hover{color:var(--encre)}
.pied-intro{display:flex;flex-direction:column;gap:14px;color:var(--texte-2);max-width:300px}
.pied-bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:22px;border-top:1px solid var(--trait);font-size:12.5px;color:var(--texte-2)}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .menu,.nav-actions .btn-lien{display:none}
  .burger{display:inline-flex}
  .menu.ouvert{display:flex;position:absolute;top:114px;left:16px;right:16px;flex-direction:column;gap:4px;padding:12px;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--rayon);z-index:10;box-shadow:0 18px 40px rgba(0,0,0,.1)}
  .menu.ouvert a{padding:10px 12px}
  .nav{position:relative}
  .exp-grille,.duo{grid-template-columns:minmax(0,1fr);gap:40px}
  .exp-titre{position:static}
  .grille-2{grid-template-columns:minmax(0,1fr)}
  .pied-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
  .verre-1{right:12px}
  .duo-encart{left:12px}
}
@media (max-width:720px){
  .barre-haute .reseaux,.barre-haute .sep{display:none}
  .barre-haute .infos span:first-child{display:none}
  .nav-actions .btn-plein span{display:none}
  .nav-actions .btn-plein{padding:0 13px}
  .section{padding-block:72px}
  .hero{padding-block:60px 56px}
  .bandeau{margin-top:44px}
  .bandeau figure{width:170px;height:228px}
  .grille-3{grid-template-columns:minmax(0,1fr)}
  .exp-item{grid-template-columns:auto minmax(0,1fr);padding:20px}
  .exp-item .fleche{display:none}
  .cas{grid-template-columns:minmax(0,1fr)}
  .cas-photo{min-height:200px}
  .appel{padding-block:0 72px}
  .pied-grille{grid-template-columns:minmax(0,1fr)}
  .verre{font-size:13px;padding:10px 14px}
}

/* =========================================================
   Pages internes (phase 3) — mêmes jetons, aucun nouveau registre
   ========================================================= */
.menu a[aria-current="page"]{color:var(--marine);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}

/* En-tête de page interne : même bande grise que le hero, plus compacte */
.hero-page{background:var(--gris);padding-block:76px 72px}
.hero-page .hero-texte{gap:18px}
.hero-page h1{font-size:clamp(32px,4.2vw,50px);line-height:1.08;max-width:820px}
.hero-page .hero-texte > p{max-width:560px}
.fil{font-size:12.5px;font-weight:600;color:var(--texte-2)}
.fil a:hover{color:var(--encre)}

/* Expertises détaillées : composition alternée */
.bloc-exp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.bloc-exp + .bloc-exp{margin-top:104px}
.bloc-exp.inverse .bloc-exp-visuel{order:2}
.bloc-exp-visuel{position:relative}
.bloc-exp-visuel .photo{border-radius:16px;overflow:hidden;aspect-ratio:5/4;background:#ddd}
.bloc-exp-visuel .photo img{width:100%;height:100%;object-fit:cover}
.bloc-exp-visuel .verre{bottom:-22px;left:28px}
.bloc-exp.inverse .bloc-exp-visuel .verre{left:auto;right:28px}
.bloc-exp-texte{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.bloc-exp-texte h2{font-size:clamp(28px,3vw,38px);line-height:1.12}
.bloc-exp-texte > p{color:var(--texte-2)}
.liste-coche{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.liste-coche li{display:flex;gap:10px;align-items:flex-start;background:var(--gris-carte);border-radius:10px;padding:12px 14px;font-size:14px;font-weight:600}
.liste-coche svg{flex-shrink:0;margin-top:3px;color:var(--marine)}
.duree{display:flex;gap:24px;font-size:13px;color:var(--texte-2);font-weight:500}
.duree b{display:block;color:var(--encre);font-size:15px}

/* Méthode : quatre étapes (vraie séquence) */
.etapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.etape{background:var(--blanc);border-radius:var(--rayon);padding:26px;display:flex;flex-direction:column;gap:12px}
.etape .num{width:38px;height:38px;border-radius:50%;background:var(--marine);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.etape h3{font-size:17px;letter-spacing:-0.015em}
.etape p{font-size:14px;color:var(--texte-2)}
.etape small{margin-top:auto;font-size:12px;font-weight:600;color:var(--marine)}

/* Équipe */
.bio{display:flex;flex-direction:column;gap:14px}
.bio p{font-size:14px;color:var(--texte-2)}
.bio .tags{display:flex;flex-wrap:wrap;gap:6px}
.bio .tags span{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--marine-clair);color:var(--marine)}
.grille-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.membre{background:var(--blanc);border-radius:var(--rayon);padding:14px;display:flex;flex-direction:column;gap:12px}
.membre .photo{border-radius:10px;overflow:hidden;aspect-ratio:1/1;background:#ddd}
.membre .photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.membre strong{font-size:15px;display:block}
.membre small{font-size:12.5px;color:var(--texte-2);font-weight:500}
.carte-recrute{background:var(--marine);color:#fff;border-radius:var(--rayon);padding:26px;display:flex;flex-direction:column;gap:14px;justify-content:space-between}
.carte-recrute h3{font-size:22px;line-height:1.2}
.carte-recrute p{color:#C9D5E5;font-size:14px}
.valeurs .carte-chiffre .nombre{font-size:20px;letter-spacing:-0.02em;color:var(--encre)}

/* Références */
.chiffres-cas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.chiffres-cas div{background:var(--gris-carte);border-radius:12px;padding:16px}
.chiffres-cas b{display:block;font-size:26px;letter-spacing:-0.03em;color:var(--marine);white-space:nowrap}
.chiffres-cas span{font-size:12.5px;color:var(--texte-2);font-weight:500}
.cas .tag{align-self:flex-start;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--marine-clair);color:var(--marine)}

/* Actualités : les filtres basculent une classe, tous les articles restent dans la page */
.filtres{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:40px}
.filtre{font:inherit;font-size:13px;font-weight:600;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--trait);background:var(--blanc);color:var(--encre);cursor:pointer}
.filtre:hover{border-color:#cfcfcf}
.filtre.actif{background:var(--marine);border-color:var(--marine);color:#fff}
.article.masque{display:none}
.une{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0;background:var(--gris-carte);border-radius:var(--rayon);overflow:hidden;margin-bottom:56px}
.une-photo{min-height:340px;background:#ddd}
.une-photo img{width:100%;height:100%;object-fit:cover}
.une-texte{padding:40px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.une-texte h2{font-size:clamp(24px,2.6vw,32px);line-height:1.15}
.une-texte p{color:var(--texte-2)}
.une-texte .meta{font-size:12.5px;color:var(--texte-2);font-weight:600}
.grille-articles{row-gap:44px}

/* Contact */
.contact-grille{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
.coord{display:flex;flex-direction:column;gap:12px}
.coord-item{display:flex;gap:14px;align-items:center;background:var(--gris-carte);border-radius:12px;padding:16px 18px}
.coord-item .exp-icone{width:44px;height:44px;flex-shrink:0}
.coord-item small{display:block;font-size:12px;color:var(--texte-2);font-weight:600}
.coord-item span{font-weight:700;font-size:14.5px;word-break:break-word}
.coord-photo{border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:#ddd;margin-top:4px}
.coord-photo img{width:100%;height:100%;object-fit:cover}
.formulaire{background:var(--gris);border-radius:18px;padding:36px;display:flex;flex-direction:column;gap:18px}
.formulaire h2{font-size:26px;line-height:1.15}
.champs-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.champ{display:flex;flex-direction:column;gap:6px}
.champ label{font-size:13px;font-weight:700}
.champ input,.champ select,.champ textarea{font:inherit;font-size:14.5px;color:var(--encre);background:var(--blanc);border:1px solid var(--trait);border-radius:var(--rayon-btn);padding:12px 14px;min-height:48px;width:100%}
.champ textarea{min-height:130px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:2px solid var(--marine);outline-offset:0;border-color:var(--marine)}
.besoins{display:flex;flex-wrap:wrap;gap:8px}
.besoins label{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;background:var(--blanc);border:1px solid var(--trait);font-size:13px;font-weight:600;cursor:pointer}
.besoins input{accent-color:var(--marine);margin:0}
.mention{font-size:12px;color:var(--texte-2)}
.confirmation{display:flex;gap:12px;align-items:flex-start;background:var(--marine-clair);color:var(--marine);border-radius:12px;padding:16px;font-size:14px;font-weight:600}
.faq{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--blanc);border-radius:12px;padding:0 22px}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;font-weight:700;font-size:15px}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex-shrink:0;transition:transform .2s;color:var(--marine)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding-bottom:20px;color:var(--texte-2);font-size:14.5px}

@media (max-width:980px){
  .bloc-exp{grid-template-columns:minmax(0,1fr);gap:44px}
  .bloc-exp.inverse .bloc-exp-visuel{order:0}
  .etapes,.grille-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .une,.contact-grille{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .hero-page{padding-block:56px 52px}
  .liste-coche,.etapes,.grille-4,.champs-2,.chiffres-cas{grid-template-columns:minmax(0,1fr)}
  .une-texte,.formulaire{padding:24px}
  .une-photo{min-height:220px}
  .bloc-exp + .bloc-exp{margin-top:72px}
}
.besoins label{white-space:nowrap}
.champ .besoins input{width:16px;height:16px;min-height:0;padding:0;border:0}
.confirmation[hidden]{display:none}
