*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:17px/1.65 Arial,Helvetica,sans-serif;color:#263329;background:white}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #dbab35;outline-offset:5px}.wrap{width:min(1120px,88%);margin:auto}.top{background:#233c2b;color:#fff;font-size:14px;padding:9px 0}.top .wrap{display:flex;justify-content:space-between}.top a{text-decoration:none}header{background:white}.head{display:flex;justify-content:space-between;align-items:center;min-height:98px;gap:24px}.brand{font-size:28px;font-weight:900;text-decoration:none;letter-spacing:-1px;line-height:1.15}.brand b{color:#53832d}.brand small{display:block;font-size:11px;letter-spacing:2.5px;margin-top:8px;font-weight:600}nav{display:flex;gap:26px;align-items:center;font-size:14px}nav a{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;background:#54852f;color:white;padding:14px 27px;text-decoration:none;font-weight:700;font-size:15px;min-height:50px}.btn:hover{background:#38621c}.btn.light{background:white;color:#29441f}.btn.outline{background:transparent;border:1px solid #ffffffa8;color:white}.hero{min-height:650px;position:relative;display:grid;align-items:center;text-align:center;color:white;background:linear-gradient(90deg,#122314bd,#12231472),url('img/elagage-1024.jpg') center 40%/cover;background-image:linear-gradient(90deg,#122314bd,#12231472),image-set(url('img/elagage-1366.webp') type('image/webp'),url('img/elagage-1366.jpg') type('image/jpeg'));padding:85px 20px 120px}.hero:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:52px;background:white;clip-path:polygon(0 85%,20% 28%,40% 70%,65% 10%,85% 58%,100% 30%,100% 100%,0 100%)}.hero-content{position:relative;width:min(880px,100%);margin:auto}.kicker{text-transform:uppercase;letter-spacing:3px;font-size:13px;font-weight:700}.hero h1{font-size:clamp(39px,5.2vw,70px);line-height:1.1;letter-spacing:-2px;margin:20px 0 24px;font-weight:800;text-shadow:0 2px 18px #15281460}.hero p{font-size:21px;margin:0 auto 28px;max-width:650px}.actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}.hero .btn{min-width:215px}.hero-note{margin-top:24px;font-size:14px}.section{padding:80px 0}.section-title{text-align:center;margin-bottom:42px}.section-title h2,h2{font-size:clamp(29px,3.4vw,42px);line-height:1.2;margin:0 0 20px;letter-spacing:-1px}.section-title h2:after{content:'';display:block;width:58px;height:4px;background:#77a644;margin:21px auto}.section-title p{max-width:720px;margin:auto;color:#647065}.services{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service{padding:35px 38px;border-bottom:4px solid #6c943e;background:#f4f6f0}.service .label{font-size:13px;letter-spacing:2px;color:#597938;font-weight:bold}.service h3{font-size:28px;margin:16px 0}.service p{color:#5a665a;margin-bottom:25px}.service a{font-weight:bold;font-size:15px;text-underline-offset:5px}.about{background:#f5f6f2}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about figure{margin:0;position:relative}.about img{width:100%;height:490px;object-fit:cover;object-position:center 40%;display:block}.about figcaption{background:#29492e;color:white;padding:13px 20px;font-size:14px}.about h2{margin-top:16px}.about p{color:#5a665a}.local{margin-top:27px;padding:18px 0;border-top:1px solid #cfd9c9}.local strong{display:block}.local span{font-size:15px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;text-align:center}.step-number{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#edf3e5;color:#50752f;font-weight:800;font-size:20px}.process h3{font-size:20px;margin:20px 0 12px}.process p{font-size:16px;color:#647065}.contact{background:#29472f;color:white;padding:65px 0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.contact p{color:#e0e8dc;max-width:570px}.contact-links{display:flex;align-items:center;flex-direction:column;gap:15px}.call{font-size:34px;font-weight:800;text-decoration:none}.email{font-size:17px;text-underline-offset:5px;overflow-wrap:anywhere}.contact .btn{margin-top:12px}footer{padding:42px 0 25px;background:#f5f6f2}.foot-head{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px}.foot-head>a:last-child{font-size:14px}.legal{border-top:1px solid #d5ddcf;font-size:14px;color:#53604f;padding:14px 0}.legal summary{cursor:pointer;width:fit-content;font-weight:bold}.legal-content{max-width:900px;padding:15px 0}.copyright{border-top:1px solid #d5ddcf;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.mobile-call{display:none}@media(max-width:800px){nav a:not(.btn){display:none}.about-grid,.contact-grid{gap:32px}.head{min-height:85px}.brand{font-size:24px}.hero{min-height:600px}.service{padding:28px}.section{padding:60px 0}}@media(max-width:600px){.top .wrap{justify-content:center}.top .wrap>span{display:none}.wrap{width:88%}.brand{font-size:22px}.brand small{font-size:9px;letter-spacing:1.7px}.head{gap:12px}nav .btn{padding:10px 16px;font-size:13px;min-height:42px}.hero{min-height:660px;padding:65px 22px 85px;background-position:58% center}.hero h1{font-size:44px;letter-spacing:-1.5px}.hero p{font-size:18px}.hero .kicker{font-size:11px;letter-spacing:2px}.actions{flex-direction:column;align-items:center}.hero .btn{min-width:245px}.services,.about-grid,.process,.contact-grid{grid-template-columns:1fr}.about-grid{gap:30px}.about img{height:420px}.section-title{margin-bottom:30px}.section-title h2,h2{font-size:32px}.process{gap:32px}.contact{text-align:center}.contact-grid{gap:25px}.call{font-size:31px}.email{font-size:16px}.foot-head{align-items:flex-start;flex-direction:column}.copyright{flex-direction:column;gap:8px}footer{padding-bottom:90px}.mobile-call{position:fixed;bottom:0;left:0;right:0;padding:15px;background:#54852f;color:white;text-align:center;text-decoration:none;font-weight:bold;z-index:10;display:block;box-shadow:0 -2px 14px #0002}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Effets réservés aux souris et écrans larges. */
.rope-scroll{display:none}@media(min-width:901px) and (hover:hover) and (pointer:fine){html.custom-scroll{scrollbar-width:none}html.custom-scroll::-webkit-scrollbar{display:none}.rope-scroll{position:fixed;right:2px;top:15px;bottom:15px;width:38px;z-index:30;display:block;touch-action:none}.rope-scroll:before{content:'';position:absolute;left:18px;top:0;bottom:0;width:3px;background:repeating-linear-gradient(135deg,#b39a6b 0 3px,#ead5a1 3px 6px);box-shadow:0 0 0 1px #23332930}.climber{position:absolute;top:0;left:0;width:38px;height:68px;padding:0;border:0;background:transparent;touch-action:none;will-change:transform}.climber img{display:block;width:36px;height:64px;filter:drop-shadow(0 1px 2px #fff)}.climber:focus-visible{outline:2px solid #54852f;outline-offset:0;border-radius:8px}}@media(prefers-reduced-motion:reduce){.rope-scroll{display:none!important}html.custom-scroll{scrollbar-width:auto}html.custom-scroll::-webkit-scrollbar{display:initial}}

@media(min-width:901px) and (hover:hover) and (pointer:fine){.rope-scroll{width:32px;right:2px}.rope-scroll:before{left:15px;width:2px;background:#000;box-shadow:0 0 0 1px #ffffff70}.climber{width:32px;height:60px}.climber img{width:32px;height:60px;filter:drop-shadow(0 0 1px white) drop-shadow(0 0 1px white)}}

/* Retours visuels des liens et boutons. */
a,button,summary{transition:transform .2s ease,color .2s ease,background-color .2s ease,box-shadow .2s ease}a:not(.mobile-call),summary{display:inline-block}a.btn{display:inline-flex}.btn{position:relative;isolation:isolate;overflow:hidden}.click-wave{position:fixed;z-index:1000;width:12px;height:12px;border:2px solid #82a94f;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);animation:click-wave .6s ease-out forwards}.btn:hover{box-shadow:0 7px 20px #142d2025}@media(hover:hover) and (pointer:fine){a:hover,button:not(.climber):hover,summary:hover{transform:scale(1.045)}a:not(.btn):not(.brand):hover{text-decoration-thickness:2px;text-underline-offset:5px}.mobile-call:hover{transform:none}}a:active,button:not(.climber):active{transform:scale(.97)}@keyframes click-wave{to{width:76px;height:76px;opacity:0}}@media(prefers-reduced-motion:reduce){a,button,summary{transition:none!important;transform:none!important}.click-wave{display:none;animation:none}}

button,summary,[role=button]{cursor:pointer}

/* Réalisations : bandeau défilant et galerie. */
.slider{position:relative;overflow:hidden;border-radius:4px;background:#1b2d1f;aspect-ratio:16/8}.slides{display:flex;height:100%;transition:transform .7s cubic-bezier(.65,0,.35,1)}.slide{position:relative;flex:0 0 100%;height:100%;display:block;color:white;text-decoration:none}.slide img,.slide video{width:100%;height:100%;object-fit:cover;display:block}.slide-caption{position:absolute;left:0;right:0;bottom:0;padding:70px 34px 50px;background:linear-gradient(transparent,#0f1c12d9);display:flex;flex-direction:column;gap:4px}.slide-caption strong{font-size:clamp(22px,2.6vw,32px);line-height:1.2;letter-spacing:-.5px}.slide-type{align-self:flex-start;background:#54852f;color:white;font-size:12px;font-weight:bold;letter-spacing:1.5px;text-transform:uppercase;padding:3px 10px;border-radius:12px}.slide-meta{font-size:15px;opacity:.9}.slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:#ffffffe0;color:#233c2b;font-size:30px;line-height:1;display:grid;place-items:center;padding-bottom:4px;z-index:2;box-shadow:0 2px 10px #0003}.slider-nav:hover{background:white}.slider-nav.prev{left:16px}.slider-nav.next{right:16px}.slider-dots{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:9px;z-index:2}.slider-dots button{width:11px;height:11px;border-radius:50%;border:2px solid white;background:transparent;padding:0}.slider-dots button[aria-current=true]{background:white}.slider.single .slider-nav,.slider.single .slider-dots{display:none}.works-more{text-align:center;margin-top:32px}
.page-hero{background:linear-gradient(90deg,#122314e6,#122314a6),url('img/elagage-1024.jpg') center 40%/cover;background-image:linear-gradient(90deg,#122314e6,#122314a6),image-set(url('img/elagage-1024.webp') type('image/webp'),url('img/elagage-1024.jpg') type('image/jpeg'));color:white;padding:70px 0 64px;text-align:center}.page-hero h1{font-size:clamp(38px,5vw,58px);letter-spacing:-2px;margin:14px 0 12px;line-height:1.1}.page-hero p{max-width:640px;margin:auto;font-size:19px}nav a[aria-current=page]{color:#53832d;font-weight:bold}
.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:38px}.filters button{font:inherit;font-size:15px;font-weight:bold;padding:9px 22px;border-radius:30px;border:1px solid #b9c8ae;background:white;color:#29441f}.filters button.active{background:#54852f;border-color:#54852f;color:white}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work-card{display:flex;flex-direction:column;text-align:left;padding:0;border:0;background:#f4f6f0;border-bottom:4px solid #6c943e;font:inherit;color:inherit;overflow:hidden}.work-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#dde3d7}.work-media img,.work-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.work-card:hover .work-media img,.work-card:hover .work-media video{transform:scale(1.05)}.work-count{position:absolute;right:10px;bottom:10px;background:#0f1c12bf;color:white;font-size:12px;padding:3px 9px;border-radius:10px}.work-play{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;background:#ffffffd9;color:#233c2b;display:grid;place-items:center;font-size:22px;padding-left:4px}.work-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px}.work-body h2{font-size:21px;line-height:1.3;margin:6px 0 0;letter-spacing:-.3px}.work-meta{font-size:14px;color:#647065}.works-empty{text-align:center;color:#647065;max-width:560px;margin:20px auto}
.lightbox{width:min(1100px,94vw);max-height:94vh;padding:0;border:0;background:#0f1c12;color:white;overflow:visible}.lightbox::backdrop{background:#0b140dee}.lb-stage{display:grid;place-items:center;height:min(72vh,720px)}.lb-stage img,.lb-stage video{max-width:100%;max-height:min(72vh,720px);object-fit:contain;display:block}.lb-caption{padding:16px 22px 20px;display:flex;flex-direction:column;gap:3px}.lb-caption strong{font-size:20px}.lb-caption p{margin:8px 0 0;color:#d6dfd2;font-size:15px}.lb-close{position:absolute;top:-14px;right:-14px;width:42px;height:42px;border-radius:50%;border:0;background:white;color:#233c2b;font-size:26px;line-height:1;z-index:3;box-shadow:0 2px 10px #0005}.lb-nav{position:absolute;top:calc(min(72vh,720px)/2);transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:#ffffffd9;color:#233c2b;font-size:28px;line-height:1;padding-bottom:4px;z-index:2}.lb-nav.prev{left:12px}.lb-nav.next{right:12px}.lightbox.single .lb-nav{display:none}
@media(max-width:900px){.works-grid{grid-template-columns:1fr 1fr;gap:20px}}@media(max-width:600px){.slider{aspect-ratio:4/5}.slide-caption{padding:60px 20px 46px}.slider-nav{width:40px;height:40px;font-size:24px}.slider-nav.prev{left:8px}.slider-nav.next{right:8px}.works-grid{grid-template-columns:1fr}.page-hero{padding:52px 0 48px}.lb-close{top:8px;right:8px}.lb-stage{height:62vh}.lb-stage img,.lb-stage video{max-height:62vh}.lb-nav{top:31vh}}@media(prefers-reduced-motion:reduce){.slides{transition:none}.work-media img,.work-media video{transition:none}}

/* Formulaire de demande de devis. */
.quote{width:min(640px,94vw);max-height:94vh;padding:0;border:0;border-radius:6px;border-bottom:5px solid #6c943e;color:#263329;box-shadow:0 20px 60px #0006}.quote::backdrop{background:#0b140dcc}.quote-form{position:relative;padding:34px 36px 30px;display:grid;gap:16px}.quote h2{font-size:30px;margin:0;letter-spacing:-1px}.quote-intro{margin:-6px 0 4px;color:#647065;font-size:16px}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote label{display:grid;gap:5px;font-weight:bold;font-size:15px}.quote label span{font-weight:normal;color:#647065}.quote input,.quote textarea{font:inherit;font-size:16px;font-weight:normal;padding:11px 13px;border:1px solid #c3cebc;border-radius:6px;width:100%;background:white;color:inherit}.quote textarea{resize:vertical;min-height:120px}.quote input:focus,.quote textarea:focus{outline:2px solid #54852f;border-color:#54852f}.quote [aria-invalid=true]{border-color:#b5412b;background:#fdf5f3}.quote label .field-error{color:#a0331f;font-size:13px;font-weight:bold}.quote-form.sent [type=submit]{display:none}.quote-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.quote-legal{font-size:13px;color:#647065;margin:0}.quote-status{margin:0;font-weight:bold}.quote-status:empty{display:none}.quote-status.ok{background:#e7f1dc;border-left:4px solid #54852f;padding:14px 16px;color:#29441f}.quote-status.error{background:#fbe9e5;border-left:4px solid #b5412b;padding:14px 16px;color:#6d2416}.quote .btn{border:0;font-family:inherit;justify-self:start}.quote .btn:disabled{opacity:.6}.quote-form.sent .quote-grid,.quote-form.sent>label,.quote-form.sent .quote-legal,.quote-form.sent .quote-intro{display:none}.quote-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:#eef2ea;color:#233c2b;font-size:26px;line-height:1}.quote-close:hover{background:#dfe7d7}@media(max-width:600px){.quote-form{padding:28px 20px 24px}.quote-grid{grid-template-columns:1fr}.quote h2{font-size:26px;padding-right:40px}}

/* Vidéo de présentation (section « Votre interlocuteur local ») et vidéos YouTube. */
.about-media.is-video{aspect-ratio:16/9;background:#0f1c12}.about-media.is-video.vertical{aspect-ratio:9/16;max-height:620px;margin:auto}.about-media.is-video iframe,.about-media.is-video video{width:100%;height:100%;border:0;display:block}.about-media.is-video video{object-fit:contain;background:#000}.yt-facade{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#000;overflow:hidden}.about .yt-facade img,.yt-facade img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s,opacity .3s;opacity:.92}.yt-facade:hover img{transform:scale(1.03);opacity:1}.yt-play{position:absolute;inset:0;margin:auto;width:72px;height:50px;border-radius:14px;background:#e62117;box-shadow:0 4px 18px #0006;transition:transform .2s}.yt-play:after{content:'';position:absolute;left:29px;top:15px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent white}.yt-facade:hover .yt-play{transform:scale(1.08)}.yt-facade:focus-visible{outline:3px solid #dbab35;outline-offset:3px}
.lb-stage.is-yt iframe{width:min(100%,calc(min(72vh,720px)*16/9));aspect-ratio:16/9;height:auto;border:0;display:block}.lb-stage.is-yt.vertical iframe{width:auto;height:100%;aspect-ratio:9/16}

/* Images d'en-tête plus légères sur mobile */
@media(max-width:700px){.hero{background-image:linear-gradient(90deg,#122314bd,#12231472),image-set(url('img/elagage-640.webp') type('image/webp'),url('img/elagage-640.jpg') type('image/jpeg'))}.page-hero{background-image:linear-gradient(90deg,#122314e6,#122314a6),image-set(url('img/elagage-640.webp') type('image/webp'),url('img/elagage-640.jpg') type('image/jpeg'))}}
.about picture{display:block}
/* Questions fréquentes */
.faq{background:#f5f6f2}.faq-list{max-width:860px;margin:auto;display:grid;gap:12px}.faq details{background:white;border-left:4px solid #6c943e;padding:0 24px}.faq summary{list-style:none;padding:20px 34px 20px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:26px;color:#54852f;font-weight:bold}.faq details[open] summary:after{content:'–'}.faq summary h3{font-size:18px;margin:0;line-height:1.4}.faq details p{margin:0 0 22px;color:#5a665a}
/* Galerie : cartes en lien */
.work-card{text-decoration:none}.work-desc{font-size:14px;color:#5a665a;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Menu mobile */
.menu-toggle{display:none}
@media(max-width:800px){
  .head{position:relative}
  .menu-toggle{display:inline-flex;align-items:center;gap:8px;order:3;border:1px solid #c9d3c3;background:white;border-radius:30px;padding:9px 14px;font:inherit;font-size:14px;font-weight:bold;color:#29441f;min-height:42px}
  .menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:16px;height:2px;background:currentColor;position:relative;transition:transform .2s}
  .menu-toggle span:before,.menu-toggle span:after{content:'';position:absolute;left:0}.menu-toggle span:before{top:-5px}.menu-toggle span:after{top:5px}
  .menu-toggle[aria-expanded=true] span{background:transparent}.menu-toggle[aria-expanded=true] span:before{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:after{transform:translateY(-5px) rotate(-45deg)}
  nav{order:2;margin-left:auto}
  nav.open a:not(.btn){display:block}
  nav.open{position:absolute;top:100%;left:50%;width:100vw;transform:translateX(-50%);z-index:40;background:white;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 16px;box-shadow:0 14px 24px #0002;border-top:1px solid #e3e9dd}
  nav.open a:not(.btn){padding:14px 6%;font-size:17px;border-bottom:1px solid #eef2ea}
  nav.open .btn{margin:14px 6% 0}
}
@media(max-width:600px){.head nav:not(.open) .btn{display:none}}
@media(max-width:380px){.brand{font-size:19px}.brand small{font-size:8px;letter-spacing:1.2px}.menu-toggle{padding:9px 12px}.hero h1{font-size:36px}.call{font-size:27px}}
