{"product_id":"zeroline-vent-gauge-for-audi-a3-s3-rs3-8v-2012-2020","title":"Zeroline Vent Gauge for Audi A3 \/ S3 \/ RS3 (8V) (2012–2020)","description":"\u003cstyle\u003e\n.es-years-header, .es-years-cell { display: table-cell; }\n.es-years-mobile { display: none; }\n@media (max-width: 620px) {\n  .es-years-header, .es-years-cell { display: none !important; }\n  .es-years-mobile { display: block !important; font-size: 13px; color: #666; margin-top: 3px; }\n}\n.es-zl-swatch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-top: 16px; }\n.es-zl-swatch { border-radius: 10px; overflow: hidden; border: 1px solid #dedede; background: #fff; text-align: center; }\n.es-zl-swatch-photo { width: 100%; aspect-ratio: 1 \/ 1; overflow: hidden; }\n.es-zl-swatch-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }\n.es-zl-swatch-label { padding: 8px 4px; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #333; font-weight: bold; border-top: 1px solid #eee; }\n\n.es-zl-details { border: 1px solid #dedede; border-radius: 10px; background: #fafafa; margin-bottom: 20px; overflow: hidden; }\n.es-zl-details summary { list-style: none; cursor: pointer; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; font-size: 16px; font-weight: bold; color: #111; }\n.es-zl-details summary::-webkit-details-marker { display: none; }\n.es-zl-details summary::after { content: '+'; font-size: 20px; color: #0070f3; font-weight: bold; }\n.es-zl-details[open] summary::after { content: '\\2212'; }\n.es-zl-details-meta { font-size: 12px; font-weight: normal; color: #777; margin-left: 10px; }\n.es-zl-details-body { padding: 4px 20px 20px; }\n\n.es-zl-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 22px; }\n.es-zl-flow-pill { padding: 6px 12px; background: #fff; border: 1px solid #dedede; border-radius: 20px; font-size: 12px; font-weight: bold; color: #0070f3; white-space: nowrap; }\n.es-zl-flow-arrow { color: #999; font-size: 14px; }\n\n.es-zl-step { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid #e5e5e5; }\n.es-zl-step:last-child { border-bottom: none; }\n.es-zl-step-num { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: #0070f3; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: bold; }\n.es-zl-step-text { font-size: 15px; line-height: 1.7; color: #333; padding-top: 3px; }\n.es-zl-step-text strong { color: #111; }\n\n.es-zl-faq-item { border-bottom: 1px solid #e5e5e5; padding: 14px 0; }\n.es-zl-faq-item:last-child { border-bottom: none; }\n.es-zl-faq-item summary { cursor: pointer; font-weight: bold; color: #111; font-size: 15px; list-style: none; }\n.es-zl-faq-item summary::-webkit-details-marker { display: none; }\n.es-zl-faq-item summary::before { content: '+ '; color: #0070f3; }\n.es-zl-faq-item[open] summary::before { content: '\\2212 '; }\n.es-zl-faq-item p { margin: 10px 0 0 18px; font-size: 14px; color: #555; line-height: 1.7; }\n\n.es-zl-swatch-grid6 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 16px; }\n@media (max-width: 620px) { .es-zl-swatch-grid6 { grid-template-columns: repeat(2, 1fr); } }\n\n.es-zl-ecu-hero { width: 100%; border-radius: 10px; overflow: hidden; border: 1px solid #dedede; margin-bottom: 20px; }\n.es-zl-ecu-hero img { width: 100%; display: block; }\n.es-zl-ecu-cat { border: 1px solid #dedede; border-radius: 10px; background: #fafafa; padding: 16px 18px; }\n.es-zl-ecu-cat-title { font-size: 13px; font-weight: bold; letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid; }\n.es-zl-ecu-cat ul { list-style: none; margin: 0; padding: 0; }\n.es-zl-ecu-cat li { font-size: 14px; color: #333; padding: 5px 0; }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 920px; margin: 0 auto; font-family: Arial, sans-serif; color: #1f1f1f;\"\u003e\n\u003cp style=\"font-size: 18px; line-height: 1.7; margin-bottom: 18px;\"\u003eReplace a factory air vent on your \u003cstrong\u003eAudi A3, S3, or RS3 (8V)\u003c\/strong\u003e with a fully functional \u003cstrong style=\"color: #0070f3;\"\u003eZeroline Vent Gauge\u003c\/strong\u003e — a plug-and-play OBD2 display that reads live boost pressure, oil temperature, coolant temperature, RPM, and more directly from your ECU, without giving up factory vent airflow or a single dashboard button.\u003c\/p\u003e\n\u003cp style=\"font-size: 18px; line-height: 1.7; margin-bottom: 28px;\"\u003eEach unit is hand-assembled in Australia, individually tested, and road-verified over 5 km of real-world driving before it ships. Installation is fully reversible and uses the factory OBD2 port for power — no wiring splices, no cutting, and no permanent modification to your vent housing.\u003c\/p\u003e\n\u003ch3 style=\"font-size: 20px; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; color: #111;\"\u003eChoose Your Colour\u003c\/h3\u003e\n\u003cdiv style=\"width: 52px; height: 3px; background: #0070f3; margin-bottom: 8px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"font-size: 15px; line-height: 1.7; margin: 0 0 4px; color: #555;\"\u003eEvery Zeroline Gauge ships with a colour-matched display bezel. More colours available at checkout.\u003c\/p\u003e\n\u003cdiv class=\"es-zl-swatch-grid6\"\u003e\n\u003cdiv class=\"es-zl-swatch\"\u003e\n\u003cdiv class=\"es-zl-swatch-photo\"\u003e\u003cimg alt=\"Zeroline Vent Gauge in Red\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-sq-red.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch-label\"\u003eRed\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch\"\u003e\n\u003cdiv class=\"es-zl-swatch-photo\"\u003e\u003cimg alt=\"Zeroline Vent Gauge in Blue\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-sq-blue.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch-label\"\u003eBlue\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch\"\u003e\n\u003cdiv class=\"es-zl-swatch-photo\"\u003e\u003cimg alt=\"Zeroline Vent Gauge in Orange\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-sq-orange.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch-label\"\u003eOrange\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch\"\u003e\n\u003cdiv class=\"es-zl-swatch-photo\"\u003e\u003cimg alt=\"Zeroline Vent Gauge in Purple\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-sq-purple.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch-label\"\u003ePurple\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch\"\u003e\n\u003cdiv class=\"es-zl-swatch-photo\"\u003e\u003cimg alt=\"Zeroline Vent Gauge in Green\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-sq-green.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch-label\"\u003eGreen\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch\"\u003e\n\u003cdiv class=\"es-zl-swatch-photo\"\u003e\u003cimg alt=\"Zeroline Vent Gauge in Pink\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-sq-pink.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"es-zl-swatch-label\"\u003ePink\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp style=\"font-size: 13px; color: #888; margin: 10px 0 0;\"\u003eAlso available in Yellow, White, and Turquoise — select at checkout.\u003c\/p\u003e\n\u003cdiv style=\"height: 1px; background: #d9d9d9; margin: 30px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch3 style=\"font-size: 20px; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; color: #111;\"\u003eFeatures\u003c\/h3\u003e\n\u003cdiv style=\"width: 52px; height: 3px; background: #0070f3; margin-bottom: 20px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin-bottom: 30px;\"\u003e\n\u003cdiv style=\"border: 1px solid #dedede; border-radius: 10px; padding: 18px; background: #fafafa;\"\u003e\n\u003cp style=\"font-size: 12px; letter-spacing: 1.8px; text-transform: uppercase; color: #0070f3; margin: 0 0 8px; font-weight: bold;\"\u003eLive ECU Data\u003c\/p\u003e\n\u003cp style=\"font-size: 16px; line-height: 1.7; margin: 0;\"\u003e\u003cstrong\u003eReal-time boost, oil temp, coolant temp, RPM, torque, TPS, AFR\u003c\/strong\u003e and more, read directly from the ECU.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"border: 1px solid #dedede; border-radius: 10px; padding: 18px; background: #fafafa;\"\u003e\n\u003cp style=\"font-size: 12px; letter-spacing: 1.8px; text-transform: uppercase; color: #0070f3; margin: 0 0 8px; font-weight: bold;\"\u003ePlug \u0026amp; Play OBD2\u003c\/p\u003e\n\u003cp style=\"font-size: 16px; line-height: 1.7; margin: 0;\"\u003e\u003cstrong\u003ePowered entirely from the OBD2 port\u003c\/strong\u003e — no wiring splices or permanent modifications required.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"border: 1px solid #dedede; border-radius: 10px; padding: 18px; background: #fafafa;\"\u003e\n\u003cp style=\"font-size: 12px; letter-spacing: 1.8px; text-transform: uppercase; color: #0070f3; margin: 0 0 8px; font-weight: bold;\"\u003eZero Airflow Loss\u003c\/p\u003e\n\u003cp style=\"font-size: 16px; line-height: 1.7; margin: 0;\"\u003e\u003cstrong\u003eRetains full factory vent airflow\u003c\/strong\u003e — heating and A\/C performance are unaffected.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"border: 1px solid #dedede; border-radius: 10px; padding: 18px; background: #fafafa;\"\u003e\n\u003cp style=\"font-size: 12px; letter-spacing: 1.8px; text-transform: uppercase; color: #0070f3; margin: 0 0 8px; font-weight: bold;\"\u003eMetric \/ Imperial Toggle\u003c\/p\u003e\n\u003cp style=\"font-size: 16px; line-height: 1.7; margin: 0;\"\u003e\u003cstrong\u003eSwipe up on the display\u003c\/strong\u003e to switch every reading between metric and imperial units.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"border: 1px solid #dedede; border-radius: 10px; padding: 18px; background: #fafafa;\"\u003e\n\u003cp style=\"font-size: 12px; letter-spacing: 1.8px; text-transform: uppercase; color: #0070f3; margin: 0 0 8px; font-weight: bold;\"\u003eHand-Assembled \u0026amp; Tested\u003c\/p\u003e\n\u003cp style=\"font-size: 16px; line-height: 1.7; margin: 0;\"\u003e\u003cstrong\u003eIndividually built and road-tested over 5 km\u003c\/strong\u003e before it ships — small-batch quality, not mass production.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"border: 1px solid #dedede; border-radius: 10px; padding: 18px; background: #fafafa;\"\u003e\n\u003cp style=\"font-size: 12px; letter-spacing: 1.8px; text-transform: uppercase; color: #0070f3; margin: 0 0 8px; font-weight: bold;\"\u003ePre-Facelift \u0026amp; Facelift Fit\u003c\/p\u003e\n\u003cp style=\"font-size: 16px; line-height: 1.7; margin: 0;\"\u003e\u003cstrong\u003eIncludes both coupler lengths\u003c\/strong\u003e — one kit fits both 8V and 8V.5 vent housings.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"height: 1px; background: #d9d9d9; margin: 30px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch3 style=\"font-size: 20px; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; color: #111;\"\u003eLive ECU Data\u003c\/h3\u003e\n\u003cdiv style=\"width: 52px; height: 3px; background: #0070f3; margin-bottom: 18px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"es-zl-ecu-hero\"\u003e\u003cimg alt=\"Zeroline Vent Gauge - all the data, right where you need it\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-all-the-data.png\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 30px;\"\u003e\n\u003cdiv class=\"es-zl-ecu-cat\"\u003e\n\u003cp style=\"color: #c9960c; border-color: #c9960c;\" class=\"es-zl-ecu-cat-title\"\u003eBoost\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eBoost Pressure + Peak Memory\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-ecu-cat\"\u003e\n\u003cp style=\"color: #0070f3; border-color: #0070f3;\" class=\"es-zl-ecu-cat-title\"\u003eThermal\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eOil Temperature\u003c\/li\u003e\n\u003cli\u003eCoolant Temperature\u003c\/li\u003e\n\u003cli\u003eIntake Air Temperature\u003c\/li\u003e\n\u003cli\u003eAmbient Temperature\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-ecu-cat\"\u003e\n\u003cp style=\"color: #d3641c; border-color: #d3641c;\" class=\"es-zl-ecu-cat-title\"\u003eEngine\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eRPM\u003c\/li\u003e\n\u003cli\u003eIgnition Timing\u003c\/li\u003e\n\u003cli\u003eCalculated Torque\u003c\/li\u003e\n\u003cli\u003eThrottle Position (TPS)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-ecu-cat\"\u003e\n\u003cp style=\"color: #2f9e44; border-color: #2f9e44;\" class=\"es-zl-ecu-cat-title\"\u003eVehicle\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eVehicle Speed\u003c\/li\u003e\n\u003cli\u003eBattery Voltage\u003c\/li\u003e\n\u003cli\u003eAir Fuel Ratio (AFR)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"height: 1px; background: #d9d9d9; margin: 30px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch3 style=\"font-size: 20px; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; color: #111;\"\u003eVehicle Compatibility\u003c\/h3\u003e\n\u003cdiv style=\"width: 52px; height: 3px; background: #0070f3; margin-bottom: 18px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"border: 1px solid #d8d8d8; border-radius: 10px; overflow: hidden; margin-bottom: 30px; background: #fafafa;\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 15px;\"\u003e\n\u003cthead\u003e\n\u003ctr style=\"background: #f2f2f2;\"\u003e\n\u003cth style=\"padding: 14px; text-align: left; color: #555; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; border-bottom: 1px solid #d8d8d8;\"\u003eModel\u003c\/th\u003e\n\u003cth style=\"padding: 14px; text-align: left; color: #555; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; border-bottom: 1px solid #d8d8d8;\" class=\"es-years-header\"\u003eYears\u003c\/th\u003e\n\u003cth style=\"padding: 14px; text-align: left; color: #555; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; border-bottom: 1px solid #d8d8d8;\"\u003eCompatible Trims\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 16px 14px; border-bottom: 1px solid #e5e5e5;\"\u003e\n\u003cstrong\u003eAudi A3 (8V)\u003c\/strong\u003e \u003cspan class=\"es-years-mobile\"\u003e2012–2020\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"padding: 16px 14px; border-bottom: 1px solid #e5e5e5;\" class=\"es-years-cell\"\u003e2012–2020\u003c\/td\u003e\n\u003ctd style=\"padding: 16px 14px; border-bottom: 1px solid #e5e5e5; color: #444;\"\u003eA3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 16px 14px; border-bottom: 1px solid #e5e5e5;\"\u003e\n\u003cstrong\u003eAudi S3 (8V)\u003c\/strong\u003e \u003cspan class=\"es-years-mobile\"\u003e2013–2020\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"padding: 16px 14px; border-bottom: 1px solid #e5e5e5;\" class=\"es-years-cell\"\u003e2013–2020\u003c\/td\u003e\n\u003ctd style=\"padding: 16px 14px; border-bottom: 1px solid #e5e5e5; color: #444;\"\u003eS3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 16px 14px;\"\u003e\n\u003cstrong\u003eAudi RS3 (8V)\u003c\/strong\u003e \u003cspan class=\"es-years-mobile\"\u003e2015–2020\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"padding: 16px 14px;\" class=\"es-years-cell\"\u003e2015–2020\u003c\/td\u003e\n\u003ctd style=\"padding: 16px 14px; color: #444;\"\u003eRS3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"margin: 0; padding: 14px; font-size: 14px; color: #666; border-top: 1px solid #e5e5e5;\"\u003eOne kit fits the entire 8V generation — both pre-facelift and facelift vent housings — using the matching coupler included in the box. Select your vehicle at checkout.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"height: 1px; background: #d9d9d9; margin: 30px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch3 style=\"font-size: 20px; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; color: #111;\"\u003eWhat’s Included\u003c\/h3\u003e\n\u003cdiv style=\"width: 52px; height: 3px; background: #0070f3; margin-bottom: 18px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cul style=\"padding-left: 20px; margin-bottom: 30px; font-size: 16px; line-height: 1.8;\"\u003e\n\u003cli\u003e1x Zeroline Gauge Screen\u003c\/li\u003e\n\u003cli\u003e1x Bottom Plate\u003c\/li\u003e\n\u003cli\u003e2x Vent Coupler (long = facelift 8V.5, short = pre-facelift 8V — only one is used)\u003c\/li\u003e\n\u003cli\u003e2x M4x8 Screws\u003c\/li\u003e\n\u003cli\u003e1x OBD2 Power Brick\u003c\/li\u003e\n\u003cli\u003e1x OBD2 Extension Cable\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv style=\"height: 1px; background: #d9d9d9; margin: 30px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cstyle\u003e\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue\u0026family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300\u0026family=DM+Mono:wght@400;500\u0026display=swap');\n\n  .zlg {\n    --bg: #0a0a0b;\n    --surface: #111114;\n    --surface2: #18181d;\n    --border: #252530;\n    --accent: #0070f3;\n    --accent-dim: rgba(0,112,243,0.10);\n    --text: #f0f0f0;\n    --text-muted: #8a8a9a;\n    --text-dim: #3a3a48;\n    --red: #ff4444;\n  }\n\n  .zlg, .zlg *, .zlg *::before, .zlg *::after { box-sizing: border-box; }\n  .zlg *, .zlg *::before, .zlg *::after { margin: 0; padding: 0; }\n\n  .zlg {\n    background: var(--bg);\n    color: var(--text);\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 300;\n    line-height: 1.6;\n    overflow-x: hidden;\n    border-radius: 12px;\n  }\n\n  \/* HERO *\/\n  .hero {\n    position: relative;\n    padding: 72px 48px 56px;\n    border-bottom: 1px solid var(--border);\n    overflow: hidden;\n  }\n  .hero-ghost {\n    position: absolute;\n    top: 50%; right: -10px;\n    transform: translateY(-50%);\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(100px, 18vw, 200px);\n    color: rgba(255,255,255,0.022);\n    pointer-events: none;\n    white-space: nowrap;\n    user-select: none;\n  }\n  .hero-inner { position: relative; max-width: 1040px; margin: 0 auto; }\n  .brand-bar {\n    display: flex; align-items: center; gap: 12px; margin-bottom: 28px;\n  }\n  .brand-logo {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 22px; letter-spacing: 0.14em; color: var(--accent);\n  }\n  .brand-sep { width: 1px; height: 18px; background: var(--border); }\n  .brand-label {\n    font-family: 'DM Mono', monospace;\n    font-size: 11px; letter-spacing: 0.18em;\n    text-transform: uppercase; color: var(--text-muted);\n  }\n  .zlg h1 {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(52px, 9vw, 100px);\n    line-height: 0.9; letter-spacing: -0.01em;\n    margin-bottom: 28px;\n  }\n  .zlg h1 span { color: var(--accent); }\n  .hero-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }\n  .pill {\n    display: inline-flex; align-items: center; gap: 8px;\n    padding: 6px 14px;\n    background: var(--surface2); border: 1px solid var(--border);\n    border-radius: 2px;\n    font-family: 'DM Mono', monospace;\n    font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;\n    color: var(--text-muted);\n  }\n  .pill .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }\n\n  \/* LAYOUT *\/\n  .container { max-width: 1040px; margin: 0 auto; padding: 0 48px; }\n  .zlg section { padding: 56px 0; border-bottom: 1px solid var(--border); }\n  .zlg section:last-child { border-bottom: none; }\n\n  .sec-label {\n    font-family: 'DM Mono', monospace;\n    font-size: 10px; letter-spacing: 0.22em;\n    text-transform: uppercase; color: var(--accent);\n    margin-bottom: 28px;\n    display: flex; align-items: center; gap: 14px;\n  }\n  .sec-label::after {\n    content: ''; flex: 1; height: 1px; background: var(--border);\n  }\n\n  \/* INCLUDED ITEMS *\/\n  .items-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\n    gap: 10px;\n  }\n  .item-card {\n    display: flex; align-items: center; gap: 16px;\n    padding: 14px 18px;\n    background: var(--surface); border: 1px solid var(--border);\n    border-radius: 3px;\n    transition: border-color 0.2s;\n  }\n  .item-card:hover { border-color: rgba(0,112,243,0.25); }\n  .item-qty {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 30px; color: var(--accent); line-height: 1; min-width: 24px;\n  }\n  .item-name { font-size: 13px; color: var(--text-muted); line-height: 1.3; }\n  .item-note { font-size: 11px; color: var(--text-dim); display: block; }\n\n  \/* TOOLS *\/\n  .tools-wrap { display: flex; flex-wrap: wrap; gap: 10px; }\n  .tool-tag {\n    padding: 8px 16px;\n    background: var(--surface2); border: 1px solid var(--border);\n    border-radius: 2px;\n    font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text-muted);\n  }\n\n  \/* WARNINGS *\/\n  .warn {\n    display: flex; gap: 14px; padding: 18px 22px;\n    background: rgba(255,68,68,0.05);\n    border: 1px solid rgba(255,68,68,0.18);\n    border-radius: 3px; margin-top: 20px;\n  }\n  .warn-icon { font-size: 16px; flex-shrink: 0; margin-top: 2px; }\n  .warn-text { font-size: 13px; color: #ff9090; line-height: 1.5; }\n\n  \/* CHECKLIST *\/\n  .checklist { display: flex; flex-direction: column; gap: 10px; }\n  .check-item {\n    display: flex; align-items: flex-start; gap: 14px;\n    padding: 14px 18px;\n    background: var(--surface); border: 1px solid var(--border);\n    border-radius: 3px; font-size: 14px; color: var(--text-muted);\n  }\n  .check-box {\n    width: 16px; height: 16px;\n    border: 1.5px solid var(--accent); border-radius: 2px;\n    flex-shrink: 0; margin-top: 2px;\n  }\n\n  \/* PHASE HEADER *\/\n  .phase-hdr { margin-bottom: 24px; }\n  .phase-title {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 38px; letter-spacing: 0.04em; color: var(--text);\n    line-height: 1;\n  }\n  .phase-sub {\n    font-family: 'DM Mono', monospace;\n    font-size: 11px; letter-spacing: 0.12em;\n    color: var(--text-dim); margin-top: 4px;\n  }\n\n  \/* STEP CARD *\/\n  .step-card {\n    background: var(--surface);\n    border: 1px solid var(--border);\n    border-radius: 4px;\n    overflow: hidden;\n    margin-bottom: 2px;\n    transition: border-color 0.25s;\n  }\n  .step-card:hover { border-color: rgba(0,112,243,0.28); }\n\n  .step-header {\n    display: flex; align-items: center; gap: 0;\n    border-bottom: 1px solid var(--border);\n  }\n  .step-num {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 32px; color: var(--accent); line-height: 1;\n    padding: 18px 24px;\n    background: #131318;\n    border-right: 1px solid var(--border);\n    min-width: 80px; text-align: center;\n    flex-shrink: 0;\n  }\n  .step-instruction {\n    padding: 16px 24px;\n    font-size: 14px; color: var(--text-muted); line-height: 1.6;\n  }\n  .step-instruction strong { color: var(--text); font-weight: 500; }\n\n  \/* PHOTO STRIP *\/\n  .photo-strip {\n    display: grid;\n    gap: 2px;\n    background: var(--bg);\n  }\n  .photo-strip.cols-3 { grid-template-columns: repeat(3, 1fr); }\n  .photo-strip.cols-2 { grid-template-columns: repeat(2, 1fr); }\n  .photo-strip.cols-1 { grid-template-columns: 1fr; }\n\n  .step-photo {\n    width: 100%; aspect-ratio: 3\/4;\n    object-fit: cover;\n    display: block;\n    filter: brightness(0.92) saturate(0.9);\n    transition: filter 0.3s;\n  }\n  .photo-strip.cols-3 .step-photo { aspect-ratio: 3\/4; }\n  .photo-strip.cols-2 .step-photo { aspect-ratio: 4\/3; }\n\n  .step-card:hover .step-photo { filter: brightness(1) saturate(1); }\n\n  \/* PHASE DIVIDER *\/\n  .phase-div {\n    display: flex; align-items: center; gap: 16px;\n    margin: 44px 0 36px;\n  }\n  .phase-div-line { flex: 1; height: 1px; background: var(--border); }\n  .phase-div-icon {\n    width: 32px; height: 32px;\n    border: 1px solid var(--border); border-radius: 50%;\n    display: flex; align-items: center; justify-content: center;\n    color: var(--accent); font-size: 13px; flex-shrink: 0;\n  }\n\n  \/* FINAL CARD *\/\n  .final-card {\n    display: flex; gap: 20px; align-items: center;\n    padding: 28px 32px;\n    background: var(--accent-dim);\n    border: 1px solid var(--accent);\n    border-radius: 4px; margin-top: 24px;\n  }\n  .final-icon { font-size: 30px; flex-shrink: 0; }\n  .final-card h3 {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 22px; letter-spacing: 0.06em;\n    color: var(--accent); margin-bottom: 4px;\n  }\n  .final-card p { font-size: 13px; color: var(--text-muted); }\n\n  \/* FOOTER *\/\n  .zlg footer {\n    max-width: 1040px; margin: 0 auto;\n    padding: 36px 48px;\n    border-top: 1px solid var(--border);\n    display: flex; align-items: center;\n    justify-content: space-between; flex-wrap: wrap; gap: 12px;\n  }\n  .footer-brand {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 20px; letter-spacing: 0.12em; color: var(--accent);\n  }\n  .footer-note {\n    font-family: 'DM Mono', monospace;\n    font-size: 11px; color: var(--text-dim); letter-spacing: 0.1em;\n  }\n\n  \/* GESTURE CONTROLS *\/\n  .gesture-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));\n    gap: 16px;\n  }\n  .gesture-card {\n    background: var(--surface);\n    border: 1px solid var(--border);\n    border-radius: 6px;\n    overflow: hidden;\n    transition: border-color 0.25s;\n  }\n  .gesture-card:hover { border-color: rgba(0,112,243,0.28); }\n\n  .gesture-visual {\n    background: #0d0d11;\n    padding: 28px 24px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 16px;\n    border-bottom: 1px solid var(--border);\n  }\n\n  .gesture-screen {\n    background: #111118;\n    border: 1px solid var(--border);\n    border-radius: 50%;\n    width: 110px; height: 110px;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    gap: 2px;\n    flex-shrink: 0;\n    transition: opacity 0.3s;\n    position: relative;\n    overflow: hidden;\n  }\n  .gesture-screen::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    border-radius: 50%;\n    box-shadow: inset 0 0 18px rgba(0,112,243,0.06);\n  }\n  .gesture-screen.dim { opacity: 0.35; }\n  .screen-label {\n    font-family: 'DM Mono', monospace;\n    font-size: 9px; letter-spacing: 0.15em;\n    text-transform: uppercase;\n  }\n  .screen-label.metric { color: var(--accent); }\n  .screen-label.imperial { color: #7acfff; }\n  .screen-value {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 28px; color: var(--text); line-height: 1;\n  }\n  .screen-value.small { font-size: 20px; }\n  .screen-sublabel {\n    font-family: 'DM Mono', monospace;\n    font-size: 7px; color: var(--text-dim);\n    letter-spacing: 0.1em; text-align: center;\n    padding: 0 8px;\n  }\n\n  .log-labels {\n    display: flex; gap: 4px; flex-direction: column; align-items: center;\n  }\n  .log-label {\n    font-family: 'DM Mono', monospace;\n    font-size: 8px; letter-spacing: 0.1em;\n    color: var(--text-dim); text-transform: uppercase;\n    padding: 1px 5px;\n    border: 1px solid transparent;\n    border-radius: 2px;\n  }\n  .log-label.active {\n    color: var(--accent); border-color: rgba(0,112,243,0.3);\n    background: var(--accent-dim);\n  }\n  .log-label.tap-hint { animation: pulse-label 2s ease-in-out infinite; }\n  .log-label.tap-hint:nth-child(2) { animation-delay: 0.15s; }\n\n  @keyframes pulse-label {\n    0%, 100% { box-shadow: none; }\n    50% { box-shadow: 0 0 6px rgba(0,112,243,0.4); }\n  }\n\n  .gesture-arrow-wrap {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 6px;\n  }\n  .swipe-arrow {\n    font-size: 22px; color: var(--accent);\n    animation: bounce-up 1.4s ease-in-out infinite;\n  }\n  .swipe-line {\n    width: 1px; height: 32px;\n    background: linear-gradient(to bottom, var(--accent), transparent);\n  }\n\n  @keyframes bounce-up {\n    0%, 100% { transform: translateY(0); opacity: 0.6; }\n    50% { transform: translateY(-5px); opacity: 1; }\n  }\n\n  .gesture-arrow-wrap.cycle {\n    flex-direction: column;\n    gap: 8px;\n  }\n  .cycle-dots { display: flex; gap: 5px; }\n  .cd {\n    width: 6px; height: 6px; border-radius: 50%;\n    background: var(--text-dim);\n    transition: background 0.3s;\n  }\n  .cd.active { background: var(--accent); }\n  .cycle-label {\n    font-family: 'DM Mono', monospace;\n    font-size: 9px; letter-spacing: 0.15em;\n    color: var(--text-dim); text-transform: uppercase;\n  }\n\n  .gesture-info { padding: 22px 24px; }\n  .gesture-icon-row { margin-bottom: 10px; }\n  .gesture-badge {\n    display: inline-flex; align-items: center;\n    padding: 4px 12px;\n    background: var(--accent-dim);\n    border: 1px solid rgba(0,112,243,0.3);\n    border-radius: 2px;\n    font-family: 'DM Mono', monospace;\n    font-size: 11px; letter-spacing: 0.12em;\n    color: var(--accent);\n    text-transform: uppercase;\n  }\n  .gesture-badge.tap { color: #7acfff; background: rgba(122,207,255,0.08); border-color: rgba(122,207,255,0.25); }\n  .gesture-title {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 26px; letter-spacing: 0.05em;\n    color: var(--text); margin-bottom: 8px;\n  }\n  .gesture-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; }\n  .gesture-desc strong { color: var(--text); font-weight: 500; }\n\n  @media (max-width: 640px) {\n    .gesture-grid { grid-template-columns: 1fr; }\n    .hero { padding: 48px 20px 36px; }\n    .container { padding: 0 20px; }\n    .photo-strip.cols-3 { grid-template-columns: 1fr; }\n    .photo-strip.cols-2 { grid-template-columns: 1fr; }\n    .zlg footer { padding: 28px 20px; }\n  }\n\n  \/* MODAL CHROME *\/\n  .es-zl-install-trigger {\n    display: inline-flex; align-items: center; justify-content: center; gap: 8px;\n    background: #0070f3 !important; color: #fff !important; border: none; border-radius: 8px;\n    padding: 14px 26px; font-family: Arial, sans-serif; font-size: 15px; font-weight: bold;\n    cursor: pointer; letter-spacing: .3px; white-space: normal; text-align: center;\n    line-height: 1.3; max-width: 100%; box-sizing: border-box;\n  }\n  .es-zl-install-overlay {\n    display: none; position: fixed; inset: 0; z-index: 99999;\n    background: rgba(0,0,0,0.75); padding: 24px; overflow-y: auto; box-sizing: border-box;\n  }\n  .es-zl-install-overlay.open { display: block; }\n  .es-zl-install-panel { position: relative; max-width: 1088px; margin: 0 auto; }\n  .es-zl-install-close {\n    position: fixed; top: 14px; right: 14px; z-index: 100000;\n    background: #0070f3 !important; color: #fff !important; border: none; border-radius: 50%;\n    width: 40px; height: 40px; font-size: 18px; cursor: pointer;\n    display: flex; align-items: center; justify-content: center;\n    box-shadow: 0 2px 10px rgba(0,0,0,0.4);\n  }\n  @media (max-width: 640px) {\n    .es-zl-install-overlay { padding: 0; }\n    .es-zl-install-panel { max-width: 100%; }\n    .es-zl-install-trigger { font-size: 13px; padding: 12px 16px; gap: 6px; }\n    .es-zl-install-close { top: 10px; right: 10px; width: 36px; height: 36px; font-size: 16px; }\n  }\n\u003c\/style\u003e\n\n\u003cdetails class=\"es-zl-details\"\u003e\n\u003csummary\u003eInstallation Guide \u003cspan class=\"es-zl-details-meta\"\u003e15–30 min · Beginner\/Intermediate · OBD2 Powered\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"es-zl-details-body\"\u003e\n\u003cp style=\"font-size: 15px; line-height: 1.7; margin: 0 0 16px; color: #444;\"\u003eFull plug-and-play install, no wiring splices or permanent modification. Open the visual step-by-step guide below for real installation photos at every stage.\u003c\/p\u003e\n\u003cbutton type=\"button\" class=\"es-zl-install-trigger\" onclick=\"document.getElementById('es-zl-install-overlay').classList.add('open'); document.body.style.overflow='hidden';\"\u003e\n  🔧 View Full Installation Guide (With Photos)\n\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cdiv id=\"es-zl-install-overlay\" class=\"es-zl-install-overlay\"\u003e\n  \u003cdiv class=\"es-zl-install-panel\"\u003e\n    \u003cbutton type=\"button\" class=\"es-zl-install-close\" onclick=\"document.getElementById('es-zl-install-overlay').classList.remove('open'); document.body.style.overflow='';\"\u003e✕\u003c\/button\u003e\n    \u003cdiv class=\"zlg\"\u003e\n\n\u003c!-- HERO --\u003e\n\u003cdiv class=\"hero\"\u003e\n  \u003cdiv class=\"hero-ghost\"\u003e8V\u003c\/div\u003e\n  \u003cdiv class=\"hero-inner\"\u003e\n    \u003cdiv class=\"brand-bar\"\u003e\n      \u003cspan class=\"brand-logo\"\u003eZEROLINE\u003c\/span\u003e\n      \u003cdiv class=\"brand-sep\"\u003e\u003c\/div\u003e\n      \u003cspan class=\"brand-label\"\u003eInstallation Guide\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003ch1\u003e8V VENT\u003cbr\u003e\u003cspan\u003eGAUGE\u003c\/span\u003e\n\u003c\/h1\u003e\n    \u003cdiv class=\"hero-pills\"\u003e\n      \u003cdiv class=\"pill\"\u003e\n\u003cspan class=\"dot\"\u003e\u003c\/span\u003eAudi A3 \/ S3 \/ RS3 8V\u003c\/div\u003e\n      \u003cdiv class=\"pill\"\u003e\n\u003cspan class=\"dot\"\u003e\u003c\/span\u003e15–30 Min\u003c\/div\u003e\n      \u003cdiv class=\"pill\"\u003e\n\u003cspan class=\"dot\"\u003e\u003c\/span\u003eBeginner \/ Intermediate\u003c\/div\u003e\n      \u003cdiv class=\"pill\"\u003e\n\u003cspan class=\"dot\"\u003e\u003c\/span\u003eOBD2 Powered\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"container\"\u003e\n\n\u003c!-- PACKAGE CONTENTS --\u003e\n\u003csection\u003e\n  \u003cdiv class=\"sec-label\"\u003e01 — Package Contents\u003c\/div\u003e\n  \u003cdiv class=\"items-grid\"\u003e\n    \u003cdiv class=\"item-card\"\u003e\n\u003cdiv class=\"item-qty\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"item-name\"\u003eZeroline Gauge Screen\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"item-card\"\u003e\n\u003cdiv class=\"item-qty\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"item-name\"\u003eBottom Plate\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"item-card\"\u003e\n\u003cdiv class=\"item-qty\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"item-name\"\u003eVent Coupler\u003cspan class=\"item-note\"\u003eOnly one needed\u003cbr\u003eLonger = Facelift (8V.5)  |  Shorter = Pre-Facelift (8V)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"item-card\"\u003e\n\u003cdiv class=\"item-qty\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"item-name\"\u003eM4×8 Screws\u003cspan class=\"item-note\" style=\"color:var(--accent)\"\u003e⚠ Don't lose them\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"item-card\"\u003e\n\u003cdiv class=\"item-qty\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"item-name\"\u003eOBD Power Brick\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"item-card\"\u003e\n\u003cdiv class=\"item-qty\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"item-name\"\u003eOBD Extension Cable\u003c\/div\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- TOOLS --\u003e\n\u003csection\u003e\n  \u003cdiv class=\"sec-label\"\u003e02 — Tools Required\u003c\/div\u003e\n  \u003cdiv class=\"tools-wrap\"\u003e\n    \u003cdiv class=\"tool-tag\"\u003ePlastic Trim Removal Tool\u003c\/div\u003e\n    \u003cdiv class=\"tool-tag\"\u003eSmall Flat-Head Screwdriver\u003c\/div\u003e\n    \u003cdiv class=\"tool-tag\"\u003ePhillips-Head Screwdriver\u003c\/div\u003e\n    \u003cdiv class=\"tool-tag\"\u003eMicrofibre Cloth\u003c\/div\u003e\n    \u003cdiv class=\"tool-tag\"\u003eFlashlight (optional)\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"warn\"\u003e\n    \u003cdiv class=\"warn-icon\"\u003e⚠\u003c\/div\u003e\n    \u003cdiv class=\"warn-text\"\u003e\n\u003cstrong\u003eDo not use metal tools\u003c\/strong\u003e directly on visible trim surfaces — this may scratch or damage interior panels.\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- BEFORE YOU START --\u003e\n\u003csection\u003e\n  \u003cdiv class=\"sec-label\"\u003e03 — Before You Start\u003c\/div\u003e\n  \u003cdiv class=\"checklist\"\u003e\n    \u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-box\"\u003e\u003c\/div\u003ePark the vehicle safely on a flat, stable surface\u003c\/div\u003e\n    \u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-box\"\u003e\u003c\/div\u003eAllow the interior to cool if the car has been sitting in direct sunlight\u003c\/div\u003e\n    \u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-box\"\u003e\u003c\/div\u003eConfirm all supplied parts are present before starting\u003c\/div\u003e\n    \u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-box\"\u003e\u003c\/div\u003eTest-fit the product before fully securing it into place\u003c\/div\u003e\n    \u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-box\"\u003e\u003c\/div\u003eWork slowly — do not force any clips or trim pieces\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- INSTALLATION --\u003e\n\u003csection\u003e\n  \u003cdiv class=\"sec-label\"\u003e04 — Installation Steps\u003c\/div\u003e\n\n  \u003c!-- PHASE A --\u003e\n  \u003cdiv class=\"phase-hdr\"\u003e\n    \u003cdiv class=\"phase-title\"\u003ePHASE A — VENT REMOVAL\u003c\/div\u003e\n    \u003cdiv class=\"phase-sub\"\u003e\/\/ Start at the target vent on the dashboard\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e01\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003eUsing a \u003cstrong\u003eplastic trim removal tool\u003c\/strong\u003e, gently pry around the edge of the vent to begin releasing it from the dashboard.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step01.jpg\" alt=\"Prying vent edge\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step02.jpg\" alt=\"Working around vent clips\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step03.jpg\" alt=\"Gripping vent by hand\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e02\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003eWork around the \u003cstrong\u003etop, bottom, left, and right\u003c\/strong\u003e sides evenly to release all clips. Once slightly loose, \u003cstrong\u003egrip by hand\u003c\/strong\u003e and pull outward slowly.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"phase-div\"\u003e\n\u003cdiv class=\"phase-div-line\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"phase-div-icon\"\u003e◆\u003c\/div\u003e\n\u003cdiv class=\"phase-div-line\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n  \u003c!-- PHASE B --\u003e\n  \u003cdiv class=\"phase-hdr\"\u003e\n    \u003cdiv class=\"phase-title\"\u003ePHASE B — OEM INSERT REMOVAL\u003c\/div\u003e\n    \u003cdiv class=\"phase-sub\"\u003e\/\/ Disassemble the vent housing\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e03\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003e\n\u003cstrong\u003eGently pull the vent out\u003c\/strong\u003e of the dashboard — do not force it. Then \u003cstrong\u003eflip the vent over\u003c\/strong\u003e and use a flathead screwdriver or pliers to squeeze the retaining tabs inward.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step04.jpg\" alt=\"Pulling vent out\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step05.jpg\" alt=\"Empty dashboard vent hole\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step06.jpg\" alt=\"Squeezing retaining tabs\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e04\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003eOnce the tabs release, \u003cstrong\u003ecarefully pull the OEM vent insert out\u003c\/strong\u003e of the outer housing. Lay out and prepare all required parts: coupler, screen, bottom plate, and 2 screws.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step07.jpg\" alt=\"Tabs released from housing\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step08.jpg\" alt=\"Pulling OEM insert out\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step09.jpg\" alt=\"Parts laid out: coupler, screen, plate, screws\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"phase-div\"\u003e\n\u003cdiv class=\"phase-div-line\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"phase-div-icon\"\u003e◆\u003c\/div\u003e\n\u003cdiv class=\"phase-div-line\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n  \u003c!-- PHASE C --\u003e\n  \u003cdiv class=\"phase-hdr\"\u003e\n    \u003cdiv class=\"phase-title\"\u003ePHASE C — GAUGE ASSEMBLY\u003c\/div\u003e\n    \u003cdiv class=\"phase-sub\"\u003e\/\/ Build the gauge insert assembly\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e05\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003e\n\u003cstrong\u003eFeed the USB-C cable through a hole\u003c\/strong\u003e in the bottom plate and position the plate correctly. Place the \u003cstrong\u003ecoupler onto the plate\u003c\/strong\u003e with screw holes aligned.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step10.jpg\" alt=\"Feeding cable through bottom plate\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step11.jpg\" alt=\"Placing coupler on bottom plate\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step12.jpg\" alt=\"Installing first screw\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e06\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003eInstall both \u003cstrong\u003eM4×8 screws with a Phillips-head screwdriver\u003c\/strong\u003e — tighten until snug only, do not overtighten. Then place the \u003cstrong\u003egauge assembly into the vent housing\u003c\/strong\u003e, aligning the top notches first.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step13.jpg\" alt=\"Installing second screw\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step14.jpg\" alt=\"Placing gauge into vent housing\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step15.jpg\" alt=\"Aligning top notches\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"phase-div\"\u003e\n\u003cdiv class=\"phase-div-line\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"phase-div-icon\"\u003e◆\u003c\/div\u003e\n\u003cdiv class=\"phase-div-line\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n  \u003c!-- PHASE D --\u003e\n  \u003cdiv class=\"phase-hdr\"\u003e\n    \u003cdiv class=\"phase-title\"\u003ePHASE D — WIRING \u0026amp; OBD2\u003c\/div\u003e\n    \u003cdiv class=\"phase-sub\"\u003e\/\/ Run power from OBD2 port to the gauge\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e07\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003eMove to the \u003cstrong\u003edriver's side panel\u003c\/strong\u003e. Use the plastic trim tool to gently pry it outward, being careful not to scratch any trim. Once \u003cstrong\u003e2–3 clips release\u003c\/strong\u003e, pull the panel away by hand.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step16.jpg\" alt=\"Driver side panel location\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step17.jpg\" alt=\"Prying panel with trim tool\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step18.jpg\" alt=\"Panel removed\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e08\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003eWith the panel out of the way, \u003cstrong\u003econnect the OBD2 extender cable to the power module\u003c\/strong\u003e and tuck the power module into the cavity behind the dashboard.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step19.jpg\" alt=\"Space behind dashboard panel\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step20.jpg\" alt=\"Connecting OBD2 extender to power module\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step21.jpg\" alt=\"Placing power module behind panel\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e09\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003ePull the OBD2 cable out from the lower side area and \u003cstrong\u003eplug it into the vehicle's OBD2 port\u003c\/strong\u003e. Then \u003cstrong\u003eguide the USB-C connector\u003c\/strong\u003e through the vent opening from behind the dash and pull it through.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step22.jpg\" alt=\"Plugging into OBD2 port\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step23.jpg\" alt=\"Guiding USB-C through vent opening\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step24.jpg\" alt=\"USB-C pulled through vent opening\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"phase-div\"\u003e\n\u003cdiv class=\"phase-div-line\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"phase-div-icon\"\u003e◆\u003c\/div\u003e\n\u003cdiv class=\"phase-div-line\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n  \u003c!-- PHASE E --\u003e\n  \u003cdiv class=\"phase-hdr\"\u003e\n    \u003cdiv class=\"phase-title\"\u003ePHASE E — FINAL FIT \u0026amp; POWER ON\u003c\/div\u003e\n    \u003cdiv class=\"phase-sub\"\u003e\/\/ Complete the install\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"step-card\"\u003e\n    \u003cdiv class=\"step-header\"\u003e\n      \u003cdiv class=\"step-num\"\u003e10\u003c\/div\u003e\n      \u003cdiv class=\"step-instruction\"\u003e\n\u003cstrong\u003eConnect the USB-C cable to the gauge\u003c\/strong\u003e — ensure fully seated. Then \u003cstrong\u003epress the vent assembly back into the dashboard opening\u003c\/strong\u003e until all clips engage securely.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"photo-strip cols-3\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step25.jpg\" alt=\"Connecting USB-C to gauge\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step26.jpg\" alt=\"Placing vent assembly back in dash\"\u003e\n      \u003cimg class=\"step-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-install-step27.jpg\" alt=\"Gauge installed and powered on\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"final-card\"\u003e\n    \u003cdiv class=\"final-icon\"\u003e⚡\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003ch3\u003ePOWER ON CHECK\u003c\/h3\u003e\n      \u003cp\u003eStart the vehicle and confirm the gauge powers on correctly. The display should illuminate and begin reading OBD2 data within a few seconds of ignition.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003c!-- GESTURE CONTROLS --\u003e\n\u003cdiv class=\"container\"\u003e\n\u003csection\u003e\n  \u003cdiv class=\"sec-label\"\u003e05 — Using Your Gauge\u003c\/div\u003e\n\n  \u003cdiv class=\"gesture-grid\"\u003e\n\n    \u003cdiv class=\"gesture-card\"\u003e\n      \u003cdiv class=\"gesture-visual\"\u003e\n        \u003cdiv class=\"gesture-screen\"\u003e\n          \u003cdiv class=\"screen-label metric\"\u003ekm\/h\u003c\/div\u003e\n          \u003cdiv class=\"screen-value\"\u003e247\u003c\/div\u003e\n          \u003cdiv class=\"screen-sublabel\"\u003eBOOST  ·  COOLANT  ·  OIL\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"gesture-arrow-wrap\"\u003e\n          \u003cdiv class=\"swipe-arrow\"\u003e↑\u003c\/div\u003e\n          \u003cdiv class=\"swipe-line\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"gesture-screen dim\"\u003e\n          \u003cdiv class=\"screen-label imperial\"\u003emph\u003c\/div\u003e\n          \u003cdiv class=\"screen-value\"\u003e153\u003c\/div\u003e\n          \u003cdiv class=\"screen-sublabel\"\u003eBOOST  ·  COOLANT  ·  OIL\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"gesture-info\"\u003e\n        \u003cdiv class=\"gesture-icon-row\"\u003e\n          \u003cdiv class=\"gesture-badge\"\u003e↑ SWIPE UP\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003ch3 class=\"gesture-title\"\u003eSwitch Units\u003c\/h3\u003e\n        \u003cp class=\"gesture-desc\"\u003eSwipe up on the gauge display to toggle between \u003cstrong\u003eMetric\u003c\/strong\u003e and \u003cstrong\u003eImperial\u003c\/strong\u003e units across all readings.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"gesture-card\"\u003e\n      \u003cdiv class=\"gesture-visual\"\u003e\n        \u003cdiv class=\"gesture-screen\"\u003e\n          \u003cdiv class=\"log-labels\"\u003e\n            \u003cdiv class=\"log-label active tap-hint\"\u003eBOOST\u003c\/div\u003e\n            \u003cdiv class=\"log-label active tap-hint\"\u003eCOOLANT\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"screen-value small\"\u003e14.2 psi\u003c\/div\u003e\n          \u003cdiv class=\"screen-sublabel\"\u003eLOG MODE  ·  ACTIVE\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"gesture-arrow-wrap cycle\"\u003e\n          \u003cdiv class=\"cycle-dots\"\u003e\n            \u003cspan class=\"cd active\"\u003e\u003c\/span\u003e\n            \u003cspan class=\"cd\"\u003e\u003c\/span\u003e\n            \u003cspan class=\"cd\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"cycle-label\"\u003eCYCLE\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"gesture-screen dim\"\u003e\n          \u003cdiv class=\"log-labels\"\u003e\n            \u003cdiv class=\"log-label\"\u003eOIL TEMP\u003c\/div\u003e\n            \u003cdiv class=\"log-label\"\u003eRPM\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"screen-value small\"\u003e96°\u003c\/div\u003e\n          \u003cdiv class=\"screen-sublabel\"\u003eLOG MODE  ·  NEXT\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"gesture-info\"\u003e\n        \u003cdiv class=\"gesture-icon-row\"\u003e\n          \u003cdiv class=\"gesture-badge tap\"\u003e⬛ TAP × 2\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003ch3 class=\"gesture-title\"\u003eCycle Log Options\u003c\/h3\u003e\n        \u003cp class=\"gesture-desc\"\u003eTap \u003cstrong\u003eboth info labels simultaneously\u003c\/strong\u003e to cycle through the available log display options and switch what data is shown.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cfooter\u003e\n  \u003cdiv class=\"footer-brand\"\u003eZEROLINE\u003c\/div\u003e\n  \u003cdiv class=\"footer-note\"\u003e8V VENT GAUGE  ·  INSTALLATION GUIDE  ·  REV 1.0\u003c\/div\u003e\n\u003c\/footer\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  var ov = document.getElementById('es-zl-install-overlay');\n  if (ov \u0026\u0026 ov.parentNode !== document.body) {\n    document.body.appendChild(ov);\n  }\n})();\n\u003c\/script\u003e\n\u003cdetails class=\"es-zl-details\"\u003e\n\u003csummary\u003eFrequently Asked Questions\u003c\/summary\u003e\n\u003cdiv class=\"es-zl-details-body\"\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eHow long does shipping take?\u003c\/p\u003e\n\u003cp\u003eEvery Zeroline Gauge is hand assembled, tested, and quality checked on real vehicles before dispatch, with over 5 km of real-world testing per unit. Due to the small-batch production process, please allow the lead time shown in Availability \u0026amp; Shipping below.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eWill installing it in the vent affect heating or A\/C?\u003c\/p\u003e\n\u003cp\u003eNo. The Zeroline Gauge is engineered to retain airflow through the factory vent, so heating and A\/C performance are not affected.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eIs every Zeroline Gauge handmade?\u003c\/p\u003e\n\u003cp\u003eYes. Every Zeroline Gauge is hand assembled, tested, and quality checked in small batches before shipping. Zeroline focuses on craftsmanship rather than mass production to ensure every unit meets their standards.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eCan the Zeroline Gauge handle extreme temperatures?\u003c\/p\u003e\n\u003cp\u003eYes. Units are torture-tested from well below freezing to extreme heat beyond typical in-car conditions, including temperatures hot enough to soften plastics, without failure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eDo I need to buy anything extra, or is it plug and play?\u003c\/p\u003e\n\u003cp\u003eNothing extra is required. Your gauge ships with everything needed for installation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eHow accurate are the sensor readings?\u003c\/p\u003e\n\u003cp\u003eThe gauge displays real-time data directly from your vehicle’s ECU sensors — in many cases more accurate than the factory dashboard gauges, which often show softened or averaged readings.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eWhat if I want to use the OBD2 port for something else?\u003c\/p\u003e\n\u003cp\u003eSimply unplug the gauge whenever you need to use another OBD2 device. Your settings are saved and restored when you reconnect it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eWill installing a Zeroline Gauge void my vehicle warranty?\u003c\/p\u003e\n\u003cp\u003eNo. A Zeroline Gauge functions the same way as an OBD2 diagnostic scan tool. Connecting a diagnostic device alone does not void a manufacturer’s warranty.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"es-zl-faq-item\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold; color: #111; font-size: 15px;\"\u003eWill modifications or ECU tuning affect my readings?\u003c\/p\u003e\n\u003cp\u003eStandard bolt-on modifications and ECU reflashes typically do not affect reading accuracy.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdiv style=\"height: 1px; background: #d9d9d9; margin: 30px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch3 style=\"font-size: 20px; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; color: #111;\"\u003eAvailability \u0026amp; Shipping\u003c\/h3\u003e\n\u003cdiv style=\"width: 52px; height: 3px; background: #0070f3; margin-bottom: 18px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"border: 1px solid #dedede; border-radius: 10px; padding: 18px; background: #fafafa; margin-bottom: 18px;\"\u003e\n\u003cp style=\"font-size: 15px; line-height: 1.7; margin: 0 0 10px; color: #555;\"\u003eEach Zeroline Gauge is hand-assembled and road-tested to order in Australia — please allow \u003cstrong\u003e5–10 business days\u003c\/strong\u003e for production before dispatch. Estimated delivery: \u003cstrong\u003e10–18 business days\u003c\/strong\u003e to the US, or \u003cstrong\u003e3–7 business days\u003c\/strong\u003e within Australia, with tracking provided once shipped.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Zeroline","offers":[{"title":"Red \/ Audi A3 (8V)","offer_id":52709089870111,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ Audi S3 (8V)","offer_id":52709089902879,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ Audi RS3 (8V)","offer_id":52709089935647,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ Audi A3 (8V)","offer_id":52709089968415,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ Audi S3 (8V)","offer_id":52709090001183,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ Audi RS3 (8V)","offer_id":52709090033951,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ Audi A3 (8V)","offer_id":52709090066719,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ Audi S3 (8V)","offer_id":52709090099487,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ Audi RS3 (8V)","offer_id":52709090132255,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ Audi A3 (8V)","offer_id":52709090165023,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ Audi S3 (8V)","offer_id":52709090197791,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ Audi RS3 (8V)","offer_id":52709090230559,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ Audi A3 (8V)","offer_id":52709090263327,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ Audi S3 (8V)","offer_id":52709090296095,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ Audi RS3 (8V)","offer_id":52709090328863,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"White \/ Audi A3 (8V)","offer_id":52709090361631,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"White \/ Audi S3 (8V)","offer_id":52709090394399,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"White \/ Audi RS3 (8V)","offer_id":52709090427167,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ Audi A3 (8V)","offer_id":52709090459935,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ Audi S3 (8V)","offer_id":52709090492703,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ Audi RS3 (8V)","offer_id":52709090525471,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ Audi A3 (8V)","offer_id":52709090558239,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ Audi S3 (8V)","offer_id":52709090591007,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ Audi RS3 (8V)","offer_id":52709090623775,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Torquoise Blue \/ Audi A3 (8V)","offer_id":52709090656543,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Torquoise Blue \/ Audi S3 (8V)","offer_id":52709090689311,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true},{"title":"Torquoise Blue \/ Audi RS3 (8V)","offer_id":52709090722079,"sku":null,"price":249.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0892\/7340\/1631\/files\/zl-sq-blue_787ab4ab-242c-4784-afdf-5b7b722ddd9e.png?v=1785167633","url":"https:\/\/eurospeed.co\/sv\/products\/zeroline-vent-gauge-for-audi-a3-s3-rs3-8v-2012-2020","provider":"EuroSpeed","version":"1.0","type":"link"}