:root{--green:#4F7A2A;--green-dark:#3B5C1F;--green-light:#E7EFDD;--dark:#1E241A;
--grey:#666;--light:#F7F8F5;--white:#fff;--acc:#8CC152;--acc2:#A8CC7E;}
*{box-sizing:border-box;}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
 color:var(--dark);background:var(--white);line-height:1.65;font-size:17px;-webkit-text-size-adjust:100%;}
img{max-width:100%;height:auto;}
a{color:#4F7A2A;}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:12px 18px;z-index:999;}
.skip:focus{left:8px;top:8px;}
.wrap{max-width:860px;margin:0 auto;padding:0 20px;}
header.sv{background:#171B13;padding:14px 0;position:sticky;top:0;z-index:50;}
header.sv .wrap{max-width:1180px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
header.sv a.lg{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-weight:900;letter-spacing:.6px;}
header.sv a.lg img{height:40px;}
header.sv a.lg em{color:var(--acc);font-style:normal;}
header.sv nav{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
header.sv nav a{color:#E3E9DC;text-decoration:none;font-size:.86rem;font-weight:700;padding:9px 11px;
 border-radius:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);min-height:40px;
 display:inline-flex;align-items:center;}
header.sv nav a:hover{border-color:var(--acc);color:#C9E5A5;}
header.sv nav a.tel{background:var(--acc);color:#132009;border-color:var(--acc);font-weight:900;}
.hero{background:linear-gradient(180deg,#243019,#3B5C1F);color:#fff;padding:56px 0 48px;}
.hero .kick{color:var(--acc2);font-size:.8rem;letter-spacing:2px;text-transform:uppercase;font-weight:900;margin-bottom:12px;}
h1{font-size:2.15rem;line-height:1.2;margin:0 0 16px;}
.hero p{color:#C8DDB0;font-size:1.06rem;margin:0 0 22px;max-width:640px;}
.cta{display:inline-flex;align-items:center;gap:9px;background:var(--acc);color:#132009;font-weight:900;
 text-decoration:none;padding:14px 24px;border-radius:13px;min-height:50px;margin:4px 8px 4px 0;}
.cta.sec{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);}
.cta:hover{background:#9FD463;}
main{padding:48px 0 20px;}
h2{font-size:1.55rem;margin:44px 0 14px;line-height:1.25;}
h2:first-child{margin-top:0;}
h3{font-size:1.12rem;margin:26px 0 8px;color:#3B5C1F;}
p,li{color:#3d443a;}
ul{padding-left:22px;} li{margin-bottom:9px;}
.enc{background:var(--green-light);border:1px solid #cfe0bd;border-radius:16px;padding:22px 24px;margin:28px 0;}
.enc h3{margin-top:0;}
.enc.warn{background:#FFF6E3;border-color:#f0d79a;}
.villes{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
.villes span{background:var(--green-light);border:1px solid #cfe0bd;border-radius:999px;padding:7px 14px;font-size:.88rem;color:#41552f;font-weight:700;}
details{border-bottom:1px solid #e3e8dd;padding:14px 0;}
summary{cursor:pointer;font-weight:800;font-size:1.02rem;color:var(--dark);min-height:34px;}
details p{margin:10px 0 0;}
.fin{background:#171B13;color:#C8DDB0;padding:34px 0;margin-top:48px;font-size:.93rem;}
.fin a{color:var(--acc2);}
.fin .wrap{max-width:1180px;}
.fin .big{display:block;font-size:1.4rem;font-weight:900;color:#fff;text-decoration:none;margin-bottom:8px;}
.brd{display:flex;gap:8px;flex-wrap:wrap;font-size:.92rem;color:#54634A;margin-bottom:26px;}
.brd a{color:#3D6320;font-weight:700;}
@media(max-width:640px){
 h1{font-size:1.72rem;} h2{font-size:1.35rem;}
 header.sv nav a{font-size:.8rem;padding:9px 9px;}
 .cta{width:100%;justify-content:center;margin-right:0;}
}

/* ---- menu plein ecran ---- */

/* ============ MENU MOBILE PLEIN ECRAN ============ */
.mm-ov{position:fixed;inset:0;z-index:200;background:rgba(8,12,6,.72);
  opacity:0;pointer-events:none;transition:opacity .2s;}
.mm-ov.on{opacity:1;pointer-events:auto;}
.mm-panel{position:absolute;top:0;right:0;bottom:0;width:min(400px,92vw);background:#171B13;
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);
  box-shadow:-8px 0 30px rgba(0,0,0,.5);}
.mm-ov.on .mm-panel{transform:none;}
.mm-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.12);flex:none;}
.mm-head span{color:#fff;font-weight:900;font-size:.86rem;letter-spacing:2px;text-transform:uppercase;}
.mm-head button{background:none;border:none;color:#C8DDB0;font-size:2rem;line-height:1;cursor:pointer;
  width:48px;height:48px;border-radius:12px;font-family:inherit;}
.mm-head button:hover{background:rgba(255,255,255,.09);color:#fff;}
.mm-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 0;}
.mm-list a{display:flex;align-items:center;gap:14px;padding:14px 18px;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.07);min-height:64px;transition:background .15s;}
.mm-list a:hover{background:rgba(255,255,255,.06);}
.mm-list a.on{background:rgba(140,193,82,.14);box-shadow:inset 4px 0 0 #8CC152;}
.mm-ico{width:42px;height:42px;border-radius:12px;background:rgba(168,204,126,.15);flex:none;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;}
.mm-list a.on .mm-ico{background:rgba(140,193,82,.3);}
.mm-txt{flex:1;min-width:0;}
.mm-txt b{display:block;color:#fff;font-size:1.04rem;font-weight:800;line-height:1.3;}
.mm-txt small{display:block;color:#AFC49B;font-size:.85rem;line-height:1.4;margin-top:2px;}
.mm-fl{color:#6E8556;font-size:1.6rem;line-height:1;flex:none;}
.mm-foot{flex:none;display:flex;gap:10px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.12);}
.mm-foot a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;
  border-radius:13px;text-decoration:none;font-weight:900;font-size:.98rem;}
.mm-call{background:#8CC152;color:#132009;}
.mm-sms{background:rgba(255,255,255,.09);color:#DDEBCC;border:1px solid rgba(255,255,255,.2);}
body.mm-open{overflow:hidden;}
@media(prefers-reduced-motion:reduce){.mm-ov,.mm-panel{transition:none;}}
/* le bouton menu est visible partout, meme sur grand ecran */
.nav-ham{display:flex !important;align-items:center;justify-content:center;gap:5px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#E3E9DC;
  font-size:.82rem;font-weight:800;min-height:42px;padding:0 14px;border-radius:10px;cursor:pointer;
  flex-shrink:0;font-family:inherit;transition:background .15s;}
.nav-ham:hover{background:rgba(140,193,82,.3);color:#fff;}
/* lien actif dans la barre du haut */
.nav-links a.on{background:rgba(140,193,82,.22);border-color:#8CC152;color:#fff;}

/* ---- barre du haut : logo + onglets, alignes sur une ligne ---- */
header.sv{padding:0;}
header.sv .wrap{max-width:1240px;display:flex;align-items:center;gap:18px;
  flex-wrap:nowrap;min-height:60px;}
header.sv a.lg{display:flex;align-items:center;gap:9px;flex:0 0 auto;text-decoration:none;
  color:#fff;font-weight:800;letter-spacing:.8px;font-size:1rem;white-space:nowrap;}
header.sv a.lg img{height:38px;width:auto;display:block;}
header.sv a.lg em{color:var(--acc);font-style:normal;}
header.sv nav{margin-left:0;display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:nowrap;flex:1 1 auto;min-width:0;}
header.sv .sv-links{display:flex;align-items:center;justify-content:center;
  gap:4px;flex:1 1 auto;min-width:0;flex-wrap:nowrap;}
header.sv .sv-right{display:flex;align-items:center;gap:9px;flex:0 0 auto;}
header.sv nav a,header.sv nav button{display:inline-flex;align-items:center;justify-content:center;
  height:36px;min-height:36px;padding:0 9px;margin:0;box-sizing:border-box;
  font-family:inherit;font-size:.76rem;font-weight:600;line-height:1;white-space:nowrap;
  color:#E3E9DC;text-decoration:none;border-radius:8px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);}
header.sv nav a:hover{border-color:var(--acc);color:#C9E5A5;background:rgba(140,193,82,.14);}
header.sv nav a.sv-lang{background:none;border:none;font-weight:800;letter-spacing:1px;
  opacity:.6;padding:0 6px;font-size:.86rem;color:#fff;}
header.sv nav a.sv-lang:hover{opacity:1;background:none;}
header.sv nav .nav-ham{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);
  font-weight:800;font-size:.8rem;padding:0 13px;gap:6px;}
header.sv nav a.tel{background:var(--acc);color:#132009;border-color:var(--acc);
  font-weight:900;padding:0 13px;font-size:.8rem;}
@media(max-width:1200px){
  header.sv a.lg span{display:inline;}
  header.sv .sv-links{display:none;}
  header.sv nav{justify-content:flex-end;}
  header.sv .wrap{min-height:56px;gap:12px;}
}
@media(max-width:620px){
  header.sv a.lg span{font-size:.9rem;letter-spacing:.4px;}
  header.sv a.lg img{height:32px;}
  header.sv .wrap{gap:8px;}
  header.sv .sv-right{gap:6px;}
  header.sv nav a.tel,header.sv nav .nav-ham{padding:0 10px;font-size:.76rem;}
}
@media(max-width:480px){
  header.sv a.lg span{display:none;}
  header.sv nav a.tel,header.sv nav .nav-ham{padding:0 9px;font-size:.74rem;}
}

/* ---- zones tactiles : liens isoles assez grands pour le pouce ---- */
.fin .wrap a{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;}
.fin .wrap a.big{padding:10px 18px;}
ul li > a:only-child{display:inline-block;min-height:44px;line-height:32px;padding:6px 2px;}

/* ---------- LE CLAVIER DOIT SE VOIR ---------- */
:focus-visible{outline:3px solid #8CC152;outline-offset:2px;border-radius:6px;}

/* ---------- GRILLE DE TARIFS ---------- */
.tar{width:100%;table-layout:fixed;border-collapse:collapse;margin:16px 0 10px;background:#fff;
  border:1px solid #cfe0bd;border-radius:14px;overflow:hidden;}
.tar th,.tar td{padding:13px 14px;border-bottom:1px solid #e3e8dd;text-align:left;
  color:#3d443a;font-size:.98rem;overflow-wrap:anywhere;}
.tar thead th{background:var(--green-light);color:#2F5418;font-weight:900;font-size:.88rem;
  letter-spacing:.3px;text-transform:uppercase;overflow-wrap:normal;}
.tar tbody tr:last-child td{border-bottom:none;}
.tar td.pr{font-weight:900;color:#2F5418;font-size:1.06rem;}
.tar td.av{color:#5c6355;}
.tar td.av s{color:#5c6355;}
.tar-note{font-size:.86rem;color:#54634A;margin:6px 2px 0;}
@media(max-width:560px){
  .tar th,.tar td{padding:10px 8px;font-size:.88rem;}
  .tar td.pr{font-size:.96rem;}
}

/* ---------- POINTS FORTS ---------- */
.pf{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:14px;margin:18px 0 6px;}
.pf div{background:var(--green-light);border:1px solid #cfe0bd;border-radius:14px;
  padding:16px 18px;min-width:0;}
.pf b{display:block;color:#2F5418;font-size:1rem;margin-bottom:4px;}
.pf span{color:#41552f;font-size:.92rem;line-height:1.5;overflow-wrap:anywhere;}

/* ---------- CALENDRIER DE SAISON ---------- */
.sais{margin:18px 0 10px;}
.sais-g,.sais-bar{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;}
.sais-m{text-align:center;font-size:.72rem;font-weight:900;color:#54634A;
  padding:5px 0;background:var(--green-light);border-radius:5px;}
.sais-bar{margin-top:5px;}
.sais-s{height:16px;border-radius:5px;}
.sais-s.ok{grid-column:5/7;background:#B7D398;}
.sais-s.top{grid-column:8/10;background:#4F7A2A;}
.sais-l{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;}
.sais-l div{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;color:#3d443a;min-width:0;}
.sais-l i{width:14px;height:14px;border-radius:4px;flex:none;margin-top:4px;}
.sais-l i.ok{background:#B7D398;}
.sais-l i.top{background:#4F7A2A;}
.sais-l b{color:#2F5418;}

/* ---------- CARTES DE SERVICE ---------- */
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:15px;margin:18px 0 6px;}
.cart{background:#fff;border:1px solid #cfe0bd;border-radius:16px;padding:18px 20px;min-width:0;}
.cart-b{display:inline-block;background:var(--green-light);color:#2F5418;font-size:.74rem;
  font-weight:900;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;
  border-radius:999px;margin-bottom:9px;}
.cart h3{margin:0 0 7px;font-size:1.06rem;}
.cart p{margin:0;font-size:.94rem;line-height:1.6;overflow-wrap:anywhere;}

/* ---------- ETAPES NUMEROTEES ---------- */
.etapes{list-style:none;counter-reset:et;padding:0;margin:18px 0 6px;}
.etapes li{counter-increment:et;position:relative;padding:0 0 18px 52px;margin:0;}
.etapes li::before{content:counter(et);position:absolute;left:0;top:0;width:36px;height:36px;
  border-radius:50%;background:var(--green);color:#fff;font-weight:900;font-size:1.02rem;
  display:flex;align-items:center;justify-content:center;}
.etapes b{display:block;color:#2F5418;font-size:1.04rem;margin-bottom:3px;}
.etapes span{color:#3d443a;font-size:.95rem;line-height:1.6;overflow-wrap:anywhere;}

/* ---------- CE QU'ON DIT FRANCHEMENT ---------- */
.franc{background:#FFF6E3;border:1px solid #f0d79a;border-radius:16px;padding:6px 22px;margin:22px 0;}
.franc div{padding:16px 0;border-bottom:1px solid #f0d79a;}
.franc div:last-child{border-bottom:none;}
.franc b{display:block;color:#7A5410;font-size:1.02rem;margin-bottom:4px;}
.franc span{color:#4a4437;font-size:.95rem;line-height:1.6;overflow-wrap:anywhere;}

/* ---------- NOUVEL OUTIL : HARLEY RAKE ---------- */
.nouv{display:inline-block;background:#4F7A2A;color:#fff;font-size:.74rem;font-weight:900;
  letter-spacing:.6px;text-transform:uppercase;padding:5px 11px;border-radius:999px;
  vertical-align:middle;margin-left:8px;}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 6px;}
.gal figure{margin:0;min-width:0;}
.gal img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;display:block;
  border:1px solid #cfe0bd;}
.gal figcaption{font-size:.82rem;color:#54634A;margin-top:6px;line-height:1.4;}
@media(max-width:560px){
  .gal{grid-template-columns:1fr 1fr;}
  .gal figure:last-child{grid-column:1/-1;}
  .gal figure:last-child img{aspect-ratio:16/11;object-position:center 62%;}
}
.fx{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;margin:18px 0 6px;}
.fx > div{display:flex;gap:12px;background:var(--green-light);border:1px solid #cfe0bd;
  border-radius:14px;padding:14px 16px;min-width:0;}
.fx i{flex:none;width:30px;height:30px;border-radius:50%;background:#4F7A2A;color:#fff;
  font-style:normal;font-weight:900;font-size:.9rem;display:flex;align-items:center;justify-content:center;}
.fx b{display:block;color:#2F5418;font-size:.98rem;margin-bottom:3px;}
.fx > div > div{min-width:0;}
.fx span{color:#41552f;font-size:.92rem;line-height:1.55;overflow-wrap:anywhere;}

/* ---------- BANDE DE CONFIANCE sous l'accroche ---------- */
.conf{background:#EEF4E4;border-bottom:1px solid #d5e3c2;}
.conf .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;padding:12px 20px;}
.conf span{display:inline-flex;align-items:center;gap:7px;color:#2F5418;font-size:.9rem;font-weight:800;white-space:nowrap;}
.conf i{font-style:normal;font-size:1rem;}
@media(max-width:560px){.conf .wrap{gap:4px 14px;} .conf span{font-size:.82rem;}}

/* ---------- RAPPELEZ-MOI : deux champs ---------- */
.rap{background:linear-gradient(180deg,#1E2A16,#171B13);padding:40px 0;margin-top:48px;}
.rap .wrap{max-width:620px;}
.rap-t{color:#fff;font-size:1.5rem;font-weight:900;line-height:1.25;margin:0 0 10px;text-align:center;}
.rap-i{color:#C8DDB0;font-size:1.02rem;line-height:1.6;margin:0 0 22px;text-align:center;}
.rap-f{display:flex;flex-direction:column;gap:14px;}
.rap-ch{display:flex;flex-direction:column;gap:6px;}
.rap-ch span{color:#EAF2E0;font-size:1rem;font-weight:800;}
.rap-ch input{width:100%;min-height:58px;padding:0 18px;box-sizing:border-box;border-radius:14px;
  background:#0F1A0A;border:2px solid rgba(168,204,126,.4);color:#fff;font-family:inherit;font-size:1.1rem;font-weight:600;}
.rap-ch input::placeholder{color:#7E9268;font-weight:400;}
.rap-ch input:focus{outline:3px solid #8CC152;outline-offset:1px;border-color:#8CC152;}
.rap-b{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:62px;
  border:none;border-radius:14px;cursor:pointer;background:linear-gradient(135deg,#8CC152,#5F8A3A);
  color:#132009;font-family:inherit;font-size:1.15rem;font-weight:900;}
.rap-b:hover{filter:brightness(1.1);}
.rap-ou{text-align:center;color:#C8DDB0;font-size:1rem;margin:18px 0 0;}
.rap-ou a{color:#C9E5A5;font-weight:900;font-size:1.2rem;white-space:nowrap;}
.rap-cache{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.rap + .fin{margin-top:0;}

/* ---------- BARRE D'APPEL COLLANTE (telephone) ---------- */
.mob-bar{position:fixed;left:0;right:0;bottom:0;z-index:8000;display:none;
  background:rgba(23,27,19,.97);backdrop-filter:blur(10px);border-top:1px solid rgba(168,204,126,.28);
  padding:9px 10px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(0,0,0,.4);
  transform:translateY(110%);transition:transform .3s cubic-bezier(.3,.9,.3,1);}
.mob-bar.on{transform:none;}
.mob-bar-in{display:flex;gap:8px;max-width:520px;margin:0 auto;}
.mob-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border-radius:11px;padding:9px 4px;text-decoration:none;font-weight:800;font-size:.82rem;
  border:none;font-family:inherit;cursor:pointer;line-height:1.15;}
.mob-btn span{font-size:1.05rem;line-height:1;}
.mb-call{background:linear-gradient(135deg,#6DA83C,#4F7A2A);color:#fff;}
.mb-text{background:#2E3826;color:#DCE8CE;border:1px solid rgba(168,204,126,.3);}
.mb-quote{background:#C79A4E;color:#241A11;}
@media(max-width:860px){.mob-bar{display:block;} body{padding-bottom:74px;}}
body.mm-open .mob-bar{transform:translateY(110%);}

/* ================== EFFETS VISUELS ================== */
/* apparition au defilement */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);}
.rv.in{opacity:1;transform:none;}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}.rv-d5{transition-delay:.4s}.rv-d6{transition-delay:.48s}.rv-d7{transition-delay:.56s}
/* accroche : texte qui entre, lumiere qui glisse */
.hero{position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:-40% -20%;pointer-events:none;
  background:radial-gradient(ellipse 40% 55% at 20% 50%,rgba(140,193,82,.28),transparent 70%);
  animation:heroLum 14s ease-in-out infinite alternate;}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
  background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.025) 22px 23px);}
.hero .wrap{position:relative;z-index:1;}
@keyframes heroLum{from{transform:translateX(0) scale(1);}to{transform:translateX(30%) scale(1.15);}}
.hero .kick{animation:montee .7s cubic-bezier(.2,.7,.2,1) both;}
.hero h1{animation:montee .7s .12s cubic-bezier(.2,.7,.2,1) both;}
.hero p{animation:montee .7s .24s cubic-bezier(.2,.7,.2,1) both;}
.hero .cta{animation:montee .7s .36s cubic-bezier(.2,.7,.2,1) both;}
@keyframes montee{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
/* cartes qui se soulevent */
.cart,.fx > div,.pf > div,.gal img,.tar,.enc{transition:transform .25s ease,box-shadow .25s ease;}
.cart:hover,.fx > div:hover,.pf > div:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(47,84,24,.14);}
.gal figure{overflow:hidden;border-radius:14px;}
.gal img{transition:transform .5s ease;}
.gal figure:hover img{transform:scale(1.05);}
/* pastilles numerotees qui apparaissent */
.etapes li::before,.fx i{transform:scale(.4);opacity:0;transition:transform .45s cubic-bezier(.3,1.4,.5,1) .15s,opacity .3s .15s;}
.rv.in.etapes li::before,.rv.in .fx i,.fx > div.rv.in i,.etapes li.rv.in::before{transform:scale(1);opacity:1;}
/* halo sur le bouton d'appel */
.mb-call,.cta:not(.sec),.fin .big{position:relative;}
.mb-call::after,.fin .big::after{content:"";position:absolute;inset:0;border-radius:inherit;
  box-shadow:0 0 0 0 rgba(140,193,82,.7);animation:halo 3s ease-out infinite;pointer-events:none;}
.fin .big::after{border-radius:12px;inset:-4px -10px;}
@keyframes halo{0%{box-shadow:0 0 0 0 rgba(140,193,82,.65);}60%{box-shadow:0 0 0 14px rgba(140,193,82,0);}100%{box-shadow:0 0 0 0 rgba(140,193,82,0);}}
.cta:not(.sec){transition:transform .2s,box-shadow .2s;}
.cta:not(.sec):hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(140,193,82,.35);}
/* bande de confiance : chaque mot arrive l'un apres l'autre */
.conf span{animation:montee .6s cubic-bezier(.2,.7,.2,1) both;}
.conf span:nth-child(2){animation-delay:.1s}.conf span:nth-child(3){animation-delay:.2s}.conf span:nth-child(4){animation-delay:.3s}.conf span:nth-child(5){animation-delay:.4s}
/* calendrier : les barres se dessinent */
.sais-s{transform-origin:left;transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1) .2s;}
.sais.rv.in .sais-s{transform:scaleX(1);}
.sais.rv.in .sais-s.top{transition-delay:.55s;}
/* tableau des tarifs : lignes qui s'allument */
.tar tbody tr{transition:background .2s;}
.tar tbody tr:hover{background:#F3F8EC;}
.tar td.pr{position:relative;}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none;}
  .hero::before,.hero .kick,.hero h1,.hero p,.hero .cta,.conf span{animation:none;}
  .mb-call::after,.fin .big::after{animation:none;display:none;}
  .etapes li::before,.fx i{transform:none;opacity:1;}
  .sais-s{transform:none;transition:none;}
}

/* ---------- cibles tactiles : au moins 40 px partout ---------- */
.brd a,.rap-ou a,main p a,.fin p a{display:inline-block;padding:9px 2px;margin:-9px 0;}
.tar-note a{display:inline;padding:0;margin:0;}
/* etiquettes un peu plus lisibles */
.nouv,.cart-b{font-size:.8rem;}
.sais-m{font-size:.78rem;}

/* ---------- les ancres s'arretent sous la barre de navigation collante ---------- */
html{scroll-padding-top:88px;}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}
@media print{.rv{opacity:1;transform:none;}.mob-bar{display:none;}}

/* ================== EFFETS INTERACTIFS (effets.js) ================== */
#lecture{position:fixed;left:0;top:0;height:4px;width:100%;z-index:9500;pointer-events:none;
  background:linear-gradient(90deg,#8CC152,#C9E5A5);transform-origin:left;transform:scaleX(0);
  box-shadow:0 0 10px rgba(140,193,82,.6);}
nav,header.sv{transition:padding .25s ease,box-shadow .25s ease;}
nav.compact,header.sv.compact{box-shadow:0 8px 28px rgba(0,0,0,.45);}
header.sv.compact{padding:7px 0;}
.tilt:hover{transition:transform .18s ease,box-shadow .25s ease;}
.onde{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);pointer-events:none;
  animation:onde .6s ease-out forwards;}
@keyframes onde{to{transform:scale(1);opacity:0;}}
.pulse{animation:pulsePrix .55s cubic-bezier(.2,.8,.3,1);}
@keyframes pulsePrix{0%{transform:scale(1);}35%{transform:scale(1.12);color:#C9E5A5;}100%{transform:scale(1);}}
#estBig,#estStickyVal,#estLo,#estHi,#estTotal{display:inline-block;transform-origin:center;}
#mmOv .mm-list a{opacity:0;transform:translateX(18px);transition:opacity .28s ease,transform .28s ease,background .15s;}
#mmOv.on .mm-list a{opacity:1;transform:none;}
.pv-c{position:relative;}
.pv-leg{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;line-height:1.3;font-size:.8rem;font-weight:800;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.72));opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none;}
.pv-c:hover .pv-leg,.pv-c:focus .pv-leg{opacity:1;transform:none;}
.pv-c img{transition:transform .5s ease;}
.pv-c:hover img{transform:scale(1.06);}
.avg-n .et{color:#E4E7DE;transition:color .3s;}
.avg-n .et.allume{animation:etoiles 1.2s steps(5,end) forwards;}
@keyframes etoiles{to{color:#FBBC04;}}
.hero-note .et{animation:scintille 3.5s ease-in-out infinite;}
@keyframes scintille{0%,100%{filter:brightness(1);}50%{filter:brightness(1.35) drop-shadow(0 0 4px rgba(251,188,4,.7));}}
.nouv,.cart-b{position:relative;overflow:hidden;}
.nouv::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);animation:brille 4s ease-in-out infinite;}
@keyframes brille{0%,60%{left:-60%;}100%{left:130%;}}
@media(prefers-reduced-motion:reduce){#lecture,.onde,.pulse,.hero-note .et,.nouv::after,.avg-n .et.allume{animation:none;} #mmOv .mm-list a{opacity:1;transform:none;transition:none;} .tilt{transition:none;}}

/* ================== COMPARATEUR LOUER OU FAIRE FAIRE ================== */
.cp-q{margin:20px 0 6px;font-weight:900;color:#2F5418;font-size:1rem;}
.cp-chips{display:flex;flex-wrap:wrap;gap:8px;}
.cp-chip{min-height:48px;padding:8px 14px;border-radius:12px;border:2px solid #DDE5D2;background:#fff;font:inherit;font-weight:800;font-size:.92rem;color:#2E3A24;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color .15s,background .15s,transform .15s;}
.cp-chip:hover{border-color:#8CC152;transform:translateY(-2px);}
.cp-chip.on{background:#4F7A2A;border-color:#4F7A2A;color:#fff;}
.cp-chip i{font-style:normal;font-size:1.15rem;}
.cp-jour{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.cp-jour input[type=range]{flex:1 1 200px;accent-color:#4F7A2A;height:30px;}
.cp-jour b{min-width:90px;color:#2F5418;font-size:1.05rem;}
.cp-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0 10px;}
.cp-col{border-radius:18px;padding:20px 20px 16px;border:2px solid #DDE5D2;background:#fff;position:relative;overflow:hidden;}
.cp-col.pro{border-color:#8CC152;background:linear-gradient(180deg,#F3F8EC,#fff);}
.cp-col h3{margin:0 0 4px;font-size:1.15rem;}
.cp-col .ss{color:#6b7762;font-size:.85rem;margin:0 0 12px;}
.cp-l{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #EEF1E8;font-size:.93rem;color:#3d443a;}
.cp-l span:last-child{font-weight:800;white-space:nowrap;color:#1E241A;}
.cp-l.inc span:last-child{color:#4F7A2A;}
.cp-l small{display:block;color:#6b7762;font-size:.78rem;font-weight:400;margin-top:2px;}
.cp-tot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px;padding-top:12px;border-top:2px solid #1E241A;}
.cp-tot span{font-weight:900;color:#2E3A24;}
.cp-tot b{font-size:1.75rem;font-weight:900;color:#1E241A;letter-spacing:-.5px;}
.cp-col.pro .cp-tot b{color:#2F5418;}
.cp-tot small{display:block;font-size:.78rem;color:#6b7762;font-weight:600;text-align:right;}
.cp-verdict{border-radius:16px;padding:18px 22px;margin:14px 0 22px;font-size:1rem;line-height:1.6;border:1px solid #DDE5D2;background:#F6F8F2;color:#2E3A24;transition:opacity .25s;}
.cp-verdict.chg{opacity:0;}
.cp-verdict b{color:#2F5418;}
.cp-verdict.loc{background:#FFF6E3;border-color:#f0d79a;} .cp-verdict.loc b{color:#7A5410;}
.cp-risques{margin:12px 0 0;padding:14px 16px;border-radius:12px;background:#FFF6E3;border:1px solid #f0d79a;font-size:.9rem;color:#4a4437;}
.cp-risques b{color:#7A5410;display:block;margin-bottom:4px;}
.cp-risques ul{margin:0;padding-left:18px;} .cp-risques li{margin-bottom:4px;color:#4a4437;}
.cp-src{font-size:.82rem;color:#54634A;margin-top:18px;line-height:1.5;}
@media(max-width:700px){.cp-cols{grid-template-columns:1fr;} .cp-tot b{font-size:1.5rem;}}

/* Video Harley Rake en arriere-plan */
.hv{position:relative;overflow:hidden;border-radius:18px;margin:22px 0 10px;min-height:420px;
  background:#1d2a14;isolation:isolate;box-shadow:0 14px 40px rgba(20,40,10,.25);}
.hv-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:0;
  filter:saturate(1.05);}
.hv::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(14,24,8,.82) 0%,rgba(14,24,8,.55) 45%,rgba(14,24,8,.15) 100%);}
.hv-t{position:relative;z-index:2;color:#fff;padding:36px 32px;max-width:480px;min-height:420px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:8px;}
.hv-t h3{margin:0;color:#fff;font-size:1.55rem;line-height:1.15;text-shadow:0 2px 10px rgba(0,0,0,.45);}
.hv-t p{margin:0;color:#e7efdd;font-size:1rem;line-height:1.5;text-shadow:0 1px 6px rgba(0,0,0,.45);}
.hv-k{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:900;letter-spacing:.8px;
  text-transform:uppercase;color:#d7f0b8;}
.hv-k::before{content:"";width:9px;height:9px;border-radius:50%;background:#e63946;
  box-shadow:0 0 0 0 rgba(230,57,70,.7);animation:hvpulse 1.6s ease-out infinite;}
@keyframes hvpulse{to{box-shadow:0 0 0 10px rgba(230,57,70,0);}}
.hv-b{margin-top:8px;align-self:flex-start;}
@media(max-width:640px){
  .hv{min-height:0;border-radius:14px;}
  .hv-v{position:relative;aspect-ratio:4/5;height:auto;object-position:center 45%;}
  .hv::after{background:linear-gradient(180deg,rgba(14,24,8,0) 40%,rgba(14,24,8,.85) 100%);}
  .hv-t{position:absolute;inset:0;min-height:0;max-width:none;padding:22px 18px;}
  .hv-t h3{font-size:1.25rem;}
  .hv-t p{font-size:.92rem;}
}
@media(prefers-reduced-motion:reduce){.hv-k::before{animation:none;}}
.hv-b{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border-radius:12px;
  background:linear-gradient(135deg,#8CC152,#5F8A3A);color:#132009;font-weight:900;font-size:1rem;text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.3);}
.hv-b:hover{filter:brightness(1.1);}

.hv-pente .hv-v{object-position:center 62%;}
.hv-pente,.hv-pente .hv-t{min-height:500px;}
.hv-pente::after{background:linear-gradient(90deg,rgba(20,20,24,.86) 0%,rgba(20,20,24,.6) 45%,rgba(20,20,24,.18) 100%);}
@media(max-width:640px){.hv-pente::after{background:linear-gradient(180deg,rgba(20,20,24,0) 35%,rgba(20,20,24,.88) 100%);}}
