{"id":11744,"date":"2025-09-06T05:58:09","date_gmt":"2025-09-06T12:58:09","guid":{"rendered":"https:\/\/www.recyclemachine.net\/?page_id=11744"},"modified":"2026-09-10T22:42:36","modified_gmt":"2026-09-11T05:42:36","slug":"rumtoo-plastic-recycling-machinery","status":"publish","type":"page","link":"https:\/\/www.recyclemachine.net\/fr\/","title":{"rendered":"Fabricant de machines de recyclage plastique | Rumtoo"},"content":{"rendered":"<div class=\"wpb-content-wrapper\" id=\"wpb-content-root\">\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"@id\": \"https:\/\/www.recyclemachine.net\/#faq\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How much do your recycling machinery cost?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"To provide you with the most accurate and fair pricing, we customize each quote based on specific needs, shipping rates, and local requirements. Please contact us directly for a detailed quotation.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is manufacturing lead time?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Standard machines: Approximately 30-45 days post-contract. Plastic Recycling and Washing lines: Between 60 to 90 days. Custom projects: Timeline specified in the contract.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I order from Recycling Machines?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Our ordering process is straightforward. Contact us with your equipment needs and any custom specifications. Discover more about our ordering process and how we can assist you in making the best choices.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can I test your machinery?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes, we highly encourage testing. For complete systems, we perform a comprehensive trial run before shipment. We invite you to participate in this crucial phase to ensure the machinery meets your standards.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Warranty\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Recycling Machines offers a comprehensive one-year warranty on all machines and parts, ensuring they are free from defects.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Installation\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes, we provide a full installation package. Our certified engineers will assist with the setup and commissioning of your machinery. The client is responsible for arranging and covering travel and accommodations for our engineers. Installation duration varies by project size, typically requiring 7-14 days.\"\n      }\n    }\n  ]\n}\n<\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"VideoObject\",\n      \"name\": \"Industrial Textile Shredding System\",\n      \"description\": \"Video showing the industrial textile shredding system preparing pyrolysis feedstock.\",\n      \"embedUrl\": \"https:\/\/www.youtube-nocookie.com\/embed\/aG4fR_O7M1g\", \"uploadDate\": \"2025-09-06T12:58:09+00:00\", \"thumbnailUrl\": \"https:\/\/i.ytimg.com\/vi\/aG4fR_O7M1g\/hqdefault.jpg\"\n    },\n    {\n      \"@type\": \"VideoObject\",\n      \"name\": \"HDPE Recycling Washing Line\",\n      \"description\": \"Video showing the HDPE recycling washing line in operation.\",\n      \"embedUrl\": \"https:\/\/www.youtube-nocookie.com\/embed\/is9rwNcaVK4\", \"uploadDate\": \"2025-09-06T12:58:09+00:00\", \"thumbnailUrl\": \"https:\/\/i.ytimg.com\/vi\/is9rwNcaVK4\/hqdefault.jpg\"\n    },\n    {\n      \"@type\": \"VideoObject\",\n      \"name\": \"PP Woven Bag Shredder & Pelletizing Line\",\n      \"description\": \"Video showing the PP woven bag shredder and pelletizing line in operation.\",\n      \"embedUrl\": \"https:\/\/www.youtube-nocookie.com\/embed\/dK0ywPmCqv4\", \"uploadDate\": \"2025-09-06T12:58:09+00:00\", \"thumbnailUrl\": \"https:\/\/i.ytimg.com\/vi\/dK0ywPmCqv4\/hqdefault.jpg\"\n    }\n  ]\n}\n<\/script>\n\n<div class=\"rtm-hero-bleed alignfull\">\n    <div class=\"rtm-slideshow-container\">\n        <div class=\"rtm-slide active\">\n            <div class=\"rtm-slide-content\">\n                <h2>Turnkey Washing Systems for Rigid Plastics<\/h2>\n                <p>Maximize purity and profit. Advanced contaminant removal for high-value outputs.<\/p>\n                <div class=\"rtm-hero-actions\"><a href=\"https:\/\/www.recyclemachine.net\/contact-us\/\" class=\"rtm-button\">Get a Quote<\/a>\n                <a href=\"https:\/\/www.recyclemachine.net\/recycling-washing-systems\/\" class=\"rtm-button\">Learn More<\/a><\/div>\n            <\/div>\n            <div class=\"rtm-slide-image-overlay\"><\/div>\n            <img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Recycling-Washing-Line-1536x865.webp\" srcset=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Recycling-Washing-Line-768x432.webp 768w, https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Recycling-Washing-Line-1024x577.webp 1024w, https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Recycling-Washing-Line-1536x865.webp 1536w, https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Recycling-Washing-Line.webp 1920w\" sizes=\"100vw\" alt=\"Complete Industrial Plastic Recycling Washing Line for PP, PE, and PET waste processing.\" class=\"rtm-slide-image\" loading=\"eager\" fetchpriority=\"high\" decoding=\"async\" data-no-lazy=\"1\" width=\"1536\" height=\"865\">\n        <\/div>\n        <div class=\"rtm-slide\">\n            <div class=\"rtm-slide-content\">\n                <h2>High-Output Plastic Pelletizing Systems<\/h2>\n                <p>Turn waste into revenue with uniform, premium-quality pellets.<\/p>\n                <div class=\"rtm-hero-actions\"><a href=\"https:\/\/www.recyclemachine.net\/contact-us\/\" class=\"rtm-button\">Get a Quote<\/a>\n                <a href=\"https:\/\/www.recyclemachine.net\/plastic-pelletizers\" class=\"rtm-button\">Learn More<\/a><\/div>\n            <\/div>\n            <div class=\"rtm-slide-image-overlay\"><\/div>\n            <img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Pelletizer.webp\" alt=\"Plastic Pelletizing Machine with Cutter Compactor for PP PE film and flakes recycling.\" class=\"rtm-slide-image\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n        <div class=\"rtm-slide\">\n            <div class=\"rtm-slide-content\">\n                <h2>Heavy-Duty Single-Shaft Shredders<\/h2>\n                <p>Unstoppable torque. Effortlessly reduce tough films and woven sacks.<\/p>\n                <div class=\"rtm-hero-actions\"><a href=\"https:\/\/www.recyclemachine.net\/contact-us\/\" class=\"rtm-button\">Get a Quote<\/a>\n                <a href=\"https:\/\/www.recyclemachine.net\/plastic-shredders\/\" class=\"rtm-button\">Learn More<\/a><\/div>\n            <\/div>\n            <div class=\"rtm-slide-image-overlay\"><\/div>\n            <img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-ShredderCrusher.webp\" alt=\"Integrated Two-Stage Plastic Size Reduction System: Shredder and Crusher Combo with Cyclone.\" class=\"rtm-slide-image\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n        <div class=\"rtm-slide\">\n            <div class=\"rtm-slide-content\">\n                <h2>Precision Plastic Crusher<\/h2>\n                <p>Consistent particle size for superior recycling efficiency.<\/p>\n                <div class=\"rtm-hero-actions\"><a href=\"https:\/\/www.recyclemachine.net\/contact-us\/\" class=\"rtm-button\">Get a Quote<\/a>\n                <a href=\"https:\/\/www.recyclemachine.net\/plastic-crusher\/\" class=\"rtm-button\">Learn More<\/a><\/div>\n            <\/div>\n            <div class=\"rtm-slide-image-overlay\"><\/div>\n            <img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Crusher.webp\" alt=\"High-performance Industrial Plastic Crusher for rigid waste plastic recycling.\" class=\"rtm-slide-image\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n\n        <div class=\"rtm-slideshow-dots\"><\/div>\n        <button type=\"button\" class=\"rtm-carousel-pause\" hidden=\"\" aria-label=\"Pause\">\u2161<\/button>\n    <\/div>\n<\/div>\n\n<div class=\"rtm-bleed alignfull\">\n    <div class=\"products-section\">\n        <div class=\"section-header\">\n            <h2 data-reveal=\"blur-in\">Recycling Products<\/h2>\n            <p class=\"subtitle\" data-reveal=\"fade-up\" style=\"--d:1\">More recycling equipment to meet your needs<\/p>\n        <\/div>\n        <p class=\"rail-hint\" aria-hidden=\"true\">Swipe to explore \u2192<\/p>\n        <div class=\"card-container\">\n            <div class=\"card\" data-reveal=\"scale-in\" style=\"--d:1\"><a href=\"https:\/\/www.recyclemachine.net\/recycling-washing-systems\/\">\n                    <div class=\"card-image-wrapper\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2025\/12\/A-complete-plastic-washing-line-in-a-workshop.webp\" alt=\"Washing Recycling Line\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n                    <div class=\"card-content\">\n                        <h3>Washing Recycling Line<\/h3>\n                        <p>Comprehensive washing system that removes contaminants from various plastic types, preparing\n                            materials for high-quality recycling.<\/p>\n                    <\/div>\n                <\/a><\/div>\n            <div class=\"card\" data-reveal=\"scale-in\" style=\"--d:2\"><a href=\"https:\/\/www.recyclemachine.net\/plastic-pelletizers\">\n                    <div class=\"card-image-wrapper\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Pelletizer.webp\" alt=\"Pelletizing Machine\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n                    <div class=\"card-content\">\n                        <h3>Pelletizing Machine<\/h3>\n                        <p>State-of-the-art system that converts cleaned plastic flakes into uniform pellets, essential\n                            for producing high-quality recycled raw materials.<\/p>\n                    <\/div>\n                <\/a><\/div>\n            <div class=\"card\" data-reveal=\"scale-in\" style=\"--d:3\"><a href=\"https:\/\/www.recyclemachine.net\/plastic-crusher\">\n                    <div class=\"card-image-wrapper\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Crusher.webp\" alt=\"Crusher\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n                    <div class=\"card-content\">\n                        <h3>Crusher<\/h3>\n                        <p>Heavy-duty crusher designed for size reduction of various materials, enhancing recycling\n                            efficiency by preparing materials for further processing.<\/p>\n                    <\/div>\n                <\/a><\/div>\n            <div class=\"card\" data-reveal=\"scale-in\" style=\"--d:4\"><a href=\"https:\/\/www.recyclemachine.net\/msw-sorting-machines\">\n                    <div class=\"card-image-wrapper\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2025\/01\/Trommel-screen-01.webp\" alt=\"MSW Sorting System\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n                    <div class=\"card-content\">\n                        <h3>MSW Sorting System<\/h3>\n                        <p>Our Municipal Solid Waste (MSW) system efficiently separates mixed waste streams, recovering\n                            valuable recyclables and reducing landfill volume.<\/p>\n                    <\/div>\n                <\/a><\/div>\n            <div class=\"card\" data-reveal=\"scale-in\" style=\"--d:1\"><a href=\"https:\/\/www.recyclemachine.net\/balers\">\n                    <div class=\"card-image-wrapper\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2025\/07\/industrial-baler.webp\" alt=\"Baler Machine\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n                    <div class=\"card-content\">\n                        <h3>Baler Machine<\/h3>\n                        <p>High-capacity baler that compresses various materials including cardboard, plastic, and metal\n                            into dense, easily transportable bales.<\/p>\n                    <\/div>\n                <\/a><\/div>\n            <div class=\"card\" data-reveal=\"scale-in\" style=\"--d:2\"><a href=\"https:\/\/www.recyclemachine.net\/auxiliary-equipment\/\">\n                    <div class=\"card-image-wrapper\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2025\/07\/inclined-belt-conveyor.webp\" alt=\"Assistive System\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n                    <div class=\"card-content\">\n                        <h3>Assistive System<\/h3>\n                        <p>Advanced conveyor systems with integrated sorting capabilities, designed to enhance manual\n                            sorting operations and improve worker safety.<\/p>\n                    <\/div>\n                <\/a><\/div>\n            <div class=\"card\" data-reveal=\"scale-in\" style=\"--d:3\"><a href=\"https:\/\/www.recyclemachine.net\/drying-systems\/\">\n                    <div class=\"card-image-wrapper\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Pipe-Dryer-System.webp\" alt=\"Drying System\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n                    <div class=\"card-content\">\n                        <h3>Drying System<\/h3>\n                        <p>Efficiently removes moisture from washed plastic flakes to less than 1%, ensuring optimal\n                            quality for the pelletizing process.<\/p>\n                    <\/div>\n                <\/a><\/div>\n            <div class=\"card\" data-reveal=\"scale-in\" style=\"--d:4\"><a href=\"https:\/\/www.recyclemachine.net\/plastic-shredders\/\">\n                    <div class=\"card-image-wrapper\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/01\/Plastic-Shredder-02.webp\" alt=\"Plastic Shredder\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n                    <div class=\"card-content\">\n                        <h3>Plastic Shredder<\/h3>\n                        <p>The powerful first step in recycling. Engineered to process tough, bulky materials with high\n                            torque and low speed for consistent output.<\/p>\n                    <\/div>\n                <\/a><\/div>\n        <\/div>\n        <div class=\"rtm-apple-nav\" aria-label=\"Product navigation\">\n            <button type=\"button\" class=\"apple-arrow prev\" aria-label=\"Previous Products\" disabled>\n                <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg>\n            <\/button>\n            <button type=\"button\" class=\"apple-arrow next\" aria-label=\"Next Products\">\n                <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n            <\/button>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"rtm-bleed alignfull\">\n    <div class=\"extra-info-section\">\n        <div class=\"info-container\">\n            <div class=\"info-panel-grid\">\n                <div class=\"cad-panel\" data-reveal=\"fade-up\" style=\"--d:1\">\n                    <div class=\"panel-kicker\">Layout Planning<\/div>\n                    <h2 class=\"info-title\">System CAD Drawing Reference<\/h2>\n                    <p class=\"info-subtitle\">Different projects require different layouts, utilities, and workshop\n                        footprints. We provide drawing references before final manufacturing.<\/p>\n                    <div class=\"cad-image-wrapper\" data-reveal=\"scale-in\" style=\"--d:2\">\n                        <img src=\"https:\/\/recyclemachine.net\/wp-content\/uploads\/2023\/12\/PE-film-washing-line-2000kg-h-drawing.webp\" alt=\"CAD Drawing of PE Film Washing Line\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" data-parallax=\"0.1\">\n                    <\/div>\n                <\/div>\n                <div class=\"skills-panel\" data-reveal=\"fade-up\" style=\"--d:2\">\n                    <div class=\"panel-kicker\">Why Teams Choose Us<\/div>\n                    <h2 class=\"info-title\">Our Core Competencies<\/h2>\n                    <p class=\"info-subtitle\">We focus on faster response, dependable build quality, and long-term\n                        support after delivery.<\/p>\n                    <div class=\"skills-wrapper\">\n                        <div class=\"ts-progress-bar\">\n                            <div class=\"progress-meta\">\n                                <div class=\"progress-bar-title\">Responsive &amp; Expert Consultation<\/div>\n                                <div class=\"progress-bar-percent\"><span class=\"rtm-counter\" data-target=\"95\" data-suffix=\"%\">95%<\/span><\/div>\n                            <\/div>\n                            <div class=\"progress-bar-wrapper\"><span class=\"progress-bar-inner\" data-width=\"95%\" style=\"width: 0%;\"><\/span><\/div>\n                        <\/div>\n                        <div class=\"ts-progress-bar\">\n                            <div class=\"progress-meta\">\n                                <div class=\"progress-bar-title\">Uncompromising Build Quality<\/div>\n                                <div class=\"progress-bar-percent\"><span class=\"rtm-counter\" data-target=\"98\" data-suffix=\"%\">98%<\/span><\/div>\n                            <\/div>\n                            <div class=\"progress-bar-wrapper\"><span class=\"progress-bar-inner\" data-width=\"98%\" style=\"width: 0%;\"><\/span><\/div>\n                        <\/div>\n                        <div class=\"ts-progress-bar\">\n                            <div class=\"progress-meta\">\n                                <div class=\"progress-bar-title\">Dedicated After-Sales Support<\/div>\n                                <div class=\"progress-bar-percent\"><span class=\"rtm-counter\" data-target=\"92\" data-suffix=\"%\">92%<\/span><\/div>\n                            <\/div>\n                            <div class=\"progress-bar-wrapper\"><span class=\"progress-bar-inner\" data-width=\"92%\" style=\"width: 0%;\"><\/span><\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"rtm-bleed alignfull\">\n    <section class=\"process-section\">\n        <div class=\"section-header\">\n            <h2 data-reveal=\"blur-in\">Our Simple &amp; Transparent Process<\/h2>\n            <p class=\"intro-text\" data-scrub-text data-reveal=\"fade-up\" style=\"--d:1\">Whether you require a single machine or a turnkey recycling plant, we guarantee top-tier service and communication for efficient project execution.<\/p>\n        <\/div>\n        <div class=\"process-grid\">\n            <div class=\"process-step\" data-reveal=\"fade-up\" style=\"--d:1\">\n                <div class=\"process-icon\">\n                    <span class=\"material-symbols-outlined\">chat<\/span>\n                <\/div>\n                <div class=\"process-content\">\n                    <h3><span>01<\/span> INQUIRE NOW<\/h3>\n                    <p>Reach out to us with any questions about our machinery, washing lines, or custom projects.<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"process-step\" data-reveal=\"fade-up\" style=\"--d:2\">\n                <div class=\"process-icon\">\n                    <span class=\"material-symbols-outlined\">checklist<\/span>\n                <\/div>\n                <div class=\"process-content\">\n                    <h3><span>02<\/span> SPECIFICATION CONFIRMATION<\/h3>\n                    <p>We&#8217;ll work closely with you to confirm every technical detail and ensure the machine perfectly\n                        meets your requirements.<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"process-step\" data-reveal=\"fade-up\" style=\"--d:3\">\n                <div class=\"process-icon\">\n                    <span class=\"material-symbols-outlined\">request_quote<\/span>\n                <\/div>\n                <div class=\"process-content\">\n                    <h3><span>03<\/span> QUOTATION<\/h3>\n                    <p>We&#8217;ll provide you with our most competitive quote and delivery time for your consideration.<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"process-step\" data-reveal=\"fade-up\" style=\"--d:4\">\n                <div class=\"process-icon\">\n                    <span class=\"material-symbols-outlined\">contract<\/span>\n                <\/div>\n                <div class=\"process-content\">\n                    <h3><span>04<\/span> SIGN CONTRACT<\/h3>\n                    <p>If you&#8217;re prepared, let&#8217;s sign the contract to initiate the manufacturing process.<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"process-step\" data-reveal=\"fade-up\" style=\"--d:1\">\n                <div class=\"process-icon\">\n                    <span class=\"material-symbols-outlined\">payments<\/span>\n                <\/div>\n                <div class=\"process-content\">\n                    <h3><span>05<\/span> INVOICE &amp; DEPOSIT<\/h3>\n                    <p>Once the contract is signed, we will issue an invoice for the initial 30% deposit to commence the\n                        project.<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"process-step\" data-reveal=\"fade-up\" style=\"--d:2\">\n                <div class=\"process-icon\">\n                    <span class=\"material-symbols-outlined\">precision_manufacturing<\/span>\n                <\/div>\n                <div class=\"process-content\">\n                    <h3><span>06<\/span> MANUFACTURING<\/h3>\n                    <p>Depending on the project size, our typical lead time ranges from 30 to 90 days.<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"process-step\" data-reveal=\"fade-up\" style=\"--d:3\">\n                <div class=\"process-icon\">\n                    <span class=\"material-symbols-outlined\">visibility<\/span>\n                <\/div>\n                <div class=\"process-content\">\n                    <h3><span>07<\/span> INSPECTION<\/h3>\n                    <p>Either visit us for an in-person inspection or opt for a virtual assessment via video call.<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"process-step\" data-reveal=\"fade-up\" style=\"--d:4\">\n                <div class=\"process-icon\">\n                    <span class=\"material-symbols-outlined\">local_shipping<\/span>\n                <\/div>\n                <div class=\"process-content\">\n                    <h3><span>08<\/span> SHIPMENT<\/h3>\n                    <p>Upon completion of the final payment, your machine will be prepared for immediate shipment.<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n<\/div>\n\n<div class=\"rtm-bleed alignfull\">\n    <section class=\"reviews-section\">\n        <div class=\"section-header\">\n            <h2 data-reveal=\"blur-in\">Trusted by <span class=\"rtm-counter\" data-target=\"1200\" data-suffix=\"+\">1200+<\/span> Clients Worldwide<\/h2>\n        <\/div>\n        <div class=\"reviews-container\" data-reveal=\"scale-in\">\n            <div class=\"reviews-carousel\">\n                <div class=\"reviews-content\">\n                    <div class=\"review-item active\">\n                        <p class=\"review-text\">&#8220;The performance of the HDPE washing line has been exceptional, boosting\n                            our output by over 30%. Their team was knowledgeable and responsive, ensuring a smooth\n                            integration.&#8221;<\/p>\n                        <div class=\"reviewer-info\">\n                            <div class=\"reviewer-name\">MARIA GARCIA<\/div>\n                            <div class=\"reviewer-title\">Operations Manager, EcoPlast Solutions<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"review-item\">\n                        <p class=\"review-text\">&#8220;Outstanding equipment! The machine&#8217;s efficiency transformed our\n                            capabilities. The build quality is exceptional and automated features have significantly\n                            reduced our labor costs.&#8221;<\/p>\n                        <div class=\"reviewer-info\">\n                            <div class=\"reviewer-name\">CHEN WANG<\/div>\n                            <div class=\"reviewer-title\">Production Director, GreenTech Recycling<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"review-item\">\n                        <p class=\"review-text\">&#8220;Incredible ROI! Within 8 months, we recovered our investment. The\n                            technical support team deserves special recognition for their expertise and dedication.&#8221;<\/p>\n                        <div class=\"reviewer-info\">\n                            <div class=\"reviewer-name\">AHMED HASSAN<\/div>\n                            <div class=\"reviewer-title\">CEO, Middle East Plastics Ltd<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"reviews-dots\"><button type=\"button\" class=\"dot active\" data-index=\"0\"><\/button><button type=\"button\" class=\"dot\" data-index=\"1\"><\/button><button type=\"button\" class=\"dot\" data-index=\"2\"><\/button><\/div>\n            <\/div>\n            <div class=\"reviews-product-image\"><img src=\"https:\/\/www.recyclemachine.net\/wp-content\/uploads\/2026\/03\/Plastic-Recycling-Machine-Manufacturer.webp\" alt=\"Plastic Washing Recycling Machine\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\"><\/div>\n        <\/div>\n    <\/section>\n<\/div>\n\n<div class=\"rtm-bleed alignfull\">\n    <div class=\"custom-media-section\">\n        <div class=\"section-header\">\n            <h2 class=\"media-title\" data-reveal=\"blur-in\">See Our Machines in Action<\/h2>\n            <p class=\"media-subtitle\" data-reveal=\"fade-up\" style=\"--d:1\">Stay Informed with Our Device Videos<\/p>\n        <\/div>\n        <div class=\"gallery-grid\">\n            <div class=\"video-item\" data-video-id=\"aG4fR_O7M1g\" data-reveal=\"scale-in\" style=\"--d:1\">\n                <h3 id=\"rtm-video-title-aG4fR_O7M1g\">Industrial Textile Shredding System<\/h3>\n                <button type=\"button\" class=\"rtm-video-play\" aria-labelledby=\"rtm-video-title-aG4fR_O7M1g\"><\/button>\n            <\/div>\n            <div class=\"video-item\" data-video-id=\"is9rwNcaVK4\" data-reveal=\"scale-in\" style=\"--d:2\">\n                <h3 id=\"rtm-video-title-is9rwNcaVK4\">HDPE Recycling Washing Line<\/h3>\n                <button type=\"button\" class=\"rtm-video-play\" aria-labelledby=\"rtm-video-title-is9rwNcaVK4\"><\/button>\n            <\/div>\n            <div class=\"video-item\" data-video-id=\"dK0ywPmCqv4\" data-reveal=\"scale-in\" style=\"--d:3\">\n                <h3 id=\"rtm-video-title-dK0ywPmCqv4\">PP Woven Bag Shredder &amp; Pelletizing Line<\/h3>\n                <button type=\"button\" class=\"rtm-video-play\" aria-labelledby=\"rtm-video-title-dK0ywPmCqv4\"><\/button>\n            <\/div>\n        <\/div>\n        <div class=\"rtm-apple-nav\" aria-label=\"Video navigation\">\n            <button type=\"button\" class=\"apple-arrow prev\" aria-label=\"Previous Videos\" disabled>\n                <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg>\n            <\/button>\n            <button type=\"button\" class=\"apple-arrow next\" aria-label=\"Next Videos\">\n                <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n            <\/button>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"rtm-bleed alignfull\">\n    <div class=\"faq-section\">\n        <div class=\"section-header\">\n            <h2 class=\"faq-title\" data-reveal=\"blur-in\">Frequently Asked Questions<\/h2>\n            <p class=\"faq-subtitle\" data-reveal=\"fade-up\" style=\"--d:1\">Get answers to the most common questions about our Plastic Recycling Machines.<\/p>\n        <\/div>\n        <div class=\"faq-container\">\n            <details class=\"faq-item\" data-reveal=\"fade-up\" style=\"--d:1\">\n                <summary>How much do your recycling machinery cost?<\/summary>\n                <div class=\"faq-answer\">\n                    <p>To provide you with the most accurate and fair pricing, we customize each quote based on specific\n                        needs, shipping rates, and local requirements. Please contact us directly for a detailed\n                        quotation.<\/p>\n                <\/div>\n            <\/details>\n            <details class=\"faq-item\" data-reveal=\"fade-up\" style=\"--d:2\">\n                <summary>What is manufacturing lead time?<\/summary>\n                <div class=\"faq-answer\">\n                    <ul>\n                        <li>Standard machines: Approximately 30-45 days post-contract.<\/li>\n                        <li>Plastic Recycling&amp;Washing lines: Between 60 to 90 days.<\/li>\n                        <li>Custom projects: Timeline specified in the contract.<\/li>\n                    <\/ul>\n                <\/div>\n            <\/details>\n            <details class=\"faq-item\" data-reveal=\"fade-up\" style=\"--d:3\">\n                <summary>How do I order from Recycling Machines?<\/summary>\n                <div class=\"faq-answer\">\n                    <p>Our ordering process is straightforward. Contact us with your equipment needs and any custom\n                        specifications. Discover more about our ordering process and how we can assist you in making the\n                        best choices.<\/p>\n                <\/div>\n            <\/details>\n            <details class=\"faq-item\" data-reveal=\"fade-up\" style=\"--d:1\">\n                <summary>Can I test your machinery?<\/summary>\n                <div class=\"faq-answer\">\n                    <p>Yes, we highly encourage testing. For complete systems, we perform a comprehensive trial run\n                        before shipment. We invite you to participate in this crucial phase to ensure the machinery\n                        meets your standards.<\/p>\n                <\/div>\n            <\/details>\n            <details class=\"faq-item\" data-reveal=\"fade-up\" style=\"--d:2\">\n                <summary>Warranty<\/summary>\n                <div class=\"faq-answer\">\n                    <p>Recycling Machines offers a comprehensive one-year warranty on all machines and parts, ensuring they are free from\n                        defects.<\/p>\n                <\/div>\n            <\/details>\n            <details class=\"faq-item\" data-reveal=\"fade-up\" style=\"--d:3\">\n                <summary>Installation<\/summary>\n                <div class=\"faq-answer\">\n                    <p>Yes, we provide a full installation package. Our certified engineers will assist with the setup\n                        and commissioning of your machinery. The client is responsible for arranging and covering travel\n                        and accommodations for our engineers. Installation duration varies by project size, typically\n                        requiring 7-14 days.<\/p>\n                <\/div>\n            <\/details>\n        <\/div>\n        <div class=\"rtm-brand-note\" data-reveal=\"fade-up\">\n            <p>Explore <a href=\"https:\/\/www.rumtoo.com\/\" target=\"_blank\" rel=\"noopener\">Rumtoo \u2014 our official brand site<\/a> for the complete range of industrial plastic recycling systems and turnkey solutions.<\/p>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n\n<style id=\"rtm-home-ui-20260907\">\n\n    :root {\n        --brand-green: #62ab66;\n        --brand-green-light: #72c176;\n        --brand-green-deep: #005D30;\n        --brand-green-deeper: #004624;\n        --dark-bg-primary: #0B0E14;\n        --dark-bg-secondary: #161A22;\n        --dark-bg-elevated: #1D222C;\n        --text-primary-dark: #F5F5F7;\n        --text-secondary-dark: #B0B8C4;\n        --border-color-dark: rgba(255, 255, 255, 0.1);\n        --border-radius: 14px;\n        --border-radius-sm: 10px;\n        --content-max: 1440px;\n        --section-pad-y: 100px;\n        --section-pad-x: 32px;\n        --section-padding: var(--section-pad-y) var(--section-pad-x);\n        --shadow-card: 0 12px 36px rgba(0, 0, 0, 0.28);\n        --shadow-glow: 0 0 28px rgba(98, 171, 102, 0.16)}\n\n    * {\n        box-sizing: border-box}\n\n    \/* Full-bleed sections (theme-safe specificity) *\/\n    .rtm-hero-bleed,\n    .rtm-bleed {\n        width: 100vw;\n        max-width: 100vw;\n        position: relative;\n        left: 50%;\n        right: 50%;\n        margin-left: -50vw;\n        margin-right: -50vw;\n        overflow: hidden}\n\n    .rtm-bleed {\n        margin-top: -1px}\n\n    .rtm-hero-bleed {\n        background: #000}\n\n    .rtm-hero-bleed.wp-block-group,\n    .rtm-hero-bleed .wp-block-group,\n    .rtm-bleed.wp-block-group,\n    .rtm-bleed .wp-block-group {\n        padding-left: 0;\n        padding-right: 0}\n\n    .rtm-hero-bleed.vc_row,\n    .rtm-hero-bleed .vc_row,\n    .rtm-bleed.vc_row,\n    .rtm-bleed .vc_row {\n        margin-left: 0;\n        margin-right: 0}\n\n    .rtm-hero-bleed > .rtm-slideshow-container,\n    .rtm-bleed > * {\n        width: 100%}\n\n    \/* Shared content shell *\/\n    .rtm-bleed .section-header,\n    .rtm-bleed .card-container,\n    .rtm-bleed .info-container,\n    .rtm-bleed .process-grid,\n    .rtm-bleed .reviews-container,\n    .rtm-bleed .gallery-grid,\n    .rtm-bleed .faq-container {\n        max-width: var(--content-max);\n        margin-left: auto;\n        margin-right: auto}\n\n    \/* Hero slideshow *\/\n    .rtm-slideshow-container {\n        position: relative;\n        width: 100%;\n        height: 85vh;\n        min-height: 520px;\n        max-height: 780px;\n        overflow: hidden;\n        background: #000}\n\n    .rtm-slide {\n        position: absolute;\n        inset: 0;\n        opacity: 0;\n        visibility: hidden;\n        transition: opacity 0.45s ease-out, visibility 0.45s}\n\n    .rtm-slide.active {\n        opacity: 1;\n        visibility: visible}\n\n    .rtm-slide-image {\n        width: 100% !important;\n        height: 100% !important;\n        object-fit: cover;\n        transform: scale(1.03);\n        transition: transform 3.6s ease-out}\n\n    .rtm-slide.active .rtm-slide-image {\n        transform: scale(1)}\n\n    .rtm-slide-image-overlay {\n        position: absolute;\n        inset: 0;\n        background: linear-gradient(105deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.55) 42%, rgba(0, 0, 0, 0.15) 78%, transparent 100%);\n        z-index: 1}\n\n    .rtm-slide-content {\n        position: absolute;\n        top: 50%;\n        left: max(5%, calc((100% - var(--content-max)) \/ 2 + 24px));\n        transform: translateY(-50%);\n        color: #fff;\n        z-index: 2;\n        max-width: min(720px, 52vw)}\n\n    .rtm-hero-bleed .rtm-slide-content h2 {\n  font-size: clamp(40px, 6vw, 62px);\n  font-weight: 700;\n  color: #ffffff;\n  line-height: 1.08;\n  margin: 0 0 18px 0;\n  letter-spacing: -0.025em;\n  text-wrap: balance;\n}\n\n    .rtm-hero-bleed .rtm-slide-content p {\n  margin: 0 0 36px 0;\n  max-width: 36em;\n  color: var(--text-primary-dark);\n  line-height: 1.65;\n  font-weight: 400;\n  font-size: clamp(16px, 1.45vw, 18px);\n  opacity: 0.95;\n}\n\n    .rtm-bleed a.rtm-button,\n    .rtm-hero-bleed a.rtm-button,\n    .rtm-slide-content a.rtm-button {\n        background: var(--brand-green-deep);\n        color: #ffffff;\n        border: 0;\n        box-shadow: none;\n        padding: 14px 32px;\n        min-height: 52px;\n        border-radius: var(--border-radius-sm);\n        text-decoration: none;\n        font-weight: 600;\n        line-height: 1;\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease}\n\n    .rtm-bleed a.rtm-button:hover,\n    .rtm-hero-bleed a.rtm-button:hover,\n    .rtm-slide-content a.rtm-button:hover,\n    .rtm-bleed a.rtm-button:focus-visible,\n    .rtm-hero-bleed a.rtm-button:focus-visible,\n    .rtm-slide-content a.rtm-button:focus-visible {\n        background: var(--brand-green-deeper);\n        color: #ffffff;\n        border: 0;\n        box-shadow: none;\n        transform: translateY(-1px)}\n\n    .rtm-slide-content a.rtm-button:focus-visible {\n        outline: 3px solid rgba(255, 255, 255, 0.42);\n        outline-offset: 3px}\n\n    .rtm-slideshow-dots {\n        position: absolute;\n        bottom: 48px;\n        left: max(5%, calc((100% - var(--content-max)) \/ 2 + 24px));\n        z-index: 3;\n        display: flex;\n        gap: 12px}\n\n    .rtm-slideshow-dots .dot {\n        appearance: none;\n        position: relative;\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        width: 40px;\n        min-width: 40px;\n        height: 44px;\n        padding: 0;\n        border: 0;\n        background: transparent;\n        box-shadow: none;\n        cursor: pointer;\n    }\n    .rtm-slideshow-dots .dot::before {\n        content: \"\";\n        width: 28px;\n        height: 4px;\n        border-radius: 2px;\n        background: rgba(255,255,255,.35);\n    }\n\n    .rtm-slideshow-dots .dot.active::before {\n        background: #72c176;\n        width: 36px;\n    }\n\n    \/* Products *\/\n    .products-section {\n        padding: var(--section-padding);\n        background-color: var(--dark-bg-primary)}\n\n    .rtm-bleed .section-header {\n        text-align: center;\n        margin-bottom: 64px;\n        padding: 0 8px}\n\n    .rtm-bleed .section-header h2,\n    .rtm-bleed .media-title,\n    .rtm-bleed .faq-title,\n    .rtm-bleed .info-title {\n        color: var(--text-primary-dark);\n        margin: 0 0 14px 0;\n        font-weight: 700;\n        letter-spacing: -0.02em;\n        line-height: 1.18}\n\n    .rtm-bleed .section-header p,\n    .rtm-bleed .media-subtitle,\n    .rtm-bleed .faq-subtitle,\n    .rtm-bleed .info-subtitle {\n        color: var(--text-secondary-dark);\n        margin: 0 auto;\n        max-width: 720px;\n        font-weight: 400;\n        line-height: 1.7}\n\n    .card-container {\n        display: grid;\n        grid-template-columns: repeat(4, minmax(0, 1fr));\n        gap: 28px}\n\n    .card,\n    .process-step,\n    .cad-panel,\n    .skills-panel,\n    .video-item,\n    .reviews-carousel,\n    .reviews-product-image,\n    .faq-container,\n    .section-header,\n    .info-container,\n    .process-content {\n        min-width: 0}\n\n    .card {\n        background: var(--dark-bg-secondary);\n        border: 1px solid rgba(255, 255, 255, 0.06);\n        border-radius: var(--border-radius);\n        overflow: hidden;\n        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease}\n\n    .card:hover {\n        transform: translateY(-6px);\n        border-color: rgba(98, 171, 102, 0.45);\n        box-shadow: var(--shadow-card), var(--shadow-glow)}\n\n    .card a {\n        text-decoration: none;\n        display: flex;\n        flex-direction: column;\n        height: 100%;\n        color: inherit}\n\n    .card-image-wrapper {\n        height: 220px;\n        overflow: hidden;\n        background: #0b0c0e}\n\n    .card img {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        transition: transform 0.4s ease}\n\n    .card:hover img {\n        transform: scale(1.05)}\n\n    .card-content {\n        padding: 24px 26px 28px;\n        display: flex;\n        flex-direction: column;\n        flex-grow: 1}\n\n    .rtm-bleed .card h3 {\n        color: var(--text-primary-dark);\n        margin: 0 0 12px 0;\n        font-weight: 600;\n        line-height: 1.3}\n\n    .card p {\n        color: var(--text-secondary-dark);\n        line-height: 1.65;\n        margin: 0;\n        flex-grow: 1}\n\n    \/* CAD + skills *\/\n    .extra-info-section {\n        padding: var(--section-padding);\n        background-color: var(--dark-bg-primary)}\n\n    .info-panel-grid {\n        display: grid;\n        grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.7fr);\n        gap: 28px;\n        align-items: stretch}\n\n    .cad-panel,\n    .skills-panel {\n        background: linear-gradient(180deg, var(--dark-bg-elevated) 0%, var(--dark-bg-secondary) 100%);\n        border: 1px solid var(--border-color-dark);\n        border-radius: var(--border-radius);\n        padding: 36px}\n\n    .panel-kicker {\n        display: inline-flex;\n        align-items: center;\n        gap: 8px;\n        margin-bottom: 14px;\n        padding: 6px 12px;\n        border-radius: 999px;\n        background: rgba(98, 171, 102, 0.12);\n        color: var(--brand-green-light);\n        text-transform: uppercase;\n        letter-spacing: 0.08em;\n        font-weight: 700}\n\n    .cad-image-wrapper {\n        margin-top: 28px}\n\n    .cad-image-wrapper img {\n        max-width: 100%;\n        width: 100%;\n        border-radius: var(--border-radius-sm);\n        border: 1px solid var(--border-color-dark);\n        display: block}\n\n    .skills-wrapper {\n        text-align: left;\n        margin-top: 28px;\n        display: grid;\n        gap: 16px}\n\n    .ts-progress-bar {\n        padding: 16px 18px;\n        border-radius: var(--border-radius-sm);\n        background: rgba(255, 255, 255, 0.03);\n        border: 1px solid rgba(255, 255, 255, 0.08)}\n\n    .progress-meta {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        gap: 16px;\n        margin-bottom: 12px}\n\n    .progress-bar-title {\n        color: var(--text-primary-dark);\n        font-weight: 600}\n\n    .progress-bar-wrapper {\n        height: 10px;\n        background-color: rgba(255, 255, 255, 0.1);\n        border-radius: 10px;\n        overflow: hidden}\n\n    .progress-bar-inner {\n        display: block;\n        height: 100%;\n        border-radius: 10px;\n        background-image: linear-gradient(45deg, var(--brand-green-light), var(--brand-green))}\n\n    .progress-bar-percent {\n        color: var(--brand-green-light);\n        font-weight: 700;\n        font-variant-numeric: tabular-nums}\n\n    \/* Process *\/\n    .process-section {\n        padding: var(--section-padding);\n        background-color: var(--dark-bg-primary)}\n\n    .process-grid {\n        display: grid;\n        grid-template-columns: repeat(4, minmax(0, 1fr));\n        gap: 22px}\n\n    .process-step {\n        color: var(--text-primary-dark);\n        background: var(--dark-bg-secondary);\n        border: 1px solid var(--border-color-dark);\n        border-radius: var(--border-radius);\n        padding: 28px 24px;\n        display: flex;\n        gap: 16px;\n        align-items: flex-start;\n        transition: transform 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;\n        height: 100%}\n\n    .process-step:hover {\n        transform: translateY(-4px);\n        border-color: rgba(98, 171, 102, 0.45);\n        background: rgba(255, 255, 255, 0.03)}\n\n    .process-icon {\n        color: var(--text-primary-dark);\n        width: 56px;\n        height: 56px;\n        flex-shrink: 0;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        border-radius: 50%;\n        background-image: linear-gradient(45deg, var(--brand-green), var(--brand-green-light))}\n\n    .process-step:nth-child(1) .process-icon { background-image: linear-gradient(45deg, #1976D2, #64B5F6)}\n    .process-step:nth-child(2) .process-icon { background-image: linear-gradient(45deg, #388E3C, #81C784)}\n    .process-step:nth-child(3) .process-icon { background-image: linear-gradient(45deg, #FBC02D, #FFEB3B)}\n    .process-step:nth-child(4) .process-icon { background-image: linear-gradient(45deg, #7B1FA2, #BA68C8)}\n    .process-step:nth-child(5) .process-icon { background-image: linear-gradient(45deg, #E64A19, #FF8A65)}\n    .process-step:nth-child(6) .process-icon { background-image: linear-gradient(45deg, #0288D1, #4FC3F7)}\n    .process-step:nth-child(7) .process-icon { background-image: linear-gradient(45deg, #C2185B, #F06292)}\n    .process-step:nth-child(8) .process-icon { background-image: linear-gradient(45deg, #455A64, #90A4AE)}\n\n    .rtm-bleed .process-step h3 {\n        color: var(--text-primary-dark);\n        margin: 0 0 10px 0;\n        display: flex;\n        align-items: center;\n        flex-wrap: wrap;\n        font-weight: 600;\n        line-height: 1.35;\n        gap: 6px}\n\n    .process-step h3 span {\n        color: var(--brand-green-light);\n        margin-right: 6px;\n        padding: 3px 9px;\n        border-radius: 999px;\n        background: rgba(98, 171, 102, 0.14);\n        letter-spacing: 0.06em;\n        font-weight: 700}\n\n    .process-step p {\n        color: var(--text-secondary-dark);\n        line-height: 1.6;\n        margin: 0}\n\n    .process-section .process-icon .material-symbols-outlined {\n        font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n        color: #fff}\n\n    .process-section .process-icon i {\n        display: none}\n\n    \/* Reviews *\/\n    .reviews-section {\n        padding: var(--section-padding);\n        background-color: var(--dark-bg-primary);\n        overflow: hidden}\n\n    .reviews-container {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        gap: 56px}\n\n    .reviews-carousel {\n        flex: 1.15;\n        min-width: 0}\n\n    .reviews-product-image {\n        flex: 1;\n        min-width: 0}\n\n    .reviews-product-image img {\n        width: 100%;\n        border-radius: var(--border-radius);\n        box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4);\n        border: 1px solid rgba(255, 255, 255, 0.06);\n        display: block}\n\n    .reviews-content {\n        position: relative;\n        min-height: 250px}\n\n    .review-item {\n        position: absolute;\n        width: 100%;\n        opacity: 0;\n        visibility: hidden;\n        transform: translateX(20px);\n        transition: opacity 0.5s ease, visibility 0.5s, transform 0.5s ease}\n\n    .review-item.active {\n        opacity: 1;\n        visibility: visible;\n        transform: translateX(0)}\n\n    .review-text {\n        color: var(--text-secondary-dark);\n        line-height: 1.75;\n        margin-bottom: 28px;\n        border-left: 3px solid var(--brand-green);\n        padding-left: 24px}\n\n    .reviewer-name {\n        color: var(--text-primary-dark);\n        font-weight: 700;\n        letter-spacing: 0.04em}\n\n    .reviewer-title {\n        color: var(--text-secondary-dark);\n        margin-top: 4px}\n\n    .reviews-dots {\n        display: flex;\n        gap: 12px;\n        margin-top: 30px}\n\n    .reviews-dots .dot {\n        appearance: none;\n        position: relative;\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        width: 40px;\n        min-width: 40px;\n        height: 44px;\n        padding: 0;\n        border: 0;\n        background: transparent;\n        box-shadow: none;\n        cursor: pointer;\n    }\n    .reviews-dots .dot::before {\n        content: \"\";\n        width: 28px;\n        height: 4px;\n        border-radius: 2px;\n        background: rgba(255,255,255,.35);\n    }\n\n    .reviews-dots .dot.active::before {\n        background: #72c176;\n        width: 36px;\n    }\n\n    \/* Scroll animation *\/\n    .animate-on-scroll {\n        opacity: 0;\n        transform: translateY(18px);\n        transition: opacity .6s ease-out, transform .6s ease-out}\n\n    .animate-on-scroll.is-visible {\n        opacity: 1;\n        transform: translateY(0)}\n\n    \/* Videos *\/\n    .custom-media-section {\n        padding: var(--section-padding);\n        background-color: var(--dark-bg-primary)}\n\n    .media-title,\n    .media-subtitle {\n        text-align: center}\n\n    .media-subtitle {\n        margin-bottom: 56px}\n\n    .gallery-grid {\n        display: grid;\n        grid-template-columns: repeat(3, minmax(0, 1fr));\n        gap: 28px}\n\n    .video-item {\n        position: relative;\n        aspect-ratio: 16 \/ 9;\n        border-radius: var(--border-radius);\n        overflow: hidden;\n        background-size: cover;\n        background-position: center;\n        cursor: pointer;\n        border: 1px solid var(--border-color-dark);\n        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;\n        background-color: #0b0c0e}\n\n    .video-item::before {\n        content: \"\";\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        width: 72px;\n        height: 72px;\n        border-radius: 50%;\n        transform: translate(-50%, -50%);\n        background: rgba(0, 0, 0, 0.5);\n        border: 2px solid rgba(255, 255, 255, 0.82);\n        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);\n        backdrop-filter: blur(3px);\n        transition: transform 0.25s ease, background-color 0.25s ease, opacity 0.2s ease;\n        pointer-events: none;\n        z-index: 3}\n\n    .video-item::after {\n        content: \"\";\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        transform: translate(-42%, -50%);\n        width: 0;\n        height: 0;\n        border-top: 12px solid transparent;\n        border-bottom: 12px solid transparent;\n        border-left: 20px solid #fff;\n        transition: transform 0.25s ease, opacity 0.2s ease;\n        pointer-events: none;\n        z-index: 4}\n\n    .video-item:hover {\n        transform: translateY(-6px);\n        border-color: rgba(98, 171, 102, 0.5);\n        box-shadow: var(--shadow-card), var(--shadow-glow)}\n\n    .video-item:hover::before {\n        transform: translate(-50%, -50%) scale(1.06);\n        background: rgba(98, 171, 102, 0.26)}\n\n    .video-item:hover::after {\n        transform: translate(-42%, -50%) scale(1.04)}\n\n    .video-item.is-playing::before,\n    .video-item.is-playing::after {\n        opacity: 0}\n\n    .rtm-bleed .video-item h3 {\n        position: absolute;\n        bottom: 0;\n        left: 0;\n        right: 0;\n        margin: 0;\n        padding: 22px 20px;\n        background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, transparent 100%);\n        color: #fff;\n        text-align: left;\n        z-index: 2;\n        font-weight: 600;\n        line-height: 1.3}\n\n    .video-item iframe {\n        display: block;\n        width: 100%;\n        height: 100%;\n        border: 0}\n\n    \/* FAQ *\/\n    .faq-section {\n        padding: var(--section-padding);\n        background: var(--dark-bg-primary)}\n\n    .faq-container {\n        border: 1px solid var(--border-color-dark);\n        border-radius: var(--border-radius);\n        background: var(--dark-bg-secondary);\n        overflow: hidden;\n        padding: 8px 28px}\n\n    .faq-item {\n        border-bottom: 1px solid var(--border-color-dark)}\n\n    .faq-item:last-child {\n        border-bottom: 0}\n\n    .rtm-bleed .faq-item summary {\n        list-style: none;\n        padding: 24px 36px 24px 8px;\n        cursor: pointer;\n        position: relative;\n        color: var(--text-primary-dark);\n        font-weight: 600;\n        line-height: 1.4}\n\n    .faq-item summary::-webkit-details-marker {\n        display: none}\n\n    .faq-item summary::before,\n    .faq-item summary::after {\n        content: \"\";\n        position: absolute;\n        background-color: var(--text-secondary-dark);\n        transition: transform 0.2s ease, opacity 0.2s ease}\n\n    .faq-item summary::before {\n        width: 14px;\n        height: 2px;\n        right: 4px;\n        top: 50%;\n        transform: translateY(-50%)}\n\n    .faq-item summary::after {\n        width: 2px;\n        height: 14px;\n        right: 10px;\n        top: 50%;\n        transform: translateY(-50%)}\n\n    .faq-item[open] summary::after {\n        display: none}\n\n    .faq-answer {\n        padding: 0 8px 24px}\n\n    .faq-answer p,\n    .faq-answer ul,\n    .faq-answer li {\n        color: #B0B8C4;\n        line-height: 1.7}\n\n    .faq-answer p,\n    .faq-answer ul {\n        margin: 0;\n        padding-bottom: 8px}\n\n    .faq-answer li + li {\n        margin-top: 6px}\n\n    .faq-answer ul {\n        list-style-position: inside}\n\n    \/* Performance: skip off-screen paint *\/\n    .products-section,\n    .extra-info-section,\n    .process-section,\n    .reviews-section,\n    .custom-media-section,\n    .faq-section {\n        content-visibility: auto;\n        contain-intrinsic-size: 1px 900px}\n\n    .extra-info-section,\n    .process-section,\n    .reviews-section,\n    .custom-media-section,\n    .faq-section {\n        contain: layout style paint}\n\n    @media (prefers-reduced-motion: reduce) {\n        .rtm-slide,\n        .review-item,\n        .animate-on-scroll,\n        .card,\n        .video-item,\n        .rtm-slide-image,\n        .rtm-button,\n        .rtm-slide-content a.rtm-button {\n            transition: none;\n            animation: none;\n            transform: none}\n    }\n\n    \/* Large tablet \/ small desktop *\/\n    @media (max-width: 1200px) {\n        .card-container {\n            grid-template-columns: repeat(2, minmax(0, 1fr))}\n\n        .process-grid {\n            grid-template-columns: repeat(2, minmax(0, 1fr))}\n\n        .gallery-grid {\n            grid-template-columns: repeat(2, minmax(0, 1fr))}\n\n        .info-panel-grid {\n            grid-template-columns: 1fr}\n    }\n\n    @media (max-width: 768px) {\n        :root {\n            --section-pad-y: 72px;\n            --section-pad-x: 16px}\n\n        .rtm-hero-bleed,\n        .rtm-bleed {\n            width: 100%;\n            max-width: 100%;\n            left: auto;\n            right: auto;\n            margin-left: 0;\n            margin-right: 0}\n\n        .rtm-bleed .section-header h2,\n        .rtm-bleed .media-title,\n        .rtm-bleed .faq-title,\n        .rtm-bleed .info-title {\n            line-height: 1.15;\n            word-break: break-word}\n\n        .card-container,\n        .process-grid,\n        .gallery-grid {\n            grid-template-columns: 1fr;\n            gap: 20px}\n\n        .cad-panel,\n        .skills-panel {\n            padding: 24px}\n\n        .process-step {\n            padding: 22px;\n            gap: 14px}\n\n        .rtm-bleed .process-step h3 {\n            display: block}\n\n        .faq-container {\n            padding: 4px 16px}\n\n        .rtm-bleed .faq-item summary {\n            padding: 20px 34px 20px 4px}\n\n        .faq-answer {\n            padding: 0 4px 20px}\n\n        .faq-item summary::before {\n            right: 8px}\n\n        .faq-item summary::after {\n            right: 14px}\n\n        .rtm-slideshow-container {\n            height: auto;\n            min-height: 0;\n            max-height: none}\n\n        .rtm-slide {\n            transition: none}\n\n        .rtm-slide-content {\n            top: auto;\n            bottom: 84px;\n            left: 5%;\n            right: 5%;\n            transform: none;\n            max-width: 90%;\n            text-align: center}\n\n        .rtm-hero-bleed .rtm-slide-content h2 {\n  font-size: clamp(30px, 8vw, 40px);\n  margin-bottom: 14px;\n}\n\n        .rtm-hero-bleed .rtm-slide-content p {\n  font-size: 16px;\n  margin: 0 auto 28px auto;\n  max-width: 100%;\n}\n\n        .rtm-slide-image,\n        .rtm-slide.active .rtm-slide-image {\n            transform: none;\n            transition: none}\n\n        .rtm-slide-image-overlay {\n            background: rgba(0, 0, 0, 0.62)}\n\n        .rtm-slideshow-dots {\n            left: 50%;\n            right: auto;\n            transform: translateX(-50%);\n            bottom: 20px}\n\n        .reviews-container {\n            flex-direction: column;\n            gap: 36px}\n\n        .reviews-carousel,\n        .reviews-product-image {\n            width: 100%;\n            flex: none}\n\n        .reviews-content {\n            min-height: 320px}\n\n        .reviews-product-image {\n            order: -1}\n\n        .review-text {\n            padding-left: 18px}\n    }\n\n    @media (max-width: 480px) {\n        .cad-panel,\n        .skills-panel {\n            padding: 20px}\n\n        .card-content,\n        .process-step,\n        .faq-item summary,\n        .faq-answer {\n            word-break: break-word}\n\n        .process-step h3 span {\n            display: inline-flex;\n            margin: 0 0 8px 0}\n    }\n\n\n\/* Dark section contrast enhancement *\/\n.info-panel-grid > .cad-panel,\n.skills-panel,\n.process-step,\n.review-item,\n.video-item,\n.faq-container,\n.products-section .card {\n    border: 1px solid rgba(255,255,255,.08);\n    box-shadow: 0 10px 30px rgba(0,0,0,.35);\n}\nbody.home .entry-content .rtm-bleed .process-icon .material-symbols-outlined {\n    font-size: 28px !important;\n    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 28;\n}\n\n\/* Brand note under FAQ *\/\n.rtm-brand-note {\n    max-width: var(--content-max);\n    margin: 56px auto 0 auto;\n    padding: 0 var(--section-pad-x);\n    text-align: center;\n}\n.rtm-brand-note p {\n    margin: 0;\n    color: var(--text-secondary-dark);\n    font-size: 16px;\n}\n.rtm-brand-note a {\n    color: var(--brand-green-light);\n    font-weight: 600;\n    text-decoration: none;\n    border-bottom: 1px solid rgba(114, 193, 118, .35);\n    transition: color .2s ease, border-color .2s ease;\n}\n.rtm-brand-note a:hover,\n.rtm-brand-note a:focus-visible {\n    color: #ffffff;\n    border-bottom-color: #ffffff;\n}\n\n\n\/* ================================================\n   Apple-style progressive scroll system\n   ================================================ *\/\n[data-reveal] {\n    transition:\n        opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),\n        transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),\n        filter 0.7s ease;\n    transition-delay: calc(var(--d, 0) * 70ms);\n}\n\n.reveal-init[data-reveal=\"fade-up\"] {\n    opacity: 0;\n    transform: translateY(24px);\n}\n\n.reveal-init[data-reveal=\"scale-in\"] {\n    opacity: 0;\n    transform: scale(0.96);\n}\n\n.reveal-init[data-reveal=\"blur-in\"] {\n    opacity: 0;\n    transform: translateY(16px);\n    filter: blur(10px);\n}\n\n.reveal-init[data-reveal=\"grow-line\"] {\n    opacity: 0.001;\n    transform: scaleX(0);\n}\n\n[data-reveal].is-visible {\n    opacity: 1;\n    transform: none;\n    filter: none;\n}\n\n.reveal-init[data-reveal=\"grow-line\"] {\n    transform-origin: center;\n}\n\n@media (prefers-reduced-motion: reduce) {\n    [data-reveal],\n    .reveal-init[data-reveal] {\n        transition: none !important;\n        transform: none !important;\n        filter: none !important;\n        opacity: 1 !important;\n    }\n}\n\n.rtm-bleed .section-header {\n    margin-bottom: 72px;\n}\n\n\/* Wider breathing grid + taller product imagery *\/\n.card-container {\n    gap: 32px;\n}\n\n.card-image-wrapper {\n    height: 250px;\n}\n\n\/* CAD drawing breaks out of its panel for depth *\/\n.cad-image-wrapper {\n    margin: 28px -24px 0 -24px;\n}\n\n.cad-image-wrapper img {\n    border-radius: 0;\n    border-left: 0;\n    border-right: 0;\n}\n\n\/* Rail hint (mobile only, hidden on desktop) *\/\n.rail-hint {\n    display: none;\n}\n\n\/* ================================================\n   Mobile: real re-layout, not a shrunken desktop\n   ================================================ *\/\n@media (max-width: 768px) {\n    .rtm-slideshow-container {\n        height: auto;\n        min-height: 0;\n        max-height: none;\n    }\n\n    .rtm-bleed .section-header {\n        margin-bottom: 44px;\n    }\n\n    .rail-hint {\n        display: block;\n        text-align: center;\n        color: var(--text-secondary-dark);\n        font-size: 14px;\n        letter-spacing: 0.08em;\n        text-transform: uppercase;\n        margin: -28px 0 24px;\n    }\n\n    \/* Products: horizontal snap rail *\/\n    .card-container {\n        display: flex;\n        gap: 16px;\n        overflow-x: auto;\n        scroll-snap-type: x mandatory;\n        -webkit-overflow-scrolling: touch;\n        padding: 4px 16px 20px 16px;\n        margin: 0 -16px;\n        scrollbar-width: none;\n    }\n\n    .card-container::-webkit-scrollbar {\n        display: none;\n    }\n\n    .card-container .card {\n        flex: 0 0 78%;\n        max-width: 78%;\n        scroll-snap-align: center;\n    }\n\n    .card-image-wrapper {\n        height: 200px;\n    }\n\n    \/* Process: stacked cards *\/\n    .process-step {\n        margin-bottom: 16px;\n    }\n\n    .process-step:last-child {\n        margin-bottom: 0;\n    }\n\n    \/* Extra-info: full-bleed CAD visual *\/\n    .cad-panel {\n        padding-bottom: 0;\n    }\n\n    .cad-image-wrapper {\n        margin: 24px -24px 0 -24px;\n    }\n\n    \/* Video: horizontal snap rail *\/\n    .gallery-grid {\n        display: flex;\n        gap: 16px;\n        overflow-x: auto;\n        scroll-snap-type: x mandatory;\n        -webkit-overflow-scrolling: touch;\n        padding: 4px 16px 20px 16px;\n        margin: 0 -16px;\n        scrollbar-width: none;\n    }\n\n    .gallery-grid::-webkit-scrollbar {\n        display: none;\n    }\n\n    .gallery-grid .video-item {\n        flex: 0 0 74%;\n        max-width: 74%;\n        scroll-snap-align: center;\n    }\n}\n\n\/* Homepage typography: explicit sizes account for IndustCO's 10px rem base. *\/\nbody.home .entry-content :is(.rtm-bleed, .rtm-hero-bleed),\nbody.home .entry-content :is(.rtm-bleed, .rtm-hero-bleed) :where(h1,h2,h3,h4,h5,h6,p,li,a,span,button,summary,div) {\n    font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n}\nbody.home .entry-content :is(.rtm-bleed, .rtm-hero-bleed) {\n    font-size: 16px;\n    line-height: 1.65;\n}\nbody.home .entry-content .rtm-bleed :is(.section-header h2, .media-title, .faq-title) {\n    font-size: clamp(28px, 3.6vw, 36px);\n    line-height: 1.2;\n}\nbody.home .entry-content .rtm-bleed .info-title {\n    font-size: clamp(20px, 2.4vw, 24px);\n    line-height: 1.3;\n}\nbody.home .entry-content .rtm-bleed :is(.section-header p, .media-subtitle, .faq-subtitle) {\n    font-size: 16px;\n    line-height: 1.65;\n}\nbody.home .entry-content .rtm-bleed h3 {\n    font-size: 19px;\n    line-height: 1.35;\n}\nbody.home .entry-content .rtm-bleed .material-symbols-outlined {\n    font-family: \"Material Symbols Outlined\", sans-serif;\n    font-size: 28px;\n    line-height: 1;\n}\n.rtm-hero-actions {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px;\n}\n.rtm-hero-actions a.rtm-button:last-child {\n    background: rgba(0,0,0,.25);\n    border: 1px solid rgba(255,255,255,.75);\n}\n.rtm-hero-actions a.rtm-button:last-child:hover {\n    background: rgba(0,0,0,.5);\n}\n.rtm-hero-bleed .rtm-carousel-pause {\n    position: absolute;\n    right: max(5%, calc((100% - var(--content-max)) \/ 2 + 24px));\n    bottom: 48px;\n    z-index: 4;\n    width: 44px;\n    height: 44px;\n    padding: 0;\n    border: 1px solid rgba(255,255,255,.65);\n    border-radius: 50%;\n    color: #fff;\n    background: rgba(0,0,0,.4);\n    font: 20px\/1 system-ui;\n    cursor: pointer;\n}\n.rtm-hero-bleed .rtm-carousel-pause[hidden] { display: none; }\n.rtm-bleed button:focus-visible,\n.rtm-hero-bleed button:focus-visible {\n    outline: 3px solid #72c176;\n    outline-offset: 3px;\n}\n.rtm-bleed .video-item .rtm-video-play {\n    position: absolute;\n    inset: 0;\n    z-index: 5;\n    width: 100%;\n    height: 100%;\n    border: 0;\n    padding: 0;\n    border-radius: inherit;\n    background: transparent;\n    box-shadow: none;\n    cursor: pointer;\n}\n.rtm-bleed .video-item .rtm-video-play:focus-visible { outline-offset: -4px; }\n.rtm-bleed .video-item.is-playing h3 { display: none; }\n.rtm-bleed .reviews-content { display: grid; }\n.rtm-bleed .review-item { position: relative; grid-area: 1 \/ 1; }\n@media (max-width: 768px) {\n    .rtm-hero-bleed .rtm-slide {\n        position: relative;\n        display: none;\n        min-height: clamp(480px, calc(100svh - 105px), 640px);\n        padding: 56px 20px 100px;\n        align-items: center;\n        justify-content: center;\n    }\n    .rtm-hero-bleed .rtm-slide.active { display: flex; }\n    .rtm-hero-bleed .rtm-slide-image { position: absolute; inset: 0; }\n    .rtm-hero-bleed .rtm-slide-content {\n        position: relative;\n        inset: auto;\n        transform: none;\n        width: 100%;\n        max-width: 100%;\n    }\n    .rtm-hero-actions { justify-content: center; }\n    .rtm-hero-actions a.rtm-button { padding: 14px 18px; }\n    body.home .entry-content .rtm-bleed :is(.section-header h2, .media-title, .faq-title) {\n        font-size: 26px;\n        line-height: 1.25;\n    }\n}\n\n\/* ================================================\n   WEIMA-style Progressive Scroll Animations\n   ================================================ *\/\n[data-scrub-text] {\n    user-select: none;\n    line-height: 1.6;\n}\n\n.scrub-word {\n    display: inline-block;\n    color: rgba(255, 255, 255, 0.35);\n    transition: color 0.16s ease, text-shadow 0.16s ease;\n    will-change: color;\n    margin-right: 0.28em;\n}\n\n.scrub-word.is-revealed {\n    color: #ffffff;\n    text-shadow: 0 0 14px rgba(255, 255, 255, 0.45);\n}\n\n[data-parallax] {\n    will-change: transform;\n    transition: transform 0.08s ease-out;\n}\n\n.cad-image-wrapper {\n    overflow: hidden;\n}\n\n.rtm-counter {\n    display: inline-block;\n    font-variant-numeric: tabular-nums;\n    font-feature-settings: \"tnum\";\n}\n\n.progress-bar-inner {\n    transition: width 1.4s cubic-bezier(0.16, 1, 0.3, 1) !important;\n}\n\n@media (max-width: 768px) {\n    .scrub-word {\n        margin-right: 0.18em;\n    }\n    .cad-image-wrapper img[data-parallax] {\n        transform-origin: center center;\n    }\n}\n\n@media (prefers-reduced-motion: reduce) {\n    .scrub-word {\n        color: inherit !important;\n        text-shadow: none !important;\n    }\n    [data-parallax] {\n        transform: none !important;\n    }\n\/* Apple-style Carousel Navigation Arrows *\/\n.rtm-apple-nav {\n    display: none;\n    justify-content: center;\n    align-items: center;\n    gap: 14px;\n    margin-top: 24px;\n    user-select: none;\n}\n\n@media (max-width: 768px) {\n    .rtm-apple-nav {\n        display: flex;\n    }\n}\n\n.apple-arrow {\n    width: 44px;\n    height: 44px;\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.12);\n    border: 1px solid rgba(255, 255, 255, 0.1);\n    color: #ffffff;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    backdrop-filter: blur(16px);\n    -webkit-backdrop-filter: blur(16px);\n    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n    padding: 0;\n    outline: none;\n    -webkit-tap-highlight-color: transparent;\n}\n\n.apple-arrow:hover:not(:disabled) {\n    background: rgba(255, 255, 255, 0.24);\n    transform: scale(1.06);\n    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);\n}\n\n.apple-arrow:active:not(:disabled) {\n    transform: scale(0.94);\n    background: rgba(255, 255, 255, 0.18);\n}\n\n.apple-arrow:disabled {\n    opacity: 0.28;\n    cursor: not-allowed;\n    pointer-events: none;\n    background: rgba(255, 255, 255, 0.05);\n    border-color: rgba(255, 255, 255, 0.04);\n}\n\n.apple-arrow svg {\n    display: block;\n    stroke: currentColor;\n}\n\n@media (max-width: 768px) {\n    .card-container,\n    .gallery-grid {\n        cursor: grab;\n    }\n    .card-container.is-dragging,\n    .gallery-grid.is-dragging {\n        cursor: grabbing !important;\n        user-select: none;\n        scroll-snap-type: none !important;\n    }\n}\n\n<\/style>\n<script>\n    document.addEventListener('DOMContentLoaded', function () {\n        (function setupCarousels() {\n            const container = document.querySelector('.rtm-slideshow-container');\n            const motion = window.matchMedia('(prefers-reduced-motion: reduce)');\n            const mobile = window.matchMedia('(max-width: 768px)');\n            const lang = document.documentElement.lang.split('-')[0];\n            const pauseLabels = {en:'Pause',es:'Pausar',ru:'\u041f\u0430\u0443\u0437\u0430',fr:'Pause',nl:'Pauzeren',ko:'\uc77c\uc2dc \uc815\uc9c0',ja:'\u4e00\u6642\u505c\u6b62',pt:'Pausar',pl:'Pauza',de:'Pause',it:'Pausa',ar:'\u0625\u064a\u0642\u0627\u0641 \u0645\u0624\u0642\u062a',tr:'Duraklat',ro:'Pauz\u0103',id:'Jeda'};\n            if (container) {\n                const slides = [...container.querySelectorAll('.rtm-slide')];\n                const dotRow = container.querySelector('.rtm-slideshow-dots');\n                const pause = container.querySelector('.rtm-carousel-pause');\n                let current = 0;\n                let timer;\n                let paused = false;\n                let hovered = false;\n                let focused = false;\n                const dots = slides.map((slide, i) => {\n                    const dot = document.createElement('button');\n                    dot.type = 'button';\n                    dot.className = 'dot';\n                    dot.setAttribute('aria-label', slide.querySelector('h2').textContent.trim());\n                    dot.addEventListener('click', () => { show(i); schedule(); });\n                    dotRow.appendChild(dot);\n                    return dot;\n                });\n                function show(index) {\n                    current = index;\n                    slides.forEach((slide, i) => {\n                        slide.classList.toggle('active', i === current);\n                        slide.setAttribute('aria-hidden', String(i !== current));\n                        slide.inert = i !== current;\n                        dots[i].classList.toggle('active', i === current);\n                        dots[i].setAttribute('aria-pressed', String(i === current));\n                    });\n                }\n                function schedule() {\n                    clearInterval(timer);\n                    if (paused || hovered || focused || document.hidden || motion.matches || mobile.matches) return;\n                    timer = setInterval(() => show((current + 1) % slides.length), 6000);\n                }\n                function preferencesChanged() {\n                    if (mobile.matches) show(0);\n                    dotRow.hidden = mobile.matches;\n                    dotRow.style.display = mobile.matches ? 'none' : 'flex';\n                    pause.hidden = mobile.matches || motion.matches;\n                    schedule();\n                }\n                pause.setAttribute('aria-label', pauseLabels[lang] || pauseLabels.en);\n                pause.setAttribute('aria-pressed', 'false');\n                pause.addEventListener('click', () => {\n                    paused = !paused;\n                    pause.setAttribute('aria-pressed', String(paused));\n                    pause.textContent = paused ? '\u25b6' : '\u2161';\n                    schedule();\n                });\n                container.addEventListener('mouseenter', () => { hovered = true; schedule(); });\n                container.addEventListener('mouseleave', () => { hovered = false; schedule(); });\n                container.addEventListener('focusin', () => { focused = true; schedule(); });\n                container.addEventListener('focusout', event => {\n                    focused = container.contains(event.relatedTarget);\n                    schedule();\n                });\n                document.addEventListener('visibilitychange', schedule);\n                motion.addEventListener('change', preferencesChanged);\n                mobile.addEventListener('change', preferencesChanged);\n                show(0);\n                preferencesChanged();\n            }\n            const reviews = [...document.querySelectorAll('.review-item')];\n            const reviewDots = [...document.querySelectorAll('.reviews-dots .dot')];\n            function showReview(index) {\n                reviews.forEach((review, i) => {\n                    review.classList.toggle('active', i === index);\n                    review.setAttribute('aria-hidden', String(i !== index));\n                    reviewDots[i].classList.toggle('active', i === index);\n                    reviewDots[i].setAttribute('aria-pressed', String(i === index));\n                });\n            }\n            reviewDots.forEach((dot, i) => {\n                dot.setAttribute('aria-label', reviews[i].querySelector('.reviewer-name').textContent.trim());\n                dot.addEventListener('click', () => showReview(i));\n            });\n            if (reviews.length) showReview(0);\n        })();\n\n        (function setupVideoGallery() {\n            const videoItems = document.querySelectorAll('.video-item');\n            if (videoItems.length === 0) return;\n\n            function setPoster(item) {\n                if (item.dataset.posterLoaded) return;\n                const videoId = item.dataset.videoId;\n                if (!videoId) return;\n                item.dataset.posterLoaded = 'true';\n\n                const primaryPoster = `https:\/\/i.ytimg.com\/vi\/${videoId}\/hq720.jpg`;\n                const fallbackPoster = `https:\/\/i.ytimg.com\/vi\/${videoId}\/hqdefault.jpg`;\n                const probe = new Image();\n\n                probe.onload = () => {\n                    item.style.backgroundImage = `url('${primaryPoster}')`;\n                };\n\n                probe.onerror = () => {\n                    item.style.backgroundImage = `url('${fallbackPoster}')`;\n                };\n\n                probe.src = primaryPoster;\n            }\n\n            if ('IntersectionObserver' in window) {\n                const posterObserver = new IntersectionObserver((entries) => {\n                    entries.forEach(entry => {\n                        if (!entry.isIntersecting) return;\n                        setPoster(entry.target);\n                        posterObserver.unobserve(entry.target);\n                    });\n                }, { rootMargin: '200px 0px', threshold: 0.01 });\n                videoItems.forEach(item => posterObserver.observe(item));\n            } else {\n                videoItems.forEach(setPoster);\n            }\n\n            videoItems.forEach(item => {\n                const button = item.querySelector('.rtm-video-play');\n                button.addEventListener('click', () => {\n                    const videoId = item.dataset.videoId;\n                    if (!\/^[A-Za-z0-9_-]{11}$\/.test(videoId)) return;\n                    const iframe = document.createElement('iframe');\n                    iframe.src = `https:\/\/www.youtube-nocookie.com\/embed\/${videoId}?autoplay=1&playsinline=1&rel=0`;\n                    iframe.title = item.querySelector('h3').textContent.trim();\n                    iframe.allow = 'autoplay; encrypted-media; picture-in-picture; web-share';\n                    iframe.allowFullscreen = true;\n                    iframe.referrerPolicy = 'strict-origin-when-cross-origin';\n                    iframe.tabIndex = 0;\n                    item.classList.add('is-playing');\n                    button.replaceWith(iframe);\n                    iframe.focus();\n                }, { once: true });\n            });\n        })();\n\n        (function setupScrollAnimations() {\n            const targets = document.querySelectorAll('[data-reveal], .animate-on-scroll');\n            if (targets.length === 0) return;\n            const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n            if (reduced || !('IntersectionObserver' in window)) {\n                targets.forEach(t => t.classList.add('is-visible'));\n                return;\n            }\n            targets.forEach(t => t.classList.add('reveal-init'));\n            const observer = new IntersectionObserver((entries) => {\n                entries.forEach(entry => {\n                    if (entry.isIntersecting) {\n                        entry.target.classList.add('is-visible');\n                        observer.unobserve(entry.target);\n                    }\n                });\n            }, { threshold: 0.15, rootMargin: '0px 0px -8% 0px' });\n            targets.forEach(t => observer.observe(t));\n\n            function revealVisible() {\n                targets.forEach(target => {\n                    if (target.classList.contains('is-visible')) return;\n                    const rect = target.getBoundingClientRect();\n                    if (rect.top >= innerHeight) return;\n                    if (rect.bottom <= 0) return;\n                    target.classList.add('is-visible');\n                    observer.unobserve(target);\n                });\n            }\n            document.addEventListener('visibilitychange', () => {\n                if (!document.hidden) revealVisible();\n            });\n            revealVisible();\n        })();\n\n        (function setupTextScrubbing() {\n            const scrubElements = document.querySelectorAll('[data-scrub-text]');\n            if (scrubElements.length === 0) return;\n            const motion = window.matchMedia('(prefers-reduced-motion: reduce)');\n            if (motion.matches) return;\n\n            const scrubData = [];\n            scrubElements.forEach(el => {\n                const text = el.innerText.trim();\n                const isEnglish = \/^[a-zA-Z0-9\\s,.'\":;!?-]+$\/.test(text);\n                const tokens = isEnglish \n                    ? text.split(\/\\s+\/) \n                    : (text.match(\/[\\u4e00-\\u9fa5]|[a-zA-Z0-9'-]+|[\uff0c\u3002\u3001,.!?;:]\/g) || text.split(\/\\s+\/));\n\n                el.innerHTML = tokens.map(t => `<span class=\"scrub-word\">${t}<\/span> `).join('');\n                const words = Array.from(el.querySelectorAll('.scrub-word'));\n                scrubData.push({ el, words, total: words.length });\n            });\n\n            function updateScrub() {\n                const winH = window.innerHeight;\n                const isMobile = window.innerWidth <= 768;\n                scrubData.forEach(item => {\n                    const rect = item.el.getBoundingClientRect();\n                    const start = isMobile ? winH * 0.90 : winH * 0.85;\n                    const end = isMobile ? winH * 0.20 : winH * 0.25;\n                    const progress = Math.min(Math.max((start - rect.top) \/ (start - end), 0), 1);\n                    const count = Math.floor(progress * item.total);\n                    item.words.forEach((w, idx) => {\n                        w.classList.toggle('is-revealed', idx <= count);\n                    });\n                });\n            }\n\n            let ticking = false;\n            window.addEventListener('scroll', () => {\n                if (!ticking) {\n                    requestAnimationFrame(() => {\n                        updateScrub();\n                        ticking = false;\n                    });\n                    ticking = true;\n                }\n            }, { passive: true });\n            updateScrub();\n        })();\n\n        (function setupParallax() {\n            const parallaxItems = document.querySelectorAll('[data-parallax]');\n            if (parallaxItems.length === 0) return;\n            const motion = window.matchMedia('(prefers-reduced-motion: reduce)');\n            if (motion.matches) return;\n\n            function updateParallax() {\n                const winH = window.innerHeight;\n                const isMobile = window.innerWidth <= 768;\n                parallaxItems.forEach(item => {\n                    const rect = item.getBoundingClientRect();\n                    if (rect.bottom < 0 || rect.top > winH) return;\n                    const baseSpeed = parseFloat(item.dataset.parallax || '0.1');\n                    const speed = isMobile ? baseSpeed * 0.45 : baseSpeed;\n                    const offset = (rect.top + rect.height \/ 2) - winH \/ 2;\n                    const translateY = (offset * speed).toFixed(1);\n                    item.style.transform = `translate3d(0, ${translateY}px, 0)`;\n                });\n            }\n\n            let ticking = false;\n            window.addEventListener('scroll', () => {\n                if (!ticking) {\n                    requestAnimationFrame(() => {\n                        updateParallax();\n                        ticking = false;\n                    });\n                    ticking = true;\n                }\n            }, { passive: true });\n            updateParallax();\n        })();\n\n        (function setupCountersAndProgress() {\n            const counters = document.querySelectorAll('.rtm-counter');\n            const progressBars = document.querySelectorAll('.progress-bar-inner[data-width]');\n            if (counters.length === 0 && progressBars.length === 0) return;\n            const motion = window.matchMedia('(prefers-reduced-motion: reduce)');\n\n            function runCounter(el) {\n                if (el.dataset.animated) return;\n                el.dataset.animated = 'true';\n                const target = parseFloat(el.dataset.target || '0');\n                const suffix = el.dataset.suffix || '';\n                const isDecimal = Boolean(el.dataset.decimal);\n                if (motion.matches) {\n                    el.textContent = `${target}${suffix}`;\n                    return;\n                }\n                const duration = 1600;\n                const start = performance.now();\n                function step(now) {\n                    const progress = Math.min((now - start) \/ duration, 1);\n                    const easeOut = progress === 1 ? 1 : 1 - Math.pow(2, -10 * progress);\n                    const val = easeOut * target;\n                    el.textContent = `${isDecimal ? val.toFixed(1) : Math.floor(val).toLocaleString()}${suffix}`;\n                    if (progress < 1) requestAnimationFrame(step);\n                }\n                requestAnimationFrame(step);\n            }\n\n            function runProgressBar(bar) {\n                if (bar.dataset.animated) return;\n                bar.dataset.animated = 'true';\n                const width = bar.dataset.width;\n                if (width) {\n                    bar.style.width = width;\n                }\n            }\n\n            if ('IntersectionObserver' in window) {\n                const counterObserver = new IntersectionObserver((entries) => {\n                    entries.forEach(entry => {\n                        if (entry.isIntersecting) {\n                            runCounter(entry.target);\n                            counterObserver.unobserve(entry.target);\n                        }\n                    });\n                }, { threshold: 0.3 });\n                counters.forEach(c => counterObserver.observe(c));\n\n                const progressObserver = new IntersectionObserver((entries) => {\n                    entries.forEach(entry => {\n                        if (entry.isIntersecting) {\n                            runProgressBar(entry.target);\n                            progressObserver.unobserve(entry.target);\n                        }\n                    });\n                }, { threshold: 0.2 });\n                progressBars.forEach(b => progressObserver.observe(b));\n            } else {\n                counters.forEach(runCounter);\n                progressBars.forEach(runProgressBar);\n            }\n        })();\n\n        (function setupAppleCarouselNav() {\n            const configs = [\n                {\n                    container: document.querySelector('.card-container'),\n                    nav: document.querySelector('.products-section .rtm-apple-nav'),\n                    itemSelector: '.card'\n                },\n                {\n                    container: document.querySelector('.gallery-grid'),\n                    nav: document.querySelector('.custom-media-section .rtm-apple-nav'),\n                    itemSelector: '.video-item'\n                }\n            ];\n\n            configs.forEach(({ container, nav, itemSelector }) => {\n                if (!container || !nav) return;\n\n                const prevBtn = nav.querySelector('.apple-arrow.prev');\n                const nextBtn = nav.querySelector('.apple-arrow.next');\n\n                function updateArrowStates() {\n                    const scrollLeft = container.scrollLeft;\n                    const maxScroll = container.scrollWidth - container.clientWidth;\n                    if (prevBtn) prevBtn.disabled = scrollLeft <= 8;\n                    if (nextBtn) nextBtn.disabled = scrollLeft >= maxScroll - 8;\n                }\n\n                function getScrollStep() {\n                    const firstItem = container.querySelector(itemSelector);\n                    return firstItem ? firstItem.offsetWidth + 16 : 300;\n                }\n\n                if (prevBtn) {\n                    prevBtn.addEventListener('click', () => {\n                        container.scrollBy({ left: -getScrollStep(), behavior: 'smooth' });\n                    });\n                }\n\n                if (nextBtn) {\n                    nextBtn.addEventListener('click', () => {\n                        container.scrollBy({ left: getScrollStep(), behavior: 'smooth' });\n                    });\n                }\n\n                container.addEventListener('scroll', updateArrowStates, { passive: true });\n                window.addEventListener('resize', updateArrowStates);\n                setTimeout(updateArrowStates, 300);\n\n                \/\/ \u9f20\u6807\u6309\u4f4f\u76f4\u63a5\u62d6\u62fd (Mouse drag to scroll)\n                let isDown = false;\n                let startX = 0;\n                let scrollLeftStart = 0;\n                let moved = false;\n\n                container.addEventListener('mousedown', (e) => {\n                    if (e.target.closest('.rtm-video-play')) return;\n                    isDown = true;\n                    moved = false;\n                    container.classList.add('is-dragging');\n                    startX = e.pageX - container.offsetLeft;\n                    scrollLeftStart = container.scrollLeft;\n                });\n\n                window.addEventListener('mouseup', () => {\n                    if (!isDown) return;\n                    isDown = false;\n                    container.classList.remove('is-dragging');\n                    setTimeout(() => { moved = false; }, 50);\n                });\n\n                container.addEventListener('mousemove', (e) => {\n                    if (!isDown) return;\n                    e.preventDefault();\n                    const x = e.pageX - container.offsetLeft;\n                    const walk = x - startX;\n                    if (Math.abs(walk) > 4) {\n                        moved = true;\n                    }\n                    container.scrollLeft = scrollLeftStart - walk;\n                });\n\n                \/\/ \u62d6\u62fd\u8fc7\u7a0b\u4e2d\u963b\u6b62\u94fe\u63a5\u6216\u64ad\u653e\u8bef\u89e6\u53d1\n                container.addEventListener('click', (e) => {\n                    if (moved) {\n                        e.preventDefault();\n                        e.stopPropagation();\n                    }\n                }, true);\n            });\n        })();\n    });\n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Turnkey Washing Systems for Rigid Plastics Maximize purity and profit. Advanced contaminant removal for high-value outputs. Get a Quote Learn More High-Output Plastic Pelletizing Systems Turn waste into revenue with uniform, premium-quality pellets. Get a Quote Learn More Heavy-Duty Single-Shaft Shredders Unstoppable torque. Effortlessly reduce tough films and woven sacks. Get a Quote Learn More &hellip; <a href=\"https:\/\/www.recyclemachine.net\/fr\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Fabricant de machines de recyclage plastique | Rumtoo<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-11744","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.recyclemachine.net\/fr\/wp-json\/wp\/v2\/pages\/11744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.recyclemachine.net\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.recyclemachine.net\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.recyclemachine.net\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.recyclemachine.net\/fr\/wp-json\/wp\/v2\/comments?post=11744"}],"version-history":[{"count":32,"href":"https:\/\/www.recyclemachine.net\/fr\/wp-json\/wp\/v2\/pages\/11744\/revisions"}],"predecessor-version":[{"id":17216,"href":"https:\/\/www.recyclemachine.net\/fr\/wp-json\/wp\/v2\/pages\/11744\/revisions\/17216"}],"wp:attachment":[{"href":"https:\/\/www.recyclemachine.net\/fr\/wp-json\/wp\/v2\/media?parent=11744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}