@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root { --forest:#183e29; --dark:#102a1c; --lime:#91bd42; --text:#1d2920; --muted:#667269; --paper:#f5f7f2; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); font-family:'DM Sans',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img { display:block; max-width:100%; }
.wrap { width:min(1380px,calc(100% - 96px)); margin:auto; }
.skip { position:absolute; z-index:100; left:12px; top:-70px; padding:12px; background:white; }
.skip:focus { top:12px; }
.utility { background:#173b29; color:#d6e7d7; font-size:10px; letter-spacing:.16em; font-weight:700; }
.utility .wrap { display:flex; justify-content:space-between; padding:11px 0; }
.header { position:relative; z-index:20; background:white; box-shadow:0 2px 15px #0000000a; }
.header-inner { min-height:84px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.logo { display:inline-flex; gap:10px; align-items:center; font-family:Manrope,sans-serif; font-size:20px; letter-spacing:-.07em; font-weight:800; line-height:1; white-space:nowrap; }
.logo-symbol { color:#79a92c; font-size:35px; transform:rotate(-22deg); }
.logo .accent { color:#65952a; }
.logo small { display:block; margin-top:6px; font-size:8px; letter-spacing:.14em; color:#6b756d; font-weight:700; }
.navigation { display:flex; align-items:center; gap:clamp(15px,2vw,32px); font-size:12px; font-weight:700; }
.navigation > a:not(.contact-link) { padding:12px 0; transition:color .2s; }
.navigation > a:hover,.navigation .current { color:#62962d; }
.contact-link { background:#28622e; color:white; border-radius:4px; padding:15px 19px; white-space:nowrap; }
.contact-link span { margin-left:12px; }
.menu-button { display:none; }
.hero { position:relative; isolation:isolate; min-height:590px; height:min(680px,65vw); color:white; overflow:hidden; }
.hero-images,.hero-image,.hero-shade { position:absolute; inset:0; }
.hero-image { background-position:center; background-size:cover; opacity:0; transform:scale(1.06); transition:opacity 1.1s ease,transform 7s linear; }
.hero-image.active { opacity:1; transform:scale(1); }
.hero-shade { background:linear-gradient(90deg,rgba(9,31,21,.88) 0%,rgba(9,31,21,.63) 40%,rgba(9,31,21,.10) 88%),linear-gradient(0deg,#10271b70,transparent 35%); }
.hero-layout { height:100%; display:flex; align-items:center; position:relative; z-index:2; }
.hero-copy { max-width:730px; padding:24px 0 45px; }
.overline,.kicker { display:inline-flex; gap:12px; align-items:center; font-size:11px; letter-spacing:.17em; font-weight:800; }
.overline { color:#e3efde; }
.overline i,.kicker i { width:28px; height:3px; background:var(--lime); display:inline-block; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Manrope,sans-serif; letter-spacing:-.055em; }
h1 { margin:26px 0 20px; font-size:clamp(43px,5vw,76px); line-height:1.13; font-weight:800; }
h1 strong { color:#c3e58a; font-weight:800; }
h1 em,h2 em { font-style:normal; font-weight:500; }
.hero-copy p { max-width:560px; color:#ecf0e8; font-size:16px; line-height:1.8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:29px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; padding:17px 23px; border-radius:3px; font-size:12px; font-weight:800; transition:transform .25s,background .25s; }
.button:hover { transform:translateY(-3px); }
.button.primary { background:#8fbf3e; color:#142a1a; }
.button.ghost { border:1px solid #ffffff90; color:white; }
.button.ghost:hover { background:#ffffff20; }
.hero-controls { position:absolute; bottom:25px; left:50%; transform:translateX(-50%); z-index:3; display:flex; align-items:center; justify-content:space-between; }
.slide-counter { display:flex; align-items:center; gap:13px; font-size:12px; font-weight:800; }
.slide-counter .line { width:65px; height:1px; background:#ffffff80; }
.slide-buttons { display:flex; gap:7px; }
.slide-buttons button { border:1px solid #ffffff80; background:#12352355; color:white; width:40px; height:40px; border-radius:50%; }
.slide-buttons button:hover { background:#86b53a; color:#14301c; }
.brands { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.brand-panel { position:relative; min-height:260px; background-image:linear-gradient(0deg,#07170fd9,#07170f21),var(--panel); background-size:cover; background-position:center; color:white; padding:24px 33px 28px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.brand-panel:before { content:''; position:absolute; inset:0; background:#102d1b; opacity:0; transition:opacity .3s; }
.brand-panel:hover:before { opacity:.3; }
.brand-panel > * { position:relative; }
.panel-index { font-size:10px; font-weight:700; letter-spacing:.15em; color:#e6eddd; }
.panel-caption { font-size:12px; color:#e1e9d8; }
.brand-panel h2 { font-size:clamp(25px,2.5vw,39px); letter-spacing:-.04em; margin:7px 0 16px; }
.panel-more { display:inline-flex; align-items:center; justify-content:space-between; min-width:175px; padding:10px 12px; border:1px solid #ffffff90; font-size:11px; font-weight:700; }
.benefits { border-bottom:1px solid #e7ece4; background:#fff; }
.benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); padding:25px 0; }
.benefits-grid > div { display:flex; align-items:center; gap:16px; padding:4px 22px; border-right:1px solid #e1e8df; }
.benefits-grid > div:first-child { padding-left:0; }
.benefits-grid > div:last-child { border:0; }
.benefit-icon { color:#598d3e; font-size:32px; }
.benefits p { margin:0; }
.benefits strong,.benefits small { display:block; }
.benefits strong { font-size:12px; }
.benefits small { font-size:11px; color:#6b756d; margin-top:5px; }
.section { padding:100px 0; }
.intro-grid { display:grid; grid-template-columns:1.15fr 1.05fr .53fr; gap:42px; align-items:center; }
.intro-photo { height:390px; position:relative; overflow:hidden; }
.intro-photo img,.mini-photo img,.equipment img { width:100%; height:100%; object-fit:cover; }
.photo-stamp { position:absolute; bottom:0; right:0; padding:18px 22px; background:#234e2c; color:white; font-size:12px; font-weight:800; line-height:1.5; letter-spacing:.08em; }
.kicker { color:#5b9039; }
.intro-copy h2,.section-heading h2 { font-size:clamp(33px,3vw,49px); line-height:1.18; margin:18px 0 22px; }
.intro-copy p { color:#68716b; font-size:14px; line-height:1.9; }
.text-link { display:inline-flex; align-items:center; gap:35px; margin-top:14px; border-bottom:2px solid #6e9b43; padding-bottom:10px; font-size:12px; font-weight:800; color:#24552d; }
.intro-side { display:grid; gap:12px; }
.mini-photo { height:188px; position:relative; overflow:hidden; }
.mini-photo:after { content:''; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,#102b1e9c); }
.mini-photo span { position:absolute; bottom:18px; left:17px; z-index:1; color:white; font-size:11px; font-weight:800; letter-spacing:.08em; }
.selection { background:#f3f6f0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:30px; }
.equipment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.equipment { background:white; padding-bottom:22px; transition:transform .25s,box-shadow .25s; }
.equipment:hover { transform:translateY(-5px); box-shadow:0 15px 35px #16301b18; }
.equipment img { height:230px; margin-bottom:20px; }
.equipment > span,.equipment h3,.equipment > b { display:block; margin-left:22px; margin-right:22px; }
.equipment > span { font-size:10px; color:#619041; font-weight:800; letter-spacing:.13em; }
.equipment h3 { margin-top:10px; margin-bottom:17px; font-size:21px; }
.equipment > b { font-size:12px; color:#2a6333; }
.cta { background:#25582e; color:white; padding:52px 0; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.cta .kicker { color:#c3e58a; }
.cta h2 { font-size:36px; margin:10px 0; }
.cta p { color:#d5e3d3; font-size:13px; margin:0; }
.button.light { background:#9fce4f; color:#1a391e; }
.footer { background:#11291c; color:#f1f5ee; padding-top:60px; }
.footer-main { display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; padding-bottom:50px; }
.footer-logo { color:white; }
.footer-main p { color:#a7b6a9; font-size:13px; margin-top:25px; }
.footer-main h3 { font-size:13px; margin-bottom:22px; }
.footer-main a:not(.logo) { display:block; font-size:12px; color:#bac8b9; margin:12px 0; }
.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid #ffffff22; padding:20px 0; font-size:11px; color:#9aab9d; }
@media(max-width:1100px) { .wrap { width:min(100% - 48px,1380px); } .navigation { gap:13px; font-size:11px; } .intro-grid { gap:20px; } .benefits-grid > div { padding:4px 12px; } }
@media(max-width:850px) { .header-inner { min-height:74px; } .menu-button { display:flex; flex-direction:column; gap:5px; border:0; background:transparent; padding:10px; } .menu-button span { width:25px; height:2px; background:#24452c; } .navigation { display:none; position:absolute; top:100%; left:0; right:0; padding:20px 24px 28px; background:white; flex-direction:column; align-items:stretch; box-shadow:0 18px 25px #0000001a; } .navigation.open { display:flex; } .navigation a { padding:12px 0; } .navigation .contact-link { padding:16px; text-align:center; } .hero { min-height:580px; height:75vh; } .brands { grid-template-columns:repeat(3,1fr); } .brand-panel { min-height:225px; padding:20px; } .benefits-grid { grid-template-columns:repeat(2,1fr); row-gap:20px; } .benefits-grid > div:nth-child(2) { border:0; } .intro-grid { grid-template-columns:1fr 1fr; } .intro-photo { height:360px; } .intro-side { grid-column:1/-1; grid-template-columns:1fr 1fr; } .mini-photo { height:180px; } .section { padding:70px 0; } }
@media(max-width:600px) { .wrap { width:calc(100% - 36px); } .utility .wrap span:last-child { display:none; } .utility { font-size:9px; } .logo { font-size:17px; } .logo-symbol { font-size:28px; } .logo small { font-size:7px; } .hero { min-height:610px; height:calc(100svh - 110px); max-height:780px; } .hero-image { background-position:57% center; } .hero-shade { background:linear-gradient(90deg,#092215e8,#0922158a 80%),linear-gradient(0deg,#10271b8a,transparent); } .hero-copy { padding-bottom:30px; } h1 { font-size:clamp(38px,10.5vw,58px); } .hero-copy p { font-size:14px; } .overline { font-size:9px; line-height:1.5; } .hero-actions { gap:9px; } .button { padding:15px; font-size:11px; } .brands { grid-template-columns:1fr; } .brand-panel { min-height:210px; } .brand-panel h2 { font-size:30px; } .benefits-grid { gap:14px; padding:25px 0; } .benefits-grid > div { padding:5px!important; gap:8px; border:0; } .benefit-icon { font-size:25px; } .benefits strong { font-size:11px; } .benefits small { font-size:10px; } .intro-grid { grid-template-columns:1fr; } .intro-photo { height:280px; } .intro-side { grid-column:auto; } .mini-photo { height:145px; } .section-heading { align-items:start; flex-direction:column; } .equipment-grid { grid-template-columns:1fr; } .equipment img { height:245px; } .cta-inner { flex-direction:column; align-items:start; } .cta h2 { font-size:30px; } .footer-main { grid-template-columns:1fr 1fr; gap:30px; } .footer-main > div:first-child { grid-column:1/-1; } .footer-bottom { gap:12px; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Version 3: image cards with real image elements, reliable on local file:// */
.brand-panel { isolation:isolate; background:#183e29; }
.brand-photo { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; z-index:-2; transition:transform .7s ease; }
.brand-panel::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,24,15,.85),rgba(5,24,15,.12)); z-index:-1; pointer-events:none; }
.brand-panel:hover .brand-photo { transform:scale(1.07); }
.brand-panel > :not(.brand-photo) { position:relative; z-index:1; }
.hero-image:first-child { background-position:center 57%; }
@media(max-width:600px) { .hero-image:first-child { background-position:62% center; } }

/* Preview vidéo d'accueil : ouverture uniquement au clic */
.hero{position:relative}.hero-video-preview{position:absolute;right:max(3%,24px);bottom:76px;z-index:7;display:flex;align-items:center;gap:14px;border:1px solid #ffffff77;background:#102a22d9;color:#fff;padding:14px 18px;border-radius:12px;cursor:pointer;backdrop-filter:blur(10px);text-align:left;box-shadow:0 8px 35px #0005}.hero-video-preview:hover{background:#194d38}.video-play{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#a1cf3a;color:#153323}.hero-video-preview strong,.hero-video-preview small{display:block}.hero-video-preview small{font-size:.78rem;opacity:.8;margin-top:4px}.home-video-dialog{width:min(92vw,950px);max-width:950px;padding:25px;background:#0c201a;color:white;border:1px solid #ffffff30;border-radius:18px}.home-video-dialog::backdrop{background:#000b}.home-video-dialog iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:10px}.home-video-dialog a{color:#b7e773}.video-close{float:right;border:0;background:transparent;color:white;font-size:1.5rem;cursor:pointer;margin-bottom:8px}@media(max-width:720px){.hero-video-preview{right:15px;bottom:65px;padding:8px}.hero-video-preview small{display:none}.video-play{width:35px;height:35px}}

.home-video-dialog .video-external{display:inline-block;margin:8px 0;padding:10px 15px;border:1px solid #b7e773;border-radius:8px;text-decoration:none;font-weight:700}.home-video-dialog p{line-height:1.5}

.home-video-dialog video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:10px}.home-video-dialog .video-note{font-size:.85rem;color:#d3e0d8;line-height:1.5;margin:12px 0 0}.home-video-dialog{box-sizing:border-box}

/* V6 - Miniature vidéo animée directement visible sur le slideshow */
.hero .hero-video-preview{display:block;position:absolute;right:clamp(20px,4vw,76px);bottom:clamp(72px,9vh,110px);width:clamp(205px,23vw,340px);aspect-ratio:16/9;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:13px;background:#173c2b;box-shadow:0 14px 40px rgba(0,0,0,.42);text-align:left;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease}
.hero .hero-video-preview:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(0,0,0,.52)}
.hero-video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.hero-video-thumb-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,24,16,.9),transparent 66%);pointer-events:none}
.hero-video-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:13px 15px;pointer-events:none}
.hero-video-label{display:flex;justify-content:space-between;gap:8px;font-size:.67rem;letter-spacing:.12em;font-weight:800;color:white}
.hero-video-live{font-size:.59rem;letter-spacing:.04em;color:#bfe88a}
.hero-video-action{display:flex;align-items:center;gap:9px;font-size:.84rem;font-weight:700;color:white}
.hero-video-play{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#a1cf3a;color:#183323;font-size:12px}
@media(max-width:760px){.hero .hero-video-preview{right:14px;bottom:73px;width:165px}.hero-video-caption{padding:9px}.hero-video-label{font-size:.56rem}.hero-video-live{display:none}.hero-video-action{font-size:.7rem}.hero-video-play{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.hero .hero-video-preview{transition:none}}

/* V6 : actualité + aperçu vidéo et sélection prioritaire */
.hero .hero-float-stack{position:absolute;z-index:8;right:clamp(20px,4vw,76px);bottom:clamp(72px,9vh,110px);width:clamp(230px,24vw,345px);display:flex;flex-direction:column;gap:10px}
.hero-news-card{display:flex;align-items:center;gap:12px;background:rgba(12,33,26,.86);color:#fff;padding:14px;border:1px solid rgba(255,255,255,.26);border-radius:13px;box-shadow:0 12px 35px #0005;backdrop-filter:blur(14px)}
.hero-news-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border:1px solid #c8eb96;border-radius:10px;color:#c8eb96;font-size:22px}
.hero-news-card>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.hero-news-kicker{color:#bde27b;letter-spacing:.14em;font-size:9px;font-weight:800}
.hero-news-card strong{font-size:13px;line-height:1.25}
.hero-news-detail{color:#e2e7df;font-size:11px;line-height:1.4}
.hero-news-arrow{color:#c8eb96;align-self:flex-start}
.hero .hero-float-stack .hero-video-preview{position:relative;inset:auto;right:auto;bottom:auto;width:100%;aspect-ratio:16/9}
.priority-section{padding-top:76px;padding-bottom:76px;background:#f7f8f3}
.priority-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
.priority-heading h2{font-size:clamp(32px,3.6vw,52px);line-height:1.1;margin:15px 0}
.priority-heading h2 em{font-style:normal;color:#668d42}
.priority-heading p{color:#657064;font-size:15px;line-height:1.6}
.priority-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.priority-card{grid-column:span 2;display:block;min-width:0;background:white;border:1px solid #e4e9dd;border-radius:12px;overflow:hidden;text-decoration:none;color:#203629;box-shadow:0 8px 24px #16371d09;transition:transform .25s ease,box-shadow .25s ease}
.priority-card:nth-child(4),.priority-card:nth-child(5){grid-column:span 3}
.priority-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #16371d20}
.priority-card-photo{position:relative;height:210px;overflow:hidden;background:#dce4d5}
.priority-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.priority-card:hover img{transform:scale(1.05)}
.priority-number{position:absolute;top:14px;left:14px;background:#163e2b;color:#fff;border-radius:5px;padding:8px 10px;font-size:12px;font-weight:800}
.priority-card-copy{padding:20px 22px 23px}
.priority-type{font-size:10px;color:#698349;font-weight:800;letter-spacing:.1em}
.priority-card h3{font-size:22px;line-height:1.25;margin:10px 0 18px}
.priority-more{display:flex;justify-content:space-between;align-items:center;color:#336b35;font-size:12px;font-weight:750}
.brands{margin-top:0}
@media(max-width:1000px){.priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.priority-card,.priority-card:nth-child(4),.priority-card:nth-child(5){grid-column:span 1}.priority-card:first-child{grid-column:span 2}.hero .hero-float-stack{width:250px}}
@media(max-width:700px){.hero .hero-float-stack{right:15px;bottom:68px;width:170px;gap:7px}.hero-news-card{padding:9px;gap:7px}.hero-news-icon,.hero-news-arrow,.hero-news-detail{display:none}.hero-news-card strong{font-size:10px}.hero-news-kicker{font-size:8px}.hero .hero-float-stack .hero-video-preview{width:100%}.priority-section{padding:48px 0}.priority-heading{align-items:flex-start;flex-direction:column}.priority-grid{grid-template-columns:1fr;gap:14px}.priority-card,.priority-card:first-child,.priority-card:nth-child(4),.priority-card:nth-child(5){grid-column:span 1}.priority-card-photo{height:200px}.priority-card h3{font-size:19px}}
