
:root{--g:#2c5a38;--g2:#1c3d26;--m:#8fae6a;--s:#f4f0e6;--o:#b88a3e;--t:#1d2a20;--w:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--t);background:var(--w)}
h1,h2,h3,.logo{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;line-height:1.2}
a{color:var(--g)}img{max-width:100%}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--o);outline-offset:2px}
header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:rgba(255,255,255,.96);border-bottom:1px solid #e4e0d4;backdrop-filter:blur(6px)}
.logo{font-size:1.25rem;font-weight:700;color:var(--g2);text-decoration:none}
nav{display:flex;gap:18px;align-items:center}nav a{text-decoration:none;color:var(--t)}nav a:hover{color:var(--g)}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer}.burger span,.burger span:before,.burger span:after{display:block;height:2px;width:24px;background:var(--g2);position:relative;margin:auto;content:""}.burger span:before{top:-8px;position:absolute}.burger span:after{top:8px;position:absolute}
.btn{display:inline-block;padding:13px 24px;min-height:44px;border-radius:8px;background:var(--g);color:#fff!important;text-decoration:none;border:2px solid var(--g);font:inherit;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:var(--g2);transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--g)!important}.btn.ghost:hover{background:var(--s)}.btn.sm{padding:8px 16px;min-height:40px}
.hero{padding:72px 20px 64px;background:linear-gradient(160deg,var(--g2),var(--g) 60%,#4d7c45);color:#fff}
.hero>div{max-width:820px;margin:auto}.hero h1{font-size:clamp(2rem,6vw,3.4rem);margin:0 0 12px;animation:in .8s both}.hero p{font-size:1.15rem;max-width:620px;animation:in .8s .15s both}.hero .btn{margin:6px 8px 0 0}.hero .btn.ghost{color:#fff!important;border-color:#fff}.hero .btn.ghost:hover{background:rgba(255,255,255,.15)}
@keyframes in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.sec{padding:56px 20px;max-width:1080px;margin:auto}.sec.alt{max-width:none;background:var(--s)}.sec.alt>*{max-width:1040px;margin-left:auto;margin-right:auto}.narrow{max-width:760px}
h2{font-size:1.7rem;margin:1.6em 0 .6em}.sec>h2:first-child{margin-top:0}.lead{font-size:1.2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.card{display:block;padding:24px;border:1px solid #dcd7c8;border-radius:10px;text-decoration:none;color:var(--t);background:#fff;transition:transform .25s,border-color .25s}.card:hover{transform:translateY(-4px);border-color:var(--g)}.card h3{margin:0 0 8px;color:var(--g2)}.card span{color:var(--g);font-weight:600}
.stats{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-around;text-align:center}.stats b{display:block;font:700 2.8rem Georgia,serif;color:var(--g)}
.steps{padding-left:22px}.steps li{margin:8px 0;padding-left:6px}
.pr{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e4e0d4}.pr b{white-space:nowrap;color:var(--g2)}.note{font-size:.9rem;color:#5b6a5e}
details{border-bottom:1px solid #e4e0d4;padding:10px 0}summary{cursor:pointer;font-weight:600}
.cta{text-align:center;padding:64px 20px;background:var(--g2);color:#fff}.cta p{margin:0 0 20px}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.filters button{padding:10px 18px;min-height:44px;border-radius:99px;border:2px solid var(--g);background:#fff;color:var(--g);font:inherit;cursor:pointer}.filters button[aria-pressed=true]{background:var(--g);color:#fff}
.work{border:1px solid #dcd7c8;border-radius:10px;overflow:hidden;background:#fff;animation:in .45s both}.work[hidden]{display:none}.ph{height:190px;position:relative}.ph:after{content:"Photo à remplacer";position:absolute;inset:auto 10px 10px auto;font-size:.75rem;background:rgba(255,255,255,.85);padding:2px 8px;border-radius:4px}
.c1{background:linear-gradient(135deg,#4d7c45,#8fae6a)}.c2{background:linear-gradient(135deg,#2c5a38,#6f9a5a)}.c3{background:linear-gradient(135deg,#8a7a4a,#b9a46a)}.c4{background:linear-gradient(135deg,#9a8466,#cbb994)}.c5{background:linear-gradient(135deg,#3f7a4a,#a5c97a)}
.wb{padding:14px 18px}.wb h3{margin:0}.wb p{margin:4px 0}.wb small{color:var(--g)}
form label{display:block;margin:14px 0;font-weight:600}form input,form select,form textarea{display:block;width:100%;margin-top:6px;padding:12px;font:inherit;border:1px solid #b9b4a3;border-radius:8px;background:#fff}
form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}form .chk input{width:22px;height:22px;margin:3px 0 0;flex:none}
fieldset{border:1px solid #dcd7c8;border-radius:8px;margin:16px 0}legend{font-weight:700;padding:0 8px}.hp{position:absolute;left:-9999px}
.bar{height:6px;background:#e4e0d4;border-radius:4px;margin-bottom:24px}.bar i{display:block;height:100%;width:25%;background:var(--g);border-radius:4px;transition:width .35s}
.fn{display:flex;gap:12px;margin-top:20px}.est{margin-top:20px;padding:16px;border-radius:8px;background:var(--s);border-left:4px solid var(--o)}
.st{margin-top:16px;font-weight:600}.st.ok{color:var(--g)}.st.err{color:#a0301e}
.step:not([hidden]){animation:in .35s both}
footer{background:var(--g2);color:#d9e3d6;padding:40px 20px 20px}footer a{display:block;color:#fff;margin:4px 0}.fg{max-width:1040px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.cp{text-align:center;font-size:.85rem;margin-top:28px}
.call{position:fixed;right:14px;bottom:14px;display:none;background:var(--o);color:#fff;padding:14px 20px;border-radius:99px;text-decoration:none;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:30;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
@media(max-width:760px){.burger{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #e4e0d4;padding:8px 20px 16px}nav.open{display:flex}nav a{padding:12px 0}.call{display:block}.hero{padding:48px 20px}.sec{padding:40px 18px}.pr{flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{header,footer,.call,.btn{display:none}}
