/* ===== WENDY : système d'en-têtes animés (même langage que la page Forages) ===== */
.sc-progress{position:fixed;top:0;left:0;height:4px;width:0;z-index:9999;background:linear-gradient(90deg,#22a06b,#facc15,#38bdf8);box-shadow:0 0 10px rgba(34,160,107,.6)}

.sc-hero{--a:#bae6fd;--a3:#22d3ee;--sh:4,30,66;position:relative;isolation:isolate;overflow:hidden;color:#fff;min-height:540px;display:flex;align-items:center;margin-bottom:3.5rem}
.t-terrains{--a:#bbf7d0;--a3:#facc15;--sh:6,52,32}
.t-vehicules{--a:#fed7aa;--a3:#fbbf24;--sh:38,14,48}
.t-gestion{--a:#c7d2fe;--a3:#f0abfc;--sh:18,16,66}
.t-apropos{--a:#fde68a;--a3:#4ade80;--sh:6,52,32}
.t-accueil{--a:#fde68a;--a3:#4ade80;--sh:7,38,52}
.t-contact{--a:#99f6e4;--a3:#5eead4;--sh:3,38,48}
.sc-hero.flush{margin-bottom:0}

.sc-scene{position:absolute;inset:0;width:100%;height:100%;z-index:-3;transform:scale(1.05) translate(var(--px,0px),var(--py,0px));transition:transform .4s ease-out}
.sc-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(var(--sh),.92) 0%,rgba(var(--sh),.66) 45%,rgba(var(--sh),.06) 100%)}
.sc-parts{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.sc-parts span{position:absolute;left:var(--l);bottom:-30px;width:var(--s);height:var(--s);border:2px solid rgba(255,255,255,.5);background:color-mix(in srgb,var(--a) 20%,transparent);border-radius:50%;animation:sc-rise-p var(--t) linear infinite;animation-delay:var(--dl)}
@keyframes sc-rise-p{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}50%{transform:translate(16px,-300px)}100%{transform:translate(-12px,-640px);opacity:0}}

.sc-inner{position:relative;width:min(1180px,92%);margin-inline:auto;padding-top:4.5rem;padding-bottom:7.5rem}
.sc-inner>*{max-width:640px;opacity:0;animation:sc-up .8s ease forwards}
.sc-inner>:nth-child(2){animation-delay:.15s}.sc-inner>:nth-child(3){animation-delay:.3s}.sc-inner>:nth-child(4){animation-delay:.45s}.sc-inner>:nth-child(5){animation-delay:.6s}.sc-inner>:nth-child(6){animation-delay:.75s}
@keyframes sc-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.sc-badge{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.12);color:var(--a);border:1px solid var(--a);padding:.35rem .9rem;border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1rem}
.sc-hero h1{font-size:clamp(2.1rem,5.2vw,3.6rem);line-height:1.08;font-weight:800;margin:0 0 .8rem;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.3)}
.sc-hero h1 span{background:linear-gradient(90deg,var(--a),var(--a3),var(--a));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;animation:sc-shimmer 4s linear infinite}
@keyframes sc-shimmer{to{background-position:-200% 0}}
.sc-inner>p{color:rgba(255,255,255,.93);font-size:1.15rem;margin:0 0 1.4rem}
.sc-cta-row{display:flex;flex-wrap:wrap;gap:.8rem}
.sc-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:50px;font-weight:700;font-size:.95rem;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.sc-btn:hover{transform:translateY(-3px)}
.sc-wa{background:#25d366;color:#fff}
.sc-ghost{border:2px solid rgba(255,255,255,.8);color:#fff}.sc-ghost:hover{background:#fff;color:#0f3d2b}
.sc-btn.pulse{animation:sc-pulse 2.2s infinite}
@keyframes sc-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.sc-chips{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.2rem}
.sc-chips div{display:flex;flex-direction:column;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);border-radius:14px;padding:.6rem 1rem;animation:sc-floaty 5s ease-in-out infinite}
.sc-chips div:nth-child(2){animation-delay:-1.6s}.sc-chips div:nth-child(3){animation-delay:-3.2s}
.sc-chips b{font-size:1.1rem}.sc-chips span{font-size:.78rem;opacity:.85}
@keyframes sc-floaty{50%{transform:translateY(-6px)}}
.sc-bc,.sc-bc span{color:rgba(255,255,255,.85);font-size:.85rem}.sc-bc a{color:#fff}
.sc-wave{position:absolute;left:0;bottom:-1px;width:200%;height:70px;z-index:3;fill:var(--bg);animation:sc-wavek 14s linear infinite;pointer-events:none}
.sc-wave.b{height:58px;opacity:.55;animation-duration:9s;animation-direction:reverse}
@keyframes sc-wavek{to{transform:translateX(-50%)}}

/* ---- éléments de scène (SVG) ---- */
.sc-sun{animation:sc-sunk 6s ease-in-out infinite}@keyframes sc-sunk{50%{transform:scale(1.08);opacity:.85}}
.sc-cloud{animation:sc-drift 80s linear infinite}@keyframes sc-drift{from{transform:translateX(-300px)}to{transform:translateX(1800px)}}
.sc-birds{animation:sc-fly 38s linear infinite}@keyframes sc-fly{from{transform:translate(-100px,250px)}to{transform:translate(1600px,170px)}}
.sc-wheel{transform-box:fill-box;transform-origin:center;animation:sc-spin .45s linear infinite}@keyframes sc-spin{to{transform:rotate(360deg)}}
.sc-drive{animation:sc-go 10s linear infinite}@keyframes sc-go{from{transform:translateX(-400px)}to{transform:translateX(1900px)}}
.sc-drive-l{animation:sc-gol 14s linear infinite}@keyframes sc-gol{from{transform:translateX(1900px)}to{transform:translateX(-300px)}}
.sc-road{animation:sc-roadk .6s linear infinite}@keyframes sc-roadk{to{stroke-dashoffset:-80}}
.sc-poles{animation:sc-polesk 2.6s linear infinite}@keyframes sc-polesk{to{transform:translateX(-220px)}}
.sc-spd{stroke:#fff;stroke-width:2;opacity:.35;stroke-linecap:round;animation:sc-spdk 3s linear infinite}@keyframes sc-spdk{from{transform:translateX(-200px)}to{transform:translateX(1700px)}}
.sc-win{animation:sc-blink 5s ease-in-out infinite}@keyframes sc-blink{0%,100%{opacity:.25}45%,60%{opacity:1}}
.sc-star{animation:sc-tw 3s ease-in-out infinite}@keyframes sc-tw{50%{opacity:.2}}
.sc-glow{animation:sc-glowk 3s ease-in-out infinite}@keyframes sc-glowk{50%{opacity:.45}}
.sc-sway{transform-box:fill-box;transform-origin:50% 100%;animation:sc-swayk 5s ease-in-out infinite alternate}@keyframes sc-swayk{from{transform:rotate(-2deg)}to{transform:rotate(2.5deg)}}
.sc-swing{transform-box:fill-box;transform-origin:50% 0;animation:sc-swingk 3.4s ease-in-out infinite alternate}@keyframes sc-swingk{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
.sc-flap{transform-box:fill-box;transform-origin:left center;animation:sc-flapk 1.1s ease-in-out infinite alternate}@keyframes sc-flapk{from{transform:skewY(-9deg)}to{transform:skewY(8deg) scaleX(.85)}}
.sc-flag{transform-box:fill-box;transform-origin:left center;animation:sc-flagk 2.4s ease-in-out infinite alternate}@keyframes sc-flagk{from{transform:skewY(-4deg)}to{transform:skewY(4deg) scaleX(.94)}}
.sc-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:sc-drawk 7s ease-in-out infinite}@keyframes sc-drawk{0%{stroke-dashoffset:1}40%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
.sc-rise{transform-box:fill-box;transform-origin:bottom;animation:sc-build 9s ease-in-out infinite}@keyframes sc-build{0%{transform:scaleY(0)}35%,92%{transform:scaleY(1)}100%{transform:scaleY(0)}}
.sc-roof{animation:sc-roofk 9s ease-in-out infinite}@keyframes sc-roofk{0%,35%{transform:translateY(-40px);opacity:0}50%,92%{transform:none;opacity:1}100%{opacity:0}}
.sc-scan{transform-box:fill-box;transform-origin:center;animation:sc-scank 4s ease-in-out infinite alternate}@keyframes sc-scank{from{transform:rotate(-25deg)}to{transform:rotate(25deg)}}
.sc-dash{stroke-dasharray:6 8;animation:sc-dashk 1.4s linear infinite}@keyframes sc-dashk{to{stroke-dashoffset:-28}}
.sc-pipe{animation:sc-pipek 2.6s ease-in-out infinite}@keyframes sc-pipek{50%{transform:translateY(-20px)}}
.sc-smoke{animation:sc-smokek 3.6s ease-out infinite;opacity:0}@keyframes sc-smokek{0%{transform:translate(0,0) scale(.6);opacity:.8}100%{transform:translate(18px,-60px) scale(2.2);opacity:0}}
.sc-ripple{transform-box:fill-box;transform-origin:center;animation:sc-ripplek 2.2s ease-out infinite}@keyframes sc-ripplek{from{transform:scale(.15);opacity:1}to{transform:scale(1);opacity:0}}
.sc-ping{transform-box:fill-box;transform-origin:center;animation:sc-pingk 2.2s ease-out infinite}@keyframes sc-pingk{from{transform:scale(.6);opacity:.9}to{transform:scale(3);opacity:0}}
.sc-float{animation:sc-fl 5s ease-in-out infinite}@keyframes sc-fl{50%{transform:translateY(-14px)}}
.sc-dot{animation:sc-dotk 1.2s ease-in-out infinite}@keyframes sc-dotk{40%{transform:translateY(-5px);opacity:1}0%,80%,100%{opacity:.4}}
.sc-t1{animation:sc-t1k 6s infinite}.sc-t2{animation:sc-t1k 6s infinite reverse}@keyframes sc-t1k{0%,45%{opacity:1}50%,95%{opacity:0}100%{opacity:1}}

/* ---- sections communes ---- */
.container>h2.reveal,.seo-block h2{position:relative;display:inline-block}
.container>h2.reveal::after,.seo-block h2::after{content:"";display:block;height:4px;width:0;margin-top:.35rem;border-radius:4px;background:linear-gradient(90deg,var(--accent),#facc15);transition:width 1s .3s ease}
.container>h2.reveal.in::after,.seo-block.in h2::after{width:100%}

/* ---- accueil ---- */
.hm-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:-4.5rem;position:relative;z-index:5}
.hm-card{--c:#22a06b;position:relative;overflow:hidden;padding:1.7rem 1.3rem 1.4rem;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.5rem;transition:transform .3s,box-shadow .3s}
.hm-card::before{content:"";position:absolute;left:0;top:0;height:5px;width:36%;background:var(--c);transition:width .5s ease}
.hm-card:hover{transform:translateY(-8px);box-shadow:0 18px 38px rgba(15,60,40,.2)}.hm-card:hover::before{width:100%}
.hm-ic{width:54px;height:54px;border-radius:16px;background:var(--c);color:#fff;display:grid;place-items:center;font-size:1.4rem;box-shadow:0 8px 18px color-mix(in srgb,var(--c) 45%,transparent);animation:sc-floaty 4s ease-in-out infinite}
.hm-card:nth-child(2) .hm-ic{animation-delay:-1s}.hm-card:nth-child(3) .hm-ic{animation-delay:-2s}.hm-card:nth-child(4) .hm-ic{animation-delay:-3s}
.hm-card h3{font-size:1.02rem}.hm-card p{color:var(--muted);font-size:.84rem}
.hm-card .more{margin-top:auto;padding-top:.4rem;color:var(--c);font-weight:700;font-size:.82rem}
.hm-card:hover .more i{transform:translateX(5px)}.hm-card .more i{transition:transform .25s}
.sc-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:0;margin:1.6rem 0 2.8rem}
.sc-steps li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem}
.sc-steps li small{color:var(--muted)}
.sc-steps .num{position:relative;z-index:2;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.3rem;color:#fff;background:linear-gradient(135deg,var(--brand-2),var(--brand));box-shadow:0 0 0 6px rgba(34,160,107,.15)}
.sc-steps li::after{content:"";position:absolute;top:28px;left:calc(50% + 36px);width:calc(100% + 1rem - 72px);height:4px;border-radius:4px;background:linear-gradient(90deg,var(--accent),#facc15)}
.sc-steps li:last-child::after{display:none}
.sc-steps.in .num{animation:sc-pop .6s calc(var(--i)*.25s) cubic-bezier(.3,1.5,.5,1) both}
@keyframes sc-pop{from{transform:scale(0)}to{transform:scale(1)}}
.hm-feat .thumb{transition:transform .8s ease}.hm-feat:hover .thumb{transform:scale(1.06)}.hm-feat{overflow:hidden}.hm-feat .thumb{background-size:cover}
.stat{transition:transform .3s}.stat:hover{transform:translateY(-5px)}
.stat .num{background:linear-gradient(135deg,var(--brand),#facc15);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- bandeau final à vagues ---- */
.sc-cta{position:relative;overflow:hidden;border-radius:var(--r);margin:3rem 0;background:linear-gradient(135deg,#0b4a30,#177a4f 60%,#22a06b);color:#fff;text-align:center}
.sc-cta-in{padding:3rem 1.5rem 5rem}
.sc-cta h2{color:#fff;font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;margin:0 0 .5rem}
.sc-cta p{margin:0 auto 1.3rem;max-width:560px;opacity:.95}
.sc-cta .sc-wave{fill:var(--bg);height:56px}.sc-cta .sc-wave.b{height:44px;fill:rgba(255,255,255,.35)}
.sc-cta .sc-cta-row{justify-content:center}
.site-footer{background:linear-gradient(135deg,#0b4a30,#06281b)}

@media(max-width:980px){.hm-cards{grid-template-columns:repeat(2,1fr)}.sc-steps{grid-template-columns:1fr;gap:1.4rem}.sc-steps li{flex-direction:row;text-align:left;gap:1rem}.sc-steps li::after{display:none}}
@media(max-width:600px){.hm-cards{grid-template-columns:1fr}.sc-inner{padding-top:3rem;padding-bottom:6.5rem}.sc-hero{min-height:500px!important}.sc-shade{background:rgba(var(--sh),.78)}}
@media(prefers-reduced-motion:reduce){.sc-hero *,.sc-cta *{animation-duration:.001s!important;animation-iteration-count:1!important}.sc-inner>*{opacity:1}}

.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* ---- robustesse responsive ---- */
body{overflow-wrap:break-word}
.x-stats>div,.x-g4>*{min-width:0}
@media(max-width:560px){.x-stats,.x-g4{grid-template-columns:minmax(0,1fr)!important}}

/* ---- crédit développeur (footer) ---- */
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);margin-top:1.2rem;padding-top:1rem}
.footer-bottom .copy{margin:0}
.made-by{display:inline-flex;align-items:center;gap:.7rem;padding:.35rem .9rem .35rem .8rem;border-radius:14px;background:#030617;border:1px solid rgba(96,165,250,.35);color:rgba(255,255,255,.8);font-size:.74rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.made-by img{height:48px;width:auto;border-radius:6px;display:block}
.made-by:hover{transform:translateY(-3px);border-color:#60a5fa;box-shadow:0 8px 22px rgba(56,130,246,.4)}
@media(max-width:600px){.footer-bottom{flex-direction:column;align-items:flex-start}}
.footer-bottom .made-by{order:-1}
.footer-bottom .copy{padding-right:150px}
@media(max-width:600px){.footer-bottom .copy{padding-right:0}.footer-bottom{padding-bottom:4.2rem}}
