/* O'Vert — feuille de style (palette « sous-bois ») */
:root{
  --sapin:#1B4332; --mousse:#2D6A4F; --fougere:#40916C; --accent:#52B788;
  --pousse:#95D5B2; --pale:#B7E4C7; --creme:#F6F3EA; --eau:#D8F3DC;
  --ink:#173628;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',system-ui,sans-serif;color:var(--ink);background:var(--creme);line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--mousse)}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}

/* header */
header{background:var(--sapin);position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:46px;height:46px;border-radius:10px}
.brand span{color:var(--creme);font-weight:700;font-size:1.35rem;letter-spacing:.5px}
.nav a.cta{background:var(--accent);color:var(--sapin);font-weight:700;padding:10px 18px;border-radius:999px;text-decoration:none}
.nav a.cta:hover{background:var(--pousse)}

/* nav menu */
.menu{display:flex;gap:22px}
.menu a{color:var(--pale);text-decoration:none;font-weight:500}
.menu a:hover{color:#fff}

/* hero */
.hero{background:linear-gradient(160deg,var(--sapin) 0%,var(--mousse) 100%);color:var(--creme);padding:72px 0 64px}
.hero-photo{background:
  linear-gradient(rgba(20,48,36,.78),rgba(20,48,36,.62)),
  url("https://images.pexels.com/photos/8853536/pexels-photo-8853536.jpeg?auto=compress&cs=tinysrgb&w=1920") center/cover no-repeat,
  linear-gradient(160deg,var(--sapin) 0%,var(--mousse) 100%);
  padding:110px 0 100px}
.hero-inner{max-width:720px}
.kicker{letter-spacing:3px;font-size:.85rem;font-weight:700;color:var(--pousse);margin-bottom:14px}
.kicker.dark{color:var(--fougere)}
.hero-photo h1{font-size:2.8rem}
.hero-ctas{margin-top:28px}

/* bande de repères */
.stats{background:var(--sapin);border-top:1px solid rgba(246,243,234,.15);padding:26px 0}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.statgrid div{color:var(--creme);text-align:center}
.statgrid b{display:block;font-size:1.5rem;color:var(--pousse)}
.statgrid span{font-size:.85rem;color:var(--pale)}

/* sections marchés */
.market{padding:72px 0}
.market.alt{background:var(--eau)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.split.reverse figure{order:2}
.imgbox{border-radius:20px;overflow:hidden;box-shadow:0 12px 36px rgba(27,67,50,.18);
  background:linear-gradient(150deg,var(--mousse),var(--fougere));min-height:300px}
.imgbox img{width:100%;height:100%;min-height:300px;object-fit:cover}
.ticks{list-style:none;margin:18px 0 26px}
.ticks li{padding-left:28px;position:relative;margin-bottom:12px}
.ticks li::before{content:"✔";position:absolute;left:0;color:var(--fougere);font-weight:700}

/* parcours */
.process{background:var(--sapin);color:var(--creme)}
.process h2{color:var(--creme)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
.steps li{background:rgba(246,243,234,.08);border:1px solid rgba(149,213,178,.35);border-radius:16px;padding:20px 18px}
.steps b{display:block;color:var(--pousse);margin-bottom:8px}
.steps span{font-size:.92rem;color:var(--pale)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.hero h1{font-size:2.4rem;line-height:1.2;font-weight:700}
.hero p.lead{margin:18px 0 26px;font-size:1.15rem;color:var(--pale)}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(246,243,234,.12);border:1px solid var(--pousse);color:var(--pale);padding:7px 14px;border-radius:999px;font-size:.95rem;margin-bottom:18px}
.btn{display:inline-block;background:var(--accent);color:var(--sapin);font-weight:700;padding:14px 26px;border-radius:999px;text-decoration:none;font-size:1.05rem}
.btn:hover{background:var(--pousse)}
.btn.ghost{background:transparent;color:var(--creme);border:2px solid var(--pousse);margin-left:12px}
.btn.dark-ghost{color:var(--mousse);border-color:var(--fougere)}
.hero img{width:min(300px,70%);margin:0 auto;border-radius:24px;box-shadow:0 12px 40px rgba(0,0,0,.3)}

/* sections */
section{padding:64px 0}
h2{font-size:1.9rem;color:var(--sapin);margin-bottom:12px}
.sub{color:var(--mousse);margin-bottom:36px;max-width:640px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border-radius:18px;padding:28px 24px;box-shadow:0 4px 18px rgba(27,67,50,.08)}
.card .ico{width:54px;height:54px;border-radius:14px;background:var(--eau);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:16px}
.card h3{color:var(--sapin);margin-bottom:8px;font-size:1.2rem}
.card p{font-size:.98rem}

.why{background:var(--eau)}
.why ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.why li{background:#fff;border-radius:14px;padding:16px 18px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 3px 12px rgba(27,67,50,.07)}
.why li b{color:var(--sapin)}
.check{color:var(--fougere);font-weight:700;font-size:1.1rem}

/* contact */
.contact{background:var(--sapin);color:var(--creme)}
.contact h2{color:var(--creme)}
.contact .sub{color:var(--pale)}
.contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
form{display:grid;gap:14px}
label{font-size:.92rem;color:var(--pale)}
input,select,textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--fougere);background:var(--creme);color:var(--ink);font-family:inherit;font-size:1rem}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--pale)}
.consent input{width:auto;margin-top:4px}
button.btn{border:none;cursor:pointer;width:fit-content}
.coords p{margin-bottom:14px;font-size:1.05rem}
.coords a{color:var(--pousse)}

/* footer */
footer{background:var(--ink);color:var(--pale);padding:26px 0;font-size:.92rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
footer a{color:var(--pale)}

/* bandeau consentement cookies */
#cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;background:#fff;color:var(--ink);
  border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25);padding:18px 20px;display:none;
  max-width:560px;margin:0 auto}
#cookie-banner p{font-size:.92rem;margin-bottom:12px}
#cookie-banner .row{display:flex;gap:10px;flex-wrap:wrap}
#cookie-banner button{cursor:pointer;border:none;border-radius:999px;padding:10px 18px;font-weight:700;font-family:inherit}
#cb-accept{background:var(--accent);color:var(--sapin)}
#cb-refuse{background:#e8e6de;color:var(--ink)}

/* pages internes (particuliers / industrie) */
.pagehero{background:linear-gradient(160deg,var(--sapin) 0%,var(--mousse) 100%);color:var(--creme);padding:64px 0 52px}
.pagehero .crumb{font-size:.85rem;color:var(--pale);margin-bottom:14px}
.pagehero .crumb a{color:var(--pousse);text-decoration:none}
.pagehero h1{font-size:2.3rem;line-height:1.2}
.pagehero p.lead{margin-top:14px;color:var(--pale);max-width:640px;font-size:1.1rem}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}
.duo .card h3{display:flex;gap:10px;align-items:center}
.offer{padding:64px 0}
.offer.alt{background:var(--eau)}
.pill{display:inline-block;background:var(--eau);color:var(--mousse);font-weight:700;font-size:.85rem;padding:5px 12px;border-radius:999px;margin-bottom:10px}
.offer .pour{margin-top:14px;font-size:.95rem;color:var(--mousse)}
.ctaband{background:var(--sapin);color:var(--creme);text-align:center;padding:56px 0}
.ctaband h2{color:var(--creme)}
.ctaband p{color:var(--pale);margin-bottom:22px}

/* pages légales */
.legal{padding:56px 0}
.legal h1{color:var(--sapin);font-size:1.9rem;margin-bottom:6px}
.legal h2{font-size:1.35rem;margin:34px 0 10px}
.legal h3{color:var(--mousse);margin:22px 0 6px;font-size:1.05rem}
.legal p,.legal li{font-size:.98rem}
.legal ul{margin-left:20px}
.todo{background:#FFF3CD;padding:2px 6px;border-radius:6px}

@media (max-width:820px){
  .hero .wrap{grid-template-columns:1fr}
  .hero img{display:none}
  .cards{grid-template-columns:1fr}
  .why ul{grid-template-columns:1fr}
  .contact .grid{grid-template-columns:1fr}
  .hero h1,.hero-photo h1{font-size:1.9rem}
  .menu{display:none}
  .statgrid{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .split.reverse figure{order:0}
  .steps{grid-template-columns:1fr 1fr}
  .btn.ghost{margin-left:0;margin-top:10px;display:inline-block}
  .duo{grid-template-columns:1fr}
  .pagehero h1{font-size:1.8rem}
}
