{"id":18817,"date":"2026-01-20T17:14:35","date_gmt":"2026-01-20T17:14:35","guid":{"rendered":"https:\/\/framos.com\/produkte-losungen\/modulare-bildsensormodule-amp-entwicklungskits\/8-mp-camera-modules\/"},"modified":"2026-07-31T07:05:43","modified_gmt":"2026-07-31T07:05:43","slug":"8-mp-camera-modules","status":"publish","type":"page","link":"https:\/\/framos.com\/de\/produkte-dienstleistungen\/kameramodule\/8-mp-camera-modules\/","title":{"rendered":"8 MP (4K) Advanced Vision Kameramodule"},"content":{"rendered":"  \n  <!-- ALpine.js Logic Handler (Moved TOP for bulletproof WP execution) -->\n  <script data-cookieconsent=\"ignore\">\n    if (typeof window.framosProductFinder === 'undefined') {\n        window.framosProductFinder = function(initData) {\n            return {\n                products: initData.products,\n                sensors: initData.sensors,\n                interfaces: initData.interfaces,\n                skeletonCount: initData.skeletonCount,\n                i18n: initData.i18n,\n                \n                activeEnclosure: 'All',\n                \/\/ Auto-select the sensor if there is only 1 type passed in the shortcode\n                activeSensor: initData.sensors.length === 1 ? initData.sensors[0] : 'All',\n                \n                isModalOpen: false,\n                activeProduct: null,\n\n                init() {\n                    \/\/ Initialize lucide icons if they exist in the global scope\n                    if (typeof lucide !== 'undefined') {\n                        setTimeout(() => lucide.createIcons(), 50);\n                    }\n                },\n\n                get filteredProducts() {\n                    return this.products.filter(p => {\n                        let enclosureMatch = true;\n                        let sensorMatch = true;\n\n                        \/\/ Check Enclosure Tab\n                        if (this.activeEnclosure === 'Housed' && !p.is_housed) enclosureMatch = false;\n                        if (this.activeEnclosure === 'None' && p.is_housed) enclosureMatch = false;\n\n                        \/\/ Check Sensor Dropdown\n                        if (this.activeSensor !== 'All' && p.sensor !== this.activeSensor) sensorMatch = false;\n\n                        return enclosureMatch && sensorMatch;\n                    });\n                },\n\n                openModal(product) {\n                    this.activeProduct = product;\n                    this.isModalOpen = true;\n                    document.body.style.overflow = 'hidden';\n                },\n\n                closeModal() {\n                    this.isModalOpen = false;\n                    setTimeout(() => { this.activeProduct = null; }, 300);\n                    document.body.style.overflow = '';\n                }\n            };\n        };\n    }\n  <\/script>\n\n  <!-- Pass the safely encoded JSON directly into our globally available function -->\n  <section class=\"py-12 px-4 bg-gray-50 dark:bg-[#171b1e] transition-colors\" x-data=\"framosProductFinder({&quot;products&quot;:[{&quot;id&quot;:24284,&quot;model&quot;:&quot;FSM:GO IMX838 Kameramodul mit 100\\u00b0 HFOV-Objektiv&quot;,&quot;formatted_model&quot;:&quot;FSM:GO IMX838 Kameramodul mit 100\\u00b0 HFOV-Objektiv&quot;,&quot;lensTitle&quot;:&quot;with FOV: 100\\u00b0H (IMX678), F2.7, IRC@660nm Lens&quot;,&quot;sensor&quot;:&quot;IMX838&quot;,&quot;shutter&quot;:&quot;Rolling Shutter&quot;,&quot;url&quot;:&quot;https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-imx838-kameramodul-mit-100-hfo-objektiv-29908\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/framos.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/FSM-GO-IMX838C-M12A-M12-L100A.jpg&quot;,&quot;is_housed&quot;:false,&quot;buy_now&quot;:null,&quot;attributes&quot;:[{&quot;label&quot;:&quot;Aufl\\u00f6sung [MP]&quot;,&quot;value&quot;:&quot;8 MP&quot;},{&quot;label&quot;:&quot;Objektivtyp&quot;,&quot;value&quot;:&quot;100\\u00b0 HFOV&quot;},{&quot;label&quot;:&quot;Geh\\u00e4use Typ&quot;,&quot;value&quot;:&quot;None&quot;},{&quot;label&quot;:&quot;Chromatik&quot;,&quot;value&quot;:&quot;Color&quot;}]},{&quot;id&quot;:24282,&quot;model&quot;:&quot;FSM:GO IMX838 Kameramodul mit 110\\u00b0 HFOV-Objektiv&quot;,&quot;formatted_model&quot;:&quot;FSM:GO IMX838 Kameramodul mit 110\\u00b0 HFOV-Objektiv&quot;,&quot;lensTitle&quot;:&quot;with FOV: 110\\u00b0H (IMX678), F2, IRC@650nm Lens&quot;,&quot;sensor&quot;:&quot;IMX838&quot;,&quot;shutter&quot;:&quot;Rolling Shutter&quot;,&quot;url&quot;:&quot;https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-imx838-kameramodul-mit-110-hfov-objektiv-29914\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/framos.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/FSM-GO-IMX838C-M12A-L110A.jpg&quot;,&quot;is_housed&quot;:false,&quot;buy_now&quot;:null,&quot;attributes&quot;:[{&quot;label&quot;:&quot;Aufl\\u00f6sung [MP]&quot;,&quot;value&quot;:&quot;8 MP&quot;},{&quot;label&quot;:&quot;Objektivtyp&quot;,&quot;value&quot;:&quot;110\\u00b0 HFOV&quot;},{&quot;label&quot;:&quot;Geh\\u00e4use Typ&quot;,&quot;value&quot;:&quot;None&quot;},{&quot;label&quot;:&quot;Chromatik&quot;,&quot;value&quot;:&quot;Color&quot;}]},{&quot;id&quot;:24279,&quot;model&quot;:&quot;FSM:GO IMX838 Kameramodul mit 54\\u00b0 HFOV-Objektiv&quot;,&quot;formatted_model&quot;:&quot;FSM:GO IMX838 Kameramodul mit 54\\u00b0 HFOV-Objektiv&quot;,&quot;lensTitle&quot;:&quot;with FOV: 54\\u00b0H (IMX678), F2, IRC@650nm Lens&quot;,&quot;sensor&quot;:&quot;IMX838&quot;,&quot;shutter&quot;:&quot;Rolling Shutter&quot;,&quot;url&quot;:&quot;https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-imx838-kameramodul-mit-54-hfov-objektiv-29902\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/framos.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/FSM-GO-IMX838C-M12A-L54A.jpg&quot;,&quot;is_housed&quot;:false,&quot;buy_now&quot;:null,&quot;attributes&quot;:[{&quot;label&quot;:&quot;Aufl\\u00f6sung [MP]&quot;,&quot;value&quot;:&quot;8 MP&quot;},{&quot;label&quot;:&quot;Objektivtyp&quot;,&quot;value&quot;:&quot;54\\u00b0 HFOV&quot;},{&quot;label&quot;:&quot;Geh\\u00e4use Typ&quot;,&quot;value&quot;:&quot;None&quot;},{&quot;label&quot;:&quot;Chromatik&quot;,&quot;value&quot;:&quot;Color&quot;}]},{&quot;id&quot;:15646,&quot;model&quot;:&quot;FSM:GO IMX678 Kameramodul im Geh\\u00e4use mit 54\\u00b0 HFOV-Objektiv&quot;,&quot;formatted_model&quot;:&quot;FSM:GO IMX678 Kameramodul im Geh\\u00e4use mit 54\\u00b0 HFOV-Objektiv&quot;,&quot;lensTitle&quot;:&quot;Sensor Module&quot;,&quot;sensor&quot;:&quot;IMX678&quot;,&quot;shutter&quot;:&quot;&quot;,&quot;url&quot;:&quot;https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-housed-camera-sensor-module-with-imx678-sensor-and-54-hfov-lens-29104\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/framos.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/web__0006_FSM-GO_Housing_L54_Front.jpg&quot;,&quot;is_housed&quot;:false,&quot;buy_now&quot;:null,&quot;attributes&quot;:[{&quot;label&quot;:&quot;Aufl\\u00f6sung [MP]&quot;,&quot;value&quot;:&quot;8.3 MP&quot;},{&quot;label&quot;:&quot;Objektivtyp&quot;,&quot;value&quot;:&quot;54\\u00b0 HFOV&quot;},{&quot;label&quot;:&quot;Geh\\u00e4use Typ&quot;,&quot;value&quot;:&quot;Housed&quot;},{&quot;label&quot;:&quot;Chromatik&quot;,&quot;value&quot;:&quot;Color&quot;}]},{&quot;id&quot;:15648,&quot;model&quot;:&quot;FSM:GO IMX678 Kameramodul im Geh\\u00e4use mit 110\\u00b0 HFOV-Objektiv&quot;,&quot;formatted_model&quot;:&quot;FSM:GO IMX678 Kameramodul im Geh\\u00e4use mit 110\\u00b0 HFOV-Objektiv&quot;,&quot;lensTitle&quot;:&quot;Sensor Module&quot;,&quot;sensor&quot;:&quot;IMX678&quot;,&quot;shutter&quot;:&quot;&quot;,&quot;url&quot;:&quot;https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-housed-camera-sensor-module-with-imx678-sensor-and-110-hfov-lens-29105\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/framos.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/FMS-GO-IMX678-wide-1000-1600.jpg&quot;,&quot;is_housed&quot;:false,&quot;buy_now&quot;:null,&quot;attributes&quot;:[{&quot;label&quot;:&quot;Aufl\\u00f6sung [MP]&quot;,&quot;value&quot;:&quot;8.3 MP&quot;},{&quot;label&quot;:&quot;Objektivtyp&quot;,&quot;value&quot;:&quot;110\\u00b0 HFOV&quot;},{&quot;label&quot;:&quot;Geh\\u00e4use Typ&quot;,&quot;value&quot;:&quot;Housed&quot;},{&quot;label&quot;:&quot;Chromatik&quot;,&quot;value&quot;:&quot;Color&quot;}]},{&quot;id&quot;:13554,&quot;model&quot;:&quot;FSM:GO Kamera Sensor Modul mit IMX678 Sensor und 110\\u00b0 HFOV Objektiv&quot;,&quot;formatted_model&quot;:&quot;FSM:GO Kamera Sensor Modul mit IMX678 Sensor und 110\\u00b0 HFOV Objektiv&quot;,&quot;lensTitle&quot;:&quot;with FOV: 110\\u00b0H (IMX678), F2, IRC@650nm Lens&quot;,&quot;sensor&quot;:&quot;IMX678&quot;,&quot;shutter&quot;:&quot;&quot;,&quot;url&quot;:&quot;https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-with-imx678-sensor-and-110-hfov-lens-27361\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/framos.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/FMS-GO-IMX678-wide-1000-1600.jpg&quot;,&quot;is_housed&quot;:false,&quot;buy_now&quot;:&quot;https:\\\/\\\/eu.mouser.com\\\/ProductDetail\\\/FRAMOS\\\/FSMGO-IMX678C-M12-L110A-PM-A1Q1?qs=sGAEpiMZZMu3sxpa5v1qro5FY7hlnl9M9sDOXf2Pd9Q%3D&quot;,&quot;attributes&quot;:[{&quot;label&quot;:&quot;Aufl\\u00f6sung [MP]&quot;,&quot;value&quot;:&quot;8.3 MP&quot;},{&quot;label&quot;:&quot;Objektivtyp&quot;,&quot;value&quot;:&quot;110\\u00b0 HFOV&quot;},{&quot;label&quot;:&quot;Geh\\u00e4use Typ&quot;,&quot;value&quot;:&quot;None&quot;},{&quot;label&quot;:&quot;Chromatik&quot;,&quot;value&quot;:&quot;Color&quot;}]},{&quot;id&quot;:13553,&quot;model&quot;:&quot;FSM:GO Kamera-Sensormodul mit IMX678-Sensor und 100\\u00b0 HFOV-Objektiv&quot;,&quot;formatted_model&quot;:&quot;FSM:GO Kamera-Sensormodul mit IMX678-Sensor und 100\\u00b0 HFOV-Objektiv&quot;,&quot;lensTitle&quot;:&quot;with FOV: 100\\u00b0H (IMX678), F2.7, IRC@660nm Lens&quot;,&quot;sensor&quot;:&quot;IMX678&quot;,&quot;shutter&quot;:&quot;&quot;,&quot;url&quot;:&quot;https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-with-imx678-sensor-and-100-hfov-lens-27390\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/framos.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/FSM-GO-IMX678C-M12A-M12-L100A-PM-A1Q1-Left-Side-Front-2.jpg&quot;,&quot;is_housed&quot;:false,&quot;buy_now&quot;:&quot;https:\\\/\\\/eu.mouser.com\\\/ProductDetail\\\/FRAMOS\\\/FSMGO-IMX678C-M12-L54A-PM-A1Q1?qs=sGAEpiMZZMu3sxpa5v1qro5FY7hlnl9MO2r2ptfpSUk%3D&quot;,&quot;attributes&quot;:[{&quot;label&quot;:&quot;Aufl\\u00f6sung [MP]&quot;,&quot;value&quot;:&quot;8.3 MP&quot;},{&quot;label&quot;:&quot;Objektivtyp&quot;,&quot;value&quot;:&quot;100\\u00b0 HFOV&quot;},{&quot;label&quot;:&quot;Geh\\u00e4use Typ&quot;,&quot;value&quot;:&quot;None&quot;},{&quot;label&quot;:&quot;Chromatik&quot;,&quot;value&quot;:&quot;Color&quot;}]},{&quot;id&quot;:7571,&quot;model&quot;:&quot;FSM:GO Kamera Sensor Modul mit IMX678 Sensor und 54\\u00b0 HFOV Objektiv&quot;,&quot;formatted_model&quot;:&quot;FSM:GO Kamera Sensor Modul mit IMX678 Sensor und 54\\u00b0 HFOV Objektiv&quot;,&quot;lensTitle&quot;:&quot;with FOV: 54\\u00b0H (IMX678), F2, IRC@650nm Lens&quot;,&quot;sensor&quot;:&quot;IMX678&quot;,&quot;shutter&quot;:&quot;&quot;,&quot;url&quot;:&quot;https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-with-imx678-sensor-and-54-hfov-lens-27359\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/framos.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/FSM-GO-IMX678C-M12A-L54A-PM-A1Q1-Left-Side-Front-3.jpg&quot;,&quot;is_housed&quot;:false,&quot;buy_now&quot;:&quot;https:\\\/\\\/eu.mouser.com\\\/ProductDetail\\\/FRAMOS\\\/FSMGO-IMX678C-M12-L54A-PM-A1Q1?qs=sGAEpiMZZMu3sxpa5v1qro5FY7hlnl9MO2r2ptfpSUk%3D&quot;,&quot;attributes&quot;:[{&quot;label&quot;:&quot;Aufl\\u00f6sung [MP]&quot;,&quot;value&quot;:&quot;8.3 MP&quot;},{&quot;label&quot;:&quot;Objektivtyp&quot;,&quot;value&quot;:&quot;54\\u00b0 HFOV&quot;},{&quot;label&quot;:&quot;Geh\\u00e4use Typ&quot;,&quot;value&quot;:&quot;Housed&quot;},{&quot;label&quot;:&quot;Chromatik&quot;,&quot;value&quot;:&quot;Color&quot;}]}],&quot;sensors&quot;:[&quot;IMX838&quot;,&quot;IMX678&quot;],&quot;interfaces&quot;:[{&quot;id&quot;:&quot;gmsl&quot;,&quot;name&quot;:&quot;GMSL3 \\\/ Coaxial&quot;,&quot;tagline&quot;:&quot;Automotive Grade&quot;,&quot;benefits&quot;:[&quot;Cables up to 15m&quot;,&quot;Single-cable power\\\/data&quot;],&quot;image&quot;:&quot;option-gmsl.jpg&quot;,&quot;link&quot;:&quot;https:\\\/\\\/www.mouser.ca\\\/en\\\/ProductDetail\\\/FRAMOS\\\/FFA-GMSL3-Kit-5m?qs=%252BHhoWzUJg4IkLHv%2F6fzsXQ%3D%3D&quot;},{&quot;id&quot;:&quot;ffc&quot;,&quot;name&quot;:&quot;PixelMate\\u2122 \\\/ FFC&quot;,&quot;tagline&quot;:&quot;High-Density Embedded&quot;,&quot;benefits&quot;:[&quot;Low-cost cabling&quot;,&quot;Ideal for tight routing&quot;],&quot;image&quot;:&quot;option-ffc.jpg&quot;,&quot;link&quot;:&quot;https:\\\/\\\/www.mouser.ca\\\/en\\\/ProductDetail\\\/FRAMOS\\\/FFA-FFC40-Kit-0.2m?qs=%252BHhoWzUJg4KDqAG8%2FyVQaQ%3D%3D&quot;}],&quot;skeletonCount&quot;:0,&quot;i18n&quot;:{&quot;allModules&quot;:&quot;All Modules&quot;,&quot;boardLevel&quot;:&quot;Board-Level&quot;,&quot;housedOnly&quot;:&quot;Mit Geh\\u00e4use&quot;,&quot;filterSens&quot;:&quot;Filter by Sensor:&quot;,&quot;allSensors&quot;:&quot;All Sensors&quot;,&quot;showing&quot;:&quot;Showing&quot;,&quot;of&quot;:&quot;of&quot;,&quot;modules&quot;:&quot;modules&quot;,&quot;reqQuote&quot;:&quot;Request Quote&quot;,&quot;buyNow&quot;:&quot;Jetzt kaufen&quot;,&quot;details&quot;:&quot;Produkt Details&quot;,&quot;chooseInt&quot;:&quot;Interface w\\u00e4hlen&quot;,&quot;noMatch&quot;:&quot;No matching vision modules found.&quot;,&quot;reset&quot;:&quot;Filter zur\\u00fccksetzen&quot;,&quot;comingSoon&quot;:&quot;Coming Soon&quot;,&quot;ecosystemInt&quot;:&quot;Ecosystem Integration&quot;,&quot;interfaceDesc&quot;:&quot;FSM:GO modules are equipped natively with a compact high-performance interface. Choose an adapter below to extend connectivity to your exact production platform requirement.&quot;}})\">\n    <div class=\"max-w-7xl mx-auto\">\n      \n      <!-- ==========================================\n           ORIGINAL STATIC TEXT & APPLICATIONS HEADER \n           ========================================== -->\n            <div id=\"product-lineup\" class=\"flex flex-col lg:flex-row items-start justify-between gap-12 mb-16\">\n        <div class=\"max-w-xl\">\n          <h2 class=\"font-framos-light text-3xl lg:text-4xl leading-tight text-secondary dark:text-white mb-6 p-0\">\n            FSM:GO Camera Modules          <\/h2>\n          <p class=\"text-slate-600 dark:text-slate-300\">\n            FSM:GO camera modules are used in embedded vision systems where compact design, low power consumption, and reliable image quality are required.          <\/p>\n        <\/div>\n\n        <div class=\"flex-grow max-w-2xl pt-1\">\n          <div class=\"flex items-center gap-2 mb-8\">\n            <span class=\"h-px w-8 bg-primary\"><\/span>\n            <span class=\"text-xs font-bold uppercase tracking-widest text-primary\">\n              Possible Applications            <\/span>\n          <\/div>\n\n          <div class=\"grid grid-cols-2 sm:grid-cols-3 gap-y-8 gap-x-6\">\n                          <div class=\"flex flex-col gap-3 group cursor-default\">\n                <div class=\"flex items-center gap-3\">\n                  <i data-lucide=\"factory\" class=\"w-5 h-5 text-primary opacity-90 group-hover:opacity-100 transition-opacity\"><\/i>\n                  <span class=\"text-sm font-bold text-framosDarkBlue dark:text-slate-200 leading-snug\">\n                    Industrial Automation                  <\/span>\n                <\/div>\n              <\/div>\n                          <div class=\"flex flex-col gap-3 group cursor-default\">\n                <div class=\"flex items-center gap-3\">\n                  <i data-lucide=\"bot\" class=\"w-5 h-5 text-primary opacity-90 group-hover:opacity-100 transition-opacity\"><\/i>\n                  <span class=\"text-sm font-bold text-framosDarkBlue dark:text-slate-200 leading-snug\">\n                    Autonomous Robots                  <\/span>\n                <\/div>\n              <\/div>\n                          <div class=\"flex flex-col gap-3 group cursor-default\">\n                <div class=\"flex items-center gap-3\">\n                  <i data-lucide=\"stethoscope\" class=\"w-5 h-5 text-primary opacity-90 group-hover:opacity-100 transition-opacity\"><\/i>\n                  <span class=\"text-sm font-bold text-framosDarkBlue dark:text-slate-200 leading-snug\">\n                    Medical &amp; Healthcare                  <\/span>\n                <\/div>\n              <\/div>\n                          <div class=\"flex flex-col gap-3 group cursor-default\">\n                <div class=\"flex items-center gap-3\">\n                  <i data-lucide=\"shield-check\" class=\"w-5 h-5 text-primary opacity-90 group-hover:opacity-100 transition-opacity\"><\/i>\n                  <span class=\"text-sm font-bold text-framosDarkBlue dark:text-slate-200 leading-snug\">\n                    Security &amp; Biometrics                  <\/span>\n                <\/div>\n              <\/div>\n                          <div class=\"flex flex-col gap-3 group cursor-default\">\n                <div class=\"flex items-center gap-3\">\n                  <i data-lucide=\"leaf\" class=\"w-5 h-5 text-primary opacity-90 group-hover:opacity-100 transition-opacity\"><\/i>\n                  <span class=\"text-sm font-bold text-framosDarkBlue dark:text-slate-200 leading-snug\">\n                    Agriculture Tech                  <\/span>\n                <\/div>\n              <\/div>\n                          <div class=\"flex flex-col gap-3 group cursor-default\">\n                <div class=\"flex items-center gap-3\">\n                  <i data-lucide=\"car\" class=\"w-5 h-5 text-primary opacity-90 group-hover:opacity-100 transition-opacity\"><\/i>\n                  <span class=\"text-sm font-bold text-framosDarkBlue dark:text-slate-200 leading-snug\">\n                    Intelligente Verkehrssysteme                  <\/span>\n                <\/div>\n              <\/div>\n                      <\/div>\n        <\/div>\n      <\/div>\n      \n      <!-- ==========================================\n           B2B ENGINEERING SHOWROOM CONTROLS \n           ========================================== -->\n            <div class=\"p-4 rounded-xl border mb-8 flex flex-col md:flex-row justify-between items-center gap-4 bg-white dark:bg-[#23282d] border-gray-200 dark:border-gray-700 shadow-sm\">\n        \n        <!-- Segmented Enclosure Switcher -->\n        <div class=\"flex gap-2 p-1 bg-gray-100 dark:bg-[#171b1e] rounded-xl w-full md:w-auto\">\n          <button @click=\"activeEnclosure = 'All'\" \n                  :class=\"activeEnclosure === 'All' ? 'bg-primary text-white shadow' : 'text-slate-500 hover:text-slate-800 dark:text-gray-400'\"\n                  class=\"flex-1 md:flex-initial px-5 py-2.5 rounded-lg text-xs font-bold transition-all uppercase\">\n            <span x-text=\"i18n.allModules\"><\/span>\n          <\/button>\n          <button @click=\"activeEnclosure = 'None'\" \n                  :class=\"activeEnclosure === 'None' ? 'bg-primary text-white shadow' : 'text-slate-500 hover:text-slate-800 dark:text-gray-400'\"\n                  class=\"flex-1 md:flex-initial px-5 py-2.5 rounded-lg text-xs font-bold transition-all uppercase\">\n            <span x-text=\"i18n.boardLevel\"><\/span>\n          <\/button>\n          <button @click=\"activeEnclosure = 'Housed'\" \n                  :class=\"activeEnclosure === 'Housed' ? 'bg-primary text-white shadow' : 'text-slate-500 hover:text-slate-800 dark:text-gray-400'\"\n                  class=\"flex-1 md:flex-initial px-5 py-2.5 rounded-lg text-xs font-bold transition-all uppercase\">\n            <span x-text=\"i18n.housedOnly\"><\/span>\n          <\/button>\n        <\/div>\n\n        <!-- Quick Sensor Dropdown Filter -->\n        <div class=\"flex items-center gap-3 w-full md:w-auto shrink-0 justify-end\">\n          <span class=\"text-xs font-bold uppercase text-slate-400 hidden sm:inline-block\" x-text=\"i18n.filterSens\"><\/span>\n          <select x-model=\"activeSensor\" class=\"w-full md:w-48 text-xs p-2.5 rounded-lg border outline-none focus:ring-2 focus:ring-primary font-bold bg-gray-50 dark:bg-[#171b1e] border-gray-300 dark:border-gray-700 text-slate-800 dark:text-white cursor-pointer transition-colors\">\n            <option value=\"All\" x-text=\"i18n.allSensors\"><\/option>\n            <template x-for=\"sensor in sensors\" :key=\"sensor\">\n              <option :value=\"sensor\" x-text=\"sensor\"><\/option>\n            <\/template>\n          <\/select>\n        <\/div>\n      <\/div>\n      \n      <div class=\"flex items-center justify-between mb-6\">\n        <div class=\"text-xs font-semibold tracking-wider text-slate-400 uppercase\">\n          <span x-text=\"i18n.showing\"><\/span> \n          <span class=\"font-extrabold text-primary text-sm\" x-text=\"filteredProducts.length\"><\/span> \n          <span x-text=\"i18n.of + ' ' + products.length + ' ' + i18n.modules\"><\/span>\n        <\/div>\n      <\/div>\n      \n      <!-- EMPTY STATE -->\n      <div x-show=\"filteredProducts.length === 0\" class=\"p-16 rounded-2xl text-center border-2 border-dashed bg-white dark:bg-[#23282d] border-gray-300 dark:border-gray-700 hidden\" style=\"display: none;\" :style=\"{ display: filteredProducts.length === 0 ? 'block' : 'none' }\">\n        <div class=\"w-12 h-12 rounded-full bg-rose-100 flex items-center justify-center mx-auto mb-4 text-rose-500 font-bold text-xl\">!<\/div>\n        <h3 class=\"text-lg font-bold mb-2 dark:text-white\" x-text=\"i18n.noMatch\"><\/h3>\n        <button @click=\"activeEnclosure = 'All'; activeSensor = 'All'\" class=\"px-6 py-2.5 bg-primary text-white text-xs font-bold rounded-lg uppercase tracking-wider transition-all hover:bg-cyan-600 mt-4\" x-text=\"i18n.reset\"  data-cta=\"true\" data-cta-id=\"fsmgo-hd-cards-shortcode.1.\" data-cta-label=\"\" data-cta-location=\"fsmgo-hd-cards-shortcode@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\"><\/button>\n      <\/div>\n\n      <!-- ==========================================\n           PRODUCT SHOWCASE GRID\n           ========================================== -->\n      <div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6\">\n        \n        <!-- Active Products -->\n        <template x-for=\"product in filteredProducts\" :key=\"product.id\">\n          <div class=\"bg-white dark:bg-framosDarkBlue rounded-[2rem] border border-slate-100 dark:border-slate-700 shadow-sm overflow-hidden h-full flex flex-col transition-all hover:shadow-xl\">\n            <div class=\"p-6 flex flex-col flex-grow relative\">\n              \n              <!-- Technical Visual Render -->\n              <div class=\"aspect-square bg-slate-50 dark:bg-slate-800\/50 rounded-2xl mb-6 overflow-hidden relative\">\n                <!-- Shutter Badge -->\n                <template x-if=\"product.shutter\">\n                  <div class=\"absolute top-2 right-2 z-10 bg-framosDarkBlue text-white text-[9px] font-bold px-2 py-1 rounded shadow uppercase tracking-wider\" x-text=\"product.shutter\"><\/div>\n                <\/template>\n                \n                <img :src=\"product.image\" class=\"w-full h-full object-contain p-4 transition-transform duration-500 hover:scale-105\" alt=\"\">\n              <\/div>\n\n              <!-- Title -->\n              <h3 class=\"text-[16px] text-framosDarkBlue dark:text-white font-bold leading-tight mb-0 pb-8 uppercase\" x-html=\"product.formatted_model\"><\/h3>\n              \n              <!-- Spec Data -->\n              <div class=\"space-y-1 text-[12px] mb-6\">\n                <template x-for=\"attr in product.attributes\" :key=\"attr.label\">\n                  <div class=\"grid grid-cols-[1fr_auto] gap-3\">\n                    <span class=\"text-slate-400 font-medium\" x-text=\"attr.label\"><\/span>\n                    <span class=\"text-slate-700 dark:text-slate-200 font-bold text-right\" x-text=\"attr.value\"><\/span>\n                  <\/div>\n                <\/template>\n              <\/div>\n\n              <!-- CTA Links -->\n              <div class=\"mt-auto\">\n                <template x-if=\"product.buy_now\">\n                  <a :href=\"product.buy_now\" target=\"_blank\" rel=\"noopener\" class=\"block w-full py-3 rounded-xl bg-framosDarkBlue dark:bg-primary text-white text-center font-bold hover:bg-black transition-all mb-3\"  data-cta=\"true\" data-cta-id=\"fsmgo-hd-cards-shortcode.2.\" data-cta-label=\"\" data-cta-location=\"fsmgo-hd-cards-shortcode@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\" x-text=\"i18n.buyNow\"><\/a>\n                <\/template>\n                <a :href=\"product.url\" class=\"block text-center text-primary text-sm font-bold hover:underline mb-6\"  data-cta=\"true\" data-cta-id=\"fsmgo-hd-cards-shortcode.3.\" data-cta-label=\"\" data-cta-location=\"fsmgo-hd-cards-shortcode@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"inline\" x-text=\"i18n.details\"><\/a>\n              <\/div>\n\n              <!-- Interface Trigger -->\n              <div class=\"pt-4 border-t border-slate-50 dark:border-slate-800\">\n                <button @click=\"openModal(product)\" class=\"w-full border border-slate-200 dark:border-slate-600 rounded-xl py-3 px-4 text-[11px] font-bold uppercase tracking-wider flex justify-between items-center hover:border-primary hover:text-primary transition-all group bg-white dark:bg-framosDarkBlue\"  data-cta=\"true\" data-cta-id=\"fsmgo-hd-cards-shortcode.4.\" data-cta-label=\"\" data-cta-location=\"fsmgo-hd-cards-shortcode@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\">\n                  <span x-text=\"i18n.chooseInt\"><\/span>\n                  <!-- Inline Info SVG -->\n                  <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"w-4 h-4 text-primary\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M12 16v-4\"><\/path><path d=\"M12 8h.01\"><\/path><\/svg>\n                <\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/template>\n\n        <!-- Skeleton Coming Soon Cards -->\n        <template x-for=\"i in skeletonCount\" :key=\"'skel-'+i\">\n           <div class=\"bg-white\/40 dark:bg-framosDarkBlue\/40 rounded-[2rem] border border-slate-100 dark:border-slate-800 shadow-sm overflow-hidden h-full flex flex-col transition-all pointer-events-none select-none\">\n              <div class=\"p-6 flex flex-col flex-grow relative animate-pulse\">\n                \n                <div class=\"absolute top-8 right-8 z-10\">\n                  <span class=\"inline-flex items-center rounded-full bg-primary\/10 px-3 py-1 text-[10px] font-black uppercase tracking-widest text-primary border border-primary\/20 backdrop-blur-md\" x-text=\"i18n.comingSoon\"><\/span>\n                <\/div>\n                \n                <div class=\"aspect-square bg-slate-100 dark:bg-slate-800 rounded-2xl mb-6 flex-shrink-0\"><\/div>\n                \n                <div class=\"h-4 bg-slate-200 dark:bg-slate-700 rounded w-3\/4 mb-2 pb-0\"><\/div>\n                <div class=\"h-4 bg-slate-200 dark:bg-slate-700 rounded w-1\/2 mb-8 pb-0\"><\/div>\n                \n                <div class=\"space-y-4 mb-6\">\n                  <div class=\"flex justify-between items-center\"><div class=\"h-2.5 bg-slate-100 dark:bg-slate-800 rounded w-1\/3\"><\/div><div class=\"h-2.5 bg-slate-200 dark:bg-slate-700 rounded w-1\/4\"><\/div><\/div>\n                  <div class=\"flex justify-between items-center\"><div class=\"h-2.5 bg-slate-100 dark:bg-slate-800 rounded w-1\/4\"><\/div><div class=\"h-2.5 bg-slate-200 dark:bg-slate-700 rounded w-1\/3\"><\/div><\/div>\n                <\/div>\n                \n                <div class=\"mt-auto\"><\/div>\n                <div class=\"mt-6 pt-4 border-t border-slate-50 dark:border-slate-800\">\n                   <div class=\"h-12 bg-slate-100 dark:bg-slate-800 rounded-xl w-full\"><\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n        <\/template>\n\n      <\/div>\n      \n      <!-- ==========================================\n           INTERFACE SELECTOR MODAL\n           ========================================== -->\n      <div x-show=\"isModalOpen\" class=\"fixed inset-0 z-[9999] bg-framosDarkBlue\/90 backdrop-blur-sm flex items-center justify-center p-4 transition-opacity\" style=\"display: none;\">\n        <div class=\"w-full max-w-2xl rounded-2xl p-8 relative shadow-2xl bg-white dark:bg-[#23282d] text-slate-800 dark:text-white border dark:border-gray-700 overflow-y-auto max-h-[90vh]\" @click.away=\"closeModal()\">\n          \n          <button @click=\"closeModal()\" class=\"absolute top-4 right-4 text-gray-400 hover:text-rose-500 transition-colors p-2\"  data-cta=\"true\" data-cta-id=\"fsmgo-hd-cards-shortcode.5.\" data-cta-label=\"\" data-cta-location=\"fsmgo-hd-cards-shortcode@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\">\n             \u2715\n          <\/button>\n\n          <div class=\"mb-6\">\n            <span class=\"text-[10px] font-mono uppercase bg-primary text-white px-2 py-0.5 rounded font-bold\" x-text=\"i18n.ecosystemInt\"><\/span>\n            <h3 class=\"text-xl font-extrabold mt-2 uppercase\" x-text=\"activeProduct ? activeProduct.model : ''\"><\/h3>\n          <\/div>\n\n          <p class=\"text-xs text-slate-500 dark:text-slate-400 leading-relaxed mb-6\" x-text=\"i18n.interfaceDesc\"><\/p>\n\n          <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n            <template x-for=\"item in interfaces\" :key=\"item.id\">\n              <a :href=\"item.link\" target=\"_blank\" class=\"group flex flex-col p-5 rounded-2xl border border-gray-200 dark:border-gray-700 hover:border-primary hover:bg-gray-50 dark:hover:bg-framosDarkBlue transition-all cursor-pointer\"  data-cta=\"true\" data-cta-id=\"fsmgo-hd-cards-shortcode.6.\" data-cta-label=\"\" data-cta-location=\"fsmgo-hd-cards-shortcode@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"inline\">\n                 <div class=\"flex-grow\">\n                   <h3 class=\"font-black text-[14px] leading-tight text-framosDarkBlue dark:text-white mb-1\" x-text=\"item.name\"><\/h3>\n                   <p class=\"text-primary text-[11px] font-bold mb-4 uppercase tracking-wider\" x-text=\"item.tagline\"><\/p>\n                   \n                   <div class=\"space-y-2 mt-4 pt-4 border-t border-gray-100 dark:border-gray-700\">\n                     <template x-for=\"benefit in item.benefits\">\n                       <div class=\"flex items-start gap-2\">\n                         <div class=\"w-1.5 h-1.5 bg-primary rounded-full shrink-0 mt-1\"><\/div>\n                         <span class=\"text-[11px] text-gray-600 dark:text-gray-400 font-semibold\" x-text=\"benefit\"><\/span>\n                       <\/div>\n                     <\/template>\n                   <\/div>\n                 <\/div>\n              <\/a>\n            <\/template>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n  \n    <div id=\"fsmgo-1\" class=\"framos-fsmgo-section wp-block-framos-content-image relative bg-white dark:bg-secondary100 transition-colors duration-500 py-12 lg:py-24\">\r\n        \r\n        <!-- Background Grid Pattern -->\r\n        <div class=\"absolute inset-0 z-0 pointer-events-none overflow-hidden\" aria-hidden=\"true\">\r\n            <svg class=\"absolute inset-0 w-full h-full stroke-gray-200 dark:stroke-gray-700 [mask-image:radial-gradient(50%_50%_at_bottom_left,white,transparent)]\">\r\n                <defs>\r\n                    <pattern id=\"pattern-grid-fsmgo-1\" width=\"50\" height=\"50\" y=\"-1\" patternUnits=\"userSpaceOnUse\">\r\n                        <path d=\"M.5 200V.5H200\" fill=\"none\"><\/path>\r\n                    <\/pattern>\r\n                <\/defs>\r\n                <rect width=\"100%\" height=\"100%\" stroke-width=\"0\" fill=\"url(#pattern-grid-fsmgo-1)\"><\/rect>\r\n            <\/svg>\r\n        <\/div>\r\n\r\n        <div class=\"mx-auto max-w-7xl px-6 lg:px-8 relative z-10\">\r\n            <div class=\"mx-auto flex max-w-2xl flex-col lg:flex-row-reverse lg:max-w-none lg:items-start gap-16\">\r\n                \r\n                <!-- CONTENT SIDE -->\r\n                <div class=\"w-full lg:w-1\/2 reveal-content-fsmgo-1\" x-data=\"{ open: true }\">\r\n                    <h2 class=\"font-framos-light text-3xl lg:text-4xl leading-tight text-secondary dark:text-white mb-6\">\r\n                        <strong>FSM:GO IMX678<\/strong><br>\r\n                        <span class=\"text-primary\">PREMIUM 4K BILDQUALIT\u00c4T<\/span>\r\n                    <\/h2>\r\n\r\n                    <div class=\"my-8 text-gray-600 dark:text-gray-200 space-y-4\">\r\n                        <p>FSM:GO IMX678 kombiniert Sony STARVIS 2 Technologie mit von FRAMOS optimiertem Image Tuning und liefert hervorragende Low-Light- und HDR-Performance in einem kompakten 8,3 MP 4K Modul.<\/p>\n<p>FSM:GO IMX678 ist die ideale Wahl f\u00fcr Teams, die Vision-Systeme mit hoher Sensitivit\u00e4t und zuverl\u00e4ssiger Performance unter realen Lichtbedingungen entwickeln.<\/p>\n                    <\/div>\r\n\r\n                    <div class=\"max-w-xl lg:mt-2 lg:max-w-lg lg:border-t lg:border-gray-900\/10 dark:lg:border-white\/10 lg:pt-6\">\r\n                        <dl class=\"framos-accordions divide-y divide-gray-900\/10 dark:divide-white\/10\">\r\n                            <div class=\"py-4\">\r\n                                <dt>\r\n                                    <button @click=\"open = !open\" class=\"flex w-full items-start justify-between text-left text-gray-900 dark:text-white focus:outline-none border-0 bg-transparent p-0 cursor-pointer group\"  data-cta=\"true\" data-cta-id=\"left-right-block.1.\" data-cta-label=\"\" data-cta-location=\"left-right-block@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\">\r\n                                        <h3 class=\"text-lg font-extrabold uppercase tracking-tight text-secondary dark:text-white\">Wichtigste Vorteile<\/h3>\r\n                                        <span class=\"text-primary text-2xl transition-transform duration-300\" :class=\"open ? 'rotate-180' : ''\">\r\n                                            <svg class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n                                                <path x-show=\"!open\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 4v16m8-8H4\"><\/path>\r\n                                                <path x-show=\"open\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20 12H4\"><\/path>\r\n                                            <\/svg>\r\n                                        <\/span>\r\n                                    <\/button>\r\n                                <\/dt>\r\n                                <dd x-show=\"open\" x-collapse class=\"mt-6\">\r\n                                    <ul class=\"space-y-6\">\r\n                                                                                    <li class=\"relative pl-8 group\">\r\n                                                <span class=\"absolute left-0 top-3 w-4 h-[2px] bg-primary group-hover:w-6 transition-all\"><\/span>\r\n                                                <span class=\"text-base font-medium opacity-90\">Sony STARVIS 2 Sensortechnologie f\u00fcr hervorragende Low-Light Sensitivit\u00e4t.<\/span>\r\n                                            <\/li>\r\n                                                                                    <li class=\"relative pl-8 group\">\r\n                                                <span class=\"absolute left-0 top-3 w-4 h-[2px] bg-primary group-hover:w-6 transition-all\"><\/span>\r\n                                                <span class=\"text-base font-medium opacity-90\">HDR-Funktion f\u00fcr ausgewogene Bildverarbeitung in kontrastreichen und anspruchsvollen Lichtumgebungen.<\/span>\r\n                                            <\/li>\r\n                                                                                    <li class=\"relative pl-8 group\">\r\n                                                <span class=\"absolute left-0 top-3 w-4 h-[2px] bg-primary group-hover:w-6 transition-all\"><\/span>\r\n                                                <span class=\"text-base font-medium opacity-90\">Optimierte Vision-Pipeline-Treiber auf GitHub, mit plattformspezifischem ISP Tuning f\u00fcr NVIDIA Jetson, NXP, Qualcomm und Raspberry Pi.<\/span>\r\n                                            <\/li>\r\n                                                                                    <li class=\"relative pl-8 group\">\r\n                                                <span class=\"absolute left-0 top-3 w-4 h-[2px] bg-primary group-hover:w-6 transition-all\"><\/span>\r\n                                                <span class=\"text-base font-medium opacity-90\">Flexible Geh\u00e4use- und Schnittstellenoptionen wie PixelMate\u2122, FFC, MicroCoax und GMSL unterst\u00fctzen unterschiedliche Baugr\u00f6\u00dfen und Routing-Anforderungen.<\/span>\r\n                                            <\/li>\r\n                                                                            <\/ul>\r\n                                <\/dd>\r\n                            <\/div>\r\n                        <\/dl>\r\n                    <\/div>\r\n\r\n                    <!-- ACF Managed Buttons -->\r\n                    <div class=\"mt-12 flex flex-wrap items-center gap-4 sm:gap-6\">\r\n                                                    <a href=\"\/products\/modules\/fsmgo-modules\/fsmgo-with-imx678-sensor-27364\/\"\r\n                                                              class=\"rounded-full group relative bg-primary px-7 md:px-11 py-2.5 text-base border-0 text-white visited:text-white shadow-sm hover:bg-framosDarkBlue hover:text-white dark:bg-primary dark:text-white sm:w-auto flex items-center md:ml-0 transition-all\"  data-cta=\"true\" data-cta-id=\"left-right-block.2.\" data-cta-label=\"\" data-cta-location=\"left-right-block@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\">\r\n                                Produkt ansehen                                <div class=\"ml-1 -rotate-45 transition-all duration-200 group-hover:rotate-0\">\r\n                                    <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"h-5 w-5\">\r\n                                        <path d=\"M8.14645 3.14645C8.34171 2.95118 8.65829 2.95118 8.85355 3.14645L12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L8.85355 11.8536C8.65829 12.0488 8.34171 12.0488 8.14645 11.8536C7.95118 11.6583 7.95118 11.3417 8.14645 11.1464L11.2929 8H2.5C2.22386 8 2 7.77614 2 7.5C2 7.22386 2.22386 7 2.5 7H11.2929L8.14645 3.85355C7.95118 3.65829 7.95118 3.34171 8.14645 3.14645Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" \/>\r\n                                    <\/svg>\r\n                                <\/div>\r\n                            <\/a>\r\n                        \r\n                                                    <a href=\"\/products-services\/camera-modules\/fsm-go-camera-modules\/\"\r\n                                                              class=\"text-sm\/6 font-semibold pl-6 md:pl-0 text-gray-900 dark:text-gray-200 visited:text-gray-700 dark:visited:text-gray-200 hover:text-primary dark:hover:text-primary transition-colors\"  data-cta=\"true\" data-cta-id=\"left-right-block.3.\" data-cta-label=\"\" data-cta-location=\"left-right-block@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\">\r\n                                FSM:GO Kameramodule ansehen <span aria-hidden=\"true\">\u2192<\/span>\r\n                            <\/a>\r\n                                            <\/div>\r\n                <\/div>\r\n\r\n                <!-- CARD SIDE (Sticky) -->\r\n                <div class=\"w-full lg:w-1\/2 lg:sticky lg:top-24 reveal-card-fsmgo-1\">\r\n                    <div class=\"relative p-10 lg:p-14 text-center text-secondary shadow-[0_40px_80px_-15px_rgba(0,0,0,0.1)] overflow-hidden rounded-2xl bg-gray-50\/50\">\r\n                        \r\n                        <!-- Internal Decorative Backgrounds -->\r\n                        <div class=\"absolute inset-0 -z-10 overflow-hidden pointer-events-none\">\r\n                            <div class=\"absolute -left-1\/4 bottom-0 w-[150%] h-[60%] bg-gray-100\/50 -rotate-6 origin-bottom-left\"><\/div>\r\n                            <div class=\"absolute right-8 top-1\/3 opacity-30 w-16 h-20\" style=\"background-image: radial-gradient(#23282d 1.5px, transparent 1.5px); background-size: 8px 8px;\"><\/div>\r\n                            <div class=\"absolute left-6 top-1\/2 opacity-30 w-12 h-16\" style=\"background-image: radial-gradient(#23282d 1.5px, transparent 1.5px); background-size: 8px 8px;\"><\/div>\r\n                        <\/div>\r\n\r\n                        <div class=\"relative z-10 space-y-3 mb-12\">\r\n                            <h4 class=\"text-2xl lg:text-3xl font-extrabold tracking-tight uppercase leading-tight\">NUTZEN SIE DAS KOMPLETTE VISION AI ECOSYSTEM<\/h4>\r\n                            <p class=\"text-lg font-medium text-gray-500 dark:text-gray-700\">Open-Source-Treiber<br \/> Abgestimmte ISP-Pipelines inbegriffen<\/p>\r\n                        <\/div>\r\n\r\n                        <div class=\"relative z-10 mb-12 flex justify-center\">\r\n                            <img decoding=\"async\" src=\"https:\/\/framos.com\/wp-content\/uploads\/2026\/02\/FSM-GO-IMX678-Renders.png\" class=\"w-full max-w-[340px] h-auto drop-shadow-2xl floating-anim-fsmgo-1\">\r\n                        <\/div>\r\n\r\n                        <!-- Specs -->\r\n                        <div class=\"relative z-10 grid grid-cols-4 gap-2 mb-14 border-b border-gray-200\/50 pb-12\">\r\n                                                            <div class=\"space-y-1 \">\r\n                                    <div class=\"text-xl lg:text-2xl font-black\">\r\n                                        8.3                                                                                    <span class=\"text-xs ml-0.5\">MP<\/span>\r\n                                                                            <\/div>\r\n                                    <div class=\"text-[10px] font-bold uppercase opacity-50 tracking-wider\">Aufl\u00f6sung<\/div>\r\n                                <\/div>\r\n                                                            <div class=\"space-y-1 border-l border-gray-200\/50\">\r\n                                    <div class=\"text-xl lg:text-2xl font-black\">\r\n                                        2.0                                                                                    <span class=\"text-xs ml-0.5\">\u00b5m<\/span>\r\n                                                                            <\/div>\r\n                                    <div class=\"text-[10px] font-bold uppercase opacity-50 tracking-wider\">Pixel Gr\u00f6\u00dfe<\/div>\r\n                                <\/div>\r\n                                                            <div class=\"space-y-1 border-l border-gray-200\/50\">\r\n                                    <div class=\"text-xl lg:text-2xl font-black\">\r\n                                        1\/1.8&quot;                                                                            <\/div>\r\n                                    <div class=\"text-[10px] font-bold uppercase opacity-50 tracking-wider\">Format<\/div>\r\n                                <\/div>\r\n                                                            <div class=\"space-y-1 border-l border-gray-200\/50\">\r\n                                    <div class=\"text-xl lg:text-2xl font-black\">\r\n                                        Rolling                                                                            <\/div>\r\n                                    <div class=\"text-[10px] font-bold uppercase opacity-50 tracking-wider\">Shutter<\/div>\r\n                                <\/div>\r\n                                                    <\/div>\r\n\r\n                        <!-- Conditionally Display Ecosystem Logos -->\r\n                                                    <div class=\"relative z-10 space-y-5 mb-8\">\r\n                                <p class=\"text-[11px] font-black uppercase tracking-[0.3em] text-gray-400 dark:text-gray-700\">Mehr als ein Kameramodul<\/p>\r\n                                <div class=\"bg-white dark:bg-gray-800 px-4 py-3 rounded-full shadow-sm ring-1 ring-black\/[0.03] inline-flex items-center gap-4 lg:gap-6 flex-wrap justify-center\">\r\n                                                                            <img decoding=\"async\" src=\"https:\/\/framos.com\/wp-content\/themes\/framos\/images\/logo-nvidia.svg\" class=\"h-3 w-auto\">\r\n                                    <div class=\"hidden sm:block w-px h-4 bg-gray-200\"><\/div>                                        <img decoding=\"async\" src=\"https:\/\/framos.com\/wp-content\/themes\/framos\/images\/logo-qualcomm.svg\" class=\"h-3 w-auto\">\r\n                                    <div class=\"hidden sm:block w-px h-4 bg-gray-200\"><\/div>                                        <img decoding=\"async\" src=\"https:\/\/framos.com\/wp-content\/themes\/framos\/images\/logo-nxp.svg\" class=\"h-3 w-auto\">\r\n                                    <div class=\"hidden sm:block w-px h-4 bg-gray-200\"><\/div>                                        <img decoding=\"async\" src=\"https:\/\/framos.com\/wp-content\/themes\/framos\/images\/logo-rpi.svg\" class=\"h-3 w-auto\">\r\n                                                                    <\/div>\r\n                            <\/div>\r\n                        \r\n                        <!-- Standalone Custom Icon Section -->\r\n                        <div class=\"relative z-10 pt-4 flex flex-col items-center gap-2\">\r\n                            <span class=\"text-[10px] font-bold uppercase tracking-widest text-gray-500 opacity-80\">Plattformoptimierte Treiber verf\u00fcgbar<\/span>\r\n                                                            <a href=\"https:\/\/github.com\/framosimaging\" target=\"_blank\" data-cta=\"true\" data-cta-id=\"left-right-block.4.\" data-cta-label=\"\" data-cta-location=\"left-right-block@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"inline\" rel=\"noopener\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/framos.com\/wp-content\/uploads\/2026\/02\/logo-github.svg\" alt=\"Icon\" class=\"h-8 lg:h-10 w-auto hover:opacity-70 transition-opacity\">\r\n                                <\/a>\r\n                                                    <\/div>\r\n\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <script>\r\n    document.addEventListener('DOMContentLoaded', () => {\r\n        if (typeof gsap !== 'undefined') {\r\n            const id = \"fsmgo-1\";\r\n            gsap.from(\".reveal-card-\" + id, { y: 60, opacity: 0, duration: 1.4, ease: \"expo.out\", scrollTrigger: { trigger: \"#\" + id, start: \"top 80%\" } });\r\n            gsap.from(\".reveal-content-\" + id, { x: 40, opacity: 0, duration: 1.2, ease: \"power3.out\", delay: 0.2, scrollTrigger: { trigger: \"#\" + id, start: \"top 80%\" } });\r\n            gsap.to(\".floating-anim-\" + id, { y: 15, rotation: 1, duration: 4, repeat: -1, yoyo: true, ease: \"sine.inOut\" });\r\n        }\r\n    });\r\n    <\/script>\r\n    <\/div>\r\n    \r\n    \r\n    \n\n<div class=\"wp-block-group py-24\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"pre-heading wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center max-w-4xl mx-auto\"><strong>GESAMTES PORTFOLIO AN 8 MP \u201e4K\u201c KAMERAMODULEN ENTDECKEN<\/strong><\/h2>\n\n\n\n<p class=\"paragraph-c pb-16 wp-block-paragraph\">W\u00e4hlen Sie aus dem vollst\u00e4ndigen Portfolio an 8 MP (4K) Kameramodulen, einschlie\u00dflich FSM:GO und Entwicklungsprodukte. Vergleichen Sie Sensoreigenschaften und Integrationsans\u00e4tze, um Bildqualit\u00e4t und Performance vor der finalen Hardwareentscheidung zu optimieren. <\/p>\n\n\n\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/tippy.js@6\/animations\/shift-away.css\"\/>\n<script src=\"https:\/\/unpkg.com\/@popperjs\/core@2\"><\/script>\n<script src=\"https:\/\/unpkg.com\/tippy.js@6\"><\/script>\n\n<div class=\"w-full max-w-[1500px] mx-auto px-4 font-sans mt-1 mb-2 flex justify-center\">\n    <button onclick=\"document.getElementById('framos-ecosystem-modal').classList.remove('hidden'); document.getElementById('framos-ecosystem-modal').classList.add('flex');\" \n            class=\"rounded-full inline-flex items-center gap-2 bg-primary px-8 py-3 visited:text-white text-white hover:bg-framosDarkBlue transition-all group\"  data-cta=\"true\" data-cta-id=\"resolution-grid.1.\" data-cta-label=\"\" data-cta-location=\"resolution-grid@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\">\n        <svg class=\"w-5 h-5 text-white\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 16h-1v-4h-1m1-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"><\/path><\/svg>\n        <span class=\"font-semibold text-sm\">\n            About Extended Development Products        <\/span>\n    <\/button>\n<\/div>\n\n<div id=\"framos-ecosystem-modal\" class=\"hidden fixed inset-0 z-[100] items-center justify-center p-4 sm:p-6 font-sans\">\n    <div class=\"absolute inset-0 bg-framosDarkBlue\/60 dark:bg-black\/70 backdrop-blur-sm transition-opacity\" \n         onclick=\"document.getElementById('framos-ecosystem-modal').classList.add('hidden'); document.getElementById('framos-ecosystem-modal').classList.remove('flex');\"><\/div>\n    \n    <div class=\"relative w-full max-w-3xl bg-white dark:bg-[#152332] rounded-2xl shadow-2xl overflow-hidden border border-framosDarkBlue\/10 dark:border-white\/10 transform transition-all flex flex-col max-h-[90vh]\">\n        \n        <button onclick=\"document.getElementById('framos-ecosystem-modal').classList.add('hidden'); document.getElementById('framos-ecosystem-modal').classList.remove('flex');\" \n                class=\"absolute top-4 right-4 z-10 p-2 text-framosDarkBlue\/40 hover:text-framosDarkBlue dark:text-white\/40 dark:hover:text-white bg-slate-50 hover:bg-slate-100 dark:bg-white\/5 dark:hover:bg-white\/10 rounded-full transition-colors focus:outline-none\"  data-cta=\"true\" data-cta-id=\"resolution-grid.2.\" data-cta-label=\"\" data-cta-location=\"resolution-grid@8-mp-camera-modules\" data-cta-destination=\"\" data-cta-type=\"button\">\n            <svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" d=\"M6 18L18 6M6 6l12 12\"><\/path><\/svg>\n        <\/button>\n\n        <div class=\"p-8 sm:p-10 overflow-y-auto custom-scrollbar\">\n            <h3 class=\"text-2xl font-bold text-framosDarkBlue dark:text-white mb-6 pr-8\">\n                Extended Development Products            <\/h3>\n\n            <p class=\"text-[15px] text-framosDarkBlue\/80 dark:text-white\/80 mb-5 leading-relaxed\">\n                Extended Development Products provide additional sensor and configuration options within this resolution range. They are intended for engineering teams exploring specialized requirements, early prototyping, or custom designs where added flexibility is needed.            <\/p>\n\n            <p class=\"text-[15px] text-framosDarkBlue\/80 dark:text-white\/80 mb-8 leading-relaxed\">\n                Integration support varies by platform and configuration. Driver availability and ISP tuning are more limited, while compatible lenses are available but require selection and focusing as part of the design process, with FRAMOS support available when needed.            <\/p>\n\n            <div class=\"mb-10 flex justify-center bg-slate-50 dark:bg-black\/20 p-6 rounded-xl border border-framosDarkBlue\/5 dark:border-white\/5\">\n                <img decoding=\"async\" src=\"https:\/\/framos.com\/wp-content\/themes\/framos\/images\/fsm-popup.png\" alt=\"FRAMOS Ecosystem Concept\" class=\"w-full max-w-lg object-contain rounded drop-shadow-sm\" \/>\n            <\/div>\n\n            <div class=\"flex gap-4 items-start bg-primary\/10 dark:bg-primary\/20 border-l-4 border-primary p-5 rounded-r-xl\">\n                <svg class=\"w-6 h-6 shrink-0 text-primary mt-0.5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"><\/path><\/svg>\n                <p class=\"text-[15px] text-framosDarkBlue dark:text-white font-medium leading-relaxed\">\n                    <strong class=\"text-primary font-bold\">FSM:GO<\/strong> remains the recommended starting point for teams seeking validated drivers, tuned ISP pipelines, factory-integrated optics, and a streamlined path to deployment.                <\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<div id=\"framos-filtered-grids\" class=\"w-full max-w-[1500px] mx-auto px-4 py-8 font-sans\">\n  <div id=\"framos-filtered-grids-6aa2fe1623ce7\"><\/div>\n<\/div>\n\n<script data-cookieconsent=\"ignore\">\n(function () {\n\n  \/\/ \u2500\u2500 Dynamic Data Injected from PHP \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var DATA = [{\"sku\":\"29012\",\"code\":\"FSM-IMX811\",\"format\":\"1.2\\\"\",\"resolution\":\"19200\\u00d712800\",\"megapixels\":247,\"fps\":\"5.3 FPS\",\"proto\":\"slvs-ec\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx811-color-29012\\\/\"},{\"sku\":\"26324\",\"code\":\"FSM-IMX530\",\"format\":\"1.2\\\"\",\"resolution\":\"5320\\u00d74600\",\"megapixels\":24.5,\"fps\":\"25 FPS\",\"proto\":\"slvs\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx530-sensor-module-26324\\\/\"},{\"sku\":\"26363\",\"code\":\"FSM-IMX421\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"1944\\u00d71472\",\"megapixels\":2.8,\"fps\":\"409 FPS\",\"proto\":\"slvs\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx421-sensor-module-26363\\\/\"},{\"sku\":\"26341\",\"code\":\"FSM-IMX264\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"2464\\u00d72056\",\"megapixels\":5.07,\"fps\":\"35 FPS\",\"proto\":\"sub\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx264-sensor-module-26341\\\/\"},{\"sku\":\"26566\",\"code\":\"FSM-IMX568\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"2448\\u00d72048\",\"megapixels\":5.1,\"fps\":\"96 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx568-sensor-module-26566\\\/\"},{\"sku\":\"26357\",\"code\":\"FSM-IMX335\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"2592\\u00d71944\",\"megapixels\":5,\"fps\":\"80 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx335-sensor-module-26357\\\/\"},{\"sku\":\"27195\",\"code\":\"FSM-IMX675\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"2592\\u00d71944\",\"megapixels\":5,\"fps\":\"80 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx675-sensor-module-27195\\\/\"},{\"sku\":\"26371\",\"code\":\"FSM-IMX485\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"3840\\u00d72160\",\"megapixels\":8.3,\"fps\":\"90 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx485-sensor-module-26371\\\/\"},{\"sku\":\"26378\",\"code\":\"FSM-IMX585\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"3840\\u00d72160\",\"megapixels\":8.3,\"fps\":\"90 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx585-sensor-module-26378\\\/\"},{\"sku\":\"26380\",\"code\":\"FSM-IMX678\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"3840\\u00d72160\",\"megapixels\":8.3,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx678-sensor-module-26380\\\/\"},{\"sku\":\"27364\",\"code\":\"FSM-IMX678\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"3840\\u00d72160\",\"megapixels\":8.3,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":true,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-with-imx678-sensor-27364\\\/\"},{\"sku\":\"29902\",\"code\":\"FSM-IMX838\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"3840\\u00d72160\",\"megapixels\":8,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":true,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-imx838-kameramodul-mit-54-hfov-objektiv-29902\\\/\"},{\"sku\":\"26355\",\"code\":\"FSM-IMX334\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"3840\\u00d72160\",\"megapixels\":8.3,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx334-sensor-module-26355\\\/\"},{\"sku\":\"26361\",\"code\":\"FSM-IMX415\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"3864\\u00d72176\",\"megapixels\":8.4,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx415-sensor-module-26361\\\/\"},{\"sku\":\"26382\",\"code\":\"FSM-IMX715\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"3864\\u00d72176\",\"megapixels\":8.4,\"fps\":\"90 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx715-sensor-module-26382\\\/\"},{\"sku\":\"26351\",\"code\":\"FSM-IMX304\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"4112\\u00d73008\",\"megapixels\":12.4,\"fps\":\"23 FPS\",\"proto\":\"sub\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx304-sensor-module-26351\\\/\"},{\"sku\":\"26374\",\"code\":\"FSM-IMX565\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"4128\\u00d73008\",\"megapixels\":12.4,\"fps\":\"42 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx565-sensor-module-26374\\\/\"},{\"sku\":\"26359\",\"code\":\"FSM-IMX412\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"4056\\u00d73040\",\"megapixels\":12.3,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx412-sensor-module-26359\\\/\"},{\"sku\":\"26376\",\"code\":\"FSM-IMX577\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"4056\\u00d73040\",\"megapixels\":12.3,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx577-sensor-module-26376\\\/\"},{\"sku\":\"26343\",\"code\":\"FSM-IMX283\",\"format\":\"2\\\/3\\\"\",\"resolution\":\"5496\\u00d73672\",\"megapixels\":20.2,\"fps\":\"25 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx283-sensor-module-26343\\\/\"},{\"sku\":\"26347\",\"code\":\"FSM-IMX296\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"1440\\u00d71080\",\"megapixels\":1.6,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx296-sensor-module-26347\\\/\"},{\"sku\":\"26349\",\"code\":\"FSM-IMX297\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"720\\u00d7540\",\"megapixels\":0.4,\"fps\":\"120 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx297-sensor-module-26349\\\/\"},{\"sku\":\"26365\",\"code\":\"FSM-IMX462\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"1920\\u00d71080\",\"megapixels\":2.1,\"fps\":\"120 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx462-sensor-module-26365\\\/\"},{\"sku\":\"26577\",\"code\":\"FSM-IMX662\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"1920\\u00d71080\",\"megapixels\":2.4,\"fps\":\"120 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx662-sensor-module-26577\\\/\"},{\"sku\":\"27362\",\"code\":\"FSM-IMX662\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"1920\\u00d71080\",\"megapixels\":2.4,\"fps\":\"120 FPS\",\"proto\":\"mipi\",\"fsmgo\":true,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-with-imx662-sensor-27362\\\/\"},{\"sku\":\"27355\",\"code\":\"FSM-IMX676\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"3552\\u00d73552\",\"megapixels\":12.62,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-with-imx676-sensor-and-16-hfov-lens-27355\\\/\"},{\"sku\":\"27363\",\"code\":\"FSM-IMX676\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"3552\\u00d73552\",\"megapixels\":12.62,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":true,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-with-imx676-sensor-27363\\\/\"},{\"sku\":\"26353\",\"code\":\"FSM-IMX327\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"1920\\u00d71080\",\"megapixels\":2.1,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx327-sensor-module-26353\\\/\"},{\"sku\":\"26369\",\"code\":\"FSM-IMX477\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"4056\\u00d73040\",\"megapixels\":12.3,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":false,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/framos-sensor-module\\\/fsm-imx477-sensor-module-26369\\\/\"},{\"sku\":\"28640\",\"code\":\"FSM-IMX900\",\"format\":\"1\\\/3\\\"\",\"resolution\":\"2064\\u00d71552\",\"megapixels\":3.2,\"fps\":\"60 FPS\",\"proto\":\"mipi\",\"fsmgo\":true,\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkt\\\/module\\\/fsmgo-de-2\\\/fsmgo-with-imx900-sensor-28640\\\/\"}];\n  var MP_RANGES = [{\"label\":\"0.4\\u20132 MP\",\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkte-dienstleistungen\\\/kameramodule\\\/0-4-2-mp-camera-modules\\\/\",\"minMP\":0,\"maxMP\":2.49},{\"label\":\"3\\u20135 MP\",\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkte-dienstleistungen\\\/kameramodule\\\/3-5-mp-camera-modules\\\/\",\"minMP\":2.5,\"maxMP\":6.49},{\"label\":\"8 MP\",\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkte-dienstleistungen\\\/kameramodule\\\/8-mp-camera-modules\\\/\",\"minMP\":6.5,\"maxMP\":10.49},{\"label\":\"12\\u201340 MP\",\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkte-dienstleistungen\\\/kameramodule\\\/12-40-mp-camera-modules\\\/\",\"minMP\":10.5,\"maxMP\":44.99},{\"label\":\"50+ MP\",\"url\":\"https:\\\/\\\/framos.com\\\/de\\\/produkte-dienstleistungen\\\/kameramodule\\\/50mp-camera-modules\\\/\",\"minMP\":45,\"maxMP\":9999}];\n  var I18N = {\"fsmgo\":\"FSM:GO\",\"dev\":\"DEV PRODUCTS\",\"dev_ecosystem\":\"DEV PRODUCTS\",\"format\":\"Format\",\"sku\":\"SKU\",\"code\":\"Code\",\"mp\":\"MP\",\"fps\":\"FPS\",\"proto\":\"Proto\",\"format_mp\":\"Format \\\/ MP\",\"mp_range\":\"MP Range\",\"empty\":\"No products in this range yet\"};\n  var FORMATS = [\"1.2\\\"\",\"2\\\/3\\\"\",\"1\\\/3\\\"\"];\n  var CURRENT_RANGE_INDEX = 0;\n\n  \/\/ \u2500\u2500 External Image Assets \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var IMG_GO = 'https:\/\/framos.com\/wp-content\/themes\/framos\/images\/grid-fsmgo.png';\n  var IMG_DEV = 'https:\/\/framos.com\/wp-content\/themes\/framos\/images\/grid-fsm.png';\n\n  \/\/ \u2500\u2500 Tooltips (We keep Tippy CSS inline as it's injected externally) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var tippyStyle = document.createElement('style');\n  tippyStyle.textContent =\n    '.tippy-box[data-theme~=\"framos\"] { @apply bg-framosDarkBlue text-white font-mono text-xs p-1 rounded-md shadow-lg dark:bg-secondary100 dark:border dark:border-white\/10; }' +\n    '.tippy-box[data-theme~=\"framos\"] .tippy-arrow { @apply text-framosDarkBlue dark:text-secondary100; }' +\n    '.tippy-box[data-theme~=\"framos\"] .tippy-content { @apply py-2 px-2.5; }';\n  \/\/ Fallback if Tailwind @apply fails in inline styles:\n  tippyStyle.textContent =\n    '.tippy-box[data-theme~=\"framos\"] { background-color: #1B2E41; color: white; font-family: ui-monospace, monospace; font-size: 12px; padding: 4px; border-radius: 6px; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); }' +\n    '.dark .tippy-box[data-theme~=\"framos\"] { background-color: #171b1e; border: 1px solid rgba(255,255,255,0.1); }' +\n    '.tippy-box[data-theme~=\"framos\"] .tippy-arrow { color: #1B2E41; }' +\n    '.dark .tippy-box[data-theme~=\"framos\"] .tippy-arrow { color: #171b1e; }' +\n    '.tippy-box[data-theme~=\"framos\"] .tippy-content { padding: 8px 10px; }';\n  document.head.appendChild(tippyStyle);\n\n  function tooltipContent(mod) {\n    return '<div class=\"font-bold text-[13px] mb-[2px]\">' + mod.code + '<\/div>' +\n      '<div class=\"text-primary100 font-bold\">' + mod.resolution + ' \u00b7 ' + mod.megapixels.toFixed(2) + ' ' + I18N.mp + '<\/div>' +\n      '<div class=\"opacity-90\">' + mod.fps + ' \u00b7 ' + mod.proto.toUpperCase() + '<\/div>' +\n      '<div class=\"opacity-60 mt-1 text-[10px]\">' + I18N.format + ': ' + mod.format + ' \u00b7 ' + I18N.sku + ': ' + mod.sku + '<\/div>' +\n      (mod.fsmgo ? '<div class=\"text-primary100 font-bold mt-1\">\u2605 ' + I18N.fsmgo + '<\/div>' : '');\n  }\n\n  \/\/ \u2500\u2500 Card builder \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function makeCard(mod, mp, setHovered) {\n    var isGo = mod.fsmgo;\n    \n    var card = document.createElement('a');\n    card.href = mod.url || '#';\n    \n    \/\/ Core Card Tailwind Utilities\n    card.className = 'relative w-full rounded px-2 pb-[5px] pt-[8px] cursor-pointer transition-all duration-150 font-mono box-border block hover:-translate-y-[1px] hover:shadow-[0_4px_12px_-4px_rgba(0,0,0,0.2)] hover:no-underline hover:z-20 ' +\n                     (isGo ? 'bg-primary text-white shadow-sm' \n                           : 'bg-framosSkyBlue\/40 border border-primary100 text-framosDarkBlue hover:bg-primary100 hover:text-framosDarkBlue dark:bg-framosDarkBlue\/60 dark:border-white\/10 dark:text-white dark:hover:bg-framosDarkBlue\/90 dark:hover:text-white');\n\n    var badge = document.createElement('span');\n    badge.className = 'absolute -top-2 right-1 text-[9px] font-bold px-1 py-[1px] rounded leading-[1.4] z-10 uppercase tracking-wide ' +\n                      (isGo ? 'bg-framosDarkBlue text-white' \n                            : 'bg-white\/85 text-framosDarkBlue border border-black\/5 dark:bg-secondary\/90 dark:text-white dark:border-white\/10');\n    badge.textContent = isGo ? I18N.fsmgo : I18N.dev;\n    card.appendChild(badge);\n\n    var inner = document.createElement('div');\n    inner.className = 'flex items-end justify-between gap-1 h-full';\n\n    var textBlock = document.createElement('div');\n    textBlock.className =\n      'flex-1 min-w-0 flex flex-col justify-end h-full pb-[2px] ' +\n      (isGo\n        ? 'text-white visited:text-white'\n        : 'text-framosDarkBlue visited:text-framosDarkBlue dark:text-white dark:visited:text-white');\n    \n    var code = document.createElement('div');\n    code.className = 'text-[11px] font-bold whitespace-nowrap overflow-hidden text-ellipsis leading-[1.2]';\n    code.textContent = mod.code;\n    \n    var res = document.createElement('div');\n    res.className = 'text-[9px] mt-[1px] opacity-80 leading-none';\n    res.textContent = mod.resolution;\n    \n    textBlock.appendChild(code);\n    textBlock.appendChild(res);\n\n    var img = document.createElement('img');\n    img.src = isGo ? IMG_GO : IMG_DEV;\n    img.alt = ''; \n    img.className = 'w-[18px] h-[18px] shrink-0 opacity-80 block mb-[2px]';\n\n    inner.appendChild(textBlock);\n    inner.appendChild(img);\n    card.appendChild(inner);\n\n    tippy(card, {\n      content: tooltipContent(mod), allowHTML: true,\n      placement: 'top', animation: 'shift-away',\n      theme: 'framos', appendTo: function() { return document.body; },\n    });\n\n    card.addEventListener('mouseenter', function() { setHovered(mp); });\n    card.addEventListener('mouseleave', function() { setHovered(null); });\n    return card;\n  }\n\n  \/\/ \u2500\u2500 Legend \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function makeLegend() {\n    var legend = document.createElement('div');\n    legend.className = 'flex items-center gap-5 text-[10px] font-mono text-framosDarkBlue\/70 dark:text-white\/70 mt-4 justify-end';\n    legend.innerHTML =\n      '<span class=\"flex items-center gap-1.5\"><span class=\"inline-block w-3 h-3 rounded-sm bg-primary\"><\/span>' + I18N.fsmgo + '<\/span>' +\n      '<span class=\"flex items-center gap-1.5\"><span class=\"inline-block w-3 h-3 rounded-sm bg-framosSkyBlue\/40 border border-primary100 dark:bg-framosDarkBlue\/60 dark:border-white\/20\"><\/span>' + I18N.dev_ecosystem + '<\/span>';\n    return legend;\n  }\n\n  \/\/ \u2500\u2500 Build inner grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function buildFilteredGrid(filteredMPs, filteredData, rangeLabel) {\n    var cellMap = {};\n    filteredData.forEach(function(m) {\n      var key = m.format + '|' + m.megapixels + '|' + m.fsmgo;\n      if (!cellMap[key]) cellMap[key] = [];\n      cellMap[key].push(m);\n    });\n\n    var colCount = filteredMPs.length;\n    var minWidth = Math.max(300, colCount * 140 + 120);\n\n    var gridEl = document.createElement('div');\n    gridEl.className = 'grid border-l border-t border-framosDarkBlue\/10 dark:border-white\/10';\n    gridEl.style.gridTemplateColumns = '120px repeat(' + colCount + ', minmax(0, 1fr))';\n    gridEl.style.minWidth = minWidth + 'px';\n\n    var colCells = {};\n    filteredMPs.forEach(function(mp) { colCells[mp] = []; });\n    var hoveredMP = null;\n    function setHovered(mp) {\n      if (hoveredMP === mp) return;\n      if (hoveredMP !== null) colCells[hoveredMP].forEach(function(c) { \n        c.classList.remove('bg-primary\/5', 'dark:bg-primary\/10'); \n      });\n      hoveredMP = mp;\n      if (mp !== null) colCells[mp].forEach(function(c) { \n        c.classList.add('bg-primary\/5', 'dark:bg-primary\/10'); \n      });\n    }\n\n    \/\/ Common Cell Classes\n    var cellBaseCls = 'border-r border-b border-framosDarkBlue\/10 dark:border-white\/10 p-1 flex flex-col gap-1.5 items-start min-h-[60px] transition-colors duration-150';\n\n    \/\/ \u2500\u2500 Range banner \u2500\u2500\n    var cornerDiv = document.createElement('div');\n    cornerDiv.className = 'border-r border-b border-framosDarkBlue\/10 dark:border-white\/10 bg-slate-100 dark:bg-secondary100 px-3 py-1.5 flex items-center';\n    var cLbl = document.createElement('span');\n    cLbl.className = 'text-[10px] text-framosDarkBlue\/50 dark:text-white\/50 uppercase tracking-[0.1em] font-bold font-mono';\n    cLbl.textContent = I18N.mp_range;\n    cornerDiv.appendChild(cLbl);\n    gridEl.appendChild(cornerDiv);\n\n    var rangeTitle = document.createElement('div');\n    rangeTitle.className = 'border-r border-b border-framosDarkBlue\/10 dark:border-white\/10 bg-primary\/5 dark:bg-primary\/10 flex items-center justify-center gap-1.5 px-2 py-1.5';\n    rangeTitle.style.gridColumn = 'span ' + colCount;\n    var rLbl = document.createElement('span');\n    rLbl.className = 'text-[10px] font-bold text-primary whitespace-nowrap font-mono';\n    rLbl.textContent = rangeLabel;\n    rangeTitle.appendChild(rLbl);\n    gridEl.appendChild(rangeTitle);\n\n    \/\/ \u2500\u2500 Header row \u2500\u2500\n    var corner = document.createElement('div');\n    corner.className = 'border-r border-b border-framosDarkBlue\/10 dark:border-white\/10 bg-slate-50 dark:bg-secondary100 flex flex-col items-start justify-center px-3 py-2 min-h-0 transition-colors duration-150';\n    var hLbl = document.createElement('span');\n    hLbl.className = 'font-mono text-[10px] font-bold uppercase tracking-[0.1em] text-framosDarkBlue\/50 dark:text-white\/50';\n    hLbl.textContent = I18N.format_mp;\n    corner.appendChild(hLbl);\n    gridEl.appendChild(corner);\n\n    filteredMPs.forEach(function(mp) {\n      var hcell = document.createElement('div');\n      hcell.className = 'border-r border-b border-framosDarkBlue\/10 dark:border-white\/10 bg-slate-50 dark:bg-secondary100 flex flex-col items-center justify-center px-1 py-2 min-h-0 transition-colors duration-150';\n      hcell.innerHTML = '<span class=\"font-mono text-[11px] text-framosDarkBlue\/70 dark:text-white\/70 text-center leading-[1.3] font-bold\">' + (mp%1===0?mp.toFixed(0):mp.toFixed(2)) + '<br><span class=\"opacity-50\">' + I18N.mp + '<\/span><\/span>';\n      colCells[mp].push(hcell);\n      gridEl.appendChild(hcell);\n    });\n\n    \/\/ \u2500\u2500 Format bands \u2500\u2500\n    FORMATS.forEach(function(format, fi) {\n      var isLast = fi === FORMATS.length - 1;\n      \n      \/\/ GO sub-row\n      var goLabel = document.createElement('div');\n      goLabel.className = cellBaseCls + ' justify-end [border-bottom-style:dashed] px-3 py-2';\n      goLabel.innerHTML = '<div class=\"font-mono text-[11px] font-bold text-framosDarkBlue\/80 dark:text-white\/80\">' + format + '<\/div><div class=\"font-mono text-[8px] font-bold uppercase tracking-[0.06em] text-primary\/80\">FSM:GO<\/div>';\n      gridEl.appendChild(goLabel);\n\n      filteredMPs.forEach(function(mp) {\n        var mods = cellMap[format + '|' + mp + '|true'] || [];\n        var cell = document.createElement('div');\n        cell.className = cellBaseCls + ' justify-end [border-bottom-style:dashed]';\n        mods.forEach(function(mod) { cell.appendChild(makeCard(mod, mp, setHovered)); });\n        colCells[mp].push(cell);\n        gridEl.appendChild(cell);\n      });\n\n      \/\/ DEV sub-row\n      var devLabel = document.createElement('div');\n      devLabel.className = cellBaseCls + ' justify-start px-3 py-2';\n      if (!isLast) devLabel.classList.add('border-b-2', 'border-framosDarkBlue\/20', 'dark:border-white\/20');\n      devLabel.innerHTML = '<div class=\"font-mono text-[8px] font-bold uppercase tracking-[0.06em] text-framosSkyBlue dark:text-framosSkyBlue\/80\">DEV PRODUCTS<\/div>';\n      gridEl.appendChild(devLabel);\n\n      filteredMPs.forEach(function(mp) {\n        var mods = cellMap[format + '|' + mp + '|false'] || [];\n        var cell = document.createElement('div');\n        cell.className = cellBaseCls + ' justify-start';\n        if (!isLast) cell.classList.add('border-b-2', 'border-framosDarkBlue\/20', 'dark:border-white\/20');\n        mods.forEach(function(mod) { cell.appendChild(makeCard(mod, mp, setHovered)); });\n        colCells[mp].push(cell);\n        gridEl.appendChild(cell);\n      });\n    });\n\n    return gridEl;\n  }\n\n  \/\/ \u2500\u2500 Render a single filtered range section \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function renderRangeSection(rangeIndex, parentEl) {\n    var range     = MP_RANGES[rangeIndex];\n    var prevRange = rangeIndex > 0                     ? MP_RANGES[rangeIndex - 1] : null;\n    var nextRange = rangeIndex < MP_RANGES.length - 1 ? MP_RANGES[rangeIndex + 1] : null;\n\n    var filteredMPs  = [];\n    var mpSeen       = {};\n    DATA.forEach(function(m) {\n      if (m.megapixels > range.minMP && m.megapixels <= range.maxMP && !mpSeen[m.megapixels]) {\n        mpSeen[m.megapixels] = true;\n        filteredMPs.push(m.megapixels);\n      }\n    });\n    filteredMPs.sort(function(a, b) { return a - b; });\n    var filteredData = DATA.filter(function(m) {\n      return m.megapixels > range.minMP && m.megapixels <= range.maxMP;\n    });\n\n    var section = document.createElement('div');\n    section.className = 'mb-14';\n\n    var navWrap = document.createElement('div');\n    navWrap.className = 'flex gap-2 items-stretch';\n    section.appendChild(navWrap);\n\n    var navBtnCls = 'group flex items-center justify-center w-9 shrink-0 self-stretch rounded-md border border-framosDarkBlue\/10 dark:border-white\/10 bg-slate-100 dark:bg-secondary100 no-underline transition-all duration-150 cursor-pointer hover:bg-primary\/10 hover:border-primary\/30';\n    var navSpanCls = 'text-[11px] font-mono font-bold text-primary\/70 whitespace-nowrap [writing-mode:vertical-rl] uppercase tracking-[0.05em] group-hover:text-primary rotate-180 backface-hidden antialiased';\n\n    \/\/ \u2190 Prev button\n    if (prevRange) {\n      var prevBtn = document.createElement('a');\n      prevBtn.className = navBtnCls;\n      prevBtn.href = prevRange.url;\n      prevBtn.title = '\u2190 ' + prevRange.label;\n      var pSpan = document.createElement('span');\n      pSpan.className = navSpanCls + ' rotate-180';\n      pSpan.textContent = '\u2190 ' + prevRange.label;\n      prevBtn.appendChild(pSpan);\n      navWrap.appendChild(prevBtn);\n    } else {\n      var pSpacer = document.createElement('div');\n      pSpacer.className = 'w-9 shrink-0';\n      navWrap.appendChild(pSpacer);\n    }\n\n    var gridWrap = document.createElement('div');\n    gridWrap.className = 'flex-1 overflow-x-auto pb-4';\n    navWrap.appendChild(gridWrap);\n\n    if (filteredMPs.length === 0) {\n      var empty = document.createElement('div');\n      empty.className = 'flex items-center justify-center min-h-[200px] border border-dashed border-framosDarkBlue\/20 dark:border-white\/20 rounded-md text-[13px] text-framosDarkBlue\/40 dark:text-white\/40 font-mono';\n      empty.textContent = I18N.empty;\n      gridWrap.appendChild(empty);\n    } else {\n      var gridEl = buildFilteredGrid(filteredMPs, filteredData, range.label);\n      gridWrap.appendChild(gridEl);\n      gridWrap.appendChild(makeLegend());\n    }\n\n    \/\/ \u2192 Next button\n    if (nextRange) {\n      var nextBtn = document.createElement('a');\n      nextBtn.className = navBtnCls;\n      nextBtn.href = nextRange.url;\n      nextBtn.title = nextRange.label + ' \u2192';\n      var nSpan = document.createElement('span');\n      nSpan.className = navSpanCls;\n      nSpan.textContent = nextRange.label + ' \u2192';\n      nextBtn.appendChild(nSpan);\n      navWrap.appendChild(nextBtn);\n    } else {\n      var nSpacer = document.createElement('div');\n      nSpacer.className = 'w-9 shrink-0';\n      navWrap.appendChild(nSpacer);\n    }\n\n    parentEl.appendChild(section);\n  }\n\n  \/\/ \u2500\u2500 Mobile table for a range \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function renderMobileRange(rangeIndex, parentEl) {\n    var range = MP_RANGES[rangeIndex];\n    var filteredData = DATA.filter(function(m) {\n      return m.megapixels > range.minMP && m.megapixels <= range.maxMP;\n    }).sort(function(a, b) { return a.megapixels - b.megapixels; });\n\n    var section = document.createElement('div');\n    section.className = 'mb-14';\n    \n    var heading = document.createElement('div');\n    heading.className = 'block font-mono text-[13px] font-bold text-framosDarkBlue\/70 dark:text-white\/70 text-center tracking-tight mb-4';\n    heading.textContent = range.label;\n    section.appendChild(heading);\n\n    if (filteredData.length === 0) {\n      var empty = document.createElement('div');\n      empty.className = 'flex items-center justify-center min-h-[200px] border border-dashed border-framosDarkBlue\/20 dark:border-white\/20 rounded-md text-[13px] text-framosDarkBlue\/40 dark:text-white\/40 font-mono';\n      empty.textContent = I18N.empty;\n      section.appendChild(empty);\n    } else {\n      var tbl = document.createElement('table');\n      tbl.className = 'w-full border-collapse font-mono text-xs text-framosDarkBlue dark:text-white';\n      tbl.innerHTML = '<thead><tr><th class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left font-bold bg-slate-50 dark:bg-secondary100\">' + I18N.code + '<\/th><th class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left font-bold bg-slate-50 dark:bg-secondary100\">' + I18N.format + '<\/th><th class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left font-bold bg-slate-50 dark:bg-secondary100\">' + I18N.mp + '<\/th><th class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left font-bold bg-slate-50 dark:bg-secondary100\">' + I18N.fps + '<\/th><th class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left font-bold bg-slate-50 dark:bg-secondary100\">' + I18N.proto + '<\/th><\/tr><\/thead><tbody>' +\n        filteredData.map(function(m) {\n          var rowClass = 'transition-colors duration-200 cursor-pointer hover:bg-primary\/5 dark:hover:bg-primary\/10 ' + (m.fsmgo ? 'bg-primary\/5 hover:bg-primary\/10 dark:bg-primary\/10 dark:hover:bg-primary\/20' : '');\n          var goIcon = m.fsmgo ? ' <span class=\"text-primary text-[10px]\">\u2605<\/span>' : '';\n          \n          return '<tr class=\"' + rowClass + '\" onclick=\"window.location.href=\\'' + m.url + '\\'\">' +\n            '<td class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left font-bold\">' + m.code + goIcon + '<\/td>' +\n            '<td class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left\">' + m.format + '<\/td><td class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left\">' + m.megapixels + '<\/td><td class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left\">' + m.fps + '<\/td>' +\n            '<td class=\"px-2.5 py-2 border-b border-framosDarkBlue\/10 dark:border-white\/10 text-left uppercase\">' + m.proto + '<\/td><\/tr>';\n        }).join('') + '<\/tbody>';\n      section.appendChild(tbl);\n    }\n    parentEl.appendChild(section);\n  }\n\n  \/\/ \u2500\u2500 INIT: Contextual Execution \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var mql = window.matchMedia('(max-width: 768px)');\n  var parentEl = document.getElementById('framos-filtered-grids-6aa2fe1623ce7');\n\n  function init() {\n    parentEl.innerHTML = '';\n    var mobile = mql.matches;\n    \n    \/\/ Safety check - bounds\n    if (CURRENT_RANGE_INDEX < 0 || CURRENT_RANGE_INDEX >= MP_RANGES.length) {\n       CURRENT_RANGE_INDEX = 0; \n    }\n    \n    if (mobile) {\n      renderMobileRange(CURRENT_RANGE_INDEX, parentEl);\n    } else {\n      renderRangeSection(CURRENT_RANGE_INDEX, parentEl);\n    }\n  }\n\n  mql.addEventListener('change', function() { init(); });\n  init();\n\n})();\n<\/script>\n\n\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>GESAMTES PORTFOLIO AN 8 MP \u201e4K\u201c KAMERAMODULEN ENTDECKEN W\u00e4hlen Sie aus dem vollst\u00e4ndigen Portfolio an 8 MP (4K) Kameramodulen, einschlie\u00dflich FSM:GO und Entwicklungsprodukte. Vergleichen Sie Sensoreigenschaften und Integrationsans\u00e4tze, um Bildqualit\u00e4t [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":11998,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"camera-module-resolution-template.php","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-18817","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/pages\/18817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/comments?post=18817"}],"version-history":[{"count":3,"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/pages\/18817\/revisions"}],"predecessor-version":[{"id":28066,"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/pages\/18817\/revisions\/28066"}],"up":[{"embeddable":true,"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/pages\/11998"}],"wp:attachment":[{"href":"https:\/\/framos.com\/de\/wp-json\/wp\/v2\/media?parent=18817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}