/* Agence BSD · couleurs du logo (bleu, turquoise, gris) et fond chaud de la présentation. */
:root{--bleu:#2f86cf;--bleu-fonce:#1d5f9c;--turquoise:#2bb3a0;--turquoise-clair:#e6f5f2;--gris:#7d8b96;--encre:#23272b;--encre2:#555d63;--fond:#faf9f6;--fond2:#f1efe9;--olive:#6b6550;--taupe:#bcb8ad;--trait:#e2dfd7;--rayon:18px;--serif:"Source Serif 4",Georgia,serif;--sans:Lato,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--fond);color:var(--encre);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--bleu)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(34px,4.6vw,62px)}h2{font-size:clamp(30px,3.4vw,46px);margin-bottom:18px}h3{font-size:22px}
.conteneur{max-width:1180px;margin:0 auto;padding:0 28px}
section{padding:110px 0}
.intro{max-width:820px;color:var(--encre2);font-size:18px;margin:0 0 48px}
.sur-titre{font:700 13px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--turquoise);margin:0 0 22px}
.chapeau{font-size:20px;color:var(--encre2);max-width:560px;margin:26px 0 0}
.bouton{display:inline-block;background:var(--bleu);color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:15px 26px;border-radius:999px;transition:background .2s,transform .2s;box-shadow:0 8px 22px rgba(47,134,207,.25)}
.bouton:hover{background:var(--bleu-fonce);transform:translateY(-1px)}
.lien-fleche{color:var(--encre);font-weight:700;text-decoration:none;font-size:15px}.lien-fleche::after{content:" →";color:var(--turquoise)}
.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:40px}

/* En-tête */
.tete{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:rgba(250,249,246,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .2s}
.tete.ombre{box-shadow:0 1px 0 var(--trait)}
.marque img{height:46px;width:auto}
.tete nav{display:flex;align-items:center;gap:30px}.tete nav a{color:var(--encre);text-decoration:none;font-size:15px}.tete nav a:not(.bouton):hover{color:var(--bleu)}
.tete nav .bouton{color:#fff;padding:11px 20px;box-shadow:none}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}.burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--encre);transition:transform .2s}.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Accueil */
.hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:100vh;padding:0;background:linear-gradient(115deg,#fdfcfa 0%,#f4f2ec 100%)}
.hero-texte{align-self:center;padding:150px 64px 90px max(28px,calc((100vw - 1180px)/2 + 28px))}
.hero-image{position:relative;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,242,236,.35),transparent 30%);z-index:1}

/* Chiffres */
.chiffres{background:#fff}
.grille-chiffres{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--trait);border:1px solid var(--trait);border-radius:var(--rayon);overflow:hidden}
.grille-chiffres li{background:#fff;padding:38px 30px;display:flex;flex-direction:column;gap:4px}
.grille-chiffres b{font:400 clamp(44px,4.4vw,64px)/1 var(--serif);color:var(--bleu);margin-bottom:12px}
.grille-chiffres li:nth-child(even) b{color:var(--turquoise)}
.grille-chiffres span{font-weight:700;font-size:17px}.grille-chiffres small{color:var(--encre2);font-size:15px}

/* Implantation */
.duo{display:grid;grid-template-columns:.85fr 1.15fr;padding:0;background:var(--fond)}
.duo-image img{width:100%;height:100%;object-fit:cover;max-height:760px}
.duo-texte{align-self:center;padding:90px max(28px,calc((100vw - 1180px)/2 + 28px)) 90px 72px}
.duo-texte p{color:var(--encre2);font-size:18px;max-width:600px}
.accent{border-left:3px solid var(--turquoise);padding-left:20px;color:var(--encre)!important;font-family:var(--serif);font-size:21px!important;line-height:1.5}

/* Confiance */
.confiance{background:#fff}
.confiance-grille{display:grid;grid-template-columns:1fr 1.1fr .8fr;gap:34px;align-items:stretch}
.frise{background:var(--olive);color:#f5f3ee;border-radius:var(--rayon);padding:34px}
.frise h3{margin-bottom:26px}
.frise ol{list-style:none;margin:0;padding:0 0 0 26px;border-left:2px solid rgba(255,255,255,.35)}
.frise li{position:relative;margin-bottom:26px}.frise li:last-child{margin-bottom:0}
.frise li::before{content:"";position:absolute;left:-33px;top:9px;width:12px;height:12px;border-radius:50%;background:#f5f3ee}
.frise b{display:block;font:400 26px/1.2 var(--serif)}.frise span{font-size:15px;opacity:.9}
.atouts h3{margin-bottom:22px}.atouts ul{list-style:none;margin:0;padding:0}
.atouts li{padding:0 0 22px 36px;position:relative}.atouts li::before{content:"→";position:absolute;left:0;top:0;color:var(--turquoise);font-size:20px}
.atouts b{display:block;font:400 21px/1.3 var(--serif);margin-bottom:4px}.atouts span{color:var(--encre2);font-size:16px}
.confiance-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--rayon);min-height:420px}

/* Marché */
.schema{display:flex;flex-direction:column;align-items:center;gap:0;padding:20px 0}
.noeud{border:2px solid var(--olive);border-radius:999px;padding:16px 28px;background:#fff;text-align:center;font-weight:700;font-size:16px;max-width:300px}
.noeud.fort{border-color:var(--bleu);color:var(--bleu-fonce)}
.noeud.bsd{background:var(--bleu);border-color:var(--bleu);color:#fff;font:400 26px/1 var(--serif);padding:22px 44px}
.noeud.clair{border-color:var(--taupe);font-weight:400;font-size:15px;max-width:none}
.trait{width:2px;height:34px;background:var(--olive);opacity:.6}
.feuilles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;max-width:1000px;position:relative;padding-top:24px}
.feuilles::before{content:"";position:absolute;top:0;left:12.5%;right:12.5%;height:2px;background:var(--olive);opacity:.6}
.feuilles .noeud{position:relative;display:flex;align-items:center;justify-content:center;min-height:86px}
.feuilles .noeud::before{content:"";position:absolute;top:-26px;left:50%;width:2px;height:24px;background:var(--olive);opacity:.6}

/* Méthode */
.methode{background:var(--fond2)}
.citation{font:400 italic clamp(22px,2.4vw,30px)/1.4 var(--serif);border-left:3px solid var(--bleu);padding-left:22px;margin:0 0 50px;color:var(--encre)}
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.etapes li{background:#fff;border-radius:var(--rayon);padding:30px;border:1px solid var(--trait);transition:transform .25s,box-shadow .25s}
.etapes li:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(35,39,43,.08)}
.num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--turquoise-clair);color:var(--turquoise);font:600 20px/1 var(--serif);margin-bottom:18px}
.etapes h3{margin-bottom:8px}.etapes p{margin:0;color:var(--encre2);font-size:16px}

/* Partenaires */
.partenaires{background:#fff}
.cartes-partenaires{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cartes-partenaires article{border:1px solid var(--trait);border-radius:var(--rayon);padding:34px 30px;background:var(--fond);display:flex;flex-direction:column;gap:22px}
.cartes-partenaires .logo{height:74px;display:flex;align-items:center;justify-content:center}.cartes-partenaires .logo img{max-height:62px;width:auto;max-width:90%}
.cartes-partenaires p{margin:0;color:var(--encre2);font-size:16px;text-align:center}

/* Ce que nous recherchons */
.criteres{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 44px}
.criteres svg{width:38px;height:38px;fill:none;stroke:var(--turquoise);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.criteres h3{margin-bottom:6px}.criteres p{margin:0;color:var(--encre2);font-size:16px}
.encadre{margin:56px 0 0;background:var(--fond2);border-radius:14px;padding:22px 28px;font:400 20px/1.5 var(--serif)}

/* France */
.france{background:#fff}
.france-grille{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.realites{background:var(--taupe);border-radius:var(--rayon);padding:38px}.apports{padding:38px 10px}
.france-grille h3{margin-bottom:24px}.france-grille ul{list-style:none;margin:0;padding:0}
.france-grille li{margin-bottom:24px;padding-left:22px;position:relative}.france-grille li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:50%;background:#fff}
.apports li::before{background:var(--turquoise)!important}
.france-grille b{display:block;font:400 21px/1.3 var(--serif);margin-bottom:4px}.france-grille span{font-size:16px;color:var(--encre2)}.realites span{color:#3a3d3f}

/* Équipe */
.equipe{background:var(--fond)}
.membres{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}
.membres img{border-radius:var(--rayon);background:#fff;margin-bottom:18px;width:100%;height:auto}
.membres b{display:block;font-size:19px}.membres span{color:var(--gris)}

/* Contact */
.contact{display:grid;grid-template-columns:.85fr 1.15fr;padding:0;background:#fff}
.contact-image img{width:100%;height:100%;object-fit:cover}
.contact-texte{padding:110px max(28px,calc((100vw - 1180px)/2 + 28px)) 110px 72px}
.contact-texte .chapeau{max-width:620px}.contact-texte em{color:var(--encre)}
.infos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:38px}
.infos div{background:var(--fond2);border-radius:14px;padding:20px 22px}.infos h3{font-size:19px;margin-bottom:4px}.infos p{margin:0;color:var(--encre2);font-size:15px}

.pied{background:var(--encre);color:#c9cdd0;text-align:center;padding:44px 20px;font-size:14px}
.pied img{margin:0 auto 14px;filter:brightness(0) invert(1);opacity:.9;height:38px;width:auto}.pied p{margin:4px 0}.pied a{color:#fff}

/* Apparition douce au défilement */
.apparait{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.apparait.vu{opacity:1;transform:none}

/* Tablette et téléphone */
@media (max-width:1000px){
 .confiance-grille{grid-template-columns:1fr 1fr}.confiance-image{grid-column:1/-1}.confiance-image img{min-height:0;max-height:380px}
 .etapes,.criteres,.cartes-partenaires{grid-template-columns:1fr 1fr}
 .feuilles{grid-template-columns:1fr 1fr}.feuilles::before{display:none}.feuilles .noeud::before{display:none}
}
@media (max-width:820px){
 section{padding:76px 0}
 .tete{padding:10px 18px}.marque img{height:38px}.burger{display:block}
 .tete nav{position:fixed;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--fond);padding:8px 20px 24px;border-bottom:1px solid var(--trait);transform:translateY(-130%);transition:transform .3s;box-shadow:0 20px 30px rgba(0,0,0,.06)}
 .tete nav.ouvert{transform:none}.tete nav a{padding:14px 4px;border-bottom:1px solid var(--trait);font-size:17px}.tete nav .bouton{margin-top:16px;text-align:center;border:0}
 .hero,.duo,.contact{grid-template-columns:1fr}.hero{min-height:0}.hero-texte{padding:110px 22px 50px}.hero-image{order:-1;height:42vh;margin-top:64px}
 .hero-texte{order:1;padding-top:44px}
 .duo-texte,.contact-texte{padding:60px 22px}.duo-image img{max-height:360px}.contact-image{height:300px}
 .conteneur{padding:0 22px}
 .grille-chiffres{grid-template-columns:1fr 1fr}.grille-chiffres li{padding:26px 20px}
 .confiance-grille,.france-grille,.etapes,.criteres,.cartes-partenaires,.membres,.infos{grid-template-columns:1fr}
 .membres{max-width:360px;margin:0 auto}
 .feuilles{grid-template-columns:1fr}.realites{padding:28px}.apports{padding:10px 0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.apparait{opacity:1;transform:none;transition:none}}
