{"id":8531,"date":"2026-02-26T02:24:15","date_gmt":"2026-02-26T02:24:15","guid":{"rendered":"https:\/\/agro-tech-solution.com\/nettoyeur-de-grains-agm\/"},"modified":"2026-03-29T09:02:38","modified_gmt":"2026-03-29T09:02:38","slug":"nettoyeur-de-grains-agm","status":"publish","type":"page","link":"https:\/\/agro-tech-solution.com\/fr\/nettoyeur-de-grains-agm\/","title":{"rendered":"Nettoyeur de grains AGM"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8531\" class=\"elementor elementor-8531 elementor-6866\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c6757fd e-flex e-con-boxed e-con e-parent\" data-id=\"c6757fd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7d610c3 elementor-widget elementor-widget-html\" data-id=\"7d610c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n<section class=\"hub-agm-hero-v4\">\n  <div class=\"hub-agm-hero-v4__bg\"><\/div>\n\n  <div class=\"hub-agm-hero-v4__wrap\">\n\n    <!-- CONTENT (eyebrow + title + text + buttons + features) -->\n    <div class=\"hub-agm-hero-v4__content\">\n      <span class=\"hub-agm-hero-v4__eyebrow hub-reveal hub-reveal--fade-left\" style=\"--d:0s;\">\n        NETTOYEUR DE GRAINS A\u00c9RODYNAMIQUE AGM\n      <\/span>\n\n      <h1 class=\"hub-agm-hero-v4__title hub-reveal hub-reveal--title\" style=\"--d:.1s;\">\n        S\u00e9rie de nettoyeurs de grains<br>a\u00e9rodynamiques AGM\n      <\/h1>\n\n      <p class=\"hub-agm-hero-v4__text hub-reveal hub-reveal--fade-up\" style=\"--d:.24s;\">\n        Solutions efficaces de nettoyage des grains pour les exploitations modernes et les lignes de transformation, avec un d\u00e9bit \u00e9lev\u00e9, une construction compacte et une faible consommation d\u2019\u00e9nergie. Convient au bl\u00e9, au ma\u00efs, \u00e0 l\u2019orge, au soja, au tournesol et \u00e0 d\u2019autres cultures.\n      <\/p>\n\n      <div class=\"hub-agm-hero-v4__actions hub-reveal hub-reveal--fade-up\" style=\"--d:.38s;\">\n  <a href=\"#contact\" class=\"hub-agm-hero-v4__btn hub-agm-hero-v4__btn--primary\">Envoyer une demande<\/a>\n  <a href=\"#models\" class=\"hub-agm-hero-v4__btn hub-agm-hero-v4__btn--secondary\">Voir les mod\u00e8les<\/a>\n<\/div>\n\n      <!-- Features \u2014 order-3 on mobile (after visual) -->\n      <div class=\"hub-agm-hero-v4__features\">\n        <article class=\"hub-agm-hero-v4__feature hub-reveal hub-reveal--card\" style=\"--d:.5s;\">\n          <div class=\"hub-agm-hero-v4__feature-icon\">01<\/div>\n          <div class=\"hub-agm-hero-v4__feature-text\">\n            <strong>Jusqu\u2019\u00e0 50 t\/h<\/strong>\n            <span>Large plage de capacit\u00e9s pour diff\u00e9rents besoins de production<\/span>\n          <\/div>\n        <\/article>\n        <article class=\"hub-agm-hero-v4__feature hub-reveal hub-reveal--card\" style=\"--d:.62s;\">\n          <div class=\"hub-agm-hero-v4__feature-icon\">02<\/div>\n          <div class=\"hub-agm-hero-v4__feature-text\">\n            <strong>Faible consommation d\u2019\u00e9nergie<\/strong>\n            <span>Nettoyage efficace avec une demande \u00e9nerg\u00e9tique optimis\u00e9e<\/span>\n          <\/div>\n        <\/article>\n        <article class=\"hub-agm-hero-v4__feature hub-reveal hub-reveal--card\" style=\"--d:.74s;\">\n          <div class=\"hub-agm-hero-v4__feature-icon\">03<\/div>\n          <div class=\"hub-agm-hero-v4__feature-text\">\n            <strong>Installation compacte<\/strong>\n            <span>Easy integration into farms and processing lines<\/span>\n          <\/div>\n        <\/article>\n      <\/div>\n    <\/div>\n\n    <!-- VISUAL (machine + rings) \u2014 order-2 on mobile (comes first visually) -->\n    <div class=\"hub-agm-hero-v4__visual hub-reveal hub-reveal--visual\" style=\"--d:.24s;\">\n      <div class=\"hub-agm-hero-v4__image-box\" id=\"hub-agm-hero-v4-box\">\n\n        <div class=\"hub-ring hub-ring--1\"><\/div>\n        <div class=\"hub-ring hub-ring--2\"><\/div>\n        <div class=\"hub-ring hub-ring--3\"><\/div>\n        <div class=\"hub-ring hub-ring--4\"><\/div>\n\n        <div class=\"hub-agm-hero-v4__glow hub-agm-hero-v4__glow--one\"><\/div>\n        <div class=\"hub-agm-hero-v4__glow hub-agm-hero-v4__glow--two\"><\/div>\n        <div class=\"hub-agm-hero-v4__glow hub-agm-hero-v4__glow--three\"><\/div>\n\n        <div class=\"hub-particle hub-particle--1\"><\/div>\n        <div class=\"hub-particle hub-particle--2\"><\/div>\n        <div class=\"hub-particle hub-particle--3\"><\/div>\n        <div class=\"hub-particle hub-particle--4\"><\/div>\n        <div class=\"hub-particle hub-particle--5\"><\/div>\n\n        <div class=\"hub-agm-hero-v4__badge hub-agm-hero-v4__badge--top hub-reveal hub-reveal--float-down\" style=\"--d:.56s;\">\n          <span>6 models available<\/span>\n        <\/div>\n\n        <img decoding=\"async\" class=\"hub-agm-hero-v4__machine hub-parallax-item\" data-speed=\"10\" src=\"\/wp-content\/uploads\/2026\/03\/agm-5-model.webp\" alt=\"AGM aerodynamic grain cleaner\">\n\n        <div class=\"hub-agm-hero-v4__badge hub-agm-hero-v4__badge--left hub-reveal hub-reveal--float-up\" style=\"--d:.7s;\">\n          <strong>0.2\u20136.8 kW<\/strong>\n          <span>power consumption<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n\/* \u2500\u2500\u2500 reset inside section only \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4 *, .hub-agm-hero-v4 *::before, .hub-agm-hero-v4 *::after {\n  box-sizing: border-box;\n}\nsection {\n  scroll-behavior:smooth;\n}\n\/* \u2500\u2500\u2500 SECTION \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4 {\n  position: relative;\n  overflow: hidden;\n  padding: 120px 0 100px;\n  \n  font-family: Montserrat, sans-serif;\n}\n\n.hub-agm-hero-v4::after {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  pointer-events: none;\n  background-image: radial-gradient(rgba(79,124,255,.07) 1px, transparent 1px);\n  background-size: 32px 32px;\n  mask-image: radial-gradient(ellipse at 70% 50%, black 30%, transparent 70%);\n  -webkit-mask-image: radial-gradient(ellipse at 70% 50%, black 30%, transparent 70%);\n  z-index: 0;\n}\n\n.hub-agm-hero-v4__bg {\n  position: absolute;\n  inset: 0;\n  pointer-events: none;\n}\n\n\/* \u2500\u2500\u2500 GRID \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4__wrap {\n  position: relative;\n  z-index: 2;\n  max-width: 1320px;\n  margin: 0 auto;\n  padding: 0 32px;\n  display: grid;\n  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);\n  gap: 48px;\n  align-items: center;\n}\n\n\/* \u2500\u2500\u2500 CONTENT \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4__content {\n  max-width: 680px;\n}\n\n.hub-agm-hero-v4__eyebrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  padding: 8px 16px;\n  margin-bottom: 22px;\n  border-radius: 999px;\n  background: rgba(79,124,255,.07);\n  border: 1px solid rgba(79,124,255,.16);\n  color: #4f6fdf;\n  font-size: 11px;\n  font-weight: 700;\n  letter-spacing: .14em;\n  text-transform: uppercase;\n}\n\n.hub-agm-hero-v4__eyebrow::before {\n  content: \"\";\n  width: 6px; height: 6px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, #4f7cff, #19b98a);\n  flex-shrink: 0;\n}\n\n.hub-agm-hero-v4__title {\n  margin: 0 0 20px;\n  font-size: clamp(38px, 4.6vw, 68px);\n  line-height: .98;\n  letter-spacing: -.04em;\n  font-weight: 800;\n  color: #1a2236;\n}\n\n.hub-agm-hero-v4__text {\n  margin: 0 0 30px;\n  max-width: 580px;\n  color: #6b7691;\n  font-size: 16.5px;\n  line-height: 1.82;\n  font-weight: 500;\n}\n\n\/* \u2500\u2500\u2500 BUTTONS \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4__actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n  margin-bottom: 32px;\n}\n\n.hub-agm-hero-v4__btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 52px;\n  padding: 13px 26px;\n  border-radius: 14px;\n  text-decoration: none;\n  scroll-behavior: smooth;\n  font-size: 14px;\n  font-weight: 700;\n  font-family: Montserrat, sans-serif;\n  transition: transform .32s ease, box-shadow .32s ease, background .32s ease;\n}\n\n.hub-agm-hero-v4__btn--primary {\n  color: #fff;\n  background: linear-gradient(135deg, #4f7cff 0%, #19b98a 100%);\n  box-shadow: 0 12px 28px rgba(79,124,255,.28), 0 2px 6px rgba(79,124,255,.15);\n  \n\n}\n\n.hub-agm-hero-v4__btn--primary:hover {\n  transform: translateY(-3px);\n  box-shadow: 0 18px 36px rgba(79,124,255,.34), 0 4px 8px rgba(79,124,255,.18);\n}\n\n.hub-agm-hero-v4__btn--secondary {\n  color: #2a3552;\n  background: rgba(255,255,255,.8);\n  border: 1px solid rgba(200,210,235,.7);\n  box-shadow: 0 8px 20px rgba(31,42,68,.07);\n}\n\n.hub-agm-hero-v4__btn--secondary:hover {\n  transform: translateY(-3px);\n  background: #fff;\n  box-shadow: 0 14px 28px rgba(31,42,68,.10);\n}\n\n\/* \u2500\u2500\u2500 FEATURE CARDS \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4__features {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 12px;\n}\n\n.hub-agm-hero-v4__feature {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 20px 18px;\n  border-radius: 20px;\n  background: rgba(255,255,255,.68);\n  border: 1px solid rgba(255,255,255,.9);\n  box-shadow: 0 12px 32px rgba(31,42,68,.06), inset 0 1px 0 rgba(255,255,255,.85);\n  backdrop-filter: blur(16px);\n  -webkit-backdrop-filter: blur(16px);\n  transition: transform .38s ease, box-shadow .38s ease;\n  overflow: hidden;\n}\n\n.hub-agm-hero-v4__feature::after {\n  content: \"\";\n  position: absolute;\n  bottom: 0; left: 0; right: 0;\n  height: 3px;\n  background: linear-gradient(90deg, #4f7cff, #19b98a);\n  border-radius: 0 0 20px 20px;\n  transform: scaleX(0);\n  transition: transform .38s ease;\n  transform-origin: left;\n}\n\n.hub-agm-hero-v4__feature:hover {\n  transform: translateY(-5px);\n  box-shadow: 0 20px 42px rgba(31,42,68,.10), inset 0 1px 0 rgba(255,255,255,.85);\n}\n\n.hub-agm-hero-v4__feature:hover::after {\n  transform: scaleX(1);\n}\n\n.hub-agm-hero-v4__feature-icon {\n  flex: 0 0 auto;\n  width: 40px; height: 40px;\n  border-radius: 12px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: linear-gradient(135deg, rgba(79,124,255,.14), rgba(24,185,129,.12));\n  color: #3a58c8;\n  font-size: 12px;\n  font-weight: 800;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);\n}\n\n.hub-agm-hero-v4__feature strong {\n  display: block;\n  margin-bottom: 5px;\n  color: #1a2236;\n  font-size: 14.5px;\n  line-height: 1.3;\n  font-weight: 800;\n}\n\n.hub-agm-hero-v4__feature span {\n  display: block;\n  color: #7b859f;\n  font-size: 12.5px;\n  line-height: 1.55;\n  font-weight: 500;\n}\n\n\/* \u2500\u2500\u2500 VISUAL (no frame) \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4__visual {\n  position: relative;\n}\n\n.hub-agm-hero-v4__image-box {\n  position: relative;\n  min-height: 640px;\n  background: transparent;\n  border: none;\n  box-shadow: none;\n  overflow: visible;\n  isolation: isolate;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n\/* \u2500\u2500\u2500 RINGS \u2500\u2500\u2500 *\/\n.hub-ring {\n  position: absolute;\n  left: 50%; top: 50%;\n  transform: translate(-50%, -50%);\n  border-radius: 50%;\n  border: 1.5px solid;\n  pointer-events: none;\n  z-index: 1;\n}\n\n.hub-ring--1 {\n  width: 280px; height: 280px;\n  border-color: rgba(79,124,255,.22);\n  animation: hubRingPulse 4s ease-in-out infinite;\n  animation-delay: 0s;\n}\n\n.hub-ring--2 {\n  width: 390px; height: 390px;\n  border-color: rgba(79,124,255,.14);\n  animation: hubRingPulse 4s ease-in-out infinite;\n  animation-delay: -1s;\n}\n\n.hub-ring--3 {\n  width: 510px; height: 510px;\n  border-color: rgba(24,185,129,.11);\n  animation: hubRingPulse 4s ease-in-out infinite;\n  animation-delay: -2s;\n}\n\n.hub-ring--4 {\n  width: 640px; height: 640px;\n  border-color: rgba(24,185,129,.07);\n  animation: hubRingPulse 4s ease-in-out infinite;\n  animation-delay: -3s;\n}\n\n.hub-ring--1::after {\n  content: \"\";\n  position: absolute;\n  inset: -2px;\n  border-radius: 50%;\n  border: 1px dashed rgba(79,124,255,.18);\n  animation: hubRingRotate 18s linear infinite;\n}\n\n.hub-ring--2::before {\n  content: \"\";\n  position: absolute;\n  width: 7px; height: 7px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, #4f7cff, #19b98a);\n  box-shadow: 0 0 10px rgba(79,124,255,.6);\n  top: 0; left: 50%;\n  transform-origin: 0 195px;\n  animation: hubDotOrbit 8s linear infinite;\n}\n\n@keyframes hubRingPulse {\n  0%, 100% { opacity:.6; transform:translate(-50%,-50%) scale(1); }\n  50%       { opacity:1;  transform:translate(-50%,-50%) scale(1.035); }\n}\n\n@keyframes hubRingRotate {\n  from { transform: rotate(0deg); }\n  to   { transform: rotate(360deg); }\n}\n\n@keyframes hubDotOrbit {\n  from { transform: translateX(-50%) rotate(0deg) translateY(-195px); }\n  to   { transform: translateX(-50%) rotate(360deg) translateY(-195px); }\n}\n\n\/* \u2500\u2500\u2500 PARTICLES \u2500\u2500\u2500 *\/\n.hub-particle {\n  position: absolute;\n  border-radius: 50%;\n  pointer-events: none;\n  z-index: 2;\n}\n\n.hub-particle--1 { width:8px;  height:8px;  background:rgba(79,124,255,.45); top:18%;    left:12%;  animation:hubParticleFloat 6s   ease-in-out infinite; animation-delay:0s; }\n.hub-particle--2 { width:5px;  height:5px;  background:rgba(24,185,129,.5);  top:28%;    right:14%; animation:hubParticleFloat 7.5s ease-in-out infinite; animation-delay:-2s; }\n.hub-particle--3 { width:10px; height:10px; background:rgba(79,124,255,.25); bottom:22%; right:18%; animation:hubParticleFloat 5.5s ease-in-out infinite; animation-delay:-1.5s; }\n.hub-particle--4 { width:6px;  height:6px;  background:rgba(24,185,129,.35); bottom:30%; left:16%;  animation:hubParticleFloat 8s   ease-in-out infinite; animation-delay:-3.5s; }\n.hub-particle--5 { width:4px;  height:4px;  background:rgba(79,124,255,.55); top:55%;    left:8%;   animation:hubParticleFloat 5s   ease-in-out infinite; animation-delay:-1s; }\n\n@keyframes hubParticleFloat {\n  0%, 100% { transform:translate(0,0) scale(1);    opacity:.7; }\n  33%       { transform:translate(8px,-12px) scale(1.2); opacity:1; }\n  66%       { transform:translate(-6px,10px) scale(.85); opacity:.5; }\n}\n\n\/* \u2500\u2500\u2500 GLOWS \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4__glow {\n  position: absolute;\n  border-radius: 50%;\n  filter: blur(34px);\n  pointer-events: none;\n  z-index: 1;\n  animation: hubGlowFloat 9s ease-in-out infinite;\n}\n\n.hub-agm-hero-v4__glow--one   { width:200px; height:200px; left:60px;   top:110px;    background:rgba(79,124,255,.17); animation-delay:0s; }\n.hub-agm-hero-v4__glow--two   { width:240px; height:240px; right:40px;  top:140px;    background:rgba(24,185,129,.14); animation-delay:-3s; }\n.hub-agm-hero-v4__glow--three { width:180px; height:180px; left:150px;  bottom:70px;  background:rgba(24,185,129,.12); animation-delay:-6s; }\n\n@keyframes hubGlowFloat {\n  0%, 100% { transform:translate3d(0,0,0) scale(1);    opacity:.65; }\n  50%       { transform:translate3d(0,-16px,0) scale(1.10); opacity:1; }\n}\n\n\/* \u2500\u2500\u2500 MACHINE \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4__machine {\n  position: relative;\n  z-index: 3;\n  width: 100%;\n  max-height: 580px;\n  object-fit: contain;\n  padding: 40px;\n  filter:\n    drop-shadow(0 30px 50px rgba(31,42,68,.22))\n    drop-shadow(0 6px 16px rgba(79,124,255,.12));\n  transition: transform .55s ease, filter .55s ease;\n  will-change: transform;\n}\n\n.hub-agm-hero-v4__image-box:hover .hub-agm-hero-v4__machine {\n  filter:\n    drop-shadow(0 36px 58px rgba(31,42,68,.26))\n    drop-shadow(0 8px 20px rgba(79,124,255,.18));\n}\n\n\/* \u2500\u2500\u2500 BADGES \u2500\u2500\u2500 *\/\n.hub-agm-hero-v4__badge {\n  position: absolute;\n  z-index: 5;\n  background: rgba(255,255,255,.88);\n  border: 1px solid rgba(255,255,255,.96);\n  box-shadow: 0 14px 30px rgba(31,42,68,.09), inset 0 1px 0 rgba(255,255,255,.9);\n  backdrop-filter: blur(14px);\n  -webkit-backdrop-filter: blur(14px);\n  border-radius: 18px;\n  transition: transform .38s ease, box-shadow .38s ease;\n  will-change: transform;\n}\n\n.hub-agm-hero-v4__badge:hover {\n  transform: translateY(-4px) !important;\n  box-shadow: 0 20px 38px rgba(31,42,68,.12), inset 0 1px 0 rgba(255,255,255,.9);\n}\n\n.hub-agm-hero-v4__badge--top {\n  top: 28px; right: 28px;\n  padding: 10px 16px;\n  font-size: 12.5px;\n  font-weight: 800;\n  color: #1a2236;\n  font-family: Montserrat, sans-serif;\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n\n.hub-agm-hero-v4__badge--top::before {\n  content: \"\";\n  width: 8px; height: 8px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, #4f7cff, #19b98a);\n  flex-shrink: 0;\n}\n\n.hub-agm-hero-v4__badge--left {\n  left: 28px;\n  bottom: 40px;\n  padding: 14px 18px;\n  max-width: 190px;\n}\n\n.hub-agm-hero-v4__badge strong {\n  display: block;\n  margin-bottom: 4px;\n  font-size: 15px;\n  line-height: 1.3;\n  font-weight: 800;\n  background: linear-gradient(135deg, #4f7cff, #19b98a);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.hub-agm-hero-v4__badge span {\n  display: block;\n  color: #7a849e;\n  font-size: 12px;\n  line-height: 1.5;\n  font-weight: 600;\n  font-family: Montserrat, sans-serif;\n}\n\n\/* \u2500\u2500\u2500 REVEAL \u2500\u2500\u2500 *\/\n.hub-reveal {\n  opacity: 0;\n  transition:\n    opacity 1.3s cubic-bezier(.22,1,.36,1),\n    transform 1.3s cubic-bezier(.22,1,.36,1);\n  transition-delay: var(--d, 0s);\n  will-change: opacity, transform;\n}\n\n.hub-reveal--fade-up    { transform: translate3d(0, 32px, 0); }\n.hub-reveal--fade-left  { transform: translate3d(-28px, 0, 0); }\n.hub-reveal--title      { transform: translate3d(0, 40px, 0) scale(.97); }\n.hub-reveal--card       { transform: translate3d(0, 26px, 0) scale(.94); }\n.hub-reveal--visual     { transform: translate3d(32px, 0, 0) scale(.97); }\n.hub-reveal--float-down { transform: translate3d(0, -24px, 0) scale(.96); }\n.hub-reveal--float-up   { transform: translate3d(0, 24px, 0) scale(.96); }\n\n.hub-reveal.is-visible {\n  opacity: 1;\n  transform: translate3d(0,0,0) scale(1);\n}\n\n\/* \u2500\u2500\u2500 RESPONSIVE \u2500\u2500\u2500 *\/\n@media (max-width: 1200px) {\n  .hub-agm-hero-v4__wrap {\n    grid-template-columns: 1fr;\n  }\n  .hub-agm-hero-v4__content { max-width: none; }\n  .hub-agm-hero-v4__visual  { max-width: 720px; margin: 0 auto; }\n}\n\n\/* \u2500\u2500 MOBILE: \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0441\u0432\u0435\u0440\u0445\u0443, \u0444\u0438\u0447\u0438 \u0441\u043d\u0438\u0437\u0443 \u2500\u2500 *\/\n@media (max-width: 767px) {\n  .hub-agm-hero-v4 {\n    padding: 70px 0 56px;\n  }\n\n  .hub-agm-hero-v4__wrap {\n    padding: 0 16px;\n    gap: 0;\n    \/* flex \u0432\u043c\u0435\u0441\u0442\u043e grid \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c *\/\n    display: flex;\n    flex-direction: column;\n  }\n\n  \/* \u041a\u043e\u043d\u0442\u0435\u043d\u0442 \u0434\u0435\u043b\u0438\u043c \u043d\u0430 \u0434\u0432\u0435 \u0447\u0430\u0441\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 order:\n     eyebrow + title + text + buttons \u2192 order 1\n     visual (\u043c\u0430\u0448\u0438\u043d\u0430)                  \u2192 order 2\n     features                         \u2192 order 3  *\/\n\n  .hub-agm-hero-v4__content {\n    display: contents; \/* \u00ab\u0440\u0430\u0441\u0442\u0432\u043e\u0440\u044f\u0435\u043c\u00bb \u043e\u0431\u0451\u0440\u0442\u043a\u0443, \u0434\u0435\u0442\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e *\/\n  }\n\n  .hub-agm-hero-v4__eyebrow,\n  .hub-agm-hero-v4__title,\n  .hub-agm-hero-v4__text,\n  .hub-agm-hero-v4__actions {\n    order: 1;\n  }\n\n  \/* \u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0439 \u0432\u0440\u0430\u043f\u043f\u0435\u0440 \u0434\u043b\u044f eyebrow\/title\/text\/actions \u2014 \u0437\u0430\u0434\u0430\u0451\u043c \u043f\u043e\u0440\u044f\u0434\u043e\u043a *\/\n  .hub-agm-hero-v4__content > .hub-agm-hero-v4__eyebrow { order: 1; }\n  .hub-agm-hero-v4__content > .hub-agm-hero-v4__title   { order: 1; }\n  .hub-agm-hero-v4__content > .hub-agm-hero-v4__text    { order: 1; }\n  .hub-agm-hero-v4__content > .hub-agm-hero-v4__actions { order: 1; }\n\n  \/* \u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0438\u0434\u0451\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 *\/\n  .hub-agm-hero-v4__visual { order: 2; }\n\n  \/* \u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0444\u0438\u0447 \u0438\u0434\u0443\u0442 \u0442\u0440\u0435\u0442\u044c\u0438\u043c\u0438 *\/\n  .hub-agm-hero-v4__features { order: 3; }\n\n  \/* \u041e\u0442\u0441\u0442\u0443\u043f\u044b *\/\n  .hub-agm-hero-v4__visual {\n    max-width: none;\n    margin: 12px 0 4px;\n  }\n\n  .hub-agm-hero-v4__features {\n    grid-template-columns: 1fr;\n    gap: 10px;\n    margin-top: 12px;\n  }\n\n  \/* \u0423\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u043c \u0432\u044b\u0441\u043e\u0442\u0443 visual-\u0431\u043e\u043a\u0441\u0430 *\/\n  .hub-agm-hero-v4__image-box {\n    min-height: 340px;\n  }\n\n  .hub-agm-hero-v4__machine {\n    padding: 18px;\n  }\n\n  .hub-agm-hero-v4__title {\n    font-size: clamp(30px, 10.5vw, 44px);\n    margin-bottom: 14px;\n  }\n\n  .hub-agm-hero-v4__text {\n    font-size: 14.5px;\n    line-height: 1.72;\n    margin-bottom: 20px;\n  }\n\n  .hub-agm-hero-v4__actions {\n    margin-bottom: 0;\n  }\n\n  .hub-agm-hero-v4__badge--left {\n    left: 12px; bottom: 12px;\n    max-width: 150px;\n    padding: 11px 14px;\n  }\n\n  .hub-agm-hero-v4__badge--top {\n    top: 12px; right: 12px;\n    font-size: 11.5px;\n    padding: 8px 12px;\n  }\n\n  \/* \u0421\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043a\u043e\u043b\u044c\u0446\u0430 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u0435 *\/\n  .hub-ring--3, .hub-ring--4 { display: none; }\n}\n\n\/* \u2500\u2500\u2500 REDUCED MOTION \u2500\u2500\u2500 *\/\n@media (prefers-reduced-motion: reduce) {\n  .hub-reveal,\n  .hub-agm-hero-v4__btn,\n  .hub-agm-hero-v4__feature,\n  .hub-agm-hero-v4__machine,\n  .hub-agm-hero-v4__badge,\n  .hub-agm-hero-v4__glow,\n  .hub-ring,\n  .hub-particle {\n    transition: none !important;\n    animation: none !important;\n    transform: none !important;\n    opacity: 1 !important;\n  }\n}\n<\/style>\n\n<script>\n(function () {\n  var section = document.querySelector('.hub-agm-hero-v4');\n  if (!section) return;\n\n  \/* Reveal on scroll *\/\n  var animated = section.querySelectorAll('.hub-reveal');\n  if (animated.length && 'IntersectionObserver' in window) {\n    var observer = new IntersectionObserver(function (entries, obs) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) return;\n        entry.target.classList.add('is-visible');\n        obs.unobserve(entry.target);\n      });\n    }, { threshold: 0.10, rootMargin: '0px 0px -6% 0px' });\n    animated.forEach(function (item) { observer.observe(item); });\n  }\n\n  \/* Parallax tilt \u2014 desktop only *\/\n  var box   = section.querySelector('#hub-agm-hero-v4-box');\n  var items = section.querySelectorAll('.hub-parallax-item');\n\n  if (box && items.length && window.matchMedia('(min-width: 768px)').matches) {\n    box.addEventListener('mousemove', function (e) {\n      var rect = box.getBoundingClientRect();\n      var relX = (e.clientX - rect.left) \/ rect.width  - 0.5;\n      var relY = (e.clientY - rect.top)  \/ rect.height - 0.5;\n      items.forEach(function (item) {\n        var speed = Number(item.dataset.speed || 10);\n        item.style.transform = 'translate3d(' + (relX * speed) + 'px,' + (relY * speed) + 'px,0)';\n      });\n    });\n    box.addEventListener('mouseleave', function () {\n      items.forEach(function (item) { item.style.transform = ''; });\n    });\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e26ef84 e-flex e-con-boxed e-con e-parent\" data-id=\"e26ef84\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f0bf81 elementor-widget elementor-widget-html\" data-id=\"9f0bf81\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n<section class=\"hub-agm-video-section\">\n  <div class=\"hub-agm-video-section__bg\"><\/div>\n\n  <div class=\"hub-agm-video-section__wrap\">\n    <div class=\"hub-agm-video-section__grid\">\n\n      <div class=\"hub-agm-video-section__media hub-v-reveal hub-v-reveal--left\" style=\"--d:.05s;\">\n        <div class=\"hub-agm-video-section__video-shell\">\n          <div class=\"hub-agm-video-section__video-glow\"><\/div>\n\n          <!-- \u0417\u0410\u041c\u0415\u041d\u0418 src \u0438 poster \u043d\u0430 \u0441\u0432\u043e\u0438 -->\n          <video class=\"hub-agm-video-section__video js-agm-smart-video\" muted loop playsinline autoplay preload=\"metadata\" poster=\"\/wp-content\/uploads\/2026\/03\/poster-agm-5-video-section.jpg\">\n            <source src=\"\/wp-content\/uploads\/2026\/03\/agm-5-video-section.mp4\" type=\"video\/mp4\">\n          <\/video>\n\n          <div class=\"hub-agm-video-section__video-overlay\"><\/div>\n\n          <div class=\"hub-agm-video-section__floating hub-v-reveal hub-v-reveal--fade-up\" style=\"--d:.22s;\">\n            <span class=\"hub-agm-video-section__floating-label\">AGM en fonctionnement<\/span>\n            <strong>Processus visuel de nettoyage des grains<\/strong>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"hub-agm-video-section__content\">\n        <span class=\"hub-agm-video-section__eyebrow hub-v-reveal hub-v-reveal--fade-up\" style=\"--d:.08s;\">\n          \u00c0 propos du produit\n        <\/span>\n\n        <h2 class=\"hub-agm-video-section__title hub-v-reveal hub-v-reveal--title\" style=\"--d:.12s;\">\n          Nettoyage a\u00e9rodynamique des grains pour les besoins pratiques des exploitations et de la transformation\n        <\/h2>\n\n        <div class=\"hub-agm-video-section__text\">\n          <p class=\"hub-v-reveal hub-v-reveal--fade-up\" style=\"--d:.18s;\">\n            Le nettoyeur de grains AGM est con\u00e7u pour s\u00e9parer le grain des impuret\u00e9s l\u00e9g\u00e8res au moyen d\u2019un flux d\u2019air contr\u00f4l\u00e9. La machine utilise des principes a\u00e9rodynamiques pour \u00e9liminer les enveloppes, la poussi\u00e8re, la balle et autres contaminants l\u00e9gers tout en conservant une structure de travail simple et pratique.\n          <\/p>\n\n          <p class=\"hub-v-reveal hub-v-reveal--fade-up\" style=\"--d:.26s;\">\n            Cela rend la s\u00e9rie AGM adapt\u00e9e au pr\u00e9-nettoyage fiable ou au nettoyage avant le stockage, la transformation ult\u00e9rieure ou le semis. Le flux d\u2019air peut \u00eatre r\u00e9gl\u00e9 selon les cultures et les conditions d\u2019exploitation, offrant aux op\u00e9rateurs une flexibilit\u00e9 pratique dans l\u2019utilisation quotidienne.\n          <\/p>\n\n          <p class=\"hub-v-reveal hub-v-reveal--fade-up\" style=\"--d:.34s;\">\n            La conception est ax\u00e9e sur la durabilit\u00e9 et la simplicit\u00e9 d\u2019utilisation. Le corps en acier de 1,5 mm, la tr\u00e9mie int\u00e9gr\u00e9e et l\u2019entra\u00eenement direct du ventilateur constituent une solution compacte, robuste et fiable pour le travail agricole r\u00e9gulier.\n          <\/p>\n        <\/div>\n\n        <div class=\"hub-agm-video-section__actions hub-v-reveal hub-v-reveal--fade-up\" style=\"--d:.42s;\">\n          <a href=\"#contact\" class=\"hub-agm-video-section__btn\">Envoyer une demande<\/a>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  .hub-agm-video-section{\n    position:relative;\n    overflow:hidden;\n    padding:110px 0;\n    background:\n      radial-gradient(circle at 14% 18%, rgba(31,114,255,.08), transparent 28%),\n      radial-gradient(circle at 82% 24%, rgba(18,166,122,.08), transparent 22%),\n      linear-gradient(180deg, #f5f8fb 0%, #edf3f6 100%);\n    font-family:Montserrat, sans-serif;\n  }\n\n  .hub-agm-video-section__bg{\n    position:absolute;\n    inset:0;\n    pointer-events:none;\n    background:\n      linear-gradient(115deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,0) 38%, rgba(255,255,255,.14) 100%);\n  }\n\n  .hub-agm-video-section__wrap{\n    position:relative;\n    z-index:2;\n    max-width:1320px;\n    margin:0 auto;\n    padding:0 24px;\n  }\n\n  .hub-agm-video-section__grid{\n    display:grid;\n    grid-template-columns:minmax(320px, 500px) minmax(0, 1fr);\n    gap:52px;\n    align-items:center;\n  }\n\n  .hub-agm-video-section__media{\n    position:relative;\n  }\n\n  .hub-agm-video-section__video-shell{\n    position:relative;\n    width:100%;\n    max-width:480px;\n    margin:0 auto;\n    border-radius:32px;\n    overflow:hidden;\n    background:#0f1724;\n    border:1px solid rgba(255,255,255,.6);\n    box-shadow:\n      0 28px 70px rgba(20,28,45,.18),\n      inset 0 1px 0 rgba(255,255,255,.35);\n    aspect-ratio:576 \/ 1024;\n    isolation:isolate;\n  }\n\n  .hub-agm-video-section__video-glow{\n    position:absolute;\n    inset:auto -18% -18% -18%;\n    height:42%;\n    background:radial-gradient(circle, rgba(38,132,255,.28) 0%, rgba(18,166,122,.12) 38%, transparent 70%);\n    filter:blur(40px);\n    z-index:0;\n    pointer-events:none;\n  }\n\n  .hub-agm-video-section__video{\n    position:absolute;\n    inset:0;\n    width:100%;\n    height:100%;\n    object-fit:cover;\n    display:block;\n    background:#101722;\n    z-index:1;\n  }\n\n  .hub-agm-video-section__video-overlay{\n    position:absolute;\n    inset:0;\n    z-index:2;\n    pointer-events:none;\n    background:\n      linear-gradient(180deg, rgba(10,14,24,.08) 0%, rgba(10,14,24,0) 24%, rgba(10,14,24,.18) 100%);\n  }\n\n  .hub-agm-video-section__floating{\n    position:absolute;\n    left:18px;\n    right:18px;\n    bottom:18px;\n    z-index:3;\n    padding:16px 18px;\n    border-radius:20px;\n    background:rgba(255,255,255,.14);\n    border:1px solid rgba(255,255,255,.18);\n    backdrop-filter:blur(14px);\n    -webkit-backdrop-filter:blur(14px);\n    box-shadow:0 12px 30px rgba(0,0,0,.16);\n  }\n\n  .hub-agm-video-section__floating-label{\n    display:inline-flex;\n    margin-bottom:6px;\n    padding:6px 10px;\n    border-radius:999px;\n    background:rgba(255,255,255,.16);\n    color:#eaf3ff;\n    font-size:11px;\n    font-weight:700;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hub-agm-video-section__floating strong{\n    display:block;\n    color:#fff;\n    font-size:20px;\n    line-height:1.25;\n    font-weight:700;\n  }\n\n  .hub-agm-video-section__content{\n    max-width:760px;\n  }\n\n  .hub-agm-video-section__eyebrow{\n    display:inline-flex;\n    align-items:center;\n    padding:8px 14px;\n    margin-bottom:18px;\n    border-radius:999px;\n    background:rgba(64,110,255,.08);\n    border:1px solid rgba(64,110,255,.14);\n    color:#4d6fff;\n    font-size:12px;\n    font-weight:700;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hub-agm-video-section__title{\n    margin:0 0 20px;\n    color:#1c2436;\n    font-size:clamp(34px, 4.2vw, 58px);\n    line-height:1.04;\n    letter-spacing:-.03em;\n    font-weight:800;\n    max-width:840px;\n  }\n\n  .hub-agm-video-section__text{\n    display:grid;\n    gap:18px;\n    max-width:760px;\n  }\n\n\n  .hub-agm-video-section__actions{\n    margin-top:28px;\n  }\n\n  .hub-agm-video-section__btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:54px;\n    padding:0 26px;\n    border-radius:999px;\n    background:#19402D;\n    color:#fff;\n    font-size:14px;\n    font-weight:700;\n    text-decoration:none;\n    letter-spacing:.02em;\n    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;\n    box-shadow:0 14px 30px rgba(25,64,45,.18);\n  }\n\n  .hub-agm-video-section__btn:hover{\n    transform:translateY(-2px);\n    background:#205239;\n    box-shadow:0 18px 34px rgba(25,64,45,.22);\n  }\n  .hub-agm-video-section__text p{\n    margin:0;\n    color:#6c7890;\n    font-size:16px;\n    line-height:1.9;\n    font-weight:400;\n    letter-spacing:0;\n  }\n\n  .hub-v-reveal{\n    opacity:0;\n    transition:\n      opacity 1s cubic-bezier(.22,1,.36,1),\n      transform 1s cubic-bezier(.22,1,.36,1);\n    transition-delay:var(--d, 0s);\n    will-change:opacity, transform;\n  }\n\n  .hub-v-reveal--fade-up{\n    transform:translate3d(0, 26px, 0);\n  }\n\n  .hub-v-reveal--left{\n    transform:translate3d(-34px, 0, 0);\n  }\n\n  .hub-v-reveal--title{\n    transform:translate3d(0, 34px, 0) scale(.985);\n  }\n\n  .hub-v-reveal.is-visible{\n    opacity:1;\n    transform:translate3d(0,0,0) scale(1);\n  }\n\n  @media (max-width: 1200px){\n    .hub-agm-video-section__grid{\n      grid-template-columns:1fr;\n      gap:34px;\n    }\n\n    .hub-agm-video-section__video-shell{\n      max-width:430px;\n    }\n\n    .hub-agm-video-section__content{\n      max-width:none;\n    }\n  }\n\n  @media (max-width: 767px){\n    .hub-agm-video-section{\n      padding:80px 0;\n    }\n\n    .hub-agm-video-section__wrap{\n      padding:0 16px;\n    }\n\n    .hub-agm-video-section__grid{\n      gap:24px;\n    }\n\n    .hub-agm-video-section__video-shell{\n      max-width:100%;\n      border-radius:24px;\n    }\n\n    .hub-agm-video-section__floating{\n      left:12px;\n      right:12px;\n      bottom:12px;\n      padding:14px;\n      border-radius:18px;\n    }\n\n    .hub-agm-video-section__floating strong{\n      font-size:17px;\n    }\n\n    .hub-agm-video-section__title{\n      font-size:clamp(30px, 9vw, 42px);\n    }\n\n    .hub-agm-video-section__text{\n      gap:14px;\n    }\n\n    .hub-agm-video-section__text p{\n      font-size:15px;\n      line-height:1.8;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce){\n    .hub-v-reveal{\n      opacity:1 !important;\n      transform:none !important;\n      transition:none !important;\n    }\n  }\n<\/style>\n\n<script>\n  (function () {\n    const section = document.querySelector('.hub-agm-video-section');\n    if (!section) return;\n\n    const revealItems = section.querySelectorAll('.hub-v-reveal');\n    if (revealItems.length) {\n      const revealObserver = new IntersectionObserver((entries, obs) => {\n        entries.forEach(entry => {\n          if (!entry.isIntersecting) return;\n          entry.target.classList.add('is-visible');\n          obs.unobserve(entry.target);\n        });\n      }, {\n        threshold: 0.14,\n        rootMargin: '0px 0px -8% 0px'\n      });\n\n      revealItems.forEach(item => revealObserver.observe(item));\n    }\n\n    const video = section.querySelector('.js-agm-smart-video');\n    if (!video) return;\n\n    video.muted = true;\n    video.playsInline = true;\n\n    const smartPlay = () => {\n      const promise = video.play();\n      if (promise && typeof promise.catch === 'function') {\n        promise.catch(() => {});\n      }\n    };\n\n    const videoObserver = new IntersectionObserver((entries) => {\n      entries.forEach(entry => {\n        if (entry.isIntersecting && entry.intersectionRatio > 0.35) {\n          smartPlay();\n        } else {\n          video.pause();\n        }\n      });\n    }, {\n      threshold: [0, 0.35, 0.6, 1]\n    });\n\n    videoObserver.observe(section);\n\n    document.addEventListener('visibilitychange', () => {\n      if (document.hidden) {\n        video.pause();\n      } else {\n        const rect = section.getBoundingClientRect();\n        const visible =\n          rect.top < window.innerHeight * 0.8 &&\n          rect.bottom > window.innerHeight * 0.2;\n\n        if (visible) smartPlay();\n      }\n    });\n  })();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9b6687d e-flex e-con-boxed e-con e-parent\" data-id=\"9b6687d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e950609 elementor-widget elementor-widget-html\" data-id=\"e950609\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"asm-clean-demo\" id=\"asmCleanDemo\">\n    <div class=\"asm-clean-demo__head asm-reveal\">\n        <span class=\"asm-clean-demo__eyebrow\">Sch\u00e9ma anim\u00e9 du processus<\/span>\n        <h2 class=\"asm-clean-demo__title\">Sch\u00e9ma de fonctionnement du s\u00e9parateur de grains<\/h2>\n        <p class=\"asm-clean-demo__text\">\n            La machine est dessin\u00e9e en SVG, tandis que les fractions se d\u00e9placent selon des trajectoires pr\u00e9d\u00e9finies afin que la s\u00e9paration soit claire et facile \u00e0 comprendre.\n        <\/p>\n    <\/div>\n\n    <div class=\"asm-clean-demo__stagebar asm-reveal\" id=\"asmStagebar\">\n        <button class=\"asm-clean-demo__pill is-active\" data-stage=\"0\" type=\"button\">Toutes les \u00e9tapes<\/button>\n        <button class=\"asm-clean-demo__pill\" data-stage=\"1\" type=\"button\">1. Alimentation en grain<\/button>\n        <button class=\"asm-clean-demo__pill\" data-stage=\"2\" type=\"button\">2. Flux d\u2019air<\/button>\n        <button class=\"asm-clean-demo__pill\" data-stage=\"3\" type=\"button\">3. S\u00e9paration des fractions<\/button>\n        <button class=\"asm-clean-demo__pill\" data-stage=\"4\" type=\"button\">4. D\u00e9chargement<\/button>\n    <\/div>\n\n    <div class=\"asm-clean-demo__layout\">\n        <div class=\"asm-clean-demo__scene asm-reveal\">\n            <div class=\"asm-clean-demo__viewport\" id=\"asmViewport\">\n                <svg class=\"asm-clean-demo__svg\" viewBox=\"0 0 980 560\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\">\n                    <defs>\n                        <linearGradient id=\"acmGreen\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n                            <stop offset=\"0%\" stop-color=\"#8fd95f\" \/>\n                            <stop offset=\"100%\" stop-color=\"#63bb46\" \/>\n                        <\/linearGradient>\n\n                        <linearGradient id=\"acmBlue\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n                            <stop offset=\"0%\" stop-color=\"#5e63bd\" \/>\n                            <stop offset=\"100%\" stop-color=\"#3d459c\" \/>\n                        <\/linearGradient>\n\n                        <linearGradient id=\"acmHopper\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n                            <stop offset=\"0%\" stop-color=\"#dfe5e8\" \/>\n                            <stop offset=\"100%\" stop-color=\"#bcc4ca\" \/>\n                        <\/linearGradient>\n\n                        <filter id=\"acmGlow\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\">\n                            <feGaussianBlur stdDeviation=\"7\" result=\"b\" \/>\n                            <feMerge>\n                                <feMergeNode in=\"b\" \/>\n                                <feMergeNode in=\"SourceGraphic\" \/>\n                            <\/feMerge>\n                        <\/filter>\n                    <\/defs>\n\n                    <rect width=\"980\" height=\"560\" fill=\"#f7f8f7\" \/>\n\n                    <g class=\"acm-zone acm-zone--feed\">\n                        <path d=\"M266 42 L430 42 L408 102 L290 102 Z\" fill=\"#ffd85b\" opacity=\"0\" \/>\n                    <\/g>\n\n                    <g class=\"acm-zone acm-zone--separation\">\n                        <rect x=\"250\" y=\"178\" width=\"510\" height=\"188\" rx=\"26\" fill=\"#b6f0d3\" opacity=\"0\" \/>\n                    <\/g>\n\n                    <g class=\"acm-zone acm-zone--dust\">\n                        <rect x=\"816\" y=\"210\" width=\"118\" height=\"120\" rx=\"18\" fill=\"#dff2ff\" opacity=\"0\" \/>\n                    <\/g>\n\n                    <g class=\"acm-zone acm-zone--bins\">\n                        <rect x=\"262\" y=\"394\" width=\"550\" height=\"112\" rx=\"18\" fill=\"#fff4d6\" opacity=\"0\" \/>\n                    <\/g>\n\n                    <g class=\"acm-machine\">\n                        <g class=\"acm-part acm-part--fan-unit\">\n                            <path d=\"M88 176 L176 176 L204 206 L204 300 L176 330 L88 330 L58 302 L58 204 Z\" fill=\"#0e4be0\" \/>\n                            <path d=\"M88 176 L176 176 L204 206 L204 300 L176 330 L88 330 L58 302 L58 204 Z\" fill=\"url(#acmBlue)\" opacity=\".55\" \/>\n                            <rect x=\"98\" y=\"216\" width=\"42\" height=\"34\" rx=\"4\" fill=\"#eef3f8\" stroke=\"#c3ccd4\" \/>\n                            <circle cx=\"130\" cy=\"232\" r=\"4\" fill=\"#e34b3b\" \/>\n                            <rect x=\"109\" y=\"225\" width=\"6\" height=\"6\" rx=\"2\" fill=\"#384450\" \/>\n                            <rect x=\"119\" y=\"225\" width=\"6\" height=\"6\" rx=\"2\" fill=\"#384450\" \/>\n                            <rect x=\"109\" y=\"236\" width=\"6\" height=\"6\" rx=\"2\" fill=\"#384450\" \/>\n                            <rect x=\"98\" y=\"284\" width=\"38\" height=\"32\" rx=\"3\" fill=\"#cfd8df\" stroke=\"#8ea0ad\" \/>\n                            <rect x=\"154\" y=\"275\" width=\"20\" height=\"38\" rx=\"3\" fill=\"#b6c0c8\" stroke=\"#7e909e\" \/>\n\n                            <g class=\"acm-fan-rotor\">\n                                <circle cx=\"84\" cy=\"253\" r=\"30\" fill=\"#4f509f\" \/>\n                                <circle cx=\"84\" cy=\"253\" r=\"18\" fill=\"#2d2d64\" \/>\n                                <path d=\"M84 225 C101 227 106 238 96 247 C91 251 88 248 87 244 Z\" fill=\"#c8c1ef\" \/>\n                                <path d=\"M112 253 C110 270 98 275 89 264 C86 259 89 256 94 256 Z\" fill=\"#c8c1ef\" \/>\n                                <path d=\"M84 281 C67 279 62 268 72 259 C77 255 80 258 81 262 Z\" fill=\"#c8c1ef\" \/>\n                                <path d=\"M56 253 C58 236 70 231 79 242 C82 247 79 250 74 250 Z\" fill=\"#c8c1ef\" \/>\n                            <\/g>\n                        <\/g>\n\n                        <g class=\"acm-part acm-part--feed\">\n                            <path d=\"M266 42 L430 42 L408 102 L290 102 Z\" fill=\"url(#acmHopper)\" \/>\n                            <path d=\"M250 102 L446 102 L424 126 L274 126 Z\" fill=\"url(#acmGreen)\" \/>\n                            <path d=\"M282 58 L414 58 L398 88 L296 88 Z\" fill=\"#e8ecef\" opacity=\".75\" \/>\n\n                            <g class=\"acm-feed-arrows\">\n                                <path d=\"M300 18 L300 56\" \/>\n                                <path d=\"M348 18 L348 56\" \/>\n                                <path d=\"M396 18 L396 56\" \/>\n                                <polygon points=\"300,72 286,50 314,50\" \/>\n                                <polygon points=\"348,72 334,50 362,50\" \/>\n                                <polygon points=\"396,72 382,50 410,50\" \/>\n                            <\/g>\n                        <\/g>\n\n                        <g class=\"acm-part acm-part--body\">\n                            <path d=\"M230 116 L650 116 L650 378 L252 378 Z\" fill=\"url(#acmBlue)\" \/>\n                            <path d=\"M650 116 C710 118 765 134 812 166 L856 196 C828 204 794 210 756 214 L720 378 L650 378 Z\" fill=\"url(#acmBlue)\" \/>\n                            <line x1=\"252\" y1=\"378\" x2=\"720\" y2=\"378\" stroke=\"#4d9638\" stroke-width=\"4\" opacity=\".45\" \/>\n                        <\/g>\n\n                        <g class=\"acm-part acm-part--airlines\">\n                            <path class=\"acm-airline\" d=\"M118 212 C292 206 484 190 676 156\" \/>\n                            <path class=\"acm-airline\" d=\"M118 240 C310 238 526 220 726 194\" \/>\n                            <path class=\"acm-airline\" d=\"M118 270 C338 276 570 268 768 244\" \/>\n                            <path class=\"acm-airline\" d=\"M118 302 C362 318 606 320 796 304\" \/>\n                        <\/g>\n\n                        <g class=\"acm-part acm-part--outlets\">\n                            <rect x=\"314\" y=\"378\" width=\"20\" height=\"64\" rx=\"4\" fill=\"#7f8388\" \/>\n                            <rect x=\"420\" y=\"378\" width=\"20\" height=\"64\" rx=\"4\" fill=\"#7f8388\" \/>\n                            <rect x=\"526\" y=\"378\" width=\"20\" height=\"64\" rx=\"4\" fill=\"#7f8388\" \/>\n                            <rect x=\"632\" y=\"378\" width=\"20\" height=\"64\" rx=\"4\" fill=\"#7f8388\" \/>\n                        <\/g>\n\n                        <g class=\"acm-part acm-part--bins\">\n                            <g class=\"acm-bin\" data-bin=\"0\">\n                                <rect x=\"262\" y=\"404\" width=\"118\" height=\"94\" rx=\"10\" fill=\"#f8f8f8\" stroke=\"#2f3133\" stroke-width=\"3\" \/>\n                                <image href=\"\/wp-content\/uploads\/2026\/03\/stone.png\" x=\"304\" y=\"404\" width=\"34\" height=\"34\" \/>\n                                <rect class=\"acm-bin-fill\" x=\"272\" y=\"470\" width=\"98\" height=\"18\" fill=\"#1a1a1a\" \/>\n                                <text x=\"321\" y=\"452\">\n                                    <tspan x=\"321\" dy=\"0\">D\u00e9chets lourds<\/tspan>\n                                    <tspan x=\"321\" dy=\"15\">\/ grain lourd<\/tspan>\n                                <\/text>\n                            <\/g>\n\n                            <g class=\"acm-bin\" data-bin=\"1\">\n                                <rect x=\"394\" y=\"404\" width=\"118\" height=\"94\" rx=\"10\" fill=\"#f8f8f8\" stroke=\"#2f3133\" stroke-width=\"3\" \/>\n                                <image href=\"\/wp-content\/uploads\/2026\/03\/grain.png\" x=\"436\" y=\"404\" width=\"34\" height=\"34\" \/>\n                                <rect class=\"acm-bin-fill\" x=\"404\" y=\"470\" width=\"98\" height=\"18\" fill=\"#1fa34a\" \/>\n                                <text x=\"453\" y=\"460\">Bon grain<\/text>\n                            <\/g>\n\n                            <g class=\"acm-bin\" data-bin=\"2\">\n                                <rect x=\"526\" y=\"404\" width=\"118\" height=\"94\" rx=\"10\" fill=\"#f8f8f8\" stroke=\"#2f3133\" stroke-width=\"3\" \/>\n                                <image href=\"\/wp-content\/uploads\/2026\/03\/sesame.png\" x=\"568\" y=\"404\" width=\"34\" height=\"34\" \/>\n                                <rect class=\"acm-bin-fill\" x=\"536\" y=\"470\" width=\"98\" height=\"18\" fill=\"#f39a22\" \/>\n                                <text x=\"585\" y=\"460\">Grains cass\u00e9s<\/text>\n                            <\/g>\n\n                            <g class=\"acm-bin\" data-bin=\"3\">\n                                <rect x=\"658\" y=\"404\" width=\"118\" height=\"94\" rx=\"10\" fill=\"#f8f8f8\" stroke=\"#2f3133\" stroke-width=\"3\" \/>\n                                <image href=\"\/wp-content\/uploads\/2026\/03\/leaf.png\" x=\"700\" y=\"404\" width=\"34\" height=\"34\" \/>\n                                <rect class=\"acm-bin-fill\" x=\"668\" y=\"470\" width=\"98\" height=\"18\" fill=\"#ef4444\" \/>\n                                <text x=\"717\" y=\"452\">\n                                    <tspan x=\"717\" dy=\"0\">L\u00e9ger<\/tspan>\n                                    <tspan x=\"717\" dy=\"15\">d\u00e9chets<\/tspan>\n                                <\/text>\n                            <\/g>\n                        <\/g>\n\n                        <g class=\"acm-part acm-part--side-bin\">\n                            <rect x=\"824\" y=\"232\" width=\"110\" height=\"94\" rx=\"14\" fill=\"#f8fbff\" stroke=\"#2f3133\" stroke-width=\"3\" \/>\n                            <rect class=\"acm-side-fill\" x=\"836\" y=\"290\" width=\"86\" height=\"24\" rx=\"6\" fill=\"#2488ff\" \/>\n                            <text class=\"acm-side-text\" x=\"879\" y=\"263\">\n                                <tspan x=\"879\" dy=\"0\">Poussi\u00e8re \/<\/tspan>\n                                <tspan x=\"879\" dy=\"16\">balles<\/tspan>\n                            <\/text>\n                        <\/g>\n                    <\/g>\n                <\/svg>\n\n                <canvas class=\"asm-clean-demo__canvas\" id=\"asmCanvas\" width=\"980\" height=\"560\"><\/canvas>\n            <\/div>\n\n            <div class=\"asm-clean-demo__controls\">\n                <button class=\"asm-clean-demo__btn\" id=\"asmToggle\" type=\"button\">Pause<\/button>\n                <button class=\"asm-clean-demo__btn\" id=\"asmReplay\" type=\"button\">Red\u00e9marrer<\/button>\n                <button class=\"asm-clean-demo__btn asm-clean-demo__btn--ghost\" id=\"asmAuto\" type=\"button\">\u00c9tapes automatiques : activ\u00e9es<\/button>\n                <button class=\"asm-clean-demo__btn asm-clean-demo__btn--ghost\" id=\"asmDebugToggle\" type=\"button\">Afficher le d\u00e9bogage<\/button>\n            <\/div>\n\n            <div class=\"asm-clean-demo__status\">\n                <div class=\"asm-clean-demo__status-label\">\u00c9tape actuelle<\/div>\n                <div class=\"asm-clean-demo__status-text\" id=\"asmStatusText\">Le cycle complet de fonctionnement du s\u00e9parateur est affich\u00e9.<\/div>\n            <\/div>\n\n            <div class=\"asm-clean-demo__debug\" id=\"asmDebugPanel\" hidden>\n                <div class=\"asm-clean-demo__debug-head\">\n                    <div>\n                        <strong>D\u00e9bogage des trajectoires<\/strong>\n                        <p>Modifiez les points de contr\u00f4le de chaque fraction et appliquez imm\u00e9diatement les modifications.<\/p>\n                    <\/div>\n                    <div class=\"asm-clean-demo__debug-actions\">\n                        <button class=\"asm-clean-demo__btn asm-clean-demo__btn--ghost\" id=\"asmAppliquerDebug\" type=\"button\">Appliquer<\/button>\n                        <button class=\"asm-clean-demo__btn asm-clean-demo__btn--ghost\" id=\"asmR\u00e9initialiserDebug\" type=\"button\">R\u00e9initialiser<\/button>\n                        <button class=\"asm-clean-demo__btn asm-clean-demo__btn--ghost\" id=\"asmCopyDebug\" type=\"button\">Copier JSON<\/button>\n                    <\/div>\n                <\/div>\n\n                <div class=\"asm-clean-demo__debug-grid\" id=\"asmDebugGrid\"><\/div>\n\n                <textarea class=\"asm-clean-demo__json\" id=\"asmDebugJson\" readonly><\/textarea>\n            <\/div>\n        <\/div>\n\n        <aside class=\"asm-clean-demo__info asm-reveal\">\n            <h3 class=\"asm-clean-demo__info-title\">\u00c9tapes du processus<\/h3>\n\n            <div class=\"asm-clean-demo__steps\">\n                <div class=\"asm-clean-demo__step is-active\" data-step=\"0\">\n                    <div class=\"asm-clean-demo__step-num\">0<\/div>\n                    <div>\n                        <div class=\"asm-clean-demo__step-title\">Toutes les \u00e9tapes<\/div>\n                        <p class=\"asm-clean-demo__step-text\">D\u00e9monstration compl\u00e8te du processus, de l\u2019alimentation au d\u00e9chargement.<\/p>\n                    <\/div>\n                <\/div>\n\n                <div class=\"asm-clean-demo__step\" data-step=\"1\">\n                    <div class=\"asm-clean-demo__step-num\">1<\/div>\n                    <div>\n                        <div class=\"asm-clean-demo__step-title\">Alimentation en grain<\/div>\n                        <p class=\"asm-clean-demo__step-text\">La mati\u00e8re premi\u00e8re entre dans la chambre de travail par la tr\u00e9mie sup\u00e9rieure.<\/p>\n                    <\/div>\n                <\/div>\n\n                <div class=\"asm-clean-demo__step\" data-step=\"2\">\n                    <div class=\"asm-clean-demo__step-num\">2<\/div>\n                    <div>\n                        <div class=\"asm-clean-demo__step-title\">Flux d\u2019air<\/div>\n                        <p class=\"asm-clean-demo__step-text\">\n                            Le ventilateur cr\u00e9e un flux dirig\u00e9, mais la s\u00e9paration est ici repr\u00e9sent\u00e9e par des trajectoires stables pr\u00e9d\u00e9finies.\n                        <\/p>\n                    <\/div>\n                <\/div>\n\n                <div class=\"asm-clean-demo__step\" data-step=\"3\">\n                    <div class=\"asm-clean-demo__step-num\">3<\/div>\n                    <div>\n                        <div class=\"asm-clean-demo__step-title\">S\u00e9paration des fractions<\/div>\n                        <p class=\"asm-clean-demo__step-text\">Les d\u00e9chets lourds, le bon grain, les grains cass\u00e9s, les d\u00e9chets l\u00e9gers et la poussi\u00e8re\/balles se d\u00e9placent le long de trajectoires nettement s\u00e9par\u00e9es.<\/p>\n                    <\/div>\n                <\/div>\n\n                <div class=\"asm-clean-demo__step\" data-step=\"4\">\n                    <div class=\"asm-clean-demo__step-num\">4<\/div>\n                    <div>\n                        <div class=\"asm-clean-demo__step-title\">D\u00e9chargement<\/div>\n                        <p class=\"asm-clean-demo__step-text\">Chaque fraction est dirig\u00e9e vers son propre compartiment, tandis que la poussi\u00e8re et les balles sont achemin\u00e9es vers le collecteur lat\u00e9ral.<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/aside>\n    <\/div>\n<\/section>\n\n<style>\n    .asm-clean-demo {\n        --hub-bg-1: #f7fafc;\n        --hub-bg-2: #eef4f7;\n        --hub-card: rgba(255, 255, 255, 0.64);\n        --hub-card-strong: rgba(255, 255, 255, 0.82);\n        --hub-border: rgba(255, 255, 255, 0.86);\n        --hub-stroke: rgba(186, 198, 215, 0.42);\n        --hub-text: #1e2438;\n        --hub-muted: #6d7893;\n        --hub-blue: #5a7cff;\n        --hub-green: #19b98a;\n        --hub-yellow-1: #ffd95e;\n        --hub-yellow-2: #e5b33f;\n        --hub-shadow: 0 16px 40px rgba(31, 42, 68, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.8);\n        position: relative;\n        overflow: hidden;\n        max-width: 1380px;\n        margin: 0 auto;\n        padding: 42px 20px;\n        font-family: Montserrat, Arial, sans-serif;\n        color: var(--hub-text);\n        \n        border-radius: 34px;\n    }\n\n    .asm-clean-demo__head {\n        max-width: 760px;\n        margin-bottom: 20px;\n    }\n\n    .asm-clean-demo__eyebrow {\n        display: inline-flex;\n        align-items: center;\n        padding: 7px 14px;\n        margin-bottom: 14px;\n        border-radius: 999px;\n        background: rgba(92, 132, 255, 0.08);\n        border: 1px solid rgba(92, 132, 255, 0.12);\n        color: var(--hub-blue);\n        font-size: 11px;\n        font-weight: 700;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n    }\n\n    .asm-clean-demo__title {\n        margin: 0 0 14px;\n        font-size: clamp(34px, 4vw, 56px);\n        line-height: 1.02;\n        letter-spacing: -0.03em;\n        font-weight: 800;\n        color: var(--hub-text);\n    }\n\n    .asm-clean-demo__text {\n        margin: 0;\n        max-width: 700px;\n        color: var(--hub-muted);\n        font-size: 17px;\n        line-height: 1.8;\n    }\n\n    .asm-clean-demo__stagebar {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 10px;\n        margin: 22px 0 24px;\n    }\n\n    .asm-clean-demo__pill {\n        appearance: none;\n        border: 1px solid rgba(202, 211, 227, 0.5);\n        background: rgba(255, 255, 255, 0.5);\n        color: #53645b;\n        padding: 11px 16px;\n        border-radius: 999px;\n        cursor: pointer;\n        font-size: 13px;\n        font-weight: 700;\n        transition: 0.25s ease;\n        backdrop-filter: blur(12px);\n        -webkit-backdrop-filter: blur(12px);\n    }\n\n    .asm-clean-demo__pill:hover {\n        border-color: rgba(88, 123, 255, 0.24);\n        background: linear-gradient(135deg, rgba(90, 124, 255, 0.08), rgba(24, 185, 129, 0.05));\n        box-shadow: 0 12px 26px rgba(50, 76, 135, 0.06);\n    }\n\n    .asm-clean-demo__pill.is-active {\n        background: linear-gradient(180deg, var(--hub-yellow-1) 0%, var(--hub-yellow-2) 100%);\n        border-color: rgba(229, 179, 63, 0.5);\n        color: #1d2c25;\n        box-shadow: 0 10px 22px rgba(228, 179, 63, 0.18);\n    }\n\n    .asm-clean-demo__layout {\n        display: grid;\n        grid-template-columns: minmax(0, 1.22fr) minmax(320px, 400px);\n        gap: 24px;\n        align-items: start;\n    }\n\n    .asm-clean-demo__scene,\n    .asm-clean-demo__info {\n        background: var(--hub-card);\n        border: 1px solid var(--hub-border);\n        border-radius: 28px;\n        box-shadow: var(--hub-shadow);\n        backdrop-filter: blur(14px);\n        -webkit-backdrop-filter: blur(14px);\n    }\n\n    .asm-clean-demo__scene {\n        padding: 18px;\n    }\n\n    .asm-clean-demo__info {\n        padding: 22px;\n    }\n\n    .asm-clean-demo__viewport {\n        position: relative;\n        width: 100%;\n        aspect-ratio: 980 \/ 560;\n        border-radius: 24px;\n        overflow: hidden;\n        border: 1px solid rgba(255, 255, 255, 0.86);\n        background: linear-gradient(180deg, #f8fbfd 0%, #edf3f6 100%);\n        box-shadow:\n            inset 0 1px 0 rgba(255, 255, 255, 0.8),\n            0 16px 30px rgba(31, 42, 68, 0.04);\n    }\n\n    .asm-clean-demo__viewport::before,\n    .asm-clean-demo__viewport::after {\n        content: \"\";\n        position: absolute;\n        border-radius: 50%;\n        filter: blur(28px);\n        z-index: 0;\n        pointer-events: none;\n    }\n\n    .asm-clean-demo__viewport::before {\n        width: 210px;\n        height: 210px;\n        left: 7%;\n        top: 8%;\n        background: rgba(90, 124, 255, 0.08);\n    }\n\n    .asm-clean-demo__viewport::after {\n        width: 180px;\n        height: 180px;\n        right: 10%;\n        bottom: 12%;\n        background: rgba(24, 185, 129, 0.08);\n    }\n\n    .asm-clean-demo__svg,\n    .asm-clean-demo__canvas {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        display: block;\n    }\n\n    .asm-clean-demo__svg {\n        z-index: 1;\n    }\n\n    .asm-clean-demo__canvas {\n        z-index: 2;\n        pointer-events: none;\n    }\n\n    .asm-clean-demo__controls {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        gap: 12px;\n        margin-top: 16px;\n        padding-top: 14px;\n        border-top: 1px solid rgba(186, 198, 215, 0.28);\n    }\n\n    .asm-clean-demo__btn {\n        appearance: none;\n        border: none;\n        cursor: pointer;\n        padding: 12px 18px;\n        border-radius: 999px;\n        background: linear-gradient(180deg, var(--hub-yellow-1) 0%, #e7b742 100%);\n        color: #1f2f27;\n        font-weight: 700;\n        box-shadow: 0 10px 22px rgba(231, 183, 66, 0.18);\n        transition: 0.25s ease;\n        flex: 0 0 auto;\n        white-space: nowrap;\n    }\n\n    .asm-clean-demo__btn:hover {\n        transform: translateY(-1px);\n        box-shadow: 0 14px 28px rgba(231, 183, 66, 0.22);\n    }\n\n    .asm-clean-demo__btn--ghost {\n        background: rgba(255, 255, 255, 0.62);\n        color: #42516d;\n        border: 1px solid rgba(186, 198, 215, 0.42);\n        box-shadow: none;\n    }\n\n    .asm-clean-demo__btn--ghost:hover {\n        box-shadow: 0 10px 20px rgba(31, 42, 68, 0.06);\n    }\n\n    .asm-clean-demo__status {\n        margin-top: 16px;\n        padding: 16px 18px;\n        border-radius: 20px;\n        background: rgba(255, 255, 255, 0.52);\n        border: 1px solid rgba(255, 255, 255, 0.82);\n        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);\n        backdrop-filter: blur(12px);\n        -webkit-backdrop-filter: blur(12px);\n    }\n\n    .asm-clean-demo__status-label {\n        margin-bottom: 6px;\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: var(--hub-blue);\n        font-weight: 700;\n    }\n\n    .asm-clean-demo__status-text {\n        font-size: 15px;\n        line-height: 1.7;\n        color: #516079;\n    }\n\n    .asm-clean-demo__debug {\n        margin-top: 16px;\n        padding: 18px;\n        border-radius: 22px;\n        background: rgba(255, 255, 255, 0.62);\n        border: 1px solid rgba(255, 255, 255, 0.86);\n        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);\n    }\n\n    .asm-clean-demo__debug-head {\n        display: flex;\n        flex-wrap: wrap;\n        justify-content: space-between;\n        gap: 12px;\n        margin-bottom: 14px;\n    }\n\n    .asm-clean-demo__debug-head strong {\n        display: block;\n        margin-bottom: 4px;\n        font-size: 18px;\n    }\n\n    .asm-clean-demo__debug-head p {\n        margin: 0;\n        color: var(--hub-muted);\n        font-size: 14px;\n        line-height: 1.6;\n    }\n\n    .asm-clean-demo__debug-actions {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n    }\n\n    .asm-clean-demo__debug-grid {\n        display: grid;\n        gap: 12px;\n    }\n\n    .asm-clean-demo__debug-card {\n        padding: 14px;\n        border-radius: 18px;\n        border: 1px solid rgba(202, 211, 227, 0.5);\n        background: rgba(255, 255, 255, 0.68);\n    }\n\n    .asm-clean-demo__debug-card summary {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        gap: 12px;\n        cursor: pointer;\n        list-style: none;\n        font-weight: 700;\n        color: var(--hub-text);\n    }\n\n    .asm-clean-demo__debug-card summary::-webkit-details-marker {\n        display: none;\n    }\n\n    .asm-clean-demo__debug-label {\n        display: inline-flex;\n        align-items: center;\n        gap: 10px;\n    }\n\n    .asm-clean-demo__debug-dot {\n        width: 12px;\n        height: 12px;\n        border-radius: 50%;\n        box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);\n        flex: 0 0 12px;\n    }\n\n    .asm-clean-demo__debug-fields {\n        margin-top: 14px;\n        display: grid;\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 10px;\n    }\n\n    .asm-clean-demo__field {\n        display: grid;\n        gap: 6px;\n    }\n\n    .asm-clean-demo__field span {\n        font-size: 12px;\n        font-weight: 700;\n        color: #56647d;\n        text-transform: uppercase;\n        letter-spacing: 0.05em;\n    }\n\n    .asm-clean-demo__field input {\n        width: 100%;\n        min-width: 0;\n        border: 1px solid rgba(186, 198, 215, 0.56);\n        border-radius: 12px;\n        padding: 10px 12px;\n        font-size: 14px;\n        font-family: inherit;\n        color: var(--hub-text);\n        background: rgba(255, 255, 255, 0.96);\n        box-sizing: border-box;\n    }\n\n    .asm-clean-demo__json {\n        width: 100%;\n        min-height: 180px;\n        margin-top: 14px;\n        border: 1px solid rgba(186, 198, 215, 0.56);\n        border-radius: 16px;\n        padding: 14px;\n        resize: vertical;\n        box-sizing: border-box;\n        font:\n            12px\/1.55 ui-monospace,\n            SFMono-Regular,\n            Menlo,\n            Consolas,\n            monospace;\n        background: #f8fafc;\n        color: #334155;\n    }\n\n    .asm-clean-demo__info-title {\n        margin: 0 0 14px;\n        font-size: 28px;\n        line-height: 1.12;\n        letter-spacing: -0.02em;\n        color: var(--hub-text);\n        font-weight: 800;\n    }\n\n    .asm-clean-demo__steps {\n        display: grid;\n        gap: 12px;\n    }\n\n    .asm-clean-demo__step {\n        display: grid;\n        grid-template-columns: 46px 1fr;\n        gap: 14px;\n        padding: 14px;\n        border-radius: 18px;\n        border: 1px solid rgba(202, 211, 227, 0.5);\n        background: rgba(255, 255, 255, 0.5);\n        transition: 0.28s ease;\n    }\n\n    .asm-clean-demo__step:hover {\n        border-color: rgba(88, 123, 255, 0.24);\n        background: linear-gradient(135deg, rgba(90, 124, 255, 0.08), rgba(24, 185, 129, 0.05));\n        box-shadow: 0 12px 26px rgba(50, 76, 135, 0.06);\n    }\n\n    .asm-clean-demo__step.is-active {\n        border-color: rgba(231, 183, 66, 0.34);\n        background: linear-gradient(180deg, #fffdf5 0%, #fff7df 100%);\n        transform: translateY(-2px);\n        box-shadow: 0 12px 26px rgba(231, 183, 66, 0.1);\n    }\n\n    .asm-clean-demo__step-num {\n        width: 40px;\n        height: 40px;\n        display: grid;\n        place-items: center;\n        border-radius: 14px;\n        background: linear-gradient(135deg, #4f7cff, #19b98a);\n        color: #fff;\n        font-size: 13px;\n        font-weight: 800;\n        box-shadow: 0 12px 22px rgba(79, 124, 255, 0.2);\n    }\n\n    .asm-clean-demo__step-title {\n        margin: 2px 0 4px;\n        font-size: 16px;\n        font-weight: 700;\n        color: var(--hub-text);\n    }\n\n    .asm-clean-demo__step-text {\n        margin: 0;\n        font-size: 14px;\n        line-height: 1.7;\n        color: var(--hub-muted);\n    }\n\n    .acm-feed-arrows path {\n        stroke: #ff952e;\n        stroke-width: 8;\n        stroke-linecap: round;\n    }\n\n    .acm-feed-arrows polygon {\n        fill: #ff952e;\n    }\n\n    .acm-airline {\n        fill: none;\n        stroke: rgba(255, 255, 255, 0.96);\n        stroke-width: 3;\n        stroke-linecap: round;\n        stroke-dasharray: 18 14;\n        opacity: 0.16;\n    }\n\n    .acm-dustline {\n        fill: none;\n        stroke: rgba(234, 225, 255, 0.95);\n        stroke-width: 6;\n        stroke-linecap: round;\n        stroke-dasharray: 14 12;\n        opacity: 0.16;\n    }\n\n    .acm-zone {\n        transition: opacity 0.35s ease;\n    }\n\n    .acm-zone.is-on path,\n    .acm-zone.is-on rect,\n    .acm-zone.is-on circle {\n        opacity: 0.56 !important;\n        filter: url(#acmGlow);\n    }\n\n    .acm-machine .acm-part {\n        transition:\n            opacity 0.35s ease,\n            filter 0.35s ease;\n    }\n\n    .acm-machine .acm-part.is-dim {\n        opacity: 0.18;\n    }\n\n    .acm-machine .acm-part.is-focus {\n        opacity: 1;\n        filter: url(#acmGlow);\n    }\n\n    .acm-fan-rotor {\n        transform-box: fill-box;\n        transform-origin: center;\n        will-change: transform;\n    }\n\n    .acm-bin text,\n    .acm-side-text {\n        fill: #44554d;\n        font-size: 12px;\n        font-weight: 800;\n        text-anchor: middle;\n        font-family: Montserrat, Arial, sans-serif;\n        letter-spacing: -0.01em;\n        paint-order: stroke;\n        stroke: rgba(255, 255, 255, 0.94);\n        stroke-width: 3px;\n        stroke-linejoin: round;\n    }\n\n    .asm-reveal {\n        opacity: 0;\n        transform: translateY(28px);\n        transition:\n            opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),\n            transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);\n    }\n\n    .asm-reveal.is-visible {\n        opacity: 1;\n        transform: translateY(0);\n    }\n\n    .asm-clean-demo__head.is-visible {\n        transition-delay: 0.05s;\n    }\n\n    .asm-clean-demo__stagebar.is-visible {\n        transition-delay: 0.12s;\n    }\n\n    .asm-clean-demo__scene.is-visible {\n        transition-delay: 0.18s;\n    }\n\n    .asm-clean-demo__info.is-visible {\n        transition-delay: 0.26s;\n    }\n\n    @media (max-width: 1180px) {\n        .asm-clean-demo__debug-fields {\n            grid-template-columns: repeat(2, minmax(0, 1fr));\n        }\n    }\n\n    @media (max-width: 980px) {\n        .asm-clean-demo__layout {\n            grid-template-columns: 1fr;\n        }\n    }\n\n    @media (max-width: 767px) {\n        .asm-clean-demo {\n            padding: 22px 12px;\n            border-radius: 24px;\n        }\n\n        .asm-clean-demo__scene,\n        .asm-clean-demo__info {\n            border-radius: 22px;\n        }\n\n        .asm-clean-demo__info {\n            padding: 18px;\n        }\n\n        .asm-clean-demo__viewport {\n            border-radius: 18px;\n        }\n\n        .asm-clean-demo__step {\n            grid-template-columns: 40px 1fr;\n            padding: 12px;\n        }\n\n        .asm-clean-demo__step-num {\n            width: 34px;\n            height: 34px;\n            font-size: 12px;\n            border-radius: 12px;\n        }\n\n        .asm-clean-demo__title {\n            font-size: 32px;\n        }\n\n        .asm-clean-demo__text {\n            font-size: 15px;\n            line-height: 1.7;\n        }\n\n        .asm-clean-demo__debug-fields {\n            grid-template-columns: 1fr;\n        }\n    }\n<\/style>\n\n<script>\n    (function () {\n        const root = document.getElementById(\"asmCleanDemo\");\n        if (!root) return;\n\n        const viewport = document.getElementById(\"asmViewport\");\n        const canvas = document.getElementById(\"asmCanvas\");\n        const ctx = canvas.getContext(\"2d\");\n        const VIEW_W = 980;\n        const VIEW_H = 560;\n\n        const stageBoutons = Array.from(root.querySelectorAll(\".asm-clean-demo__pill\"));\n        const stepCards = Array.from(root.querySelectorAll(\".asm-clean-demo__step\"));\n        const replayBtn = document.getElementById(\"asmReplay\");\n        const toggleBtn = document.getElementById(\"asmToggle\");\n        const autoBtn = document.getElementById(\"asmAuto\");\n        const debugToggleBtn = document.getElementById(\"asmDebugToggle\");\n        const applyDebugBtn = document.getElementById(\"asmAppliquerDebug\");\n        const resetDebugBtn = document.getElementById(\"asmR\u00e9initialiserDebug\");\n        const copyDebugBtn = document.getElementById(\"asmCopyDebug\");\n        const debugPanel = document.getElementById(\"asmDebugPanel\");\n        const debugGrid = document.getElementById(\"asmDebugGrid\");\n        const debugJson = document.getElementById(\"asmDebugJson\");\n        const statusText = document.getElementById(\"asmStatusText\");\n        const svg = root.querySelector(\"svg\");\n        const revealItems = Array.from(root.querySelectorAll(\".asm-reveal\"));\n\n        const parts = {\n            fanUnit: svg.querySelector(\".acm-part--fan-unit\"),\n            feed: svg.querySelector(\".acm-part--feed\"),\n            body: svg.querySelector(\".acm-part--body\"),\n            airlines: svg.querySelector(\".acm-part--airlines\"),\n            outlets: svg.querySelector(\".acm-part--outlets\"),\n            bins: svg.querySelector(\".acm-part--bins\"),\n            sideBin: svg.querySelector(\".acm-part--side-bin\"),\n        };\n\n        const zones = {\n            feed: svg.querySelector(\".acm-zone--feed\"),\n            separation: svg.querySelector(\".acm-zone--separation\"),\n            bins: svg.querySelector(\".acm-zone--bins\"),\n            dust: svg.querySelector(\".acm-zone--dust\"),\n        };\n\n        const fanRotor = svg.querySelector(\".acm-fan-rotor\");\n        const airLines = Array.from(svg.querySelectorAll(\".acm-airline\"));\n        const dustLines = Array.from(svg.querySelectorAll(\".acm-dustline\"));\n        const binFills = Array.from(svg.querySelectorAll(\".acm-bin-fill\"));\n        const sideFill = svg.querySelector(\".acm-side-fill\");\n        const feedArrows = svg.querySelector(\".acm-feed-arrows\");\n\n        const stageMap = {\n            0: {\n                text: \"The full cycle is displayed: feed, separation, and discharge of all five fractions.\",\n                focus: [],\n                zones: [\"feed\", \"separation\", \"bins\", \"dust\"],\n            },\n            1: {\n                text: \"Alimentation en grain: the material enters the working chamber from the top hopper.\",\n                focus: [\"feed\", \"body\"],\n                zones: [\"feed\"],\n            },\n            2: {\n                text: \"Flux d\u2019air: the fan creates a stable stream. The paths are fixed for a clean and readable animation.\",\n                focus: [\"fanUnit\", \"airlines\", \"body\"],\n                zones: [\"separation\"],\n            },\n            3: {\n                text: \"S\u00e9paration des fractions: each particle type follows its own trajectory.\",\n                focus: [\"body\", \"airlines\"],\n                zones: [\"separation\"],\n            },\n            4: {\n                text: \"D\u00e9chargement: heavy d\u00e9chets, good grain, halves, light d\u00e9chets and dust\/balles go into separate collectors.\",\n                focus: [\"outlets\", \"bins\", \"sideBin\"],\n                zones: [\"bins\", \"dust\"],\n            },\n        };\n\n        const DEFAULT_CONFIG = {\n            heavy: {\n                label: \"D\u00e9chets lourds \/ grain lourd\",\n                color: \"#111111\",\n                count: 7,\n                speed: 0.0054,\n                sizeMin: 6.2,\n                sizeMax: 8.8,\n                spread: 4,\n                p0: { x: 348, y: 115 },\n                p1: { x: 334, y: 206 },\n                p2: { x: 304, y: 324 },\n                p3: { x: 321, y: 436 },\n            },\n            good: {\n                label: \"Bon grain\",\n                color: \"#1fa34a\",\n                count: 9,\n                speed: 0.0049,\n                sizeMin: 5.2,\n                sizeMax: 7.3,\n                spread: 5,\n                p0: { x: 348, y: 115 },\n                p1: { x: 356, y: 212 },\n                p2: { x: 420, y: 330 },\n                p3: { x: 453, y: 436 },\n            },\n            halves: {\n                label: \"Grains cass\u00e9s\",\n                color: \"#f39a22\",\n                count: 7,\n                speed: 0.0045,\n                sizeMin: 4.2,\n                sizeMax: 5.8,\n                spread: 6,\n                p0: { x: 348, y: 115 },\n                p1: { x: 392, y: 205 },\n                p2: { x: 520, y: 320 },\n                p3: { x: 585, y: 436 },\n            },\n            light: {\n                label: \"L\u00e9ger d\u00e9chets\",\n                color: \"#ef4444\",\n                count: 6,\n                speed: 0.0041,\n                sizeMin: 3.2,\n                sizeMax: 4.6,\n                spread: 7,\n                p0: { x: 348, y: 115 },\n                p1: { x: 450, y: 198 },\n                p2: { x: 640, y: 304 },\n                p3: { x: 717, y: 436 },\n            },\n            dust: {\n                label: \"Poussi\u00e8re \/ balles\",\n                color: \"#2488ff\",\n                count: 5,\n                speed: 0.0062,\n                sizeMin: 1.8,\n                sizeMax: 3.0,\n                spread: 8,\n                p0: { x: 348, y: 115 },\n                p1: { x: 500, y: 168 },\n                p2: { x: 730, y: 174 },\n                p3: { x: 878, y: 274 },\n            },\n        };\n\n        const TYPE_ORDER = [\"heavy\", \"good\", \"halves\", \"light\", \"dust\"];\n        const FIELD_ORDER = [\"count\", \"speed\", \"spread\", \"sizeMin\", \"sizeMax\", \"p0.x\", \"p0.y\", \"p1.x\", \"p1.y\", \"p2.x\", \"p2.y\", \"p3.x\", \"p3.y\"];\n\n        let config = cloneConfig(DEFAULT_CONFIG);\n        let particles = [];\n        let animationFrame = null;\n        let frameCount = 0;\n        let autoStage = 0;\n        let autoMode = true;\n        let started = false;\n        let isPlaying = false;\n        let isInViewport = false;\n        let userPaused = false;\n        let revealPlayed = false;\n        let debugVisible = false;\n        let spawnAccumulator = {};\n\n        TYPE_ORDER.forEach((key) => {\n            spawnAccumulator[key] = 0;\n        });\n\n        function cloneConfig(obj) {\n            return JSON.parse(JSON.stringify(obj));\n        }\n\n        function resizeCanvas() {\n            const rect = viewport.getBoundingClientRect();\n            const dpr = window.devicePixelRatio || 1;\n            canvas.width = Math.round(rect.width * dpr);\n            canvas.height = Math.round(rect.height * dpr);\n            const scaleX = rect.width \/ VIEW_W;\n            const scaleY = rect.height \/ VIEW_H;\n            ctx.setTransform(scaleX * dpr, 0, 0, scaleY * dpr, 0, 0);\n        }\n\n        function hexToRgba(hex, alpha) {\n            const n = hex.replace(\"#\", \"\");\n            const bigint = parseInt(n, 16);\n            const r = (bigint >> 16) & 255;\n            const g = (bigint >> 8) & 255;\n            const b = bigint & 255;\n            return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n        }\n\n        function cubicBezier(p0, p1, p2, p3, t) {\n            const nt = 1 - t;\n            const x = nt * nt * nt * p0.x + 3 * nt * nt * t * p1.x + 3 * nt * t * t * p2.x + t * t * t * p3.x;\n            const y = nt * nt * nt * p0.y + 3 * nt * nt * t * p1.y + 3 * nt * t * t * p2.y + t * t * t * p3.y;\n            return { x, y };\n        }\n\n        function cubicBezierTangent(p0, p1, p2, p3, t) {\n            const nt = 1 - t;\n            const x = 3 * nt * nt * (p1.x - p0.x) + 6 * nt * t * (p2.x - p1.x) + 3 * t * t * (p3.x - p2.x);\n            const y = 3 * nt * nt * (p1.y - p0.y) + 6 * nt * t * (p2.y - p1.y) + 3 * t * t * (p3.y - p2.y);\n            return { x, y };\n        }\n\n        function randomBetween(min, max) {\n            return min + Math.random() * (max - min);\n        }\n\n        function clearStates() {\n            Object.values(parts).forEach((el) => el && el.classList.remove(\"is-focus\", \"is-dim\"));\n            Object.values(zones).forEach((el) => el && el.classList.remove(\"is-on\"));\n        }\n\n        function setStage(stage) {\n            const conf = stageMap[stage];\n            if (!conf) return;\n\n            statusText.textContent = conf.text;\n\n            stageBoutons.forEach((btn) => {\n                btn.classList.toggle(\"is-active\", Number(btn.dataset.stage) === stage);\n            });\n\n            stepCards.forEach((card) => {\n                card.classList.toggle(\"is-active\", Number(card.dataset.step) === stage);\n            });\n\n            clearStates();\n\n            if (stage === 0) {\n                Object.values(parts).forEach((el) => el && el.classList.add(\"is-focus\"));\n                conf.zones.forEach((key) => zones[key] && zones[key].classList.add(\"is-on\"));\n                return;\n            }\n\n            Object.entries(parts).forEach(([key, el]) => {\n                if (!el) return;\n                if (conf.focus.includes(key)) {\n                    el.classList.add(\"is-focus\");\n                } else {\n                    el.classList.add(\"is-dim\");\n                }\n            });\n\n            conf.zones.forEach((key) => zones[key] && zones[key].classList.add(\"is-on\"));\n        }\n\n        function buildDebugPanel() {\n            debugGrid.innerHTML = \"\";\n\n            TYPE_ORDER.forEach((key, index) => {\n                const type = config[key];\n                const details = document.createElement(\"details\");\n                details.className = \"asm-clean-demo__debug-card\";\n                if (index === 0) details.open = true;\n\n                const summary = document.createElement(\"summary\");\n                summary.innerHTML = `\n                    <span class=\"asm-clean-demo__debug-label\">\n                        <span class=\"asm-clean-demo__debug-dot\" style=\"background:${type.color}\"><\/span>\n                        ${type.label}\n                    <\/span>\n                    <span>${key}<\/span>\n                `;\n                details.appendChild(summary);\n\n                const fields = document.createElement(\"div\");\n                fields.className = \"asm-clean-demo__debug-fields\";\n\n                FIELD_ORDER.forEach((path) => {\n                    const field = document.createElement(\"label\");\n                    field.className = \"asm-clean-demo__field\";\n                    const title = document.createElement(\"span\");\n                    title.textContent = path;\n                    const input = document.createElement(\"input\");\n                    input.type = \"number\";\n                    input.step = path === \"speed\" ? \"0.0001\" : \"1\";\n                    input.dataset.type = key;\n                    input.dataset.path = path;\n                    input.value = getConfigValue(type, path);\n                    field.appendChild(title);\n                    field.appendChild(input);\n                    fields.appendChild(field);\n                });\n\n                details.appendChild(fields);\n                debugGrid.appendChild(details);\n            });\n\n            refreshDebugJson();\n        }\n\n        function getConfigValue(type, path) {\n            const keys = path.split(\".\");\n            let value = type;\n            keys.forEach((key) => {\n                value = value[key];\n            });\n            return value;\n        }\n\n        function setConfigValue(type, path, value) {\n            const keys = path.split(\".\");\n            let target = type;\n            for (let i = 0; i < keys.length - 1; i++) {\n                target = target[keys[i]];\n            }\n            target[keys[keys.length - 1]] = value;\n        }\n\n        function refreshDebugJson() {\n            debugJson.value = JSON.stringify(config, null, 2);\n        }\n\n        function readDebugInputs() {\n            const nextConfig = cloneConfig(config);\n            const inputs = debugGrid.querySelectorAll(\"input[data-type][data-path]\");\n            inputs.forEach((input) => {\n                const typeKey = input.dataset.type;\n                const path = input.dataset.path;\n                const raw = Number(input.value);\n                const value = path === \"speed\" ? Math.max(0.0005, raw) : raw;\n                setConfigValue(nextConfig[typeKey], path, value);\n            });\n            config = nextConfig;\n            refreshDebugJson();\n        }\n\n        function createParticle(typeKey) {\n            const type = config[typeKey];\n            const path = {\n                p0: { x: type.p0.x + randomBetween(-type.spread, type.spread), y: type.p0.y + randomBetween(-type.spread, type.spread) },\n                p1: { x: type.p1.x + randomBetween(-type.spread, type.spread), y: type.p1.y + randomBetween(-type.spread, type.spread) },\n                p2: { x: type.p2.x + randomBetween(-type.spread, type.spread), y: type.p2.y + randomBetween(-type.spread, type.spread) },\n                p3: {\n                    x: type.p3.x + randomBetween(-type.spread * 0.5, type.spread * 0.5),\n                    y: type.p3.y + randomBetween(-type.spread * 0.5, type.spread * 0.5),\n                },\n            };\n\n            particles.push({\n                typeKey,\n                color: type.color,\n                radius: randomBetween(type.sizeMin, type.sizeMax),\n                progress: 0,\n                speed: type.speed * randomBetween(0.9, 1.1),\n                path,\n                trail: [],\n            });\n        }\n\n        function spawnParticles() {\n            TYPE_ORDER.forEach((typeKey) => {\n                const type = config[typeKey];\n                const rate = Math.max(0.1, type.count \/ 24);\n                spawnAccumulator[typeKey] += rate * 0.08;\n\n                while (spawnAccumulator[typeKey] >= 1) {\n                    createParticle(typeKey);\n                    spawnAccumulator[typeKey] -= 1;\n                }\n            });\n        }\n\n        function drawParticleTrail(particle) {\n            if (particle.trail.length < 2) return;\n            particle.trail.forEach((pt, index) => {\n                const alpha = ((index + 1) \/ particle.trail.length) * 0.1;\n                ctx.beginPath();\n                ctx.arc(pt.x, pt.y, particle.radius * 0.5, 0, Math.PI * 2);\n                ctx.fillStyle = hexToRgba(particle.color, alpha);\n                ctx.fill();\n            });\n        }\n\n        function drawDebugPaths() {\n            TYPE_ORDER.forEach((typeKey) => {\n                const type = config[typeKey];\n                const points = [type.p0, type.p1, type.p2, type.p3];\n\n                ctx.beginPath();\n                ctx.moveTo(type.p0.x, type.p0.y);\n                ctx.bezierCurveTo(type.p1.x, type.p1.y, type.p2.x, type.p2.y, type.p3.x, type.p3.y);\n                ctx.lineWidth = 2;\n                ctx.setLineDash([8, 8]);\n                ctx.strokeStyle = hexToRgba(type.color, 0.42);\n                ctx.stroke();\n                ctx.setLineDash([]);\n\n                points.forEach((point, index) => {\n                    ctx.beginPath();\n                    ctx.arc(point.x, point.y, index === 0 || index === 3 ? 4 : 3, 0, Math.PI * 2);\n                    ctx.fillStyle = type.color;\n                    ctx.fill();\n                    ctx.font = \"11px Montserrat, Arial, sans-serif\";\n                    ctx.fillStyle = hexToRgba(type.color, 0.9);\n                    ctx.fillText(`p${index}`, point.x + 7, point.y - 7);\n                });\n            });\n        }\n\n        function updateParticles() {\n            particles.forEach((particle) => {\n                particle.progress += particle.speed;\n                const t = Math.min(1, particle.progress);\n                const pos = cubicBezier(particle.path.p0, particle.path.p1, particle.path.p2, particle.path.p3, t);\n                const tangent = cubicBezierTangent(particle.path.p0, particle.path.p1, particle.path.p2, particle.path.p3, t);\n                const len = Math.hypot(tangent.x, tangent.y) || 1;\n                const nx = -tangent.y \/ len;\n                const ny = tangent.x \/ len;\n                const wobble = Math.sin(frameCount * 0.06 + particle.radius * 2 + t * 9) * Math.max(0.4, particle.radius * 0.16);\n                const x = pos.x + nx * wobble;\n                const y = pos.y + ny * wobble;\n\n                particle.trail.push({ x, y });\n                if (particle.trail.length > 5) particle.trail.shift();\n\n                drawParticleTrail(particle);\n\n                ctx.beginPath();\n                ctx.arc(x, y, particle.radius, 0, Math.PI * 2);\n                ctx.fillStyle = particle.color;\n                ctx.fill();\n            });\n\n            particles = particles.filter((particle) => particle.progress < 1.02);\n        }\n\n        function getCurrentAutoStage() {\n            const cycle = 1100;\n            const t = frameCount % cycle;\n            if (t < 220) return 1;\n            if (t < 440) return 2;\n            if (t < 760) return 3;\n            if (t < 980) return 4;\n            return 0;\n        }\n\n        function animateSVG(stage) {\n            const fanSpeed = stage === 2 || stage === 3 || stage === 0 ? 12 : 4;\n            fanRotor.style.transform = `rotate(${frameCount * fanSpeed * 0.32}deg)`;\n\n            const feedPulse = stage === 1 || stage === 0 ? Math.sin(frameCount * 0.08) * 4 : Math.sin(frameCount * 0.04) * 1.2;\n            feedArrows.setAttribute(\"transform\", `translate(0 ${feedPulse})`);\n\n            airLines.forEach((line, i) => {\n                const active = stage === 2 || stage === 3 || stage === 0;\n                line.style.opacity = active ? \".92\" : \".16\";\n                line.style.strokeDashoffset = String(-(frameCount * (active ? 1.8 : 0.3) + i * 14));\n                line.style.strokeWidth = active ? \"4\" : \"3\";\n            });\n\n            dustLines.forEach((line, i) => {\n                const active = stage === 4 || stage === 0 || stage === 3;\n                line.style.opacity = active ? \".92\" : \".14\";\n                line.style.strokeDashoffset = String(-(frameCount * (active ? 1.4 : 0.25) + i * 10));\n            });\n\n            const fillSets = [\n                { el: binFills[0], base: 18, max: 40 },\n                { el: binFills[1], base: 18, max: 50 },\n                { el: binFills[2], base: 18, max: 38 },\n                { el: binFills[3], base: 18, max: 34 },\n            ];\n\n            const activeFill = stage === 4 || stage === 0;\n            const progress = activeFill ? Math.min(1, (Math.sin(frameCount * 0.03) + 1) * 0.5) : 0;\n\n            fillSets.forEach((item) => {\n                if (!item.el) return;\n                const h = item.base + (item.max - item.base) * progress;\n                const y = 488 - h;\n                item.el.setAttribute(\"y\", y);\n                item.el.setAttribute(\"height\", h);\n            });\n\n            if (sideFill) {\n                const sideH = 24 + 18 * progress;\n                sideFill.setAttribute(\"y\", 314 - sideH);\n                sideFill.setAttribute(\"height\", sideH);\n            }\n        }\n\n        function drawFrame() {\n            ctx.clearRect(0, 0, VIEW_W, VIEW_H);\n        }\n\n        function render() {\n            const currentStage = autoMode ? getCurrentAutoStage() : autoStage;\n            setStage(currentStage);\n            drawFrame();\n            animateSVG(currentStage);\n            spawnParticles();\n            updateParticles();\n            if (debugVisible) drawDebugPaths();\n        }\n\n        function loop() {\n            if (!isPlaying) return;\n            frameCount++;\n            render();\n            animationFrame = requestAnimationFrame(loop);\n        }\n\n        function updateToggleLabel() {\n            toggleBtn.textContent = isPlaying ? \"Pause\" : \"Start\";\n        }\n\n        function updateAutoLabel() {\n            autoBtn.textContent = `Auto stages: ${autoMode ? \"On\" : \"Off\"}`;\n        }\n\n        function play() {\n            if (isPlaying) return;\n            isPlaying = true;\n            updateToggleLabel();\n            animationFrame = requestAnimationFrame(loop);\n        }\n\n        function pause() {\n            isPlaying = false;\n            updateToggleLabel();\n            if (animationFrame) {\n                cancelAnimationFrame(animationFrame);\n                animationFrame = null;\n            }\n        }\n\n        function restart() {\n            particles = [];\n            frameCount = 0;\n            TYPE_ORDER.forEach((key) => {\n                spawnAccumulator[key] = 0;\n            });\n            render();\n            if (isInViewport && !userPaused) {\n                play();\n            } else {\n                pause();\n            }\n        }\n\n        function revealSection() {\n            if (revealPlayed) return;\n            revealPlayed = true;\n            revealItems.forEach((item) => item.classList.add(\"is-visible\"));\n        }\n\n        function toggleDebug() {\n            debugVisible = !debugVisible;\n            debugPanel.hidden = !debugVisible;\n            debugToggleBtn.textContent = debugVisible ? \"Hide debug\" : \"Afficher le d\u00e9bogage\";\n            if (!isPlaying) render();\n        }\n\n        stageBoutons.forEach((btn) => {\n            btn.addEventListener(\"click\", () => {\n                autoMode = false;\n                autoStage = Number(btn.dataset.stage);\n                updateAutoLabel();\n                setStage(autoStage);\n                if (!isPlaying) render();\n            });\n        });\n\n        stepCards.forEach((card) => {\n            card.addEventListener(\"click\", () => {\n                autoMode = false;\n                autoStage = Number(card.dataset.step);\n                updateAutoLabel();\n                setStage(autoStage);\n                if (!isPlaying) render();\n            });\n        });\n\n        toggleBtn.addEventListener(\"click\", () => {\n            userPaused = isPlaying;\n            if (isPlaying) {\n                pause();\n            } else {\n                userPaused = false;\n                if (isInViewport) play();\n            }\n        });\n\n        replayBtn.addEventListener(\"click\", () => {\n            userPaused = false;\n            restart();\n        });\n\n        autoBtn.addEventListener(\"click\", () => {\n            autoMode = !autoMode;\n            updateAutoLabel();\n            if (!isPlaying) render();\n        });\n\n        debugToggleBtn.addEventListener(\"click\", toggleDebug);\n\n        applyDebugBtn.addEventListener(\"click\", () => {\n            readDebugInputs();\n            restart();\n        });\n\n        resetDebugBtn.addEventListener(\"click\", () => {\n            config = cloneConfig(DEFAULT_CONFIG);\n            buildDebugPanel();\n            restart();\n        });\n\n        copyDebugBtn.addEventListener(\"click\", async () => {\n            try {\n                await navigator.clipboard.writeText(debugJson.value);\n                copyDebugBtn.textContent = \"Copied\";\n                setTimeout(() => {\n                    copyDebugBtn.textContent = \"Copier JSON\";\n                }, 1200);\n            } catch (error) {\n                copyDebugBtn.textContent = \"Copy failed\";\n                setTimeout(() => {\n                    copyDebugBtn.textContent = \"Copier JSON\";\n                }, 1200);\n            }\n        });\n\n        window.addEventListener(\"resize\", () => {\n            resizeCanvas();\n            if (!isPlaying) render();\n        });\n\n        const io = new IntersectionObserver(\n            (entries) => {\n                entries.forEach((entry) => {\n                    isInViewport = entry.isIntersecting;\n\n                    if (entry.isIntersecting) {\n                        revealSection();\n\n                        if (!started) {\n                            started = true;\n                            resizeCanvas();\n                            render();\n                        }\n\n                        if (!userPaused) play();\n                    } else {\n                        pause();\n                    }\n                });\n            },\n            { threshold: 0.2 },\n        );\n\n        buildDebugPanel();\n        resizeCanvas();\n        setStage(0);\n        render();\n        updateToggleLabel();\n        updateAutoLabel();\n        io.observe(root);\n    })();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-704d794 e-flex e-con-boxed e-con e-parent\" data-id=\"704d794\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8295937 elementor-widget elementor-widget-html\" data-id=\"8295937\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n<section class=\"hub-agm-specs-v1\" id=\"models\">\n  <div class=\"hub-agm-specs-v1__wrap\">\n    <div class=\"hub-agm-specs-v1__head hub-reveal hub-reveal--up\">\n      <span class=\"hub-agm-specs-v1__eyebrow\">S\u00c9RIE AGM<\/span>\n      <h2 class=\"hub-agm-specs-v1__title\">Comparer les mod\u00e8les AGM<\/h2>\n      <p class=\"hub-agm-specs-v1__text\">\n        D\u00e9couvrez tous les mod\u00e8les disponibles de nettoyeurs de grains AGM et comparez leur capacit\u00e9, leur consommation \u00e9lectrique, leurs dimensions et le poids de la machine dans une seule section claire.\n      <\/p>\n    <\/div>\n\n    <div class=\"hub-agm-specs-v1__cards\">\n      <article class=\"hub-agm-card-v1 hub-reveal hub-reveal--up\" style=\"--reveal-delay:0s;\">\n        <div class=\"hub-agm-card-v1__media\">\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/03\/agm-5-model.webp\" alt=\"AGM-5 grain cleaner\">\n          <span class=\"hub-agm-card-v1__tag\">AGM-5<\/span>\n        <\/div>\n        <div class=\"hub-agm-card-v1__body\">\n          <h3>AGM-5<\/h3>\n          <div class=\"hub-agm-card-v1__specs\">\n            <div><span>D\u00e9bit<\/span><strong>5 t\/h<\/strong><\/div>\n            <div><span>\u00c9lectricit\u00e9<\/span><strong>0.2\u20130.6 kW<\/strong><\/div>\n            <div><span>Dimensions<\/span><strong>2040 \u00d7 605 \u00d7 2070 mm<\/strong><\/div>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <article class=\"hub-agm-card-v1 hub-reveal hub-reveal--up\" style=\"--reveal-delay:.06s;\">\n        <div class=\"hub-agm-card-v1__media\">\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/03\/agm-15.webp\" alt=\"AGM-15 grain cleaner\">\n          <span class=\"hub-agm-card-v1__tag\">AGM-15<\/span>\n        <\/div>\n        <div class=\"hub-agm-card-v1__body\">\n          <h3>AGM-15<\/h3>\n          <div class=\"hub-agm-card-v1__specs\">\n            <div><span>D\u00e9bit<\/span><strong>15 t\/h<\/strong><\/div>\n            <div><span>\u00c9lectricit\u00e9<\/span><strong>0.2\u20132.5 kW<\/strong><\/div>\n            <div><span>Dimensions<\/span><strong>2990 \u00d7 685 \u00d7 2050 mm<\/strong><\/div>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <article class=\"hub-agm-card-v1 hub-reveal hub-reveal--up\" style=\"--reveal-delay:.12s;\">\n        <div class=\"hub-agm-card-v1__media\">\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/03\/agm-20.webp\" alt=\"AGM-20 grain cleaner\">\n          <span class=\"hub-agm-card-v1__tag\">AGM-20<\/span>\n        <\/div>\n        <div class=\"hub-agm-card-v1__body\">\n          <h3>AGM-20<\/h3>\n          <div class=\"hub-agm-card-v1__specs\">\n            <div><span>D\u00e9bit<\/span><strong>20 t\/h<\/strong><\/div>\n            <div><span>\u00c9lectricit\u00e9<\/span><strong>0.2\u20133.3 kW<\/strong><\/div>\n            <div><span>Dimensions<\/span><strong>2990 \u00d7 685 \u00d7 2050 mm<\/strong><\/div>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <article class=\"hub-agm-card-v1 hub-reveal hub-reveal--up\" style=\"--reveal-delay:.18s;\">\n        <div class=\"hub-agm-card-v1__media\">\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/03\/agm-30.webp\" alt=\"AGM-30 grain cleaner\">\n          <span class=\"hub-agm-card-v1__tag\">AGM-30<\/span>\n        <\/div>\n        <div class=\"hub-agm-card-v1__body\">\n          <h3>AGM-30<\/h3>\n          <div class=\"hub-agm-card-v1__specs\">\n            <div><span>D\u00e9bit<\/span><strong>30 t\/h<\/strong><\/div>\n            <div><span>\u00c9lectricit\u00e9<\/span><strong>0.2\u20134.3 kW<\/strong><\/div>\n            <div><span>Dimensions<\/span><strong>2310 \u00d7 965 \u00d7 2230 mm<\/strong><\/div>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <article class=\"hub-agm-card-v1 hub-reveal hub-reveal--up\" style=\"--reveal-delay:.24s;\">\n        <div class=\"hub-agm-card-v1__media\">\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/03\/agm-40.webp\" alt=\"AGM-40 grain cleaner\">\n          <span class=\"hub-agm-card-v1__tag\">AGM-40<\/span>\n        <\/div>\n        <div class=\"hub-agm-card-v1__body\">\n          <h3>AGM-40<\/h3>\n          <div class=\"hub-agm-card-v1__specs\">\n            <div><span>D\u00e9bit<\/span><strong>40 t\/h<\/strong><\/div>\n            <div><span>\u00c9lectricit\u00e9<\/span><strong>0.2\u20136.0 kW<\/strong><\/div>\n            <div><span>Dimensions<\/span><strong>2310 \u00d7 1130 \u00d7 2230 mm<\/strong><\/div>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <article class=\"hub-agm-card-v1 hub-reveal hub-reveal--up\" style=\"--reveal-delay:.30s;\">\n        <div class=\"hub-agm-card-v1__media\">\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/03\/agm-50.webp\" alt=\"AGM-50 grain cleaner\">\n          <span class=\"hub-agm-card-v1__tag\">AGM-50<\/span>\n        <\/div>\n        <div class=\"hub-agm-card-v1__body\">\n          <h3>AGM-50<\/h3>\n          <div class=\"hub-agm-card-v1__specs\">\n            <div><span>D\u00e9bit<\/span><strong>50 t\/h<\/strong><\/div>\n            <div><span>\u00c9lectricit\u00e9<\/span><strong>0.2\u20136.8 kW<\/strong><\/div>\n            <div><span>Dimensions<\/span><strong>2310 \u00d7 1130 \u00d7 2230 mm<\/strong><\/div>\n          <\/div>\n        <\/div>\n      <\/article>\n    <\/div>\n\n    <div class=\"hub-agm-specs-v1__table-box hub-reveal hub-reveal--up\" style=\"--reveal-delay:.1s;\" id=\"specifications\">\n      <div class=\"hub-agm-specs-v1__table-head\">\n        <span class=\"hub-agm-specs-v1__table-eyebrow\">Donn\u00e9es techniques<\/span>\n        <h3>Tableau complet des sp\u00e9cifications<\/h3>\n      <\/div>\n\n      <div class=\"hub-agm-specs-v1__table-scroll\">\n        <table class=\"hub-agm-specs-v1__table\">\n          <thead>\n            <tr>\n              <th>Mod\u00e8le<\/th>\n              <th>Capacit\u00e9, t\/h<\/th>\n              <th>\u00c9lectricit\u00e9, kW<\/th>\n              <th>Poids net, kg<\/th>\n              <th>Longueur, mm<\/th>\n              <th>Largeur, mm<\/th>\n              <th>Hauteur, mm<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td>AGM-5<\/td>\n              <td>5<\/td>\n              <td>0.2 - 0.6<\/td>\n              <td>160<\/td>\n              <td>2040<\/td>\n              <td>605<\/td>\n              <td>2070<\/td>\n            <\/tr>\n            <tr>\n              <td>AGM-15<\/td>\n              <td>15<\/td>\n              <td>0.2 - 2.5<\/td>\n              <td>360<\/td>\n              <td>2990<\/td>\n              <td>685<\/td>\n              <td>2050<\/td>\n            <\/tr>\n            <tr>\n              <td>AGM-20<\/td>\n              <td>20<\/td>\n              <td>0.2 - 3.3<\/td>\n              <td>370<\/td>\n              <td>2990<\/td>\n              <td>685<\/td>\n              <td>2050<\/td>\n            <\/tr>\n            <tr>\n              <td>AGM-30<\/td>\n              <td>30<\/td>\n              <td>0.2 - 4.3<\/td>\n              <td>405<\/td>\n              <td>2310<\/td>\n              <td>965<\/td>\n              <td>2230<\/td>\n            <\/tr>\n            <tr>\n              <td>AGM-40<\/td>\n              <td>40<\/td>\n              <td>0.2 - 6.0<\/td>\n              <td>450<\/td>\n              <td>2310<\/td>\n              <td>1130<\/td>\n              <td>2230<\/td>\n            <\/tr>\n            <tr>\n              <td>AGM-50<\/td>\n              <td>50<\/td>\n              <td>0.2 - 6.8<\/td>\n              <td>460<\/td>\n              <td>2310<\/td>\n              <td>1130<\/td>\n              <td>2230<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  .hub-agm-specs-v1{\n    position:relative;\n    overflow:hidden;\n    padding:110px 0;\n\n    font-family:Montserrat, sans-serif;\n  }\n\n  .hub-agm-specs-v1__wrap{\n    max-width:1320px;\n    margin:0 auto;\n    padding:0 24px;\n  }\n\n  .hub-agm-specs-v1__head{\n    max-width:760px;\n    margin-bottom:34px;\n  }\n\n  .hub-agm-specs-v1__eyebrow{\n    display:inline-flex;\n    align-items:center;\n    padding:7px 14px;\n    margin-bottom:14px;\n    border-radius:999px;\n    background:rgba(92, 132, 255, 0.08);\n    border:1px solid rgba(92, 132, 255, 0.12);\n    color:#5a7cff;\n    font-size:11px;\n    font-weight:700;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hub-agm-specs-v1__title{\n    margin:0 0 14px;\n    font-size:clamp(34px, 4vw, 56px);\n    line-height:1.02;\n    letter-spacing:-0.03em;\n    font-weight:800;\n    color:#1e2438;\n  }\n\n  .hub-agm-specs-v1__text{\n    margin:0;\n    max-width:650px;\n    color:#6d7893;\n    font-size:17px;\n    line-height:1.8;\n  }\n\n  .hub-agm-specs-v1__cards{\n    display:grid;\n    grid-template-columns:repeat(3, minmax(0, 1fr));\n    gap:24px;\n    margin-bottom:24px;\n  }\n\n  .hub-agm-card-v1,\n  .hub-agm-specs-v1__table-box{\n    background:rgba(255,255,255,.62);\n    border:1px solid rgba(255,255,255,.86);\n    border-radius:28px;\n    box-shadow:\n      0 16px 40px rgba(31, 42, 68, 0.06),\n      inset 0 1px 0 rgba(255,255,255,.8);\n    backdrop-filter:blur(14px);\n    -webkit-backdrop-filter:blur(14px);\n  }\n\n  .hub-agm-card-v1{\n    overflow:hidden;\n    transition:transform .35s ease, box-shadow .35s ease;\n  }\n\n  .hub-agm-card-v1:hover{\n    transform:translateY(-6px);\n    box-shadow:\n      0 22px 48px rgba(31, 42, 68, 0.1),\n      inset 0 1px 0 rgba(255,255,255,.8);\n  }\n\n  .hub-agm-card-v1__media{\n    position:relative;\n    min-height:260px;\n    background:linear-gradient(180deg, #f8fbfd 0%, #edf3f6 100%);\n    overflow:hidden;\n  }\n\n  .hub-agm-card-v1__media::before{\n    content:\"\";\n    position:absolute;\n    width:180px;\n    height:180px;\n    left:-30px;\n    top:-30px;\n    border-radius:50%;\n    background:rgba(90,124,255,.08);\n    filter:blur(10px);\n  }\n\n  .hub-agm-card-v1__media::after{\n    content:\"\";\n    position:absolute;\n    width:160px;\n    height:160px;\n    right:-20px;\n    bottom:-30px;\n    border-radius:50%;\n    background:rgba(24,185,129,.08);\n    filter:blur(10px);\n  }\n\n  .hub-agm-card-v1__media img{\n    position:relative;\n    z-index:2;\n    width:100%;\n    height:260px;\n    object-fit:contain;\n    display:block;\n    padding:26px;\n    filter:drop-shadow(0 18px 24px rgba(31,42,68,.14));\n    transition:transform .45s ease;\n  }\n\n  .hub-agm-card-v1:hover .hub-agm-card-v1__media img{\n    transform:scale(1.04);\n  }\n\n  .hub-agm-card-v1__tag{\n    position:absolute;\n    left:18px;\n    top:18px;\n    z-index:3;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:42px;\n    padding:8px 14px;\n    border-radius:14px;\n    background:linear-gradient(135deg, #4f7cff, #19b98a);\n    color:#fff;\n    font-size:13px;\n    font-weight:800;\n    box-shadow:0 12px 22px rgba(79,124,255,.2);\n  }\n\n  .hub-agm-card-v1__body{\n    padding:22px 22px 20px;\n  }\n\n  .hub-agm-card-v1__body h3{\n    margin:0 0 14px;\n    color:#1d2438;\n    font-size:28px;\n    line-height:1.1;\n    font-weight:800;\n    letter-spacing:-0.02em;\n  }\n\n  .hub-agm-card-v1__specs{\n    display:grid;\n    gap:0;\n  }\n\n  .hub-agm-card-v1__specs div{\n    display:flex;\n    justify-content:space-between;\n    gap:18px;\n    padding:12px 0;\n    border-bottom:1px solid rgba(202, 211, 227, 0.55);\n  }\n\n  .hub-agm-card-v1__specs div:last-child{\n    border-bottom:none;\n    padding-bottom:0;\n  }\n\n  .hub-agm-card-v1__specs span{\n    color:#7e879d;\n    font-size:14px;\n    line-height:1.5;\n    font-weight:500;\n  }\n\n  .hub-agm-card-v1__specs strong{\n    color:#1d2438;\n    font-size:14px;\n    line-height:1.5;\n    font-weight:700;\n    text-align:right;\n  }\n\n  .hub-agm-specs-v1__table-box{\n    padding:22px;\n  }\n\n  .hub-agm-specs-v1__table-head{\n    margin-bottom:18px;\n  }\n\n  .hub-agm-specs-v1__table-eyebrow{\n    display:inline-block;\n    margin-bottom:8px;\n    color:#5a7cff;\n    font-size:11px;\n    font-weight:700;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hub-agm-specs-v1__table-head h3{\n    margin:0;\n    color:#1d2438;\n    font-size:28px;\n    line-height:1.12;\n    font-weight:800;\n    letter-spacing:-0.02em;\n  }\n\n  .hub-agm-specs-v1__table-scroll{\n    overflow-x:auto;\n    -webkit-overflow-scrolling:touch;\n    border-radius:22px;\n  }\n\n  .hub-agm-specs-v1__table{\n    width:100%;\n    min-width:1040px;\n    border-collapse:separate;\n    border-spacing:0;\n  }\n\n  .hub-agm-specs-v1__table thead th{\n    padding:22px 22px;\n    text-align:left;\n    color:#fff;\n    font-size:14px;\n    font-weight:700;\n    white-space:nowrap;\n    background:linear-gradient(135deg, #4f7cff, #19b98a);\n    border-right:1px solid rgba(255,255,255,.08);\n  }\n\n  .hub-agm-specs-v1__table thead th:first-child{\n    border-top-left-radius:18px;\n  }\n\n  .hub-agm-specs-v1__table thead th:last-child{\n    border-top-right-radius:18px;\n    border-right:none;\n  }\n\n  .hub-agm-specs-v1__table tbody td{\n    padding:22px 22px;\n    color:#1d2438;\n    font-size:15px;\n    background:rgba(255,255,255,.55);\n    border-bottom:1px solid rgba(202, 211, 227, 0.45);\n    white-space:nowrap;\n    transition:background .25s ease;\n  }\n\n  .hub-agm-specs-v1__table tbody tr:nth-child(even) td{\n    background:rgba(246,249,253,.78);\n  }\n\n  .hub-agm-specs-v1__table tbody tr:hover td{\n    background:rgba(90,124,255,.06);\n  }\n\n  .hub-agm-specs-v1__table tbody tr:last-child td:first-child{\n    border-bottom-left-radius:18px;\n  }\n\n  .hub-agm-specs-v1__table tbody tr:last-child td:last-child{\n    border-bottom-right-radius:18px;\n  }\n\n  \/* reveal animation *\/\n  .hub-reveal{\n    opacity:0;\n    transform:translate3d(0, 28px, 0);\n    transition:\n      opacity .8s cubic-bezier(.22, 1, .36, 1),\n      transform .8s cubic-bezier(.22, 1, .36, 1);\n    transition-delay:var(--reveal-delay, 0s);\n    will-change:opacity, transform;\n  }\n\n  .hub-reveal--up{\n    transform:translate3d(0, 28px, 0);\n  }\n\n  .hub-reveal.is-visible{\n    opacity:1;\n    transform:translate3d(0, 0, 0);\n  }\n\n  @media (max-width: 1200px){\n    .hub-agm-specs-v1__cards{\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hub-agm-specs-v1{\n      padding:74px 0;\n    }\n\n    .hub-agm-specs-v1__wrap{\n      padding:0 16px;\n    }\n\n    .hub-agm-specs-v1__cards{\n      grid-template-columns:1fr;\n      gap:18px;\n    }\n\n    .hub-agm-card-v1,\n    .hub-agm-specs-v1__table-box{\n      border-radius:22px;\n    }\n\n    .hub-agm-card-v1__media{\n      min-height:220px;\n    }\n\n    .hub-agm-card-v1__media img{\n      height:220px;\n      padding:18px;\n    }\n\n    .hub-agm-card-v1__body{\n      padding:18px;\n    }\n\n    .hub-agm-card-v1__body h3{\n      font-size:24px;\n    }\n\n    .hub-agm-specs-v1__title{\n      font-size:clamp(30px, 9vw, 42px);\n    }\n\n    .hub-agm-specs-v1__text{\n      font-size:15px;\n      line-height:1.7;\n    }\n\n    .hub-agm-specs-v1__table-box{\n      padding:14px;\n    }\n\n    .hub-agm-specs-v1__table thead th,\n    .hub-agm-specs-v1__table tbody td{\n      padding:16px 14px;\n      font-size:13px;\n    }\n\n    .hub-reveal,\n    .hub-reveal--up{\n      transform:translate3d(0, 18px, 0);\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce){\n    .hub-reveal,\n    .hub-agm-card-v1,\n    .hub-agm-card-v1__media img,\n    .hub-agm-specs-v1__table tbody td{\n      transition:none !important;\n      animation:none !important;\n      transform:none !important;\n      opacity:1 !important;\n    }\n  }\n<\/style>\n\n<script>\n  (function () {\n    const items = document.querySelectorAll('.hub-reveal');\n    if (!items.length) return;\n\n    const observer = new IntersectionObserver((entries, obs) => {\n      entries.forEach(entry => {\n        if (!entry.isIntersecting) return;\n        entry.target.classList.add('is-visible');\n        obs.unobserve(entry.target);\n      });\n    }, {\n      threshold: 0.14,\n      rootMargin: '0px 0px -8% 0px'\n    });\n\n    items.forEach(item => observer.observe(item));\n  })();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a55d5ec e-flex e-con-boxed e-con e-parent\" data-id=\"a55d5ec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4af3394 elementor-widget elementor-widget-html\" data-id=\"4af3394\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"hub-machine-features-v4\">\n  <div class=\"hub-machine-features-v4__wrap\">\n    <div class=\"hub-machine-features-v4__head\">\n      <span class=\"hub-machine-features-v4__eyebrow\">Pr\u00e9sentation interactive de la machine<\/span>\n      <h2 class=\"hub-machine-features-v4__title\">D\u00e9couvrez les principaux \u00e9l\u00e9ments fonctionnels<\/h2>\n      <p class=\"hub-machine-features-v4__text\">\n        S\u00e9lectionnez un \u00e9l\u00e9ment pour mettre en \u00e9vidence sa position exacte et voir comment la machine est r\u00e9gl\u00e9e, command\u00e9e et raccord\u00e9e en fonctionnement.\n      <\/p>\n    <\/div>\n\n    <div class=\"hub-machine-features-v4__grid\">\n      <!-- LEFT NAV -->\n      <aside class=\"hub-machine-features-v4__nav\">\n        <button class=\"hub-machine-features-v4__item\" data-part=\"dampers\" type=\"button\">\n          <span class=\"hub-machine-features-v4__num\">01<\/span>\n          <span class=\"hub-machine-features-v4__content\">\n            <strong>Volets r\u00e9glables<\/strong>\n            <small>R\u00e9glage plus pr\u00e9cis du nettoyage<\/small>\n          <\/span>\n        <\/button>\n\n        <button class=\"hub-machine-features-v4__item\" data-part=\"panel\" type=\"button\">\n          <span class=\"hub-machine-features-v4__num\">02<\/span>\n          <span class=\"hub-machine-features-v4__content\">\n            <strong>Panneau de commande<\/strong>\n            <small>Commande de la machine par fr\u00e9quence<\/small>\n          <\/span>\n        <\/button>\n\n        <button class=\"hub-machine-features-v4__item\" data-part=\"dust\" type=\"button\">\n          <span class=\"hub-machine-features-v4__num\">03<\/span>\n          <span class=\"hub-machine-features-v4__content\">\n            <strong>Sortie des poussi\u00e8res<\/strong>\n            <small>Raccordement pour sac ou cyclone<\/small>\n          <\/span>\n        <\/button>\n\n        <button class=\"hub-machine-features-v4__item\" data-part=\"outlets\" type=\"button\">\n          <span class=\"hub-machine-features-v4__num\">04<\/span>\n          <span class=\"hub-machine-features-v4__content\">\n            <strong>Sorties de grain<\/strong>\n            <small>Points de raccordement pratiques pour tuyauterie<\/small>\n          <\/span>\n        <\/button>\n      <\/aside>\n\n      <!-- CENTER STAGE -->\n      <div class=\"hub-machine-features-v4__stage-card\">\n        <div class=\"hub-machine-features-v4__stage is-full-view\">\n          <div class=\"hub-machine-features-v4__orb hub-machine-features-v4__orb--1\"><\/div>\n          <div class=\"hub-machine-features-v4__orb hub-machine-features-v4__orb--2\"><\/div>\n\n          <img decoding=\"async\" class=\"hub-machine-features-v4__base\" src=\"\/wp-content\/uploads\/2026\/03\/agm-5-model.webp\" alt=\"Grain cleaner machine\">\n\n          <img decoding=\"async\" class=\"hub-machine-features-v4__part\" data-part=\"dampers\" src=\"\/wp-content\/uploads\/2026\/03\/agm-adjustable-dampers.webp\" alt=\"\">\n\n          <img decoding=\"async\" class=\"hub-machine-features-v4__part\" data-part=\"panel\" src=\"\/wp-content\/uploads\/2026\/03\/agm-control-panel.webp\" alt=\"\">\n\n          <img decoding=\"async\" class=\"hub-machine-features-v4__part\" data-part=\"dust\" src=\"\/wp-content\/uploads\/2026\/03\/agm-dust-exit.webp\" alt=\"\">\n\n          <img decoding=\"async\" class=\"hub-machine-features-v4__part\" data-part=\"outlets\" src=\"\/wp-content\/uploads\/2026\/03\/agm-grain-outlets.webp\" alt=\"\">\n\n          <div class=\"hub-machine-features-v4__stage-label\">\n            <span class=\"hub-machine-features-v4__stage-kicker\">Mode aper\u00e7u<\/span>\n            <strong>Vue compl\u00e8te de la machine<\/strong>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- RIGHT INFO -->\n      <div class=\"hub-machine-features-v4__info-card\">\n        <div class=\"hub-machine-features-v4__panel is-active\" data-panel=\"default\">\n          <div class=\"hub-machine-features-v4__badge hub-machine-features-v4__badge--text\">Vue d\u2019ensemble de la machine<\/div>\n          <h3>Vue compl\u00e8te de la machine<\/h3>\n          <p>\n            S\u00e9lectionnez un \u00e9l\u00e9ment mis en \u00e9vidence pour vous concentrer sur sa position exacte et voir comment la machine est r\u00e9gl\u00e9e, command\u00e9e et raccord\u00e9e en fonctionnement.\n          <\/p>\n        <\/div>\n\n        <div class=\"hub-machine-features-v4__panel\" data-panel=\"dampers\">\n          <div class=\"hub-machine-features-v4__badge\">01<\/div>\n          <h3>Volets r\u00e9glables<\/h3>\n          <p>\n            Le r\u00e9glage des volets sur les plateaux permet un ajustement plus pr\u00e9cis du processus de nettoyage selon la culture et le niveau d\u2019impuret\u00e9s.\n          <\/p>\n        <\/div>\n\n        <div class=\"hub-machine-features-v4__panel\" data-panel=\"panel\">\n          <div class=\"hub-machine-features-v4__badge\">02<\/div>\n          <h3>Panneau de commande<\/h3>\n          <p>\n            L\u2019unit\u00e9 de commande avec variateur de fr\u00e9quence permet d\u2019adapter la machine \u00e0 diff\u00e9rentes cultures et conditions de fonctionnement.\n          <\/p>\n        <\/div>\n\n        <div class=\"hub-machine-features-v4__panel\" data-panel=\"dust\">\n          <div class=\"hub-machine-features-v4__badge\">03<\/div>\n          <h3>Sortie des poussi\u00e8res<\/h3>\n          <p>\n            La sortie des impuret\u00e9s l\u00e9g\u00e8res peut \u00eatre raccord\u00e9e \u00e0 un sac ou \u00e0 un cyclone pour une collecte efficace des poussi\u00e8res et d\u00e9chets l\u00e9gers.\n          <\/p>\n        <\/div>\n\n        <div class=\"hub-machine-features-v4__panel\" data-panel=\"outlets\">\n          <div class=\"hub-machine-features-v4__badge\">04<\/div>\n          <h3>Sorties de grain<\/h3>\n          <p>\n            Les sorties rondes pratiques pour les fractions de grain sont con\u00e7ues pour un raccordement facile des tuyaux et une \u00e9vacuation ordonn\u00e9e du produit s\u00e9par\u00e9.\n          <\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  .hub-machine-features-v4 {\n    position: relative;\n    overflow: hidden;\n    padding: 110px 0;\n   \n    font-family: Montserrat, sans-serif;\n  }\n\n  .hub-machine-features-v4__wrap {\n    max-width: 1320px;\n    margin: 0 auto;\n    padding: 0 24px;\n  }\n\n  .hub-machine-features-v4__head {\n    max-width: 760px;\n    margin-bottom: 34px;\n  }\n\n  .hub-machine-features-v4__eyebrow {\n    display: inline-flex;\n    align-items: center;\n    padding: 7px 14px;\n    margin-bottom: 14px;\n    border-radius: 999px;\n    background: rgba(92, 132, 255, 0.08);\n    border: 1px solid rgba(92, 132, 255, 0.12);\n    color: #5a7cff;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: .12em;\n    text-transform: uppercase;\n  }\n\n  .hub-machine-features-v4__title {\n    margin: 0 0 14px;\n    font-size: clamp(34px, 4vw, 56px);\n    line-height: 1.02;\n    letter-spacing: -0.03em;\n    font-weight: 800;\n    color: #1e2438;\n  }\n\n  .hub-machine-features-v4__text {\n    margin: 0;\n    max-width: 650px;\n    color: #6d7893;\n    font-size: 17px;\n    line-height: 1.8;\n  }\n\n  .hub-machine-features-v4__grid {\n    display: grid;\n    grid-template-columns: 0.72fr 1.24fr 0.78fr;\n    gap: 24px;\n    align-items: stretch;\n  }\n\n  .hub-machine-features-v4__nav,\n  .hub-machine-features-v4__stage-card,\n  .hub-machine-features-v4__info-card {\n    background: rgba(255,255,255,.62);\n    border: 1px solid rgba(255,255,255,.86);\n    border-radius: 28px;\n    box-shadow:\n      0 16px 40px rgba(31, 42, 68, 0.06),\n      inset 0 1px 0 rgba(255,255,255,.8);\n    backdrop-filter: blur(14px);\n    -webkit-backdrop-filter: blur(14px);\n  }\n\n  .hub-machine-features-v4__nav {\n    padding: 16px;\n    display: grid;\n    gap: 12px;\n    align-content: start;\n  }\n\n  .hub-machine-features-v4__item {\n    width: 100%;\n    display: grid;\n    grid-template-columns: 48px 1fr;\n    gap: 14px;\n    align-items: center;\n    text-align: left;\n    padding: 16px;\n    border-radius: 18px;\n    border: 1px solid rgba(202, 211, 227, 0.5);\n    background: rgba(255,255,255,.5);\n    cursor: pointer;\n    transition: .25s ease;\n  }\n\n  .hub-machine-features-v4__item:hover,\n  .hub-machine-features-v4__item.is-active {\n    border-color: rgba(88, 123, 255, 0.24);\n    background: linear-gradient(135deg, rgba(90,124,255,.08), rgba(24,185,129,.05));\n    box-shadow: 0 12px 26px rgba(50, 76, 135, 0.06);\n  }\n\n  .hub-machine-features-v4__num,\n  .hub-machine-features-v4__badge {\n    width: 48px;\n    height: 48px;\n    border-radius: 14px;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    background: linear-gradient(135deg, #4f7cff, #19b98a);\n    color: #fff;\n    font-size: 14px;\n    font-weight: 800;\n    box-shadow: 0 12px 22px rgba(79,124,255,.2);\n  }\n\n  .hub-machine-features-v4__badge--text {\n    width: auto;\n    padding: 0 16px;\n    min-width: 0;\n  }\n\n  .hub-machine-features-v4__content strong {\n    display: block;\n    margin-bottom: 3px;\n    color: #1d2438;\n    font-size: 15px;\n    line-height: 1.35;\n    font-weight: 700;\n  }\n\n  .hub-machine-features-v4__content small {\n    display: block;\n    color: #7e879d;\n    font-size: 12px;\n    line-height: 1.5;\n    font-weight: 500;\n  }\n\n  .hub-machine-features-v4__stage-card {\n    padding: 22px;\n    display: flex;\n  }\n\n  .hub-machine-features-v4__stage {\n    position: relative;\n    width: 100%;\n    min-height: 560px;\n    border-radius: 24px;\n    overflow: hidden;\n    background: linear-gradient(180deg, #f8fbfd 0%, #edf3f6 100%);\n  }\n\n  .hub-machine-features-v4__stage::after {\n    content: \"\";\n    position: absolute;\n    left: 12%;\n    right: 12%;\n    bottom: 6%;\n    height: 12%;\n    background: radial-gradient(ellipse at center, rgba(31,42,68,.14), transparent 70%);\n    filter: blur(16px);\n    z-index: 0;\n  }\n\n  .hub-machine-features-v4__orb {\n    position: absolute;\n    border-radius: 50%;\n    filter: blur(28px);\n    z-index: 0;\n  }\n\n  .hub-machine-features-v4__orb--1 {\n    width: 210px;\n    height: 210px;\n    left: 8%;\n    top: 10%;\n    background: rgba(90,124,255,.08);\n  }\n\n  .hub-machine-features-v4__orb--2 {\n    width: 180px;\n    height: 180px;\n    right: 10%;\n    bottom: 14%;\n    background: rgba(24,185,129,.08);\n  }\n\n  .hub-machine-features-v4__base,\n  .hub-machine-features-v4__part {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    display: block;\n    user-select: none;\n    pointer-events: none;\n  }\n\n  .hub-machine-features-v4__base {\n    z-index: 2;\n    opacity: 1;\n    transform: scale(.965);\n    filter: drop-shadow(0 18px 28px rgba(31,42,68,.14));\n    transition: .42s ease;\n  }\n\n  .hub-machine-features-v4__part {\n    z-index: 3;\n    opacity: 0;\n    transform: scale(.99);\n    filter:\n      drop-shadow(0 18px 28px rgba(31,42,68,.12))\n      drop-shadow(0 0 32px rgba(79,124,255,.16));\n    transition: .42s ease;\n  }\n\n  .hub-machine-features-v4__part.is-active {\n    opacity: 1;\n    transform: scale(1);\n  }\n\n  .hub-machine-features-v4__stage:not(.is-full-view) .hub-machine-features-v4__base {\n    opacity: .2;\n    transform: scale(.955);\n    filter:\n      grayscale(.12)\n      saturate(.72)\n      contrast(.96)\n      drop-shadow(0 10px 14px rgba(31,42,68,.08));\n  }\n\n  .hub-machine-features-v4__stage-label {\n    position: absolute;\n    left: 22px;\n    bottom: 22px;\n    z-index: 4;\n    padding: 12px 14px;\n    border-radius: 16px;\n    background: rgba(255,255,255,.72);\n    border: 1px solid rgba(255,255,255,.82);\n    box-shadow: 0 12px 24px rgba(31,42,68,.06);\n    backdrop-filter: blur(12px);\n    -webkit-backdrop-filter: blur(12px);\n  }\n\n  .hub-machine-features-v4__stage-kicker {\n    display: block;\n    margin-bottom: 4px;\n    color: #5a7cff;\n    font-size: 10px;\n    font-weight: 700;\n    letter-spacing: .12em;\n    text-transform: uppercase;\n  }\n\n  .hub-machine-features-v4__stage-label strong {\n    display: block;\n    color: #1d2438;\n    font-size: 15px;\n    line-height: 1.3;\n    font-weight: 700;\n  }\n\n  .hub-machine-features-v4__info-card {\n    padding: 28px;\n    min-height: 560px;\n    display: flex;\n    align-items: flex-start;\n  }\n\n  .hub-machine-features-v4__panel {\n    display: none;\n    animation: machineFeatureFade .28s ease;\n  }\n\n  .hub-machine-features-v4__panel.is-active {\n    display: block;\n  }\n\n  @keyframes machineFeatureFade {\n    from { opacity: 0; transform: translateY(8px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\n  .hub-machine-features-v4__panel h3 {\n    font-size: 28px;\n    line-height: 1.12;\n    letter-spacing: -0.02em;\n    color: #1d2438;\n    font-weight: 800;\n  }\n\n  .hub-machine-features-v4__panel p {\n    margin: 0;\n    color: #6d7893;\n    font-size: 16px;\n    line-height: 1.8;\n  }\n\n  @media (max-width: 1200px) {\n    .hub-machine-features-v4__grid {\n      grid-template-columns: 1fr;\n    }\n\n    .hub-machine-features-v4__stage-card { order: 1; }\n    .hub-machine-features-v4__info-card {\n      order: 2;\n      min-height: auto;\n    }\n    .hub-machine-features-v4__nav { order: 3; }\n\n    .hub-machine-features-v4__stage {\n      min-height: 520px;\n    }\n  }\n\n  @media (max-width: 767px) {\n    .hub-machine-features-v4 {\n      padding: 74px 0;\n    }\n\n    .hub-machine-features-v4__wrap {\n      padding: 0 16px;\n    }\n\n    .hub-machine-features-v4__nav,\n    .hub-machine-features-v4__stage-card,\n    .hub-machine-features-v4__info-card {\n      border-radius: 22px;\n    }\n\n    .hub-machine-features-v4__stage-card,\n    .hub-machine-features-v4__info-card,\n    .hub-machine-features-v4__nav {\n      padding: 18px;\n    }\n\n    .hub-machine-features-v4__stage {\n      min-height: 360px !important;\n      height: 360px !important;\n      border-radius: 18px;\n    }\n\n    .hub-machine-features-v4__nav {\n      display: flex;\n      gap: 10px;\n      overflow-x: auto;\n      overflow-y: hidden;\n      scroll-snap-type: x proximity;\n      -webkit-overflow-scrolling: touch;\n      padding-bottom: 8px;\n    }\n\n    .hub-machine-features-v4__item {\n      min-width: 230px;\n      flex: 0 0 auto;\n      scroll-snap-align: start;\n      grid-template-columns: 42px 1fr;\n      gap: 12px;\n      padding: 13px;\n      border-radius: 16px;\n    }\n\n    .hub-machine-features-v4__num,\n    .hub-machine-features-v4__badge {\n      width: 42px;\n      height: 42px;\n      border-radius: 12px;\n      font-size: 13px;\n    }\n\n    .hub-machine-features-v4__badge--text {\n      width: auto;\n      padding: 0 14px;\n    }\n\n    .hub-machine-features-v4__content strong {\n      font-size: 14px;\n    }\n\n    .hub-machine-features-v4__content small {\n      font-size: 12px;\n    }\n\n    .hub-machine-features-v4__panel h3 {\n      font-size: 24px;\n    }\n\n    .hub-machine-features-v4__stage-label {\n      left: 14px;\n      right: 14px;\n      bottom: 14px;\n    }\n  }\n<\/style>\n\n<script>\n  (function () {\n    const section = document.querySelector('.hub-machine-features-v4');\n    if (!section) return;\n\n    const stage = section.querySelector('.hub-machine-features-v4__stage');\n    const nav = section.querySelector('.hub-machine-features-v4__nav');\n    const stageCard = section.querySelector('.hub-machine-features-v4__stage-card');\n    const itemBtns = section.querySelectorAll('.hub-machine-features-v4__item');\n    const parts = section.querySelectorAll('.hub-machine-features-v4__part');\n    const panels = section.querySelectorAll('.hub-machine-features-v4__panel');\n    const label = section.querySelector('.hub-machine-features-v4__stage-label');\n\n    function setLabel(mode, title) {\n      const kicker = label.querySelector('.hub-machine-features-v4__stage-kicker');\n      const strong = label.querySelector('strong');\n\n      if (mode === 'default') {\n        kicker.textContent = 'Mode aper\u00e7u';\n        strong.textContent = 'Vue compl\u00e8te de la machine';\n      } else {\n        kicker.textContent = 'Focused feature';\n        strong.textContent = title;\n      }\n    }\n\n    function showDefault() {\n      stage.classList.add('is-full-view');\n      itemBtns.forEach(btn => btn.classList.remove('is-active'));\n      parts.forEach(part => part.classList.remove('is-active'));\n      panels.forEach(panel => {\n        panel.classList.toggle('is-active', panel.dataset.panel === 'default');\n      });\n      setLabel('default');\n    }\n\n    function showPart(partName, title) {\n      stage.classList.remove('is-full-view');\n\n      itemBtns.forEach(btn => {\n        btn.classList.toggle('is-active', btn.dataset.part === partName);\n      });\n\n      parts.forEach(part => {\n        part.classList.toggle('is-active', part.dataset.part === partName);\n      });\n\n      panels.forEach(panel => {\n        panel.classList.toggle('is-active', panel.dataset.panel === partName);\n      });\n\n      setLabel('part', title);\n    }\n\n    itemBtns.forEach(btn => {\n      const title = btn.querySelector('strong').textContent.trim();\n\n      btn.addEventListener('mouseenter', function () {\n        if (window.innerWidth > 991) {\n          showPart(this.dataset.part, title);\n        }\n      });\n\n      btn.addEventListener('click', function () {\n        const isMobile = window.innerWidth <= 991;\n        const isAlreadyActive = this.classList.contains('is-active');\n\n        if (isMobile && isAlreadyActive) {\n          showDefault();\n          return;\n        }\n\n        showPart(this.dataset.part, title);\n      });\n    });\n\n    if (nav) {\n      nav.addEventListener('mouseleave', function () {\n        if (window.innerWidth > 991) {\n          showDefault();\n        }\n      });\n    }\n\n    if (stageCard) {\n      stageCard.addEventListener('mouseleave', function () {\n        if (window.innerWidth > 991) {\n          showDefault();\n        }\n      });\n    }\n\n    showDefault();\n  })();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b6f5a92 e-flex e-con-boxed e-con e-parent\" data-id=\"b6f5a92\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c338def elementor-widget elementor-widget-html\" data-id=\"c338def\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n<section class=\"hub-agm-addons-v1\">\n  <div class=\"hub-agm-addons-v1__bg\"><\/div>\n\n  <div class=\"hub-agm-addons-v1__wrap\">\n    <div class=\"hub-agm-addons-v1__head hub-addon-reveal hub-addon-reveal--up\" style=\"--d:0s;\">\n      <span class=\"hub-agm-addons-v1__eyebrow\">\u00c9quipement optionnel<\/span>\n      <h2 class=\"hub-agm-addons-v1__title\">Compl\u00e9tez le nettoyeur AGM avec des \u00e9quipements suppl\u00e9mentaires<\/h2>\n      <p class=\"hub-agm-addons-v1__text\">\n        Configurez le nettoyeur de grains AGM pour votre proc\u00e9d\u00e9 en ajoutant des \u00e9quipements qui am\u00e9liorent la collecte des poussi\u00e8res et la pr\u00e9paration du produit en amont avant l\u2019\u00e9tape principale de nettoyage.\n      <\/p>\n    <\/div>\n\n    <div class=\"hub-agm-addons-v1__grid\">\n      <article class=\"hub-agm-addon-card hub-addon-reveal hub-addon-reveal--left\" style=\"--d:.08s;\">\n        <span class=\"hub-agm-addon-card__glow\"><\/span>\n\n        <div class=\"hub-agm-addon-card__media\">\n          <div class=\"hub-agm-addon-card__bg-shape hub-agm-addon-card__bg-shape--one\"><\/div>\n          <div class=\"hub-agm-addon-card__bg-shape hub-agm-addon-card__bg-shape--two\"><\/div>\n\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/03\/agmaspiration.webp\" alt=\"Cyclone for Nettoyeur de grains AGM\">\n        <\/div>\n\n        <div class=\"hub-agm-addon-card__body\">\n          <div class=\"hub-agm-addon-card__top\">\n            <span class=\"hub-agm-addon-card__badge\">Gestion des poussi\u00e8res<\/span>\n            <h3>Cyclone<\/h3>\n          <\/div>\n\n          <p class=\"hub-agm-addon-card__desc\">\n            Un cyclone optionnel am\u00e9liore la s\u00e9paration des poussi\u00e8res et la gestion du rejet d\u2019air pendant le fonctionnement, contribuant \u00e0 maintenir une zone de travail plus propre et \u00e0 optimiser l\u2019organisation g\u00e9n\u00e9rale du proc\u00e9d\u00e9.\n          <\/p>\n\n          <ul class=\"hub-agm-addon-card__list\">\n            <li>Meilleure collecte des poussi\u00e8res<\/li>\n            <li>Zone de travail plus propre<\/li>\n            <li>Adapt\u00e9 aux syst\u00e8mes int\u00e9gr\u00e9s de flux d\u2019air<\/li>\n          <\/ul>\n        <\/div>\n      <\/article>\n\n      <article class=\"hub-agm-addon-card hub-addon-reveal hub-addon-reveal--right\" style=\"--d:.16s;\">\n        <span class=\"hub-agm-addon-card__glow\"><\/span>\n\n        <div class=\"hub-agm-addon-card__media\">\n          <div class=\"hub-agm-addon-card__bg-shape hub-agm-addon-card__bg-shape--one\"><\/div>\n          <div class=\"hub-agm-addon-card__bg-shape hub-agm-addon-card__bg-shape--two\"><\/div>\n\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/03\/agm-5cyclon.webp\" alt=\"Drum pre-cleaner for Nettoyeur de grains AGM\">\n        <\/div>\n\n        <div class=\"hub-agm-addon-card__body\">\n          <div class=\"hub-agm-addon-card__top\">\n            <span class=\"hub-agm-addon-card__badge\">\u00c9tape de pr\u00e9-nettoyage<\/span>\n            <h3>Pr\u00e9-nettoyeur \u00e0 tambour<\/h3>\n          <\/div>\n\n          <p class=\"hub-agm-addon-card__desc\">\n            Le pr\u00e9-nettoyeur \u00e0 tambour \u00e9limine les grosses impuret\u00e9s avant que le produit n\u2019entre dans le nettoyeur AGM, r\u00e9duisant la charge sur la machine principale et am\u00e9liorant la stabilit\u00e9 du flux de travail sur les lignes \u00e0 grand d\u00e9bit.\n          <\/p>\n\n          <ul class=\"hub-agm-addon-card__list\">\n            <li>\u00c9limine d\u2019abord les impuret\u00e9s grossi\u00e8res<\/li>\n            <li>R\u00e9duit la charge sur le nettoyeur principal<\/li>\n            <li>Recommand\u00e9 pour des volumes d\u2019alimentation plus \u00e9lev\u00e9s<\/li>\n          <\/ul>\n        <\/div>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  .hub-agm-addons-v1{\n    position:relative;\n    overflow:hidden;\n    padding:110px 0;\n   \n    font-family:Montserrat, sans-serif;\n  }\n\n  .hub-agm-addons-v1__bg{\n    position:absolute;\n    inset:0;\n    pointer-events:none;\n    background:\n      linear-gradient(90deg, rgba(255,255,255,.25), rgba(255,255,255,0) 36%, rgba(255,255,255,.12) 100%);\n  }\n\n  .hub-agm-addons-v1__wrap{\n    position:relative;\n    z-index:2;\n    max-width:1320px;\n    margin:0 auto;\n    padding:0 24px;\n  }\n\n  .hub-agm-addons-v1__head{\n    max-width:760px;\n    margin-bottom:34px;\n  }\n\n  .hub-agm-addons-v1__eyebrow{\n    display:inline-flex;\n    align-items:center;\n    padding:8px 14px;\n    margin-bottom:18px;\n    border-radius:999px;\n    background:rgba(92,132,255,.08);\n    border:1px solid rgba(92,132,255,.14);\n    color:#5a7cff;\n    font-size:12px;\n    font-weight:700;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hub-agm-addons-v1__title{\n    margin:0 0 16px;\n    font-size:clamp(34px, 4.3vw, 58px);\n    line-height:1.02;\n    letter-spacing:-.03em;\n    font-weight:800;\n    color:#1d2438;\n    max-width:900px;\n  }\n\n  .hub-agm-addons-v1__text{\n    margin:0;\n    max-width:680px;\n    color:#6d7893;\n    font-size:17px;\n    line-height:1.8;\n  }\n\n  .hub-agm-addons-v1__grid{\n    display:grid;\n    grid-template-columns:repeat(2, minmax(0, 1fr));\n    gap:24px;\n  }\n\n  .hub-agm-addon-card{\n    position:relative;\n    display:grid;\n    grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);\n    align-items:stretch;\n    overflow:hidden;\n    border-radius:30px;\n    background:rgba(255,255,255,.62);\n    border:1px solid rgba(255,255,255,.86);\n    box-shadow:\n      0 16px 40px rgba(31,42,68,.06),\n      inset 0 1px 0 rgba(255,255,255,.8);\n    backdrop-filter:blur(14px);\n    -webkit-backdrop-filter:blur(14px);\n    transition:\n      transform .45s ease,\n      box-shadow .45s ease,\n      border-color .45s ease;\n    isolation:isolate;\n  }\n\n  .hub-agm-addon-card:hover{\n    transform:translateY(-8px);\n    box-shadow:\n      0 26px 56px rgba(31,42,68,.11),\n      inset 0 1px 0 rgba(255,255,255,.82);\n    border-color:rgba(92,132,255,.14);\n  }\n\n  .hub-agm-addon-card__glow{\n    position:absolute;\n    width:260px;\n    height:260px;\n    left:var(--mx, 50%);\n    top:var(--my, 50%);\n    transform:translate(-50%, -50%);\n    border-radius:50%;\n    background:\n      radial-gradient(circle, rgba(92,132,255,.16) 0%, rgba(24,185,129,.10) 34%, rgba(92,132,255,0) 72%);\n    opacity:0;\n    z-index:0;\n    pointer-events:none;\n    filter:blur(10px);\n    transition:opacity .3s ease;\n  }\n\n  .hub-agm-addon-card:hover .hub-agm-addon-card__glow{\n    opacity:1;\n  }\n\n  .hub-agm-addon-card__media,\n  .hub-agm-addon-card__body{\n    position:relative;\n    z-index:1;\n  }\n\n  .hub-agm-addon-card__media{\n    min-height:360px;\n    background:linear-gradient(180deg, #f8fbfd 0%, #edf3f6 100%);\n    overflow:hidden;\n  }\n\n  .hub-agm-addon-card__bg-shape{\n    position:absolute;\n    border-radius:50%;\n    filter:blur(16px);\n    pointer-events:none;\n  }\n\n  .hub-agm-addon-card__bg-shape--one{\n    width:200px;\n    height:200px;\n    left:-30px;\n    top:-30px;\n    background:rgba(92,132,255,.10);\n  }\n\n  .hub-agm-addon-card__bg-shape--two{\n    width:180px;\n    height:180px;\n    right:-20px;\n    bottom:-20px;\n    background:rgba(24,185,129,.10);\n  }\n\n  .hub-agm-addon-card__media img{\n    position:relative;\n    z-index:2;\n    width:100%;\n    height:100%;\n    min-height:360px;\n    object-fit:contain;\n    display:block;\n    filter:drop-shadow(0 24px 32px rgba(31,42,68,.16));\n    transition:transform .55s ease;\n  }\n\n  .hub-agm-addon-card:hover .hub-agm-addon-card__media img{\n    transform:scale(1.04);\n  }\n\n  .hub-agm-addon-card__body{\n    padding:28px 28px 26px;\n    display:flex;\n    flex-direction:column;\n    justify-content:center;\n  }\n\n  .hub-agm-addon-card__top{\n    margin-bottom:14px;\n  }\n\n  .hub-agm-addon-card__badge{\n    display:inline-flex;\n    align-items:center;\n    padding:8px 12px;\n    margin-bottom:12px;\n    border-radius:999px;\n    background:rgba(92,132,255,.08);\n    color:#5a7cff;\n    font-size:12px;\n    font-weight:700;\n    letter-spacing:.06em;\n    text-transform:uppercase;\n  }\n\n  .hub-agm-addon-card__top h3{\n    margin:0;\n    color:#1d2438;\n    font-size:34px;\n    line-height:1.06;\n    letter-spacing:-.03em;\n    font-weight:800;\n  }\n\n  .hub-agm-addon-card__desc{\n    margin:0 0 18px;\n    color:#6d7893;\n    font-size:15px;\n    line-height:1.8;\n  }\n\n  .hub-agm-addon-card__list{\n    margin:0;\n    padding:0;\n    list-style:none;\n    display:grid;\n    gap:10px;\n  }\n\n  .hub-agm-addon-card__list li{\n    position:relative;\n    padding-left:18px;\n    color:#25304d;\n    font-size:14px;\n    line-height:1.6;\n    font-weight:600;\n  }\n\n  .hub-agm-addon-card__list li::before{\n    content:\"\";\n    position:absolute;\n    left:0;\n    top:.58em;\n    width:8px;\n    height:8px;\n    border-radius:50%;\n    background:linear-gradient(135deg, #4f7cff, #19b98a);\n    box-shadow:0 0 0 4px rgba(79,124,255,.08);\n  }\n\n  .hub-addon-reveal{\n    opacity:0;\n    transition:\n      opacity 1.1s cubic-bezier(.22,1,.36,1),\n      transform 1.1s cubic-bezier(.22,1,.36,1);\n    transition-delay:var(--d, 0s);\n    will-change:opacity, transform;\n  }\n\n  .hub-addon-reveal--up{\n    transform:translate3d(0, 34px, 0);\n  }\n\n  .hub-addon-reveal--left{\n    transform:translate3d(-34px, 0, 0) scale(.98);\n  }\n\n  .hub-addon-reveal--right{\n    transform:translate3d(34px, 0, 0) scale(.98);\n  }\n\n  .hub-addon-reveal.is-visible{\n    opacity:1;\n    transform:translate3d(0,0,0) scale(1);\n  }\n\n  @media (max-width: 1100px){\n    .hub-agm-addons-v1__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hub-agm-addon-card{\n      grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);\n    }\n  }\n\n  @media (max-width: 767px){\n    .hub-agm-addons-v1{\n      padding:80px 0;\n    }\n\n    .hub-agm-addons-v1__wrap{\n      padding:0 16px;\n    }\n\n    .hub-agm-addons-v1__title{\n      font-size:clamp(30px, 9vw, 42px);\n    }\n\n    .hub-agm-addons-v1__text{\n      font-size:15px;\n      line-height:1.7;\n    }\n\n    .hub-agm-addon-card{\n      grid-template-columns:1fr;\n      border-radius:24px;\n    }\n\n    .hub-agm-addon-card__media{\n      min-height:260px;\n    }\n\n    .hub-agm-addon-card__media img{\n      min-height:260px;\n      padding:18px;\n    }\n\n    .hub-agm-addon-card__body{\n      padding:20px 18px 18px;\n    }\n\n    .hub-agm-addon-card__top h3{\n      font-size:28px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce){\n    .hub-addon-reveal,\n    .hub-agm-addon-card,\n    .hub-agm-addon-card__media img,\n    .hub-agm-addon-card__glow{\n      transition:none !important;\n      animation:none !important;\n      transform:none !important;\n      opacity:1 !important;\n    }\n  }\n<\/style>\n\n<script>\n  (function () {\n    const section = document.querySelector('.hub-agm-addons-v1');\n    if (!section) return;\n\n    const revealItems = section.querySelectorAll('.hub-addon-reveal');\n    if (revealItems.length) {\n      const observer = new IntersectionObserver((entries, obs) => {\n        entries.forEach(entry => {\n          if (!entry.isIntersecting) return;\n          entry.target.classList.add('is-visible');\n          obs.unobserve(entry.target);\n        });\n      }, {\n        threshold: 0.14,\n        rootMargin: '0px 0px -8% 0px'\n      });\n\n      revealItems.forEach(item => observer.observe(item));\n    }\n\n    const cards = section.querySelectorAll('.hub-agm-addon-card');\n    cards.forEach(card => {\n      card.addEventListener('mousemove', (e) => {\n        const rect = card.getBoundingClientRect();\n        const x = e.clientX - rect.left;\n        const y = e.clientY - rect.top;\n        card.style.setProperty('--mx', x + 'px');\n        card.style.setProperty('--my', y + 'px');\n      });\n    });\n  })();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-735b2c4 e-flex e-con-boxed e-con e-parent\" data-id=\"735b2c4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6f272cf elementor-widget elementor-widget-html\" data-id=\"6f272cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n.simple-cf7-wrap,\n.simple-cf7-wrap *{\n  box-sizing:border-box;\n}\n\n.simple-cf7-wrap{\n  max-width: 980px;\n  margin: 0 auto;\n  padding: 48px 20px;\n  font-family: Montserrat, sans-serif;\n}\n\n.simple-cf7-box{\n  background: #f7f9fc;\n  border: 1px solid #dde5f2;\n  border-radius: 24px;\n  padding: 28px;\n}\n\n.simple-cf7-head{\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 24px;\n  margin-bottom: 24px;\n}\n\n.simple-cf7-badge{\n  display:inline-block;\n  margin-bottom: 14px;\n  padding: 8px 14px;\n  border:1px solid #cfdaf3;\n  border-radius:999px;\n  color:#5a7cff;\n  font-size:12px;\n  font-weight:700;\n  letter-spacing:.12em;\n  text-transform:uppercase;\n}\n\n.simple-cf7-title{\n  margin:0;\n  font-size: clamp(34px, 5vw, 64px);\n  line-height: .95;\n  letter-spacing: -.04em;\n  font-weight: 800;\n  color:#1d2438;\n}\n\n.simple-cf7-text{\n  margin: 0;\n  color:#6d7893;\n  font-size:16px;\n  line-height:1.7;\n  align-self:center;\n}\n\n.simple-cf7-form{\n  margin:0;\n}\n\n.simple-cf7-grid{\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 16px 18px;\n}\n\n.simple-cf7-field{\n  min-width:0;\n}\n\n.simple-cf7-field.full{\n  grid-column:1 \/ -1;\n}\n\n.simple-cf7-label{\n  display:block;\n  margin:0 0 8px;\n  font-size:13px;\n  font-weight:700;\n  line-height:1.35;\n  color:#1d2438;\n}\n\n.simple-cf7-input,\n.simple-cf7-select,\n.simple-cf7-textarea{\n  display:block;\n  width:100%;\n  min-height:54px;\n  margin:0;\n  padding:14px 16px;\n  border:1px solid #cfd9ea;\n  border-radius:16px;\n  background:#fff;\n  color:#1d2438;\n  font: inherit;\n  font-size:15px;\n  font-weight:500;\n  line-height:1.4;\n  outline:none;\n  box-shadow:none;\n  appearance:none;\n  -webkit-appearance:none;\n}\n\n.simple-cf7-input::placeholder,\n.simple-cf7-textarea::placeholder{\n  color:#a8b3c8;\n  font-weight:400;\n  opacity:1;\n}\n.simple-cf7-textarea,\n.simple-cf7-textarea:focus,\n.simple-cf7-textarea:active{\n  color:#1d2438 !important;\n  -webkit-text-fill-color:#1d2438 !important;\n  caret-color:#1d2438 !important;\n}\n.simple-cf7-textarea::placeholder{\n  color:#a8b3c8 !important;\n  -webkit-text-fill-color:#a8b3c8 !important;\n  opacity:1;\n}\n.simple-cf7-input:focus,\n.simple-cf7-select:focus,\n.simple-cf7-textarea:focus{\n  border-color:#8ea7ff;\n  box-shadow:0 0 0 4px rgba(90,124,255,.10);\n}\n\n.simple-cf7-select{\n  padding-right:46px;\n  background-image:\n    linear-gradient(45deg, transparent 50%, #5a7cff 50%),\n    linear-gradient(135deg, #5a7cff 50%, transparent 50%);\n  background-position:\n    calc(100% - 22px) calc(50% - 3px),\n    calc(100% - 16px) calc(50% - 3px);\n  background-size:6px 6px, 6px 6px;\n  background-repeat:no-repeat;\n}\n\n.simple-cf7-select:invalid{\n  color:#a8b3c8;\n  font-weight:400;\n}\n\n.simple-cf7-textarea{\n  min-height:140px;\n  resize:vertical;\n}\n\n.simple-cf7-check{\n  display:flex;\n  align-items:flex-start;\n  gap:10px;\n  color:#6d7893;\n  font-size:13px;\n  line-height:1.5;\n}\n\n.simple-cf7-check input{\n  margin-top:3px;\n}\n\n.simple-cf7-actions{\n  display:flex;\n  align-items:center;\n  gap:14px;\n  flex-wrap:wrap;\n}\n\n.simple-cf7-btn{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  min-height:52px;\n  padding:14px 24px;\n  border:0;\n  border-radius:16px;\n  background: linear-gradient(135deg, #4f7cff 0%, #19b98a 100%);\n  color:#fff;\n  font: inherit;\n  font-size:15px;\n  font-weight:800;\n  cursor:pointer;\n  white-space:nowrap;\n}\n\n.simple-cf7-btn span{\n  color:#fff;\n}\n\n.simple-cf7-note{\n  color:#8a95ad;\n  font-size:12px;\n  line-height:1.45;\n}\n\n.simple-cf7-status{\n  display:none;\n  margin-top:14px;\n  padding:12px 14px;\n  border-radius:14px;\n  font-size:13px;\n  font-weight:600;\n}\n\n.simple-cf7-status.show{\n  display:block;\n}\n\n.simple-cf7-status.ok{\n  background:#dff5ec;\n  color:#166c55;\n}\n\n.simple-cf7-status.err{\n  background:#fde8e8;\n  color:#9f3f3f;\n}\n\n.simple-cf7-error{\n  display:none;\n  margin-top:6px;\n  color:#cc4a4a;\n  font-size:12px;\n  font-weight:600;\n}\n\n.simple-cf7-field.bad .simple-cf7-error{\n  display:block;\n}\n\n.simple-cf7-field.bad .simple-cf7-input,\n.simple-cf7-field.bad .simple-cf7-select,\n.simple-cf7-field.bad .simple-cf7-textarea{\n  border-color:#d86a6a;\n  box-shadow:0 0 0 4px rgba(216,106,106,.08);\n}\n\n.simple-cf7-proxy{\n  position:absolute !important;\n  left:-99999px !important;\n  width:1px !important;\n  height:1px !important;\n  overflow:hidden !important;\n  opacity:0 !important;\n  pointer-events:none !important;\n}\n\n@media (max-width: 800px){\n  .simple-cf7-head,\n  .simple-cf7-grid{\n    grid-template-columns:1fr;\n  }\n\n  .simple-cf7-field.full{\n    grid-column:auto;\n  }\n\n  .simple-cf7-box{\n    padding:20px;\n    border-radius:20px;\n  }\n\n  .simple-cf7-wrap{\n    padding:32px 16px;\n  }\n}\n  .simple-cf7-choices{\n  display:flex;\n  flex-wrap:wrap;\n  gap:10px;\n}\n\n.simple-cf7-choice{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  min-height:44px;\n  padding:10px 16px;\n  border:1px solid #cfd9ea;\n  border-radius:999px;\n  background:#fff;\n  color:#44506b;\n  font:inherit;\n  font-size:14px;\n  font-weight:600;\n  line-height:1.3;\n  cursor:pointer;\n  transition:border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;\n}\n\n.simple-cf7-choice:hover{\n  border-color:#8ea7ff;\n  color:#1d2438;\n}\n\n.simple-cf7-choice.is-active{\n  background:#eef4ff;\n  border-color:#5a7cff;\n  color:#1d2438;\n  box-shadow:0 0 0 3px rgba(90,124,255,.10);\n}\n<\/style>\n\n<section class=\"simple-cf7-wrap\" id=\"contact\">\n  <div class=\"simple-cf7-box\">\n    <div class=\"simple-cf7-head\">\n      <div>\n        <span class=\"simple-cf7-badge\">Contactez-nous<\/span>\n        <h2 class=\"simple-cf7-title\">Envoyez votre demande<\/h2>\n      <\/div>\n      <p class=\"simple-cf7-text\">\n        Indiquez-nous le type d\u2019\u00e9quipement dont vous avez besoin, la capacit\u00e9 requise ainsi que votre march\u00e9 cible ou votre destination. Nous vous recontacterons avec la configuration appropri\u00e9e et les d\u00e9tails commerciaux correspondants.\n      <\/p>\n    <\/div>\n\n    <form class=\"simple-cf7-form\" novalidate>\n      <div class=\"simple-cf7-grid\">\n        <div class=\"simple-cf7-field\" data-name=\"name\">\n          <label class=\"simple-cf7-label\" for=\"scf7-name\">Votre nom<\/label>\n          <input class=\"simple-cf7-input\" id=\"scf7-name\" name=\"name\" type=\"text\" placeholder=\"Enter your name\" required>\n          <div class=\"simple-cf7-error\">Veuillez saisir votre nom.<\/div>\n        <\/div>\n\n        <div class=\"simple-cf7-field\" data-name=\"company\">\n          <label class=\"simple-cf7-label\" for=\"scf7-company\">Entreprise<\/label>\n          <input class=\"simple-cf7-input\" id=\"scf7-company\" name=\"company\" type=\"text\" placeholder=\"Enter company name\">\n        <\/div>\n\n        <div class=\"simple-cf7-field\" data-name=\"email\">\n          <label class=\"simple-cf7-label\" for=\"scf7-email\">E-mail<\/label>\n          <input class=\"simple-cf7-input\" id=\"scf7-email\" name=\"email\" type=\"email\" placeholder=\"Enter your email\" required>\n          <div class=\"simple-cf7-error\">Veuillez saisir une adresse e-mail valide.<\/div>\n        <\/div>\n\n        <div class=\"simple-cf7-field\" data-name=\"phone\">\n          <label class=\"simple-cf7-label\" for=\"scf7-phone\">T\u00e9l\u00e9phone<\/label>\n          <input class=\"simple-cf7-input\" id=\"scf7-phone\" name=\"phone\" type=\"text\" placeholder=\"Enter phone number\">\n        <\/div>\n\n        <div class=\"simple-cf7-field full\" data-name=\"interest\">\n  <label class=\"simple-cf7-label\">Int\u00e9ress\u00e9 par<\/label>\n\n  <div class=\"simple-cf7-choices\">\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"Nettoyeur de grains AGM\">Nettoyeur de grains AGM<\/button>\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"Nettoyeur de grains BISS\">Nettoyeur de grains BISS<\/button>\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"Nettoyeur de grains UKS\">Nettoyeur de grains UKS<\/button>\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"Nettoyeur de grains BS\">Nettoyeur de grains BS<\/button>\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"Table densim\u00e9trique WT\">Table densim\u00e9trique WT<\/button>\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"\u00c9pierreur KM\">\u00c9pierreur KM<\/button>\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"Enrobeuse de semences PN\">Enrobeuse de semences PN<\/button>\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"Trieur BST\">Trieur BST<\/button>\n    <button type=\"button\" class=\"simple-cf7-choice\" data-value=\"Autre\">Autre<\/button>\n  <\/div>\n\n  <input type=\"hidden\" name=\"interest\" id=\"scf7-interest-hidden\">\n  <div class=\"simple-cf7-error\">Veuillez s\u00e9lectionner un \u00e9quipement.<\/div>\n<\/div>\n\n        <div class=\"simple-cf7-field full\" data-name=\"message\">\n          <label class=\"simple-cf7-label\" for=\"scf7-message\">Votre message<\/label>\n          <textarea class=\"simple-cf7-textarea\" id=\"scf7-message\" name=\"message\" placeholder=\"Tell us about your task, required capacity, crop type or delivery destination\"><\/textarea>\n        <\/div>\n\n        <div class=\"simple-cf7-field full\" data-name=\"privacy\">\n          <label class=\"simple-cf7-check\">\n            <input id=\"scf7-privacy\" name=\"privacy\" type=\"checkbox\" required>\n            <span>J\u2019accepte le traitement de mes donn\u00e9es personnelles aux fins de r\u00e9pondre \u00e0 ma demande.<\/span>\n          <\/label>\n          <div class=\"simple-cf7-error\">Veuillez confirmer votre consentement avant l\u2019envoi.<\/div>\n        <\/div>\n\n        <div class=\"simple-cf7-field full\">\n          <div class=\"simple-cf7-actions\">\n            <button class=\"simple-cf7-btn\" type=\"submit\"><span>Envoyer la demande<\/span><\/button>\n          <\/div>\n          <div class=\"simple-cf7-status\" aria-live=\"polite\"><\/div>\n        <\/div>\n      <\/div>\n    <\/form>\n\n    <div class=\"simple-cf7-proxy\">\n\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f9040-o1\" lang=\"fr-FR\" dir=\"ltr\" data-wpcf7-id=\"9040\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/fr\/wp-json\/wp\/v2\/pages\/8531#wpcf7-f9040-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulaire de contact\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"9040\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"fr_FR\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f9040-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"Fiche produit\" type=\"hidden\" name=\"form-source\" \/>\n<div class=\"hub-cf7-form\">\n\t<div class=\"hub-cf7-grid\">\n\t\t<div class=\"hub-cf7-field\">\n\t\t\t<p><label>Votre nom<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" autocomplete=\"name\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Saisissez votre nom\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"hub-cf7-field\">\n\t\t\t<p><label>Entreprise<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"Saisissez le nom de l\u2019entreprise\" value=\"\" type=\"text\" name=\"your-company\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"hub-cf7-field\">\n\t\t\t<p><label>E-mail<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" autocomplete=\"email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Saisissez votre e-mail\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"hub-cf7-field\">\n\t\t\t<p><label>T\u00e9l\u00e9phone<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-phone\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-text wpcf7-validates-as-tel\" autocomplete=\"tel\" aria-invalid=\"false\" placeholder=\"Saisissez votre num\u00e9ro de t\u00e9l\u00e9phone\" value=\"\" type=\"tel\" name=\"your-phone\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"hub-cf7-field hub-cf7-field--full\">\n\t\t\t<p><label>Int\u00e9ress\u00e9 par<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-interest\"><select class=\"wpcf7-form-control wpcf7-select\" aria-invalid=\"false\" name=\"your-interest\"><option value=\"\">S\u00e9lectionnez l\u2019\u00e9quipement<\/option><option value=\"Nettoyeur de grains AGM\">Nettoyeur de grains AGM<\/option><option value=\"Nettoyeur de grains BISS\">Nettoyeur de grains BISS<\/option><option value=\"Nettoyeur de grains UKS\">Nettoyeur de grains UKS<\/option><option value=\"Nettoyeur de grains BS\">Nettoyeur de grains BS<\/option><option value=\"Table densim\u00e9trique WT\">Table densim\u00e9trique WT<\/option><option value=\"\u00c9pierreur KM\">\u00c9pierreur KM<\/option><option value=\"Traiteur de semences PN\">Traiteur de semences PN<\/option><option value=\"Trieur BST\">Trieur BST<\/option><option value=\"Autre\">Autre<\/option><\/select><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"hub-cf7-field hub-cf7-field--full\">\n\t\t\t<p><label>Votre message<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"5\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"Parlez-nous de votre projet, de la capacit\u00e9 requise, du type de culture ou de la destination de livraison\" name=\"your-message\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"hub-cf7-field hub-cf7-field--full hub-cf7-accept\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"acceptance-privacy\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acceptance-privacy\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">J\u2019accepte le traitement de mes donn\u00e9es personnelles afin de r\u00e9pondre \u00e0 ma demande.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"hub-cf7-field hub-cf7-field--full hub-cf7-submit-row\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Envoyer la demande\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  const root = document.querySelector('.simple-cf7-wrap');\n  if (!root) return;\n\n  const form = root.querySelector('.simple-cf7-form');\n  const status = root.querySelector('.simple-cf7-status');\n  const button = root.querySelector('.simple-cf7-btn');\n  const cf7 = root.querySelector('.wpcf7 form');\n  if (!form || !cf7) return;\n\n  const f = {\n    name: form.querySelector('[name=\"name\"]'),\n    company: form.querySelector('[name=\"company\"]'),\n    email: form.querySelector('[name=\"email\"]'),\n    phone: form.querySelector('[name=\"phone\"]'),\n    interest: form.querySelector('[name=\"interest\"]'),\n    message: form.querySelector('[name=\"message\"]'),\n    privacy: form.querySelector('[name=\"privacy\"]')\n  };\n\n  const p = {\n    name: cf7.querySelector('[name=\"your-name\"]'),\n    company: cf7.querySelector('[name=\"your-company\"]'),\n    email: cf7.querySelector('[name=\"your-email\"]'),\n    phone: cf7.querySelector('[name=\"your-phone\"]'),\n    interest: cf7.querySelector('[name=\"your-interest\"]'),\n    message: cf7.querySelector('[name=\"your-message\"]'),\n    privacy: cf7.querySelector('[name=\"acceptance-privacy\"]'),\n    submit: cf7.querySelector('input[type=\"submit\"], button[type=\"submit\"]')\n  };\nconst choiceButtons = form.querySelectorAll('.simple-cf7-choice');\n\nchoiceButtons.forEach(btn => {\n  btn.addEventListener('click', function(){\n    choiceButtons.forEach(item => item.classList.remove('is-active'));\n    btn.classList.add('is-active');\n    f.interest.value = btn.dataset.value;\n\n    const field = form.querySelector('[data-name=\"interest\"]');\n    if (field) field.classList.remove('bad');\n    clearStatus();\n  });\n});\n  function setStatus(type, text) {\n    status.className = 'simple-cf7-status show ' + (type === 'ok' ? 'ok' : 'err');\n    status.textContent = text;\n  }\n\n  function clearStatus() {\n    status.className = 'simple-cf7-status';\n    status.textContent = '';\n  }\n\n  function bad(name, on) {\n    const el = form.querySelector('[data-name=\"' + name + '\"]');\n    if (el) el.classList.toggle('bad', !!on);\n  }\n\n  function validate() {\n    let ok = true;\n    bad('name', !f.name.value.trim());\n    if (!f.name.value.trim()) ok = false;\n\n    const emailOk = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(f.email.value.trim());\n    bad('email', !emailOk);\n    if (!emailOk) ok = false;\n\n    bad('interest', !f.interest.value);\n    if (!f.interest.value) ok = false;\n\n    bad('privacy', !f.privacy.checked);\n    if (!f.privacy.checked) ok = false;\n\n    return ok;\n  }\n\n  function sync() {\n    if (p.name) p.name.value = f.name.value.trim();\n    if (p.company) p.company.value = f.company.value.trim();\n    if (p.email) p.email.value = f.email.value.trim();\n    if (p.phone) p.phone.value = f.phone.value.trim();\n    if (p.interest) p.interest.value = f.interest.value;\n    if (p.message) p.message.value = f.message.value.trim();\n    if (p.privacy) {\n      p.privacy.checked = f.privacy.checked;\n      p.privacy.dispatchEvent(new Event('change', { bubbles: true }));\n    }\n  }\n\n  form.addEventListener('input', function(e){\n    const field = e.target.closest('.simple-cf7-field');\n    if (field) field.classList.remove('bad');\n    clearStatus();\n  });\n\n  form.addEventListener('change', function(e){\n    const field = e.target.closest('.simple-cf7-field');\n    if (field) field.classList.remove('bad');\n    clearStatus();\n  });\n\n  form.addEventListener('submit', function(e){\n    e.preventDefault();\n    clearStatus();\n\n    if (!validate()) {\n      setStatus('err', 'Please fill in the required fields.');\n      return;\n    }\n\n    sync();\n\n    if (!p.submit) {\n      setStatus('err', 'CF7 submit button was not found.');\n      return;\n    }\n\n    button.disabled = true;\n    button.querySelector('span').textContent = 'Sending...';\n    p.submit.click();\n  });\n\n  document.addEventListener('wpcf7mailsent', function(event){\n    if (!root.contains(event.target)) return;\n    button.disabled = false;\n    button.querySelector('span').textContent = 'Envoyer la demande';\n    form.reset();\n    setStatus('ok', 'Thank you for your message. It has been sent.');\n  });\n\n  document.addEventListener('wpcf7mailfailed', function(event){\n    if (!root.contains(event.target)) return;\n    button.disabled = false;\n    button.querySelector('span').textContent = 'Envoyer la demande';\n    setStatus('err', 'Sending failed. Please try again in a moment.');\n  });\n\n  document.addEventListener('wpcf7invalid', function(event){\n    if (!root.contains(event.target)) return;\n    button.disabled = false;\n    button.querySelector('span').textContent = 'Envoyer la demande';\n    setStatus('err', 'Please check the required fields.');\n  });\n\n  document.addEventListener('wpcf7spam', function(event){\n    if (!root.contains(event.target)) return;\n    button.disabled = false;\n    button.querySelector('span').textContent = 'Envoyer la demande';\n    setStatus('err', 'Message was blocked as spam.');\n  });\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-13461eaa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"13461eaa\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4eac4257\" data-id=\"4eac4257\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56568252 elementor-widget__width-auto elementor-widget elementor-widget-hub_fancy_heading\" data-id=\"56568252\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hub_fancy_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t<div id=\"ld-fancy-heading-69d2a98e01cd7\" class=\"ld-fancy-heading pos-rel\">\n\t\t\t<h6 class=\"ld-fh-element d-inline-block pos-rel  elementor-heading-title lqd-highlight-classic lqd-highlight-grow-left h6\"  > Galerie<\/h6>\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c67a3f9 elementor-widget elementor-widget-hub_fancy_heading\" data-id=\"2c67a3f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hub_fancy_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t<div id=\"ld-fancy-heading-69d2a98e02572\" class=\"ld-fancy-heading pos-rel\">\n\t\t\t<h2 class=\"ld-fh-element d-inline-block pos-rel  elementor-heading-title lqd-highlight-classic lqd-highlight-grow-left h2\"  > D\u00e9couvrez la s\u00e9rie AGM en fonctionnement r\u00e9el<\/h2>\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c7c1e47 elementor-widget elementor-widget-hub_fancy_heading\" data-id=\"6c7c1e47\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hub_fancy_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t<div id=\"ld-fancy-heading-69d2a98e02b33\" class=\"ld-fancy-heading pos-rel\">\n\t\t\t<p class=\"ld-fh-element d-inline-block pos-rel  lqd-highlight-classic lqd-highlight-grow-left p\"  > D\u00e9couvrez le nettoyeur de grains AGM dans diff\u00e9rentes configurations, environnements de travail et formats d\u2019installation. La galerie met en \u00e9vidence les d\u00e9tails cl\u00e9s de la machine, des exemples r\u00e9els d\u2019implantation en production et les \u00e9quipements optionnels utilis\u00e9s pour adapter le syst\u00e8me \u00e0 des t\u00e2ches sp\u00e9cifiques de nettoyage des grains.<\/p>\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-12903a5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"12903a5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-daafee0\" data-id=\"daafee0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e93cd27 elementor-widget elementor-widget-ld_media_element\" data-id=\"e93cd27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ld_media_element.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t<div class=\"ld-media-row d-flex flex-wrap\" data-liquid-masonry=\"true\">\n\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-9a312c6\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1800\" height=\"2400\" src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery1.webp\" class=\"w-100 objfit-cover objpos-center\" alt=\"AGM-5\" srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery1.webp 1800w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery1-225x300.webp 225w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery1-768x1024.webp 768w\" sizes=\"(max-width: 1800px) 100vw, 1800px\" itemprop=\"image\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-5<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\"><\/h6>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a href=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery1.webp\" aria-label=\"AGM-5\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-5\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-432597d\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img decoding=\"async\" width=\"1866\" height=\"1400\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg xmlns%3D&#039;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#039; viewBox%3D&#039;0 0 1866 1400&#039;%2F%3E\" class=\"w-100 objfit-cover objpos-center ld-lazyload\" alt=\"AGM-15\" itemprop=\"image\" data-src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery3.webp\" data-srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery3.webp 1866w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery3-300x225.webp 300w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery3-1024x768.webp 1024w\" data-sizes=\"(max-width: 1866px) 100vw, 1866px\" data-aspect=\"1.3328571428571\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-15<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\"><\/h6>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a href=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery3.webp\" aria-label=\"AGM-15\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-15\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-3fe41b5\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img decoding=\"async\" width=\"1280\" height=\"960\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg xmlns%3D&#039;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#039; viewBox%3D&#039;0 0 1280 960&#039;%2F%3E\" class=\"w-100 objfit-cover objpos-center ld-lazyload\" alt=\"AGM-40 avec syst\u00e8me d\u2019aspiration\" itemprop=\"image\" data-src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery2.webp\" data-srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery2.webp 1280w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery2-300x225.webp 300w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery2-1024x768.webp 1024w\" data-sizes=\"(max-width: 1280px) 100vw, 1280px\" data-aspect=\"1.3333333333333\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-40 avec syst\u00e8me d\u2019aspiration<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\"><\/h6>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a href=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery2.webp\" aria-label=\"AGM-40 avec syst\u00e8me d\u2019aspiration\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-40 avec syst\u00e8me d\u2019aspiration\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-8b78b5e\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1866\" height=\"1400\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg xmlns%3D&#039;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#039; viewBox%3D&#039;0 0 1866 1400&#039;%2F%3E\" class=\"w-100 objfit-cover objpos-center ld-lazyload\" alt=\"AGM-15\" itemprop=\"image\" data-src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery4.webp\" data-srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery4.webp 1866w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery4-300x225.webp 300w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery4-1024x768.webp 1024w\" data-sizes=\"(max-width: 1866px) 100vw, 1866px\" data-aspect=\"1.3328571428571\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-15<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\"><\/h6>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a href=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-gallery4.webp\" aria-label=\"AGM-15\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-15\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-315704f\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"864\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg xmlns%3D&#039;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#039; viewBox%3D&#039;0 0 1536 864&#039;%2F%3E\" class=\"w-100 objfit-cover objpos-center ld-lazyload\" alt=\"AGM-5\" itemprop=\"image\" data-src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-video-preview1.webp\" data-srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-video-preview1.webp 1536w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-video-preview1-300x169.webp 300w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-video-preview1-1024x576.webp 1024w\" data-sizes=\"(max-width: 1536px) 100vw, 1536px\" data-aspect=\"1.7777777777778\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-5<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\">Vid\u00e9o AGM-5 : nettoyage du ma\u00efs et du bl\u00e9<\/h6>\n\t\t\t\t\t\t\t\t<span class=\"ld-media-icon icon-play bordered d-inline-flex align-items-center justify-content-center border-radius-circle\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ld-media-icon-inner d-flex align-items-center justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"lqd-icn-ess icon-ion-ios-play\"><\/i>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a  href=\"https:\/\/youtu.be\/t2MljkUEBWA\" target=\"_blank\" rel=\"nofollow\" aria-label=\"AGM-5\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-5\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-17b5838\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"2400\" height=\"1800\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg xmlns%3D&#039;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#039; viewBox%3D&#039;0 0 2400 1800&#039;%2F%3E\" class=\"w-100 objfit-cover objpos-center ld-lazyload\" alt=\"AGM-5\" itemprop=\"image\" data-src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-5webp.webp\" data-srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-5webp.webp 2400w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-5webp-300x225.webp 300w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-5webp-1024x768.webp 1024w\" data-sizes=\"(max-width: 2400px) 100vw, 2400px\" data-aspect=\"1.3333333333333\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-5<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\"><\/h6>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a href=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-5webp.webp\" aria-label=\"AGM-5\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-5\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-be43de1\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1800\" height=\"2400\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg xmlns%3D&#039;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#039; viewBox%3D&#039;0 0 1800 2400&#039;%2F%3E\" class=\"w-100 objfit-cover objpos-center ld-lazyload\" alt=\"AGM-5\" itemprop=\"image\" data-src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-7.webp\" data-srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-7.webp 1800w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-7-225x300.webp 225w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-7-768x1024.webp 768w\" data-sizes=\"(max-width: 1800px) 100vw, 1800px\" data-aspect=\"0.75\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-5<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\"><\/h6>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a href=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-7.webp\" aria-label=\"AGM-5\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-5\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-027f587\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1800\" height=\"2400\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg xmlns%3D&#039;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#039; viewBox%3D&#039;0 0 1800 2400&#039;%2F%3E\" class=\"w-100 objfit-cover objpos-center ld-lazyload\" alt=\"AGM-5\" itemprop=\"image\" data-src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-6.webp\" data-srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-6.webp 1800w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-6-225x300.webp 225w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-6-768x1024.webp 768w\" data-sizes=\"(max-width: 1800px) 100vw, 1800px\" data-aspect=\"0.75\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-5<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\"><\/h6>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a href=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-6.webp\" aria-label=\"AGM-5\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-5\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"masonry-item elementor-repeater-item-4e9342e\">\n\n\t\t\t\t<div class=\"ld-media-item pos-rel overflow-hidden  \">\n\n\t\t\t\t\t<figure class=\"bg-cover\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1800\" height=\"2400\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg xmlns%3D&#039;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#039; viewBox%3D&#039;0 0 1800 2400&#039;%2F%3E\" class=\"w-100 objfit-cover objpos-center ld-lazyload\" alt=\"AGM-5\" itemprop=\"image\" data-src=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-8.webp\" data-srcset=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-8.webp 1800w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-8-225x300.webp 225w, https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-8-768x1024.webp 768w\" data-sizes=\"(max-width: 1800px) 100vw, 1800px\" data-aspect=\"0.75\" \/>\t\t\t\t\t<\/figure>\n\n\t\t\t\t\t<div class=\"ld-media-item-overlay d-flex flex-column align-items-center lqd-overlay text-center justify-content-center\">\n\n\t\t\t\t\t\t<div class=\"ld-media-bg lqd-overlay\"><\/div>\n\n\t\t\t\t\t\t<div class=\"ld-media-content pos-rel z-index-2\">\n\t\t\t\t\t\t\t<div class=\"ld-media-txt\">\n\t\t\t\t\t\t\t\t<h3 class=\"m-0\">AGM-5<\/h3>\n\t\t\t\t\t\t\t\t<h6 class=\"m-0 text-uppercase ltr-sp-135\"><\/h6>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<a href=\"https:\/\/agro-tech-solution.com\/wp-content\/uploads\/2026\/03\/agm-5-8.webp\" aria-label=\"AGM-5\" class=\"lqd-overlay z-index-2 fresco\" data-fresco-caption=\"AGM-5\" data-fresco-group=\"ld-media-element-e93cd27\"><\/a>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-abb0f0d elementor-align-center elementor-absolute elementor-widget__width-initial elementor-widget elementor-widget-ld_button\" data-id=\"abb0f0d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"ld_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/youtu.be\/JLE228ZuGGA\" target=\"_blank\" rel=\"nofollow\"class=\"elementor-button btn btn-naked fresco btn-icon-right btn-icon-circle btn-icon-custom-size btn-icon-shaped btn-icon-solid btn-no-label\"\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"btn-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"lqd-icn-ess icon-ion-ios-play\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>NETTOYEUR DE GRAINS A\u00c9RODYNAMIQUE AGM S\u00e9rie de nettoyeurs de grainsa\u00e9rodynamiques AGM Solutions efficaces de nettoyage des grains pour les exploitations modernes et les lignes de transformation, avec un d\u00e9bit \u00e9lev\u00e9, une construction compacte et une faible consommation d\u2019\u00e9nergie. Convient au bl\u00e9, au ma\u00efs, \u00e0 l\u2019orge, au soja, au tournesol et \u00e0 d\u2019autres cultures. Envoyer une [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8531","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/agro-tech-solution.com\/fr\/wp-json\/wp\/v2\/pages\/8531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agro-tech-solution.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/agro-tech-solution.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/agro-tech-solution.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agro-tech-solution.com\/fr\/wp-json\/wp\/v2\/comments?post=8531"}],"version-history":[{"count":4,"href":"https:\/\/agro-tech-solution.com\/fr\/wp-json\/wp\/v2\/pages\/8531\/revisions"}],"predecessor-version":[{"id":9185,"href":"https:\/\/agro-tech-solution.com\/fr\/wp-json\/wp\/v2\/pages\/8531\/revisions\/9185"}],"wp:attachment":[{"href":"https:\/\/agro-tech-solution.com\/fr\/wp-json\/wp\/v2\/media?parent=8531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}