:root{--card:#1f2c2d;--g:#193f43;--g2:#2f7a4f;--leaf:#7fb069;--acc:#8fe0c0;--cream:#141e1f;--ink:#e9f1f2;--e:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font:400 1.2rem/1.6 'Alegreya Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--cream);-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:'Alegreya',Georgia,serif;line-height:1.15;font-weight:700;letter-spacing:0}
h2{font-size:clamp(1.9rem,5vw,3rem);margin-bottom:2rem}
a{color:inherit}.wrap{width:min(1120px,100% - 2.4rem);margin-inline:auto}
.kicker{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:1rem}.kicker.dark{color:#27704a}
.btn{display:inline-block;background:var(--acc);color:var(--g);font-weight:700;padding:.9rem 1.6rem;border-radius:99px;text-decoration:none;border:0;font:inherit;font-weight:700;cursor:pointer;transition:transform .3s var(--e),box-shadow .3s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(143,224,192,.4)}.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}.btn-sm{padding:.5rem 1.1rem}
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;color:#fff;transition:background .3s,box-shadow .3s}
.nav.solid{background:rgba(25,63,67,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.brand{display:flex;gap:.6rem;align-items:center;text-decoration:none;font-family:'Alegreya',Georgia,serif;font-weight:700}.brand em{font-style:normal;color:var(--acc)}
nav{display:flex;gap:1.6rem;align-items:center}nav a{text-decoration:none;font-size:.95rem}nav a:not(.btn):hover{color:var(--acc)}
.burger{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer}
.burger i{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:.3s}.burger i:first-child{top:18px}.burger i:last-child{top:26px}
.burger[aria-expanded=true] i:first-child{top:22px;transform:rotate(45deg)}.burger[aria-expanded=true] i:last-child{top:22px;transform:rotate(-45deg)}
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;background:linear-gradient(160deg,#0b2122,var(--g) 55%,#23573d);color:#fff;overflow:hidden}
#leaves{position:absolute;inset:0;width:100%;height:100%}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;will-change:transform;animation:drift 14s ease-in-out infinite alternate}
.b1{width:420px;height:420px;background:#3f9ea6;top:-100px;right:-80px}.b2{width:320px;height:320px;background:var(--acc);bottom:80px;left:-100px;animation-delay:-6s}
@keyframes drift{to{transform:translate(40px,30px) scale(1.15)}}
.hero-in{position:relative;padding:7rem 0 9rem}
h1{font-size:clamp(2.6rem,8.5vw,5.8rem);max-width:12ch;margin-bottom:1.4rem}h1 em{font-style:italic;color:var(--acc)}
h1 span{display:inline-block;opacity:0;transform:translateY(40px);animation:up .9s var(--e) forwards}h1 span:nth-child(2){animation-delay:.15s}h1 span:nth-child(3){animation-delay:.3s}
@keyframes up{to{opacity:1;transform:none}}
.lead{max-width:34rem;font-size:1.15rem;opacity:.9;margin-bottom:2rem}.cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hills{position:absolute;bottom:-1px;left:0;width:100%;height:clamp(110px,18vw,220px)}
.hills .h1{fill:#2f7a4f;opacity:.6}.hills .h2{fill:#4f8f5c;opacity:.6}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center;padding:1rem 0 3rem}
.stats b{display:block;font:700 clamp(2.2rem,7vw,4rem)/1 'Alegreya',Georgia,serif;color:var(--g)}.stats span{font-size:.9rem;color:#5a6580}
.sec{padding:clamp(3.5rem,9vw,6.5rem) 0}.sec.dark{background:var(--g);color:#fff}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.4rem}
.card{background:#fff;border-radius:22px;padding:2rem;position:relative;overflow:hidden;box-shadow:0 2px 0 rgba(25,63,67,.06);transition:transform .4s var(--e),box-shadow .4s}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(25,63,67,.35)}
.card::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:linear-gradient(90deg,var(--g2),var(--acc));transition:width .5s var(--e)}.card:hover::after{width:100%}
.num{font:italic 700 3rem/1 'Alegreya',Georgia,serif;color:var(--leaf);opacity:.5}.card h3{font-size:1.7rem;margin:.6rem 0}
.card ul{list-style:none;padding:0;margin-top:1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.card li{padding-left:1.3rem;position:relative;font-weight:500}.card li::before{content:"";position:absolute;left:0;top:.55em;width:.6rem;height:.6rem;border-radius:0 80% 0 80%;background:var(--g2)}
.about{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:start}.about p+p{margin-top:1rem}.about h2{margin:0}
.zone{background:#e6ebf3}
.muted{color:#5a6580}
.contact{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem}.info{display:flex;flex-direction:column;gap:.6rem;font-size:1.2rem}.info a{font:700 1.5rem 'Alegreya',Georgia,serif;color:var(--g);overflow-wrap:anywhere}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;padding:1.8rem;border-radius:22px}
.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:700}.full{grid-column:1/-1}
input,select,textarea{font:inherit;font-size:16px;font-weight:400;padding:.8rem 1rem;border:1.5px solid #d5dbe6;border-radius:12px;background:var(--cream);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--g2);border-color:var(--g2)}
footer{background:var(--g);color:#c1d5d7;font-size:.9rem}
.call-fab{display:none}
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--e),transform .8s var(--e)}.js .reveal.in{opacity:1;transform:none}
.js .reveal.done{transition:none}.js .card.reveal.done{transition:transform .4s var(--e),box-shadow .4s}.js details.reveal.done{transition:box-shadow .3s}
@media(max-width:820px){
 .burger{display:block}
 .burger,.brand{position:relative;z-index:2}
 nav{position:fixed;inset:0 0 auto;flex-direction:column;padding:5rem 1.5rem 2rem;background:var(--g);transform:translateY(-110%);visibility:hidden;transition:transform .4s var(--e),visibility 0s .4s;gap:1.2rem;font-size:1.2rem}
 nav.open{transform:none;visibility:visible;transition:transform .4s var(--e),visibility 0s}
 .about,.contact{grid-template-columns:1fr;gap:1.5rem}
 .card ul,.form{grid-template-columns:1fr}
 .call-fab{display:block;position:fixed;right:1rem;bottom:1rem;z-index:40;background:var(--acc);color:var(--g);font-weight:700;padding:.85rem 1.4rem;border-radius:99px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.25)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}h1 span,.js .reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

.pre{position:fixed;inset:0;z-index:99;background:var(--g);display:grid;place-items:center;transition:opacity .6s,visibility .6s}.pre img{animation:pulse 1s ease-in-out infinite alternate}.pre.off{opacity:0;visibility:hidden}
@keyframes pulse{to{transform:scale(1.15) rotate(6deg)}}
.bar{position:fixed;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--leaf),var(--acc));z-index:60;transform:scaleX(0);transform-origin:0 50%;will-change:transform}
.glow{position:fixed;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(rgba(143,224,192,.2),transparent 65%);pointer-events:none;z-index:1;opacity:0;transition:opacity .4s}
.sun{position:absolute;right:12%;top:14%;width:clamp(120px,22vw,260px);aspect-ratio:1;border-radius:50%;background:radial-gradient(#fff8d6,#e9e7a0 40%,transparent 70%);opacity:.5;animation:pulse2 6s ease-in-out infinite alternate}
@keyframes pulse2{to{transform:scale(1.12);opacity:.7}}
.grass{position:absolute;bottom:0;left:0;right:0;display:block;width:100%;height:clamp(70px,11vw,140px);pointer-events:none;z-index:2}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.5rem}
.steps li{padding-top:1.2rem;border-top:2px solid #d5dbe6;position:relative}.steps li::before{content:"";position:absolute;top:-2px;left:0;height:2px;width:0;background:var(--g2);transition:width 1.2s .3s var(--e)}.steps li.in::before{width:100%}
.steps b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--g);color:#fff;font:700 1.2rem 'Alegreya',Georgia,serif;margin-bottom:1rem}.steps h3{font-size:1.4rem;margin-bottom:.4rem}.steps p{color:#4a5470}
.faq{max-width:760px}details{background:#fff;border-radius:16px;padding:1.2rem 1.5rem;margin-bottom:.8rem;transition:box-shadow .3s}details[open]{box-shadow:0 14px 30px -18px rgba(25,63,67,.4)}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--g2);transition:transform .3s}details[open] summary::after{transform:rotate(45deg)}details p{margin-top:.8rem;color:#4a5470}
[data-tilt]{transform-style:preserve-3d;will-change:transform}
@media(hover:none){.glow{display:none}}

.hills .h3{fill:#123a26}
.pills{list-style:none;padding:0;display:grid;gap:1rem}.pills li{display:grid;grid-template-columns:auto 1fr;column-gap:1.2rem;background:#fff;border-radius:18px;padding:1.4rem 1.6rem}
.pills i{grid-row:span 2;font:italic 700 2.4rem/1 'Alegreya',Georgia,serif;color:var(--leaf)}.pills h3{font-size:1.3rem}.pills p{color:#4a5470}
.about h2{font-size:clamp(1.7rem,4vw,2.5rem);margin-bottom:1.2rem}
.deps{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}
.deps div{border-top:2px solid var(--g2);padding-top:.6rem}.deps b{display:block;font:700 clamp(4rem,14vw,8rem)/1 'Alegreya',Georgia,serif;color:transparent;-webkit-text-stroke:2px var(--g2);transition:color .4s}.deps div:hover b{color:var(--g2)}.deps span{font-size:1.2rem;font-weight:700}
.final{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 0,#2e6b4d,var(--g) 55%)}.final .wrap{position:relative}
.bgword{position:absolute;right:-2%;top:2%;font:700 clamp(8rem,28vw,24rem)/1 'Alegreya',Georgia,serif;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.1);pointer-events:none}
.big{font-size:clamp(2.4rem,7vw,4.8rem);max-width:15ch}.big em{color:var(--acc)}
.final .info a{color:#fff}.final .info p{opacity:.85}.ticks{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.ticks li{border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:.3rem 1rem;font-size:.9rem}
.final .form{color:var(--ink);box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
footer{display:block;padding:3rem 1.2rem 1.4rem}.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;width:min(1120px,100%);margin:0 auto 2rem}.fgrid b{color:#fff;font:700 1.3rem 'Alegreya',Georgia,serif}.fgrid p{margin-top:.5rem}.fgrid div:not(:first-child){display:flex;flex-direction:column;gap:.5rem}.fgrid a{text-decoration:none}.fgrid a:hover{color:var(--acc)}
.copy{width:min(1120px,100%);margin:0 auto;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem;font-size:.85rem}
@media(max-width:820px){.fgrid{grid-template-columns:1fr}footer{padding-bottom:5.5rem}}
html,body{overflow-x:clip}

[hidden]{display:none!important}
/* ===== accessibilité ===== */
.skip{position:fixed;left:1rem;top:-4rem;z-index:120;background:var(--acc);color:var(--g);font-weight:700;padding:.6rem 1.1rem;border-radius:99px;text-decoration:none;transition:top .2s}.skip:focus{top:1rem}
main:focus{outline:none}
a:focus-visible,button:focus-visible,summary:focus-visible,.btn:focus-visible{outline:3px solid var(--g2);outline-offset:3px;border-radius:6px}
.btn:focus-visible{border-radius:99px}
.nav :focus-visible,.hero :focus-visible,.final :focus-visible,footer :focus-visible,.skip:focus-visible{outline-color:var(--acc)}
textarea{resize:vertical}
.btn:disabled{opacity:.65;cursor:progress;transform:none;box-shadow:none}
.fstatus{font-size:.95rem;font-weight:500;color:var(--g);line-height:1.4}.fstatus:empty{display:none}
.hero.off *{animation-play-state:paused}

/* ===== chiffres clés ===== */
.stats{align-items:stretch;gap:1.2rem}
.stat{background:#fff;border-radius:22px;padding:1.4rem 1rem 1.2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;box-shadow:0 2px 0 rgba(25,63,67,.06)}
.js .stat.done{transition:transform .4s var(--e),box-shadow .4s}
.stat.done:hover{transform:translateY(-5px);box-shadow:0 22px 40px -18px rgba(25,63,67,.35)}
.stat .ico{width:min(100%,128px);height:auto;display:block;overflow:visible}
.stat .txt{text-align:center}
.ico .hill{fill:#dfe6f0}
.ico .pa{fill:var(--g)}.ico .pb{fill:var(--g2)}
.ico text{font:700 9.5px 'Alegreya Sans',system-ui,sans-serif;fill:#fff;text-anchor:middle}
.ico .rip{fill:none;stroke:var(--leaf);stroke-width:1.4;opacity:0;transform-box:fill-box;transform-origin:center}
.ico .lf{transform-box:fill-box;transform-origin:50% 50%}.ico .lf.a{fill:var(--g2)}.ico .lf.b{fill:var(--leaf)}.ico .lf.c{fill:var(--g)}
.ico .doc rect,.ico .doc path,.ico .house path{fill:none;stroke:var(--g);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ico .flow{fill:none;stroke:var(--leaf);stroke-width:2.8;stroke-linecap:round;stroke-dasharray:.1 7}
.ico .ring{fill:none;stroke:var(--leaf);stroke-width:1.6;transform-box:fill-box;transform-origin:center}
.ico .me circle,.ico .me path{fill:var(--g)}
@media(max-width:560px){
 .stats{grid-template-columns:1fr}
 .stat{flex-direction:row;gap:1rem;padding:1rem 1.2rem}
 .stat .ico{width:104px;flex:none}
 .stat .txt{text-align:left}
 .stats b{font-size:2.6rem}
}
@media (prefers-reduced-motion:no-preference){
 .js .stat .pin{opacity:0}
 .js .stat .lf{opacity:0;transform:scale(0) rotate(-40deg)}
 .stat .pin{transform-box:fill-box;transform-origin:50% 100%}
 .stat.go .pin{animation:drop .75s var(--e) forwards;animation-delay:calc(var(--d) + .15s)}
 .stat.go .rip{animation:ripple 2.6s ease-out infinite;animation-delay:calc(var(--d) + .8s)}
 .stat.go .lf{animation:popleaf .6s var(--e) forwards;animation-delay:calc(var(--i)*.09s + .15s)}
 .stat.go .flow{animation:flow 1s linear infinite}
 .stat.go .ring{animation:ringp 2.2s ease-out infinite}
 .stat b.pop{animation:pop .5s var(--e)}
}
@keyframes drop{0%{opacity:0;transform:translateY(-36px)}55%{opacity:1;transform:translateY(3px)}75%{transform:translateY(-2px)}100%{opacity:1;transform:none}}
@keyframes ripple{0%{opacity:.85;transform:scale(.4)}100%{opacity:0;transform:scale(1.9)}}
@keyframes popleaf{0%{opacity:0;transform:scale(0) rotate(-40deg)}70%{opacity:1;transform:scale(1.2) rotate(6deg)}100%{opacity:1;transform:none}}
@keyframes flow{to{stroke-dashoffset:-14.2}}
@keyframes ringp{0%{opacity:.8;transform:scale(.8)}100%{opacity:0;transform:scale(1.3)}}
@keyframes pop{40%{transform:scale(1.2)}}

/* ===== bande : la tondeuse passe, l'herbe est coupée derrière elle ===== */
.marq{position:relative;height:136px;background:var(--g);color:#fff;overflow:hidden;transform:rotate(-1.2deg);margin:1.6rem 0;--mow:22s}
.mq-words{position:absolute;left:0;right:0;top:0;height:64px;display:flex;align-items:center;overflow:hidden}
.mq-track{display:flex;width:max-content;white-space:nowrap}
.mq-track span{font:italic 700 1.4rem 'Alegreya',Georgia,serif;margin:0 1.4rem}
.mq-track span::after{content:"✦";color:var(--acc);margin-left:2.8rem;font-style:normal}
.lawn{position:absolute;left:0;right:0;bottom:0;height:58px}
.tall{position:absolute;left:-24px;right:-24px;bottom:0;height:44px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2272%22 height=%2244%22 viewBox=%220 0 72 44%22%3E%3Cpath d=%22M1.8 44C1.8 34.0 4.8 28.1 5.9 24.1C5.6 30.1 5.8 35.0 5.8 44Z%22 fill=%22%232f7a4f%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M6.5 44C6.5 34.8 9.1 29.2 9.6 25.6C9.9 31.1 10.5 35.7 10.5 44Z%22 fill=%22%232a6b42%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M8.5 44C8.5 34.9 9.9 29.4 9.3 25.8C11.0 31.2 12.5 35.8 12.5 44Z%22 fill=%22%233d8450%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M11.6 44C11.6 30.5 15.9 22.4 18.2 17.0C16.5 25.1 15.6 31.8 15.6 44Z%22 fill=%22%232f7a4f%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M17.2 44C17.2 27.8 19.8 18.1 20.4 11.6C20.7 21.3 21.2 29.4 21.2 44Z%22 fill=%22%232f7a4f%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M19.8 44C19.8 30.8 25.1 22.9 28.4 17.7C25.4 25.6 23.8 32.2 23.8 44Z%22 fill=%22%232f7a4f%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M23.2 44C23.2 34.3 24.6 28.4 24.1 24.5C25.7 30.4 27.2 35.2 27.2 44Z%22 fill=%22%232a6b42%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M25.6 44C25.6 32.0 29.8 24.8 32.0 20.0C30.4 27.2 29.6 33.2 29.6 44Z%22 fill=%22%233d8450%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M29.0 44C29.0 28.6 28.9 19.3 26.7 13.1C30.3 22.4 33.0 30.1 33.0 44Z%22 fill=%22%232f7a4f%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M33.6 44C33.6 35.2 32.5 29.9 29.4 26.4C34.1 31.7 37.6 36.1 37.6 44Z%22 fill=%22%233d8450%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M36.9 44C36.9 29.1 40.9 20.1 42.8 14.2C41.5 23.1 40.9 30.6 40.9 44Z%22 fill=%22%237fb069%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M40.6 44C40.6 30.1 41.2 21.8 39.8 16.2C42.5 24.6 44.6 31.5 44.6 44Z%22 fill=%22%233d8450%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M44.4 44C44.4 32.8 46.9 26.1 47.4 21.7C47.8 28.4 48.4 33.9 48.4 44Z%22 fill=%22%232a6b42%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M47.4 44C47.4 31.5 49.0 24.1 48.6 19.1C50.1 26.5 51.4 32.8 51.4 44Z%22 fill=%22%232a6b42%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M52.0 44C52.0 34.5 53.4 28.7 52.9 24.9C54.6 30.7 56.0 35.4 56.0 44Z%22 fill=%22%2358a05f%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M53.5 44C53.5 29.6 52.2 21.0 49.0 15.3C53.9 23.9 57.5 31.1 57.5 44Z%22 fill=%22%232f7a4f%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M58.4 44C58.4 28.6 63.1 19.3 65.7 13.1C63.5 22.4 62.4 30.1 62.4 44Z%22 fill=%22%2358a05f%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M60.9 44C60.9 31.4 62.9 23.9 62.8 18.9C63.9 26.4 64.9 32.7 64.9 44Z%22 fill=%22%237fb069%22 fill-opacity=%220.92%22/%3E%3Cpath d=%22M63.7 44C63.7 34.8 64.1 29.3 62.5 25.6C65.4 31.1 67.7 35.7 67.7 44Z%22 fill=%22%232f7a4f%22 fill-opacity=%220.92%22/%3E%3C/svg%3E") repeat-x 0 100%;transform-origin:50% 100%}
.cut{position:absolute;top:0;bottom:0;left:0;width:calc(100% + 60px);overflow:hidden;transform:translateX(calc(-58% + 33px))}
.cut-in{position:absolute;top:0;bottom:0;left:0;width:100%;background:var(--g);transform:translateX(calc(58% - 33px))}
.short{position:absolute;left:0;right:0;bottom:0;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2248%22 height=%2216%22 viewBox=%220 0 48 16%22%3E%3Cpath d=%22M1.9 16C1.9 10.8 5.2 7.6 6.4 5.5C5.9 8.7 5.9 11.3 5.9 16Z%22 fill=%22%233d8450%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M4.7 16C4.7 9.6 5.8 5.7 4.8 3.2C6.9 7.0 8.7 10.2 8.7 16Z%22 fill=%22%233d8450%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M7.8 16C7.8 9.8 8.6 6.1 7.4 3.7C9.9 7.4 11.8 10.4 11.8 16Z%22 fill=%22%238fc17a%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M9.7 16C9.7 10.8 12.8 7.8 14.0 5.7C13.6 8.8 13.7 11.4 13.7 16Z%22 fill=%22%2358a05f%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M13.4 16C13.4 11.4 15.2 8.7 15.1 6.8C16.3 9.6 17.4 11.9 17.4 16Z%22 fill=%22%237fb069%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M16.2 16C16.2 9.7 16.9 5.9 15.6 3.3C18.2 7.1 20.2 10.3 20.2 16Z%22 fill=%22%2358a05f%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M18.2 16C18.2 12.0 18.8 9.7 17.4 8.1C20.0 10.4 22.2 12.4 22.2 16Z%22 fill=%22%233d8450%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M21.2 16C21.2 10.6 22.3 7.4 21.4 5.3C23.5 8.5 25.2 11.2 25.2 16Z%22 fill=%22%237fb069%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M24.7 16C24.7 11.0 27.1 8.0 27.6 6.0C28.0 9.0 28.7 11.5 28.7 16Z%22 fill=%22%233d8450%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M27.5 16C27.5 11.4 29.6 8.6 29.8 6.7C30.6 9.5 31.5 11.8 31.5 16Z%22 fill=%22%2358a05f%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M30.4 16C30.4 11.7 31.6 9.2 30.8 7.5C32.7 10.0 34.4 12.2 34.4 16Z%22 fill=%22%238fc17a%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M31.9 16C31.9 10.7 32.7 7.6 31.5 5.5C33.9 8.6 35.9 11.3 35.9 16Z%22 fill=%22%2358a05f%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M36.3 16C36.3 11.5 39.6 8.7 41.0 6.9C40.4 9.6 40.3 11.9 40.3 16Z%22 fill=%22%2358a05f%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M37.8 16C37.8 9.3 38.5 5.3 37.1 2.6C39.7 6.6 41.8 10.0 41.8 16Z%22 fill=%22%233d8450%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M42.1 16C42.1 11.4 42.8 8.7 41.6 6.8C44.1 9.6 46.1 11.9 46.1 16Z%22 fill=%22%237fb069%22 fill-opacity=%220.95%22/%3E%3C/svg%3E") repeat-x 0 100%}
.run{position:absolute;left:0;bottom:7px;width:100%;height:0;transform:translateX(42%)}
.mower{position:absolute;left:0;bottom:0;display:block;overflow:visible}
.mower .wheel,.mower .cl{transform-box:fill-box;transform-origin:center}
.marq.off *{animation-play-state:paused}
@media(max-width:700px){.marq{--mow:15s}}
@media (prefers-reduced-motion:no-preference){
 .mq-track{animation:mq 30s linear infinite}
 .run{animation:mow-run var(--mow) linear infinite}
 .cut{animation:mow-cut var(--mow) linear infinite}
 .cut-in{animation:mow-in var(--mow) linear infinite}
 .tall{animation:sway2 5s ease-in-out infinite alternate}
 .mower .wheel{animation:spin .8s linear infinite}
 .mower .body{animation:jig .16s ease-in-out infinite alternate}
 .mower .cl{opacity:0;animation:clip 1.1s linear infinite;animation-delay:calc(var(--k)*.22s)}
}
@keyframes mq{to{transform:translateX(-25%)}}
@keyframes mow-run{0%{transform:translateX(-140px)}70%,100%{transform:translateX(100%)}}
@keyframes mow-cut{0%{transform:translateX(calc(-100% - 82px));opacity:1}70%,88%{transform:translateX(-2px);opacity:1}100%{transform:translateX(-2px);opacity:0}}
@keyframes mow-in{0%{transform:translateX(calc(100% + 82px))}70%,100%{transform:translateX(2px)}}
@keyframes sway2{from{transform:skewX(-1.6deg)}to{transform:skewX(1.6deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes jig{to{transform:translateY(-.9px)}}
@keyframes clip{0%{opacity:0;transform:translate(0,0) rotate(0)}10%{opacity:1}45%{transform:translate(-28px,-15px) rotate(90deg)}100%{opacity:0;transform:translate(-76px,12px) rotate(220deg)}}


/* ===== thème sombre doux : le blanc devient graphite bleuté ===== */
:root{color-scheme:dark}
.card,.stat,.pills li,details,.form{background:var(--card);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.card:hover,.stat.done:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 22px 40px -18px rgba(0,0,0,.6)}
details[open]{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 14px 30px -18px rgba(0,0,0,.6)}
.final .form{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 30px 60px -30px rgba(0,0,0,.5)}
.stats b{color:var(--acc)}
.stats span,.muted{color:#9eb1b3}
.steps p,details p,.pills p{color:#aec0c2}
.steps li{border-top-color:rgba(255,255,255,.16)}
.steps b{background:var(--acc);color:var(--g)}
.kicker.dark{color:var(--leaf)}
.fstatus{color:#d4e1e2}
input,select,textarea{color:var(--ink);border-color:rgba(255,255,255,.16)}
summary::after{color:var(--leaf)}
.zone{background:#0e1516}
.ico .hill{fill:#2b3a3b}
.ico .pa{fill:var(--acc)}
.ico .pa~text{fill:var(--g)}
.ico .lf.c{fill:#3f9ea6}
.ico .doc rect,.ico .doc path,.ico .house path{stroke:#e9f1f2}
.ico .me circle,.ico .me path{fill:#e9f1f2}

/* ===== Nos services : titre + photo visibles directement ===== */
.cat+.cat{margin-top:clamp(2.5rem,6vw,4rem)}
.cat-h{display:flex;gap:1.1rem;align-items:flex-start;margin-bottom:1.4rem}
.cat-h .num{flex:none}
.cat-h h3{font-size:clamp(1.5rem,3.4vw,2rem);margin:0 0 .2rem}
.cat-h p{color:#aec0c2;font-size:1.05rem}
.svcs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.svc{background:var(--card);border-radius:18px;padding:1rem 1rem 1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);transition:transform .4s var(--e),box-shadow .4s}
.js .svc.reveal.done{transition:transform .4s var(--e),box-shadow .4s}
.svc:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 22px 40px -18px rgba(0,0,0,.6)}
.svc h4{font:700 1.3rem/1.2 'Alegreya',Georgia,serif;margin:.1rem .2rem .8rem;color:var(--ink)}
.ph{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#0e1516}
.ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--e)}
@media(hover:hover){.svc:hover .ph img{transform:scale(1.07)}}
@media(max-width:1000px){.svcs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svcs{grid-template-columns:1fr}.cat-h .num{font-size:2.4rem}}

:root{--fd:'Alegreya';--fb:'Alegreya Sans';--h0:#0b2122;--tl:#23573d}

/* ===== page crédit d'impôt ===== */
.tx-hero{position:relative;overflow:hidden;padding:clamp(7.5rem,16vw,10rem) 0 clamp(3rem,7vw,5rem);background:linear-gradient(160deg,var(--h0),var(--g) 55%,var(--tl));color:#fff}
.tx-hero::before{content:"";position:absolute;width:520px;height:520px;right:-120px;top:-120px;border-radius:50%;background:radial-gradient(closest-side,rgba(143,224,192,.35),transparent);filter:blur(10px)}
.tx-hero .wrap{position:relative;display:grid;gap:1.4rem}
.tx-hero h1{max-width:26ch;text-wrap:balance;font-size:clamp(2.2rem,6vw,4.2rem)}
.tx-hero p{max-width:60ch;font-size:1.2rem;color:rgba(255,255,255,.88)}
.tx-big{display:inline-block;font:400 clamp(4rem,14vw,8rem)/1 var(--fd),Georgia,serif;background:linear-gradient(180deg,#fff,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(143,224,192,.45))}
.tx-sec{padding:clamp(2.6rem,6vw,4.4rem) 0}
.tx-sec h2{margin-bottom:1.2rem}
.tx-sec>.wrap>p{max-width:70ch;color:var(--ma,inherit);opacity:.92}
.tx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;margin-top:1.4rem}
.tx-card{padding:1.5rem;border-radius:26px;background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(143,224,192,.22),0 0 30px -16px var(--acc)}
.tx-card h3{font-size:1.45rem;margin-bottom:.5rem}.tx-card p{opacity:.88}
.tx-card .tx-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--acc);color:var(--g);font-weight:700;margin-bottom:.9rem}
.tx-steps{list-style:none;padding:0;display:grid;gap:1rem;margin-top:1.4rem;counter-reset:s}
.tx-steps li{counter-increment:s;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1.1rem 1.3rem;border-radius:22px;background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(143,224,192,.18)}
.tx-steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--acc);color:var(--g);font-weight:700}
.tx-steps b{display:block;font-size:1.15rem}.tx-steps span{opacity:.85}
.tx-note{margin-top:1.6rem;padding:1rem 1.3rem;border-left:4px solid var(--acc);border-radius:0 18px 18px 0;background:rgba(255,255,255,.05);font-size:1.02rem}
.tx-note a{color:var(--acc)}
.tx-cta{text-align:center;padding:clamp(2.6rem,6vw,4rem) 1.2rem;margin:1rem auto 3rem;border-radius:34px;background:linear-gradient(135deg,var(--h0),var(--g) 60%,var(--tl));color:#fff;box-shadow:0 0 0 1px rgba(143,224,192,.3),0 0 60px -20px var(--acc)}
.tx-cta h2{max-width:22ch;margin:0 auto 1rem}.tx-cta p{max-width:56ch;margin:0 auto 1.6rem;color:rgba(255,255,255,.9)}
.tx-cta .cta{justify-content:center;display:flex;gap:.8rem;flex-wrap:wrap}
@keyframes txu{from{opacity:0;transform:translateY(18px)}}
.tx-card,.tx-steps li,.tx-hero .wrap>*{animation:txu .7s both}
@media(prefers-reduced-motion:reduce){.tx-card,.tx-steps li,.tx-hero .wrap>*{animation:none}}

/* ===== POPUP crédit d'impôt (vert sauge / vert foncé / blanc) ===== */
.vhp{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1rem;font-family:var(--fb),system-ui,sans-serif}
.vhp-bd{position:absolute;inset:0;background:rgba(6,20,13,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:vhpf .5s ease both}
.vhp-card{position:relative;width:min(100%,540px);max-height:92vh;overflow:auto;border-radius:30px;padding:clamp(1.8rem,5vw,2.8rem) clamp(1.3rem,5vw,2.6rem) 1.6rem;text-align:center;color:#fff;isolation:isolate;
 background:linear-gradient(135deg,rgba(14,44,30,.94),rgba(34,78,54,.9) 45%,rgba(120,150,110,.86) 100%);background-size:220% 220%;
 border:1px solid rgba(255,255,255,.24);box-shadow:0 40px 90px -30px rgba(0,0,0,.65),0 0 0 1px rgba(184,216,160,.18),inset 0 1px 0 rgba(255,255,255,.25);
 -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:vhpz .6s cubic-bezier(.2,.8,.2,1) both,vhpg 14s ease-in-out infinite}
.vhp-card:focus{outline:none}
.vhp-glow{position:absolute;left:50%;top:38%;width:120%;aspect-ratio:1;translate:-50% -50%;background:radial-gradient(closest-side,rgba(214,238,190,.34),transparent);z-index:-1;pointer-events:none}
.vhp-leaf{position:absolute;width:44%;opacity:.17;z-index:-1;pointer-events:none}.vhp-leaf.l1{left:-6%;top:-6%}.vhp-leaf.l2{right:-6%;bottom:-8%;rotate:180deg}
.vhp-p{position:absolute;bottom:-12px;border-radius:50%;background:rgba(214,238,190,.8);box-shadow:0 0 12px rgba(214,238,190,.9);z-index:-1;pointer-events:none;animation:vhpp 9s linear infinite}
.vhp-x{position:absolute;top:.7rem;right:.7rem;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;font:400 1.8rem/1 system-ui,sans-serif;cursor:pointer;display:grid;place-items:center;transition:transform .3s,background .3s}
.vhp-x:hover{background:rgba(255,255,255,.22);transform:rotate(90deg)}
.vhp-brand{font-size:.78rem;letter-spacing:.28em;font-weight:700;color:#d6eebe;margin:0 2.2rem 1rem}
.vhp h2{font-family:var(--fd),Georgia,serif;font-weight:400;font-size:clamp(1.55rem,5vw,2.1rem);line-height:1.15;margin:0 0 1rem;color:#fff;letter-spacing:0}
.vhp-big{display:block;font-size:clamp(4.6rem,22vw,7.6rem);line-height:.95;white-space:nowrap;margin:.1em 0 .05em;background:linear-gradient(180deg,#fff 20%,#cfe6b8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(214,238,190,.55));animation:vhpb 3.2s ease-in-out infinite}
.vhp p{margin:0 0 1.4rem;font-size:clamp(1rem,2.8vw,1.12rem);line-height:1.55;color:rgba(255,255,255,.92)}
.vhp-cta{display:inline-block;background:#fff;color:#143024;font-weight:700;text-decoration:none;padding:.95rem 2.2rem;border-radius:99px;box-shadow:0 12px 30px -10px rgba(0,0,0,.5),0 0 0 4px rgba(255,255,255,.14);transition:transform .3s,box-shadow .3s}
.vhp-cta:hover{transform:translateY(-3px);box-shadow:0 18px 36px -12px rgba(0,0,0,.55),0 0 0 6px rgba(255,255,255,.2)}
.vhp-cta:focus-visible,.vhp-x:focus-visible{outline:3px solid #d6eebe;outline-offset:3px}
.vhp p.vhp-note{font-size:.82rem;margin:1.3rem 0 0;color:rgba(255,255,255,.75)}
.vhp.out .vhp-card{animation:vhpo .35s ease both}.vhp.out .vhp-bd{animation:vhpfo .35s ease both}
@keyframes vhpf{from{opacity:0}}@keyframes vhpfo{to{opacity:0}}
@keyframes vhpz{from{opacity:0;transform:scale(.92) translateY(14px)}}@keyframes vhpo{to{opacity:0;transform:scale(.95) translateY(8px)}}
@keyframes vhpg{50%{background-position:100% 100%}}@keyframes vhpb{50%{transform:scale(1.04)}}
@keyframes vhpp{from{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(-110vh);opacity:0}}
@media(prefers-reduced-motion:reduce){.vhp *,.vhp{animation:none!important;transition:none!important}.vhp-p{display:none}}
