/* =========================================================
   ALLIANCE ENVIRONNEMENT — feuille de style commune
   Utilisée par index.html et contact.html
   ========================================================= */

/* ========================= TOKENS ========================= */
:root{
  --ink:#0B1A12;
  --green:#467846;
  --green-mid:#0A6E36;
  --green-deep:#065A2E;
  --green-deeper:#052F1B;
  --mint:#24AD58;

  --c-meteo:#2E8FBF;
  --c-pluie:#3A6EA5;
  --c-bruit:#D4622B;
  --c-odeurs:#8E5FB0;
  --c-orage:#E0A82E;
  --c-global:#007F3C;

  --paper:#F5F8F6;
  --white:#FFFFFF;
  --accent:#D4622B;
  --accent-deep:#B34F1F;
  --line:rgba(6,90,46,0.16);
  --muted:#4C5D53;

  --display:'Manrope', sans-serif;
  --body:'Inter', sans-serif;
  --mono:'JetBrains Mono', monospace;

  --container:1160px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

.wrap{max-width:var(--container);margin:0 auto;padding:0 32px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}

/* ========================= UTIL ========================= */
.eyebrow{
  font-family:'Poppins', var(--body);
  font-weight:600;
  font-size:12.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--green-mid);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:7px;height:7px;
  background:var(--accent);
  border-radius:50%;
  flex-shrink:0;
}
.eyebrow.light{color:#BFE9D2;}
.eyebrow.light::before{background:var(--accent);}

h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.12;letter-spacing:-0.015em;}

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 28px;
  border-radius:3px;
  font-family:var(--body);
  font-weight:600;
  font-size:15px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-primary{
  background:var(--accent);
  color:var(--white);
}
.btn-primary:hover{background:var(--accent-deep); transform:translateY(-1px);}
.btn-ghost{
  background:var(--green-mid);
  border:1.5px solid var(--green-mid);
  color:var(--white);
}
.btn-ghost:hover{background:var(--green-deep); border-color:var(--green-deep); transform:translateY(-1px);}
.btn-dark{
  border:1.5px solid var(--green);
  color:var(--green);
}
.btn-dark:hover{background:var(--green); color:var(--white);}
.btn svg{width:16px;height:16px;flex-shrink:0;transition:transform .25s ease;}
.btn:hover svg{transform:translateX(3px);}

/* ========================= HEADER ========================= */
header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  background:rgba(245,248,246,0.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo{
  display:flex;
  align-items:center;
}
.logo img{height:56px;width:auto;display:block;}
.nav-links{
  display:flex;
  align-items:center;
  gap:36px;
}
.nav-links a{
  font-size:14.5px;
  font-weight:500;
  color:var(--green-deeper);
  position:relative;
  padding:4px 0;
}
.nav-links a.is-active,
.nav-links a:hover{color:var(--green);}
.nav-links a::after{
  content:"";
  position:absolute;
  bottom:0;left:0;
  width:0;height:1.5px;
  background:var(--accent);
  transition:width .25s ease;
}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:18px;}
.nav-cta .btn{padding:11px 22px; font-size:14px;}

/* ========================= SECTION GENERIC ========================= */
section{padding:100px 0; scroll-margin-top:88px;}
.section-head{
  max-width:640px;
  margin-bottom:56px;
}
.section-head h2{
  font-size:clamp(27px,3.2vw,40px);
  margin-top:16px;
  color:var(--green-deep);
}
.section-head p{
  font-size:16.5px;
  color:var(--muted);
  margin-top:16px;
  line-height:1.65;
}

/* ========================= CTA BAND ========================= */
.cta-band{
  background:var(--accent);
  color:var(--white);
  padding:68px 0;
}
.cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}
.cta-inner h2{
  font-size:clamp(25px,3vw,36px);
  color:var(--white);
  max-width:560px;
}
.cta-band .btn-primary{
  background:var(--white);
  color:var(--green);
  border:1.5px solid var(--green);
}
.cta-band .btn-primary:hover{background:var(--green); color:var(--white);}

/* ========================= FOOTER / CONTACT ========================= */
footer{
  background:var(--green-deep);
  color:rgba(245,248,246,0.7);
  padding:72px 0 28px;
  scroll-margin-top:88px;
}
.footer-top{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:50px;
  padding-bottom:50px;
  border-bottom:1px solid rgba(245,248,246,0.1);
}
.footer-brand .logo-chip{
  display:inline-flex;
  align-items:center;
  background:var(--white);
  padding:10px 14px;
  border-radius:4px;
  margin-bottom:18px;
}
.footer-brand .logo-chip img{height:44px;width:auto;display:block;}
.footer-brand p{font-size:14px; line-height:1.7; max-width:300px; color:rgba(245,248,246,0.55);}
.footer-tech-logo{
  display:inline-flex;
  align-items:center;
  background:var(--white);
  padding:10px 14px;
  border-radius:4px;
  margin:16px 0 12px;
  transition:opacity .2s ease;
}
.footer-tech-logo img{height:44px; width:auto; display:block;}
.footer-tech-logo:hover{opacity:.85;}
.footer-col h5{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(245,248,246,0.45);
  margin-bottom:18px;
}
.footer-col ul{display:flex; flex-direction:column; gap:11px;}
.footer-col a{font-size:14.5px; color:rgba(245,248,246,0.75); transition:color .2s;}
.footer-col a:hover{color:var(--paper);}
.footer-col span{font-size:14.5px; color:rgba(245,248,246,0.75); display:block;}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:26px;
  font-size:13px;
  color:rgba(245,248,246,0.4);
  flex-wrap:wrap;
  gap:12px;
}
.footer-bottom a{color:rgba(245,248,246,0.55);}
.footer-bottom a:hover{color:var(--paper);}

/* ========================= RESPONSIVE (base) ========================= */
@media (max-width:980px){
  .footer-top{grid-template-columns:1fr 1fr; gap:36px;}
}
@media (max-width:720px){
  .nav{padding:0 20px; height:auto; min-height:64px; flex-wrap:nowrap; gap:10px;}
  .nav-links{display:none;}
  .nav-cta .btn-dark{display:none;}
  .logo img{height:38px;}
  .nav-cta{gap:0;}
  .nav-cta .btn{padding:9px 14px; font-size:12.5px; white-space:nowrap;}
  section{padding:70px 0; scroll-margin-top:70px;}
  footer{scroll-margin-top:70px;}
  .cta-inner{flex-direction:column; align-items:flex-start;}
  .footer-top{grid-template-columns:1fr;}
}
