/* ===== EcoSolutions — Design UpLevel ===== */
:root{
  --bleu:#438BAA; --bleu-fonce:#2f6a86; --vert:#82B25A; --vert-fonce:#5f8c3c;
  --encre:#173039; --gris:#5a6b72; --gris-clair:#eef2f3; --bg-doux:#f5f8f8;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--encre);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.6;}
h1,h2,h3,.display{font-family:'Barlow Semi Condensed',sans-serif;letter-spacing:-.01em;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}
.eyebrow{font:600 13px/1 'Inter';letter-spacing:.14em;text-transform:uppercase;color:var(--vert-fonce);}

/* HEADER */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--gris-clair);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;max-width:1180px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:11px;font:700 20px 'Barlow Semi Condensed';color:var(--bleu);}
.brand .mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--vert),var(--bleu));display:grid;place-items:center;}
.brand .mark svg{width:20px;height:20px;}
.brand b{color:var(--vert-fonce);font-weight:700;}
.menu{display:flex;gap:28px;font:500 14.5px 'Inter';color:var(--gris);}
.menu a:hover{color:var(--bleu);}
.nav-cta{background:var(--vert);color:#fff;padding:11px 20px;border-radius:8px;font:600 14px 'Barlow Semi Condensed';letter-spacing:.03em;}
.nav-cta:hover{background:var(--vert-fonce);}
.burger{display:none;font-size:26px;color:var(--encre);background:none;border:none;cursor:pointer;}

/* BOUTONS */
.btn-primary{background:var(--vert);color:#fff;padding:16px 28px;border-radius:9px;font:600 15px 'Barlow Semi Condensed';letter-spacing:.03em;transition:.2s;display:inline-block;}
.btn-primary:hover{background:var(--vert-fonce);transform:translateY(-1px);}
.btn-ghost{background:#fff;color:var(--encre);border:1.5px solid #d4dde0;padding:16px 28px;border-radius:9px;font:600 15px 'Barlow Semi Condensed';letter-spacing:.03em;transition:.2s;display:inline-block;}
.btn-ghost:hover{border-color:var(--bleu);color:var(--bleu);}

/* SECTIONS */
section{padding:82px 0;}
.sec-head{text-align:center;max-width:760px;margin:0 auto 52px;}
.sec-head h1,.sec-head h2{font-size:40px;font-weight:700;color:var(--encre);margin:14px 0 0;line-height:1.1;}
.sec-head h1 em,.sec-head h2 em{color:var(--vert-fonce);font-style:normal;}
.sec-head p{font:400 16px/1.7 'Inter';color:var(--gris);margin-top:16px;}

/* HERO GENERIC (pages intérieures) */
.page-hero{background:linear-gradient(160deg,#eaf3ee,#e0edf3);padding:64px 0;}
.page-hero .wrap{text-align:center;}
.page-hero h1{font-size:46px;font-weight:700;color:var(--encre);line-height:1.08;max-width:900px;margin:14px auto 18px;}
.page-hero h1 em{color:var(--vert-fonce);font-style:normal;}
.page-hero p{font:400 17px/1.6 'Inter';color:var(--gris);max-width:680px;margin:0 auto 28px;}
.page-hero .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* PROSE (contenu texte des pages) */
.prose{max-width:820px;margin:0 auto;}
.prose h2{font-size:32px;font-weight:700;color:var(--encre);line-height:1.15;margin:44px 0 18px;}
.prose h2 em{color:var(--vert-fonce);font-style:normal;}
.prose h3{font-size:23px;font-weight:600;color:var(--encre);margin:32px 0 12px;}
.prose p{font:400 16px/1.75 'Inter';color:var(--gris);margin-bottom:16px;}
.prose strong{color:var(--encre);font-weight:600;}
.prose ul{margin:0 0 18px 22px;} .prose li{font:400 16px/1.7 'Inter';color:var(--gris);margin-bottom:8px;}

/* CARTES GRID */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.card{background:#fff;border:1px solid var(--gris-clair);border-radius:14px;padding:30px 26px;transition:.2s;}
.card:hover{box-shadow:0 12px 30px rgba(23,48,57,.07);transform:translateY(-2px);}
.card h3{font-size:20px;font-weight:600;color:var(--encre);margin-bottom:8px;line-height:1.2;}
.card p{font:400 14.5px/1.55 'Inter';color:var(--gris);}
.card .ico{width:46px;height:46px;border-radius:11px;background:linear-gradient(135deg,#e7f0e0,#dbe9f0);display:grid;place-items:center;margin-bottom:16px;}
.card .ico svg{width:24px;height:24px;stroke:var(--bleu);}

/* BANDE CHIFFRES */
.strip{background:var(--encre);}
.strip-in{display:flex;justify-content:space-around;gap:20px;padding:26px 32px;max-width:1180px;margin:0 auto;flex-wrap:wrap;}
.strip .item{color:#bcd2da;font:500 14px 'Inter';text-align:center;}
.strip .item b{display:block;color:#fff;font:700 26px 'Barlow Semi Condensed';margin-bottom:2px;}

/* FAQ */
.faq-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:#fff;border:1px solid var(--gris-clair);border-radius:12px;overflow:hidden;}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:22px 26px;font:600 16.5px 'Inter';color:var(--encre);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;line-height:1.4;}
.faq-q:hover{color:var(--bleu);}
.faq-q .plus{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--gris-clair);display:grid;place-items:center;font-size:18px;color:var(--bleu);transition:.25s;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);background:var(--vert);color:#fff;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a-in{padding:0 26px 24px;font:400 15px/1.65 'Inter';color:var(--gris);}
.faq-a-in ul{margin:10px 0 0 20px;} .faq-a-in li{margin-bottom:6px;}

/* AVIS */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.rev-card{background:#fff;border:1px solid var(--gris-clair);border-radius:14px;padding:28px;}
.rev-stars{color:#f0a020;font-size:15px;letter-spacing:2px;margin-bottom:14px;}
.rev-text{font:400 15px/1.6 'Inter';color:var(--encre);margin-bottom:18px;}
.rev-author{display:flex;align-items:center;gap:12px;}
.rev-author .av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--vert),var(--bleu));display:grid;place-items:center;color:#fff;font:700 15px 'Barlow Semi Condensed';}
.rev-author .who{font:600 14px 'Inter';color:var(--encre);}
.rev-author .who span{display:block;font-weight:400;font-size:12.5px;color:var(--gris);}

/* CTA FINAL */
.final{background:linear-gradient(135deg,var(--encre),#0f2229);color:#fff;text-align:center;}
.final h2{font-size:42px;font-weight:700;line-height:1.08;margin-bottom:20px;}
.final h2 em{color:var(--vert);font-style:normal;}
.final p{font:400 17px/1.65 'Inter';color:#bcd2da;max-width:700px;margin:0 auto 32px;}
.final .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.final .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3);}
.final .btn-ghost:hover{border-color:#fff;color:#fff;}
.final-contact{display:flex;justify-content:center;gap:40px;margin-top:40px;flex-wrap:wrap;font:500 15px 'Inter';color:#bcd2da;}
.final-contact b{color:#fff;}

/* FOOTER */
footer{background:#0f2229;padding:60px 0 30px;}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-brand{display:flex;align-items:center;gap:11px;font:700 20px 'Barlow Semi Condensed';color:#fff;margin-bottom:16px;}
.foot-brand .mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--vert),var(--bleu));}
.foot-col p,.foot-col li{font:400 14px/1.7 'Inter';color:#8ba1a9;}
.foot-col h4{font:600 13px 'Inter';letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:16px;}
.foot-col ul{list-style:none;}
.foot-col a:hover{color:#fff;}
.foot-bottom{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font:400 13px 'Inter';color:#6b8189;}
.foot-bottom a:hover{color:#fff;}

@media (max-width:960px){
  .grid-3,.grid-2,.rev-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;gap:30px;}
  .menu,.nav-cta{display:none;}
  .burger{display:block;}
  .page-hero h1{font-size:34px;} .sec-head h1,.sec-head h2,.final h2{font-size:30px;}
  .prose h2{font-size:26px;}
}
