:root{
    --bg:#FAF7F0;
    --bg-alt:#F1EBDD;
    --card:#FFFFFF;
    --ink:#191510;
    --muted:#77705F;
    --mint:#1FAE68;
    --mint-bright:#2FE38A;
    --coral:#FF5A3C;
    --line:rgba(25,21,16,0.12);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Space Grotesk', sans-serif;
    font-weight:700;
    letter-spacing:-0.02em;
    line-height:0.96;
  }
  .accent-serif{
    font-family:'Instrument Serif', serif;
    font-style:italic;
    font-weight:400;
    letter-spacing:0;
  }
  a{color:inherit; text-decoration:none;}
  .eyebrow{
    font-family:'Inter', sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--mint);
  }
  .wrap{max-width:1180px; margin:0 auto; padding:0 40px;}

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(250,247,240,0.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{display:flex; align-items:center; justify-content:space-between; padding:22px 40px; max-width:1180px; margin:0 auto;}
  .logo{font-family:'Space Grotesk'; font-weight:700; font-size:20px; letter-spacing:-0.01em;}
  .logo span{color:var(--mint);}
  .nav-links{display:flex; gap:36px; font-size:14px; font-weight:500;}
  .nav-links a{opacity:0.8; transition:opacity .2s;}
  .nav-links a:hover{opacity:1; color:var(--mint);}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--ink); color:var(--bg);
    font-weight:600; font-size:14px;
    padding:12px 22px; border-radius:100px;
    transition:transform .2s ease, background .2s ease;
  }
  .btn:hover{transform:translateY(-2px); background:var(--mint);}
  .btn-ghost{background:transparent; border:1px solid var(--line); color:var(--ink);}
  .btn-ghost:hover{border-color:var(--mint); color:var(--mint); background:transparent;}

  /* ---------- HERO ---------- */
  .hero{position:relative; padding:110px 40px 0; max-width:1180px; margin:0 auto;}
  .hero h1{font-family:'Baloo 2', sans-serif; font-weight:700; font-size:clamp(34px, 5.8vw, 72px); line-height:1.1; letter-spacing:0; max-width:980px; color:var(--coral);}
  .hero h1 .hl{color:var(--mint);}
  .hero-sub{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-top:34px; padding-bottom:70px; flex-wrap:wrap;}
  .hero-sub p{max-width:380px; color:var(--muted); font-size:16px; line-height:1.55;}
  .hero-cta{display:flex; gap:14px; flex-shrink:0;}

  /* diagonal band signature */
  .band{
    background:var(--ink);
    color:var(--mint-bright);
    transform:rotate(-2.2deg);
    padding:22px 0;
    margin:0 -100px 0;
    overflow:hidden;
    white-space:nowrap;
  }
  .band-track{display:inline-block; animation:scroll 26s linear infinite;}
  .band-track span{
    font-family:'Space Grotesk'; font-weight:700;
    font-size:34px; letter-spacing:-0.01em;
    padding:0 28px; display:inline-block;
  }
  .band-track span.outline{
    -webkit-text-stroke:1.5px var(--mint-bright);
    color:transparent;
  }
  @keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* ---------- MARQUEE presse ---------- */
  .clients{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:28px 0; margin-top:70px; overflow:hidden;}
  .clients-track{display:flex; gap:64px; animation:scrollLeft 30s linear infinite; white-space:nowrap;}
  .clients-track div{font-size:15px; font-weight:600; color:var(--muted); letter-spacing:0.04em;}
  @keyframes scrollLeft{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* ---------- MANIFESTO ---------- */
  .manifesto{padding:120px 40px; max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1.4fr; gap:60px;}
  .manifesto .eyebrow{margin-bottom:20px; display:block;}
  .manifesto blockquote{font-size:clamp(28px,3.4vw,42px); line-height:1.25;}
  .manifesto blockquote .accent-serif{color:var(--mint);}

  /* ---------- SERVICES ---------- */
  .services{padding:0 40px 120px; max-width:1180px; margin:0 auto;}
  .services-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:50px; gap:20px; flex-wrap:wrap;}
  .services-head h2{font-size:clamp(34px,4vw,52px);}
  .service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .service-card{background:var(--card); padding:38px 32px; min-height:220px; display:flex; flex-direction:column; justify-content:space-between; transition:background .25s ease;}
  .service-card:hover{background:var(--bg-alt);}
  .service-card h3{font-size:22px; margin-top:26px;}
  .service-card p{color:var(--muted); font-size:14px; margin-top:10px; line-height:1.5;}
  .service-tag{font-size:12px; color:var(--coral); font-weight:600; letter-spacing:0.06em;}

  /* ---------- RESULTATS ---------- */
  .work{padding:0 40px 120px; max-width:1180px; margin:0 auto;}
  .work-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:24px;}
  .work-card{position:relative; border-radius:18px; overflow:hidden; min-height:180px; padding:30px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff;}
  .wc1{background:linear-gradient(150deg,#1FAE68,#0B3D24);}
  .wc2{background:linear-gradient(150deg,var(--coral),#7A2213);}
  .work-tag{font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.75); margin-bottom:8px;}
  .work-card h3{font-size:30px;}

  /* ---------- PROCESS ---------- */
  .process{padding:0 40px 120px; max-width:1180px; margin:0 auto;}
  .process h2{font-size:clamp(34px,4vw,52px); margin-bottom:60px; max-width:640px;}
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .step{background:var(--card); padding:34px 26px;}
  .step-num{font-family:'Space Grotesk'; font-size:14px; color:var(--mint); font-weight:700;}
  .step h3{font-size:18px; margin:18px 0 10px;}
  .step p{font-size:13.5px; color:var(--muted); line-height:1.5;}

  /* ---------- TESTIMONIAL ---------- */
  .testimonial{padding:100px 40px; text-align:center; max-width:900px; margin:0 auto;}
  .testimonial p{font-size:clamp(24px,3vw,34px); line-height:1.35;}
  .testimonial .who{margin-top:28px; font-size:14px; color:var(--muted); font-weight:600;}

  /* ---------- CTA ---------- */
  .cta{margin:0 40px 40px; padding:90px 60px; background:var(--ink); color:var(--bg); border-radius:24px; text-align:center; max-width:1100px; margin-left:auto; margin-right:auto;}
  .cta h2{font-size:clamp(36px,5.5vw,72px); margin-bottom:26px;}
  .cta .btn{background:var(--mint-bright); color:var(--ink);}
  .cta .btn:hover{background:#fff;}

  /* ---------- FOOTER ---------- */
  footer{padding:60px 40px 40px; border-top:1px solid var(--line);}
  .footer-grid{max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:30px;}
  .footer-grid .logo{font-size:24px;}
  .footer-cols{display:flex; gap:70px; flex-wrap:wrap;}
  .footer-col h4{font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:14px;}
  .footer-col a{display:block; font-size:14px; margin-bottom:10px; opacity:0.9;}
  .footer-col a:hover{color:var(--mint);}
  .footer-bottom{max-width:1180px; margin:50px auto 0; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; font-size:12px; color:var(--muted); flex-wrap:wrap; gap:10px;}

  /* Burger : caché par défaut (visible seulement en dessous de 860px) */
  .nav-burger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:36px; height:36px;
    background:none; border:none; cursor:pointer;
    padding:0;
  }
  .nav-burger span{
    display:block; width:100%; height:2px;
    background:var(--ink);
    transition:transform .25s ease, opacity .25s ease;
  }
  .nav-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-burger.is-open span:nth-child(2){opacity:0;}
  .nav-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .nav-links-btn-mobile{display:none;}

  @media(max-width:860px){
    .manifesto{grid-template-columns:1fr;}
    .service-grid{grid-template-columns:1fr;}
    .work-grid{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr 1fr;}
    .hero-top{grid-template-columns:1fr !important; gap:24px !important;}
    .hero-top img{max-width:260px !important; margin:0 auto;}
    .wrap, nav, .hero, .manifesto, .services, .work, .process{padding-left:22px; padding-right:22px;}

    .nav-burger{display:flex;}
    .nav-btn-desktop{display:none;}

    .nav-links{
      display:flex;
      flex-direction:column;
      gap:2px;
      position:absolute;
      top:100%; left:0; right:0;
      background:var(--bg);
      border-bottom:1px solid var(--line);
      padding:10px 22px 22px;
      max-height:0;
      overflow:hidden;
      opacity:0;
      transition:max-height .3s ease, opacity .3s ease, padding .3s ease;
    }
    .nav-links a{
      padding:12px 4px;
      border-bottom:1px solid var(--line);
      font-size:15px;
    }
    .nav-links.is-open{
      max-height:520px;
      opacity:1;
    }
    .nav-links-btn-mobile{
      display:inline-flex;
      justify-content:center;
      margin-top:14px;
    }
    nav{ position:relative; }
  }
  @media (prefers-reduced-motion: reduce){
    .band-track, .clients-track{animation:none;}
  }
/* Compteur de confiance public (page d'accueil) */
.trouve-adresse-public-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:900px;
  margin:0 auto;
}
.trouve-adresse-public-stat-card{
  background:#FFFFFF;
  border:1px solid var(--line);
  border-radius:20px;
  padding:34px 20px;
  text-align:center;
  box-shadow:0 8px 24px rgba(25,21,16,0.05);
}
.trouve-adresse-public-stat-valeur{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  font-size:clamp(34px,5vw,52px);
  line-height:1;
  color:var(--ink);
}
.trouve-adresse-public-stat-label{
  margin-top:10px;
  font-size:13.5px;
  color:var(--muted);
  font-weight:500;
}
@media(max-width:700px){
  .trouve-adresse-public-stats{grid-template-columns:1fr; gap:16px;}
}

/* Grille 4 colonnes du guide "Après avoir l'adresse" (à faire / à ne pas faire) */
.guide-grid-4{
  grid-template-columns:repeat(4,1fr);
}
@media(max-width:860px){
  .guide-grid-4{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .guide-grid-4{grid-template-columns:1fr;}
}
