{"id":2226,"date":"2025-11-13T13:11:22","date_gmt":"2025-11-13T13:11:22","guid":{"rendered":"https:\/\/airocollect.com\/kostenlose-testphase-starten\/"},"modified":"2026-08-27T13:31:58","modified_gmt":"2026-08-27T13:31:58","slug":"kostenlose-testphase-starten","status":"publish","type":"page","link":"https:\/\/airocollect.com\/de\/kostenlose-testphase-starten\/","title":{"rendered":"Kostenlose Testversion starten"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2226\" class=\"elementor elementor-2226 elementor-888\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72f7709 e-flex e-con-boxed e-con e-parent\" data-id=\"72f7709\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e85b376 e-con-full e-flex e-con e-child\" data-id=\"e85b376\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-ab95120 e-con-full e-flex e-con e-child\" data-id=\"ab95120\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cfd2d1b e-con-full e-flex e-con e-child\" data-id=\"cfd2d1b\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-e1d75e7 e-con-full e-flex e-con e-child\" data-id=\"e1d75e7\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-7a26bcf e-con-full e-flex e-con e-child\" data-id=\"7a26bcf\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2a7df5a elementor-widget elementor-widget-shortcode\" data-id=\"2a7df5a\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!-- NOTE: this form must NOT be named \"WebToLeads<formid>\". Zoho's webform\n     analytics script adopts any form with that name, injects its own hidden\n     fields and hijacks submit into a NATIVE submission (page reload) -\n     which breaks all of our JavaScript handling. -->\n<form class=\"custom-form\" id=\"regForm\">\n\n<input type='hidden' id=\"zc_gad\" name=\"zc_gad\" value=\"\"\/>\n\n<!-- Honeypot: invisible to humans, bots auto-fill it. Do not remove. -->\n<div style=\"position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden;\" aria-hidden=\"true\">\n    <input type=\"text\" name=\"company_website\" id=\"hp_trap\" tabindex=\"-1\" autocomplete=\"off\" value=\"\">\n<\/div>\n\n    <h2 id=\"profile-title\"> Create your Account <\/h2>\n    <div class=\"custom-input-group\">\n        <div class=\"input-wrap\">\n            <input type=\"text\" name=\"first_name\" placeholder=\" \" required>\n            <label>First Name<\/label>\n        <\/div>\n        <div class=\"input-wrap\">\n            <input type=\"text\" name=\"last_name\" placeholder=\" \" required>\n            <label>Last Name<\/label>\n        <\/div>\n    <\/div>\n    <div class=\"custom-input-group\">\n        <div class=\"input-wrap\">\n            <input type=\"text\" name=\"company\" placeholder=\" \">\n            <label>Company<\/label>\n        <\/div>\n    <\/div>\n    <!-- Industry question removed: now asked once, in the in-app onboarding -->\n    <!-- PHONE INPUT WITH COUNTRY CODE + COUNTRY SELECT -->\n    <div class=\"custom-input-group\">\n        <div class=\"input-wrap phone-wrap\">\n            <div class=\"phone-prefix\">\n                <div class=\"dropdown-selected\">\n                    <span class=\"flag\">\ud83c\udde7\ud83c\uddea<\/span> <span class=\"code\">+32<\/span>\n                <\/div>\n                <ul class=\"dropdown-options\">\n                    <li data-flag=\"\ud83c\udde7\ud83c\uddea\" data-value=\"+32\">\ud83c\udde7\ud83c\uddea +32<\/li>\n                    <li data-flag=\"\ud83c\uddf3\ud83c\uddf1\" data-value=\"+31\">\ud83c\uddf3\ud83c\uddf1 +31<\/li>\n                    <li data-flag=\"\ud83c\udde9\ud83c\uddea\" data-value=\"+49\">\ud83c\udde9\ud83c\uddea +49<\/li>\n                    <li data-flag=\"\ud83c\uddeb\ud83c\uddf7\" data-value=\"+33\">\ud83c\uddeb\ud83c\uddf7 +33<\/li>\n                    <li data-flag=\"\ud83c\uddf1\ud83c\uddfa\" data-value=\"+352\">\ud83c\uddf1\ud83c\uddfa +352<\/li>\n                    <li data-flag=\"\ud83c\uddec\ud83c\udde7\" data-value=\"+44\">\ud83c\uddec\ud83c\udde7 +44<\/li>\n                    <li data-flag=\"\ud83c\udde8\ud83c\udded\" data-value=\"+41\">\ud83c\udde8\ud83c\udded +41<\/li>\n                    <li data-flag=\"\ud83c\udde6\ud83c\uddf9\" data-value=\"+43\">\ud83c\udde6\ud83c\uddf9 +43<\/li>\n                    <li data-flag=\"\ud83c\uddee\ud83c\uddea\" data-value=\"+353\">\ud83c\uddee\ud83c\uddea +353<\/li>\n                    <li data-flag=\"\ud83c\uddee\ud83c\uddf8\" data-value=\"+354\">\ud83c\uddee\ud83c\uddf8 +354<\/li>\n                    <li data-flag=\"\ud83c\uddfa\ud83c\uddf8\" data-value=\"+1\">\ud83c\uddfa\ud83c\uddf8 +1<\/li>\n                    <li data-flag=\"\ud83c\udde8\ud83c\udde6\" data-value=\"+1\">\ud83c\udde8\ud83c\udde6 +1<\/li>\n                    <li data-flag=\"\ud83c\udde6\ud83c\uddfa\" data-value=\"+61\">\ud83c\udde6\ud83c\uddfa +61<\/li>\n                    <li data-flag=\"\ud83c\uddf3\ud83c\uddf4\" data-value=\"+47\">\ud83c\uddf3\ud83c\uddf4 +47<\/li>\n                    <li data-flag=\"\ud83c\uddf8\ud83c\uddea\" data-value=\"+46\">\ud83c\uddf8\ud83c\uddea +46<\/li>\n                    <li data-flag=\"\ud83c\uddeb\ud83c\uddee\" data-value=\"+358\">\ud83c\uddeb\ud83c\uddee +358<\/li>\n                    <li data-flag=\"\ud83c\udde9\ud83c\uddf0\" data-value=\"+45\">\ud83c\udde9\ud83c\uddf0 +45<\/li>\n                <\/ul>\n            <\/div>\n            <input type=\"text\" name=\"phone_number\" placeholder=\"123-45-78-90\" required>\n        <\/div>\n        <!-- Country select -->\n        <div class=\"input-wrap country-wrap\">\n            <select name=\"country\" id=\"country_select\" class=\"country-select\">\n                <option value=\"UK\">United Kingdom<\/option>\n                <option value=\"US\">United States<\/option>\n                <option value=\"CAN\">Canada<\/option>\n                <option value=\"AUS\">Australia<\/option>\n                <option value=\"NOR\">Norway<\/option>\n                <option value=\"SWE\">Sweden<\/option>\n                <option value=\"FIN\">Finland<\/option>\n                <option value=\"ICE\">Iceland<\/option>\n                <option value=\"DEN\">Denmark<\/option>\n                <option value=\"AT\">Austria<\/option>\n                <option value=\"SWI\">Switzerland<\/option>\n                <option value=\"BE\">Belgium<\/option>\n                <option value=\"DE\">Germany<\/option>\n                <option value=\"FR\">France<\/option>\n                <option value=\"NL\">Netherlands<\/option>\n            <\/select>\n        <\/div>\n    <\/div>\n    <!-- Projects-per-month question removed: now asked once, in the in-app onboarding -->\n    <!-- Drone ownership checkbox -->\n    <label class=\"custom-check\">\n        <input type=\"checkbox\" name=\"own_drone\">\n        <span class=\"checkmark\"><\/span>\n        <span class=\"consent-text consent-text-own-drone\">I own a drone<\/span>\n    <\/label>\n    <div>\n        <br>\n    <\/div>\n    <div class=\"custom-input-group\">\n        <div class=\"input-wrap\">\n            <input type=\"email\" name=\"email\" placeholder=\" \" required>\n            <label>Email<\/label>\n        <\/div>\n        <div class=\"input-wrap\">\n            <input type=\"email\" name=\"verify_email\" placeholder=\" \" required>\n            <label>Verify Email<\/label>\n        <\/div>\n    <\/div>\n    <div class=\"custom-input-group\">\n        <div class=\"input-wrap pass-wrapper\">\n            <input type=\"password\" name=\"password\" class=\"pass-field\" placeholder=\" \" required>\n            <label>Password<\/label>\n            <img decoding=\"async\" class=\"pass-toggle\"\n                 src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/center-focus-2.svg\"\n                 data-show=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/center-focus-1.svg\"\n                 data-hide=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/center-focus-2.svg\">\n        <\/div>\n        <div class=\"input-wrap pass-wrapper\">\n            <input type=\"password\" name=\"password_verify\" class=\"pass-field\" placeholder=\" \" required>\n            <label>Verify Password<\/label>\n            <img decoding=\"async\" class=\"pass-toggle\"\n                 src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/center-focus-2.svg\"\n                 data-show=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/center-focus-1.svg\"\n                 data-hide=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/center-focus-2.svg\">\n        <\/div>\n\n    <\/div>\n    <div class=\"custom-input-group\">\n        <div>\n            <label class=\"custom-check\">\n                <input type=\"checkbox\" name=\"agree\">\n                <span class=\"checkmark\"><\/span>\n                <span class=\"consent-text consent-text-legal\">\n                    I agree with the\n                    <a style=\"color: #255BEA !important\" href=\"https:\/\/airocollect.com\/terms-of-use\/\" target=\"_blank\">terms of use<\/a>\n                    and\n                    <a style=\"color: #255BEA !important\" href=\"https:\/\/airocollect.com\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a>.\n                <\/span>\n            <\/label>\n        <\/div>\n    <\/div>\n    <div class=\"form-buttom-info\"><\/div>\n    <div class=\"form-buttom-info\">\n        <button class=\"form-button\">Try for Free<\/button>\n    <\/div>\n<\/form>\n<!-- Zoho webform analytics: counts visits\/submissions for the \"Website Signup Form\"\n     webform in Zoho CRM (Setup -> Webforms). Do not remove. -->\n<script>\n    var _wFa_ajax_will_be_replaced = false;\n    if (typeof _wfa_fstprtcken == 'undefined') { _wfa_fstprtcken = {}; }\n    _wfa_fstprtcken[4091000060155019] = true;\n<\/script>\n<script id=\"wf_anal\" src=\"https:\/\/crm.zohopublic.eu\/crm\/WebFormAnalyticsServeServlet?rid=4ea67630694302fbd1166c0fe9c0f56bdac115fab725a6f781d68c2c44cb69fd46900f3e949401610cea801e4e0b5f06gid5b0f6785c072d8df9b24d7296bb3712ee5906034b9e780ad7fc8d412fe9db03bgid72556026bf69930cffb71dfcdcf5fa90f918b4390df5c1775d9d5c8d943b3af6gid438146a92b78022c1934e9b31215ffa9513152ab9e1fcea804149ebe45cb8709&tw=2ac0f91f33774035568bed63946764bc0c634852b4b1abbe60aec31e72a63c95&version=v2\"><\/script>\n<style>\n    \/* ========== GLOBAL FORM STYLE ========== *\/\n    .form-buttom-info {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        gap: 10px;\n        padding-top: 20px;\n    }\n    .input-label {\n        color: rgba(0, 0, 44, 0.60);\n        font-size: 16px;\n        font-style: normal;\n        font-weight: 400;\n        line-height: 24px;\n        letter-spacing: -0.16px;\n    }\n    .custom-form {\n        max-width: 650px;\n    }\n    .custom-form h2 {\n        margin: 30px 0 15px;\n        font-size: 22px;\n        font-weight: 500;\n        color: #00002C;\n    }\n    \/* Flex group *\/\n    .custom-input-group {\n        display: flex;\n        gap: 15px;\n    }\n    \/* ========== FLOATING LABEL INPUTS ========== *\/\n    .input-wrap {\n        position: relative;\n        width: 100%;\n        margin-bottom: 12px;\n    }\n    .input-wrap input {\n        width: 100%;\n        padding: 16px;\n        border-radius: 8px;\n        outline: none;\n        background: white;\n        transition: 0.2s;\n        border: 1px solid rgba(0, 0, 44, 0.12);\n        color: rgba(0, 0, 44, 0.40);\n        font-weight: 500;\n    }\n    .input-wrap label {\n        position: absolute;\n        left: 14px;\n        top: 50%;\n        transform: translateY(-50%);\n        color: rgba(0, 0, 44, 0.40);\n        background: white;\n        padding: 0 5px;\n        pointer-events: none;\n        transition: 0.2s ease;\n        font-size: 16px;\n        font-weight: 500;\n        line-height: 24px;\n    }\n    .input-wrap input:focus {\n        border-color: #316bff;\n        box-shadow: 0 0 0 2px #316bff30;\n    }\n    .input-wrap input:focus + label,\n    .input-wrap input:not(:placeholder-shown) + label {\n        top: 0px;\n        font-size: 11px;\n        color: #316bff;\n    }\n    \/* ========== CUSTOM DROPDOWN ========== *\/\n    .custom-dropdown {\n        position: relative;\n        width: 100%;\n        user-select: none;\n        margin-bottom: 12px;\n    }\n    .dropdown-selected {\n        padding: 16px;\n        border: 1px solid rgba(0, 0, 44, 0.12);\n        border-radius: 8px;\n        cursor: pointer;\n        background: white;\n        font-size: 16px;\n        color: rgba(0, 0, 44, 0.40);\n        position: relative;\n    }\n    \/* Placeholder state for the sector dropdown - same look as a floating label placeholder *\/\n    .dropdown-selected.dropdown-placeholder {\n        color: rgba(0, 0, 44, 0.40);\n    }\n    .dropdown-selected::after {\n        content: url(\"\/wp-content\/uploads\/2025\/11\/Vector-black.svg\");\n        position: absolute;\n        right: 14px;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 12px;\n        color: #777;\n    }\n    .dropdown-options {\n        position: absolute;\n        width: 100%;\n        background: white;\n        border: 1px solid #d8d8d8;\n        border-radius: 8px;\n        margin-top: 4px;\n        display: none;\n        z-index: 50;\n        overflow: hidden;\n        padding: 0;\n    }\n    .custom-dropdown.active .dropdown-options {\n        display: block;\n    }\n    .dropdown-options li {\n        padding: 14px;\n        cursor: pointer;\n        transition: 0.15s;\n    }\n    .dropdown-options li:hover {\n        background: #f0f4ff;\n        color: #316bff;\n    }\n    .custom-dropdown.active .dropdown-selected {\n        border-color: #316bff;\n        box-shadow: 0 0 0 2px #316bff30;\n    }\n    \/* CHECKBOX *\/\n    .custom-check {\n        display: flex;\n        align-items: center;\n        gap: 10px;\n        cursor: pointer;\n        position: relative;\n        padding-left: 32px;\n        font-size: 16px;\n        color: rgba(0, 0, 44, 0.60);\n        user-select: none;\n    }\n    .custom-check input {\n        position: absolute;\n        opacity: 0;\n        cursor: pointer;\n        height: 0;\n        width: 0;\n    }\n    .custom-check .checkmark {\n        position: absolute;\n        left: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        width: 20px;\n        height: 20px;\n        border-radius: 4px;\n        border: 1px solid rgba(0, 0, 44, 0.12);\n        background-color: #fff;\n        transition: 0.2s;\n    }\n    .custom-check:hover input ~ .checkmark {\n        background-color: #f0f4ff;\n    }\n    .custom-check input:checked ~ .checkmark {\n        background-color: #255BEA;\n        border-color: rgba(0, 0, 44, 0.12);\n    }\n    .custom-check .checkmark:after {\n        content: \"\";\n        position: absolute;\n        display: none;\n        width: 20px;\n        height: 20px;\n        background-image: url(\"\/wp-content\/uploads\/2025\/11\/Vector-2.svg\");\n        background-size: 11px;\n        background-repeat: no-repeat;\n        background-position: center;\n    }\n    .custom-check input:checked ~ .checkmark:after {\n        display: block;\n    }\n    .custom-check a {\n        color: #255BEA;\n    }\n    \/* BUTTON *\/\n    .form-button {\n        max-width: 280px;\n        width: 100%;\n        padding: 15px;\n        border: none;\n        background: #255BEA;\n        color: white;\n        font-size: 17px;\n        cursor: pointer;\n        border-radius: 100px;\n        transition: 0.2s;\n    }\n    .form-button:hover {\n        background: #204fd6;\n    }\n    \/* PASSWORD TOGGLE *\/\n    .pass-wrapper {\n        position: relative;\n    }\n    .pass-toggle {\n        position: absolute;\n        right: 12px;\n        top: 50%;\n        width: 22px;\n        height: 22px;\n        transform: translateY(-50%);\n        cursor: pointer;\n    }\n    #login-form-title {\n        margin: 50px 0 12px;\n    }\n    \/* === PHONE + COUNTRY: 50% \/ 50% === *\/\n    .custom-input-group .phone-wrap,\n    .custom-input-group .country-wrap {\n        width: 50%;\n    }\n    \/* On mobile: stack them again *\/\n    @media (max-width: 767px) {\n        .custom-input-group .phone-wrap,\n        .custom-input-group .country-wrap {\n            width: 100%;\n        }\n    }\n    \/* PHONE + COUNTRY FIELD (flex layout: prefix sits beside the input, no overlap possible) *\/\n    .phone-wrap {\n        display: flex;\n        align-items: stretch;\n        gap: 0;\n    }\n    .phone-wrap input {\n        flex: 1;\n        min-width: 0;\n        padding: 16px;\n        border-radius: 0 8px 8px 0;\n        border: 1px solid rgba(0, 0, 44, 0.12);\n        border-left: none;\n        font-size: 16px;\n    }\n    .phone-prefix {\n        position: relative;\n        flex: 0 0 auto;\n    }\n    .phone-prefix .dropdown-selected {\n        display: flex;\n        align-items: center;\n        gap: 6px;\n        height: 100%;\n        padding: 0 32px 0 12px; \/* room for the arrow icon on the right *\/\n        white-space: nowrap;\n        border-radius: 8px 0 0 8px;\n        border: 1px solid rgba(0, 0, 44, 0.12);\n        cursor: pointer;\n        background: #fff;\n        box-sizing: border-box;\n    }\n    .phone-prefix .dropdown-options {\n        top: 100%;\n        left: 0;\n        width: 150px;\n        max-height: 260px;\n        overflow-y: auto;\n        z-index: 9999;\n    }\n    \/* phone prefix manages its own open state (self-contained, no external script needed) *\/\n    .phone-prefix.active .dropdown-options {\n        display: block;\n    }\n    .phone-prefix.active .dropdown-selected {\n        border-color: #316bff;\n        box-shadow: 0 0 0 2px #316bff30;\n    }\n    .country-wrap {\n        position: relative;\n    }\n    .country-select {\n        width: 100%;\n        padding: 16px;\n        border-radius: 8px;\n        border: 1px solid rgba(0, 0, 44, 0.12);\n        background: #fff;\n        font-size: 16px;\n        color: rgba(0, 0, 44, 0.40);\n        outline: none;\n        transition: 0.2s;\n        box-sizing: border-box;\n        \/* hide native arrow *\/\n        appearance: none;\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        \/* room for our custom arrow *\/\n        padding-right: 40px;\n    }\n    .country-select:focus {\n        border-color: #316bff;\n        box-shadow: 0 0 0 2px #316bff30;\n    }\n    \/* custom arrow, same as .dropdown-selected::after *\/\n    .country-wrap::after {\n        content: url(\"\/wp-content\/uploads\/2025\/11\/Vector-black.svg\");\n        position: absolute;\n        right: 14px;\n        top: 50%;\n        transform: translateY(-50%);\n        pointer-events: none;\n    }\n    \/* Make sure dropdowns overlay correctly *\/\n    .custom-dropdown .dropdown-options {\n        z-index: 9999;\n    }\n    \/* EMAIL VERIFICATION (code) PANEL *\/\n    .otp-panel {\n        padding: 40px 24px;\n        text-align: center;\n        max-width: 460px;\n        margin: 0 auto;\n    }\n    .otp-panel h2 {\n        color: #00002C;\n        font-size: 24px;\n        font-weight: 600;\n        margin: 0 0 10px;\n    }\n    .otp-panel p {\n        color: rgba(0, 0, 44, 0.70);\n        font-size: 15px;\n        line-height: 22px;\n        margin: 0 0 24px;\n    }\n    .otp-input {\n        width: 100%;\n        padding: 16px;\n        border-radius: 8px;\n        border: 1px solid rgba(0, 0, 44, 0.12);\n        outline: none;\n        font-size: 28px;\n        font-weight: 600;\n        letter-spacing: 10px;\n        text-align: center;\n        color: #00002C;\n        background: #fff;\n        box-sizing: border-box;\n    }\n    .otp-input:focus {\n        border-color: #316bff;\n        box-shadow: 0 0 0 2px #316bff30;\n    }\n    .otp-error {\n        color: #e63946;\n        font-size: 14px;\n        min-height: 20px;\n        margin: 10px 0 4px;\n    }\n    .otp-button {\n        max-width: 100%;\n        margin-top: 6px;\n    }\n    .otp-links {\n        display: flex;\n        justify-content: center;\n        gap: 20px;\n        margin-top: 18px;\n        font-size: 14px;\n    }\n    .otp-links a {\n        color: #255BEA;\n        text-decoration: none;\n    }\n    .otp-links a:hover { text-decoration: underline; }\n    \/* SIGNUP SUCCESS (\"confirm your email\") SCREEN *\/\n    .signup-success {\n        padding: 48px 24px;\n        text-align: center;\n    }\n    .signup-success h2 {\n        color: #00002C;\n        font-size: 24px;\n        font-weight: 600;\n        margin: 0 0 12px;\n    }\n    .signup-success p {\n        color: rgba(0, 0, 44, 0.70);\n        font-size: 16px;\n        line-height: 24px;\n        margin: 0 auto;\n        max-width: 480px;\n    }\n    \/* RESPONSIVE *\/\n    @media (max-width: 767px) {\n        .custom-input-group {\n            gap: 4px;\n            flex-direction: column;\n        }\n        .input-wrap {\n            margin-bottom: 4px;\n        }\n        .input-wrap input,\n        .dropdown-selected,\n        .country-select {\n            font-size: 12px;\n            padding: 10px 12px;\n        }\n        .phone-wrap input {\n            padding: 10px 12px;\n        }\n        label.custom-checkbox {\n            font-size: 14px;\n        }\n        h2#login-form-title {\n            margin: 20px 0 12px;\n        }\n        .custom-form h2 {\n            font-size: 18px;\n        }\n        .input-wrap label {\n            font-size: 12px;\n        }\n        button.form-button {\n            font-size: 14px;\n        }\n        .dropdown-options li {\n            font-size: 14px;\n            padding: 12px;\n        }\n        .country-wrap {\n            width: 100%;\n        }\n    }\n<\/style>\n<script>\n    (function () {\n    function initRegForm() {\n        console.log(\"regForm vanilla script ready (Zoho web-to-lead, no Zapier)\");\n        \/* ============================================================\n           ZOHO WEB-TO-LEAD CONFIG\n           Wired to the \"Website Signup Form\" webform (Leads) created\n           in Zoho CRM on 2026-08-03. If that webform is ever recreated,\n           re-copy the tokens + LEADCF names from its embed code.\n        ============================================================ *\/\n        const ZOHO = {\n            actionUrl: \"https:\/\/crm.zoho.eu\/crm\/WebToLeadForm\",\n            xnQsjsdp:  \"82364bb3b1dbd30fe10e5c0b1a4f3ff40cb52a91c52229b459ea774cc74b9b3f\",\n            xmIwtLD:   \"79195c5c11421a11f064e3035c7313e5dbb5d7cdc0887ffe4888d1203678d4d835dbc49df8cea0433dd2fab7c70305c0\",\n            actionType: \"TGVhZHM=\",                  \/\/ \"Leads\" - do not change\n            returnURL: \"https:\/\/collect.airobot.eu\/\", \/\/ required by Zoho, not shown (we post via fetch)\n            \/\/ Custom-field input names from the generated webform HTML:\n            cf: {\n                language:    \"LEADCF18\",   \/\/ Language\n                drone:       \"LEADCF15\",   \/\/ Drone\n                utmSource:   \"LEADCF19\",   \/\/ UTM Source\n                utmMedium:   \"LEADCF20\",   \/\/ UTM Medium\n                utmCampaign: \"LEADCF21\",   \/\/ UTM Campaign\n                utmContent:  \"LEADCF22\"    \/\/ UTM Content\n            }\n        };\n        \/* ============================================================\n           EMAIL VERIFICATION (6-digit code)\n           Endpoints come from the \"AiroCollect Email Verification\"\n           WordPress plugin (same domain -> no CORS issues).\n        ============================================================ *\/\n        const OTP_API = \"\/wp-json\/airocollect\/v2\";\n        \/* Country code (form) -> full name stored in Zoho (text field) *\/\n        const COUNTRY_NAME = {\n            \"UK\": \"United Kingdom\", \"US\": \"United States\", \"CAN\": \"Canada\",\n            \"AUS\": \"Australia\", \"NOR\": \"Norway\", \"SWE\": \"Sweden\",\n            \"FIN\": \"Finland\", \"ICE\": \"Iceland\", \"DEN\": \"Denmark\",\n            \"AT\": \"Austria\", \"SWI\": \"Switzerland\", \"BE\": \"Belgium\",\n            \"DE\": \"Germany\", \"FR\": \"France\", \"NL\": \"Netherlands\"\n        };\n        const form =\n            document.getElementById(\"regForm\") ||\n            document.querySelector(\"form.custom-form\") ||\n            document.querySelector(\"form\");\n        if (!form) {\n            console.warn(\"regForm not found in initRegForm\");\n            return;\n        }\n        const btn = form.querySelector(\"button.form-button\");\n        form.setAttribute(\"novalidate\", \"novalidate\");\n        \/* ============================================================\n           LANGUAGE DETECTION\n        ============================================================ *\/\n        const SUPPORTED = [\"en\",\"de\",\"fr\",\"nl\",\"es\",\"it\",\"pl\"];\n        const LANG = detectLang();\n        function detectLang() {\n            try {\n                const path = (location.pathname || \"\").toLowerCase();\n                const m = path.match(\/^\\\/(de|fr|nl|es|it|pl)(\\\/|$)\/);\n                let guess = m ? m[1] : null;\n                if (!guess) {\n                    const qs = new URLSearchParams(location.search || \"\");\n                    guess = qs.get(\"lang\");\n                }\n                if (!guess) {\n                    guess = document.documentElement.getAttribute(\"lang\") || \"en\";\n                }\n                guess = (guess || \"en\").toLowerCase().slice(0, 2);\n                return SUPPORTED.includes(guess) ? guess : \"en\";\n            } catch (e) {\n                return \"en\";\n            }\n        }\n        const LANG_LABEL = {\n            en: \"English\",\n            nl: \"Dutch\",\n            de: \"German\",\n            fr: \"French\",\n            es: \"Spanish\",\n            it: \"Italian\",\n            pl: \"Polish\"\n        };\n        const SITE_LANGUAGE_LABEL = LANG_LABEL[LANG] || \"English\";\n        \/* ============================================================\n           VALIDATION MESSAGES PER LANGUAGE\n        ============================================================ *\/\n        const I18N = {\n            en: {\n                requiredMissing: \"Some required fields are missing.\",\n                invalidEmail: \"E-mail format looks invalid.\",\n                emailMismatch: \"Verify E-mail does not match.\",\n                invalidPhone: \"Phone number is invalid.\",\n                weakPassword: \"Password must be at least 8 characters.\",\n                passwordMismatch: \"Verify Password does not match.\",\n                consentRequired: \"Please agree with the terms of use and privacy policy.\",\n                industryRequired: \"Please select your industry.\",\n                registrationFailed: (t) => \"Registration failed (\" + t + \"). Please try again.\",\n                networkError: \"Network error. Please try again.\"\n            },\n            nl: {\n                requiredMissing: \"Er ontbreken verplichte velden.\",\n                invalidEmail: \"E-mailadres is ongeldig.\",\n                emailMismatch: \"Bevestig e-mail komt niet overeen.\",\n                invalidPhone: \"Telefoonnummer is ongeldig.\",\n                weakPassword: \"Wachtwoord moet minstens 8 tekens zijn.\",\n                passwordMismatch: \"Bevestig wachtwoord komt niet overeen.\",\n                consentRequired: \"Gelieve akkoord te gaan met de gebruiksvoorwaarden en het privacybeleid.\",\n                industryRequired: \"Selecteer je sector.\",\n                registrationFailed: (t) => \"Registratie mislukt (\" + t + \"). Probeer opnieuw.\",\n                networkError: \"Netwerkfout. Probeer opnieuw.\"\n            },\n            fr: {\n                requiredMissing: \"Certains champs obligatoires sont manquants.\",\n                invalidEmail: \"Le format de l\u2019e-mail semble invalide.\",\n                emailMismatch: \"La confirmation de l\u2019e-mail ne correspond pas.\",\n                invalidPhone: \"Le num\u00e9ro de t\u00e9l\u00e9phone est invalide.\",\n                weakPassword: \"Le mot de passe doit contenir au moins 8 caract\u00e8res.\",\n                passwordMismatch: \"La confirmation du mot de passe ne correspond pas.\",\n                consentRequired: \"Veuillez accepter les conditions d\u2019utilisation et la politique de confidentialit\u00e9.\",\n                industryRequired: \"Veuillez s\u00e9lectionner votre secteur.\",\n                registrationFailed: (t) => \"\u00c9chec de l\u2019inscription (\" + t + \"). Veuillez r\u00e9essayer.\",\n                networkError: \"Erreur r\u00e9seau. Veuillez r\u00e9essayer.\"\n            },\n            de: {\n                requiredMissing: \"Einige Pflichtfelder fehlen.\",\n                invalidEmail: \"Das E-Mail-Format scheint ung\u00fcltig zu sein.\",\n                emailMismatch: \"Best\u00e4tigungs-E-Mail stimmt nicht \u00fcberein.\",\n                invalidPhone: \"Die Telefonnummer ist ung\u00fcltig.\",\n                weakPassword: \"Das Passwort muss mindestens 8 Zeichen lang sein.\",\n                passwordMismatch: \"Best\u00e4tigungspasswort stimmt nicht \u00fcberein.\",\n                consentRequired: \"Bitte stimme den Nutzungsbedingungen und der Datenschutzrichtlinie zu.\",\n                industryRequired: \"Bitte w\u00e4hle deine Branche.\",\n                registrationFailed: (t) => \"Registrierung fehlgeschlagen (\" + t + \"). Bitte erneut versuchen.\",\n                networkError: \"Netzwerkfehler. Bitte erneut versuchen.\"\n            }\n        };\n        const L = I18N[LANG] || I18N.en;\n        function t(key, arg) {\n            const v = L[key] || I18N.en[key];\n            return typeof v === \"function\" ? v(arg || \"\") : v;\n        }\n        \/* ============================================================\n           FORM TEXT TRANSLATIONS (UI ONLY, VALUES STAY EN)\n        ============================================================ *\/\n        const FORM_TEXT = {\n            en: {\n                profileTitle: \"Create your free account\",\n                firstNameLabel: \"First Name\",\n                lastNameLabel: \"Last Name\",\n                companyLabel: \"Company\",\n                emailLabel: \"Email\",\n                verifyEmailLabel: \"Verify Email\",\n                passwordLabel: \"Password\",\n                verifyPasswordLabel: \"Verify Password\",\n                phonePlaceholder: \"123-45-78-90\",\n                jobTypePlaceholder: \"Industry\",\n                jobTypes: {\n                    \"personal_use\": \"Personal Use\",\n                    \"roofer\": \"Roofer\",\n                    \"solar\": \"Solar\",\n                    \"construction\": \"Construction\",\n                    \"dronepilot\": \"Drone Pilot\",\n                    \"gardener\": \"Landscaping\",\n                    \"other\": \"Other\"\n                },\n                projectsLabel: \"Average number of projects per month\",\n                projectsOptions: {\n                    \"12\": \"1 Per Month\",\n                    \"36\": \"3 Per Month\",\n                    \"120\": \"10 Per Month\",\n                    \"200\": \"More\"\n                },\n                ownDroneText: \"I own a drone\",\n                legalConsentHtml:\n                    'I agree with the ' +\n                    '<a href=\"https:\/\/airocollect.com\/terms-of-use\/\" target=\"_blank\">terms of use<\/a> ' +\n                    'and ' +\n                    '<a href=\"https:\/\/airocollect.com\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a>.',\n                submitButton: \"Activate your account\",\n                otpTitle: \"Verify your e-mail\",\n                otpBody: \"We sent a 6-digit code to <b>{email}<\/b>. Enter it below to activate your account.\",\n                otpPlaceholder: \"6-digit code\",\n                otpVerify: \"Verify &amp; continue\",\n                otpResend: \"Send a new code\",\n                otpResendWait: \"You can request a new code in {s}s\",\n                otpSent: \"A new code is on its way.\",\n                otpEdit: \"Use a different e-mail\",\n                otpWrong: \"That code is not correct. Attempts left: {n}.\",\n                otpExpired: \"The code expired. Request a new one.\",\n                otpTooMany: \"Too many attempts. Request a new code.\",\n                otpSendFail: \"We could not send the code. Please try again.\",\n                otpRate: \"Too many requests. Please try again later.\",\n                successTitle: \"Thanks for signing up!\",\n                successBody: \"We just sent a confirmation link to <b>{email}<\/b>. Open it to verify your email address and activate your account. (Also check your spam folder.)\",\n                countries: {\n                    \"UK\":  \"United Kingdom\",\n                    \"US\":  \"United States\",\n                    \"CAN\": \"Canada\",\n                    \"AUS\": \"Australia\",\n                    \"NOR\": \"Norway\",\n                    \"SWE\": \"Sweden\",\n                    \"FIN\": \"Finland\",\n                    \"ICE\": \"Iceland\",\n                    \"DEN\": \"Denmark\",\n                    \"AT\":  \"Austria\",\n                    \"SWI\": \"Switzerland\",\n                    \"BE\":  \"Belgium\",\n                    \"DE\":  \"Germany\",\n                    \"FR\":  \"France\",\n                    \"NL\":  \"Netherlands\"\n                }\n            },\n            nl: {\n                profileTitle: \"Maak je gratis profiel\",\n                firstNameLabel: \"Voornaam\",\n                lastNameLabel: \"Achternaam\",\n                companyLabel: \"Bedrijf\",\n                emailLabel: \"E-mailadres\",\n                verifyEmailLabel: \"Bevestig e-mailadres\",\n                passwordLabel: \"Wachtwoord\",\n                verifyPasswordLabel: \"Bevestig wachtwoord\",\n                phonePlaceholder: \"123-45-78-90\",\n                jobTypePlaceholder: \"Sector\",\n                jobTypes: {\n                    \"personal_use\": \"Particulier\",\n                    \"roofer\": \"Dakdekker\",\n                    \"solar\": \"Zonnepanelen\",\n                    \"construction\": \"Bouw\",\n                    \"dronepilot\": \"Dronepiloot\",\n                    \"gardener\": \"Tuinaanleg\",\n                    \"other\": \"Anders\"\n                },\n                projectsLabel: \"Gemiddeld aantal projecten per maand\",\n                projectsOptions: {\n                    \"12\": \"1 per maand\",\n                    \"36\": \"3 per maand\",\n                    \"120\": \"10 per maand\",\n                    \"200\": \"Meer\"\n                },\n                ownDroneText: \"Ik heb een drone\",\n                legalConsentHtml:\n                    'Ik ga akkoord met de ' +\n                    '<a href=\"https:\/\/airocollect.com\/terms-of-use\/\" target=\"_blank\">gebruiksvoorwaarden<\/a> ' +\n                    'en het ' +\n                    '<a href=\"https:\/\/airocollect.com\/privacy-policy\/\" target=\"_blank\">privacybeleid<\/a>.',\n                submitButton: \"Activeer je account\",\n                otpTitle: \"Bevestig je e-mailadres\",\n                otpBody: \"We stuurden een code van 6 cijfers naar <b>{email}<\/b>. Vul hem hieronder in om je account te activeren.\",\n                otpPlaceholder: \"6-cijferige code\",\n                otpVerify: \"Bevestigen &amp; doorgaan\",\n                otpResend: \"Nieuwe code sturen\",\n                otpResendWait: \"Je kunt over {s}s een nieuwe code vragen\",\n                otpSent: \"Er is een nieuwe code onderweg.\",\n                otpEdit: \"Ander e-mailadres gebruiken\",\n                otpWrong: \"Die code klopt niet. Pogingen over: {n}.\",\n                otpExpired: \"De code is verlopen. Vraag een nieuwe aan.\",\n                otpTooMany: \"Te veel pogingen. Vraag een nieuwe code aan.\",\n                otpSendFail: \"We konden de code niet versturen. Probeer opnieuw.\",\n                otpRate: \"Te veel aanvragen. Probeer het later opnieuw.\",\n                successTitle: \"Bedankt voor je registratie!\",\n                successBody: \"We hebben zojuist een bevestigingslink gestuurd naar <b>{email}<\/b>. Open de e-mail om je adres te bevestigen en je account te activeren. (Controleer ook je spamfolder.)\",\n                countries: {\n                    \"UK\":  \"Verenigd Koninkrijk\",\n                    \"US\":  \"Verenigde Staten\",\n                    \"CAN\": \"Canada\",\n                    \"AUS\": \"Australi\u00eb\",\n                    \"NOR\": \"Noorwegen\",\n                    \"SWE\": \"Zweden\",\n                    \"FIN\": \"Finland\",\n                    \"ICE\": \"IJsland\",\n                    \"DEN\": \"Denemarken\",\n                    \"AT\":  \"Oostenrijk\",\n                    \"SWI\": \"Zwitserland\",\n                    \"BE\":  \"Belgi\u00eb\",\n                    \"DE\":  \"Duitsland\",\n                    \"FR\":  \"Frankrijk\",\n                    \"NL\":  \"Nederland\"\n                }\n            },\n            fr: {\n                profileTitle: \"Cr\u00e9ez votre compte gratuit\",\n                firstNameLabel: \"Pr\u00e9nom\",\n                lastNameLabel: \"Nom\",\n                companyLabel: \"Soci\u00e9t\u00e9\",\n                emailLabel: \"E-mail\",\n                verifyEmailLabel: \"Confirmez l\u2019e-mail\",\n                passwordLabel: \"Mot de passe\",\n                verifyPasswordLabel: \"Confirmez le mot de passe\",\n                phonePlaceholder: \"123-45-78-90\",\n                jobTypePlaceholder: \"Secteur\",\n                jobTypes: {\n                    \"personal_use\": \"Particulier\",\n                    \"roofer\": \"Couvreur\",\n                    \"solar\": \"Solaire\",\n                    \"construction\": \"Construction\",\n                    \"dronepilot\": \"Pilote de drone\",\n                    \"gardener\": \"Am\u00e9nagement paysager\",\n                    \"other\": \"Autre\"\n                },\n                projectsLabel: \"Nombre moyen de projets par mois\",\n                projectsOptions: {\n                    \"12\": \"1 par mois\",\n                    \"36\": \"3 par mois\",\n                    \"120\": \"10 par mois\",\n                    \"200\": \"Plus\"\n                },\n                ownDroneText: \"Je poss\u00e8de un drone\",\n                legalConsentHtml:\n                    \"J'accepte les \" +\n                    '<a href=\"https:\/\/airocollect.com\/terms-of-use\/\" target=\"_blank\">conditions d\u2019utilisation<\/a> ' +\n                    \"et la \" +\n                    '<a href=\"https:\/\/airocollect.com\/privacy-policy\/\" target=\"_blank\">politique de confidentialit\u00e9<\/a>.',\n                submitButton: \"Activez votre compte\",\n                otpTitle: \"V\u00e9rifiez votre e-mail\",\n                otpBody: \"Nous avons envoy\u00e9 un code \u00e0 6 chiffres \u00e0 <b>{email}<\/b>. Saisissez-le ci-dessous pour activer votre compte.\",\n                otpPlaceholder: \"Code \u00e0 6 chiffres\",\n                otpVerify: \"V\u00e9rifier et continuer\",\n                otpResend: \"Envoyer un nouveau code\",\n                otpResendWait: \"Nouveau code possible dans {s}s\",\n                otpSent: \"Un nouveau code est en route.\",\n                otpEdit: \"Utiliser une autre adresse e-mail\",\n                otpWrong: \"Ce code est incorrect. Tentatives restantes : {n}.\",\n                otpExpired: \"Le code a expir\u00e9. Demandez-en un nouveau.\",\n                otpTooMany: \"Trop de tentatives. Demandez un nouveau code.\",\n                otpSendFail: \"Impossible d'envoyer le code. Veuillez r\u00e9essayer.\",\n                otpRate: \"Trop de demandes. R\u00e9essayez plus tard.\",\n                successTitle: \"Merci pour votre inscription !\",\n                successBody: \"Nous venons d\u2019envoyer un lien de confirmation \u00e0 <b>{email}<\/b>. Ouvrez-le pour v\u00e9rifier votre adresse e-mail et activer votre compte. (V\u00e9rifiez aussi vos spams.)\",\n                countries: {\n                    \"UK\":  \"Royaume-Uni\",\n                    \"US\":  \"\u00c9tats-Unis\",\n                    \"CAN\": \"Canada\",\n                    \"AUS\": \"Australie\",\n                    \"NOR\": \"Norv\u00e8ge\",\n                    \"SWE\": \"Su\u00e8de\",\n                    \"FIN\": \"Finlande\",\n                    \"ICE\": \"Islande\",\n                    \"DEN\": \"Danemark\",\n                    \"AT\":  \"Autriche\",\n                    \"SWI\": \"Suisse\",\n                    \"BE\":  \"Belgique\",\n                    \"DE\":  \"Allemagne\",\n                    \"FR\":  \"France\",\n                    \"NL\":  \"Pays-Bas\"\n                }\n            },\n            de: {\n                profileTitle: \"Erstellen Sie Ihr kostenloses Konto\",\n                firstNameLabel: \"Vorname\",\n                lastNameLabel: \"Nachname\",\n                companyLabel: \"Firma\",\n                emailLabel: \"E-Mail\",\n                verifyEmailLabel: \"E-Mail best\u00e4tigen\",\n                passwordLabel: \"Passwort\",\n                verifyPasswordLabel: \"Passwort best\u00e4tigen\",\n                phonePlaceholder: \"123-45-78-90\",\n                jobTypePlaceholder: \"Branche\",\n                jobTypes: {\n                    \"personal_use\": \"Privatperson\",\n                    \"roofer\": \"Dachdecker\",\n                    \"solar\": \"Solar\",\n                    \"construction\": \"Bau\",\n                    \"dronepilot\": \"Drohnenpilot\",\n                    \"gardener\": \"Garten- und Landschaftsbau\",\n                    \"other\": \"Sonstiges\"\n                },\n                projectsLabel: \"Durchschnittliche Projekte pro Monat\",\n                projectsOptions: {\n                    \"12\": \"1 pro Monat\",\n                    \"36\": \"3 pro Monat\",\n                    \"120\": \"10 pro Monat\",\n                    \"200\": \"Mehr\"\n                },\n                ownDroneText: \"Ich besitze eine Drohne\",\n                legalConsentHtml:\n                    'Ich stimme den ' +\n                    '<a href=\"https:\/\/airocollect.com\/terms-of-use\/\" target=\"_blank\">Nutzungsbedingungen<\/a> ' +\n                    'und der ' +\n                    '<a href=\"https:\/\/airocollect.com\/privacy-policy\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> zu.',\n                submitButton: \"Aktivieren Sie Ihr Konto\",\n                otpTitle: \"Best\u00e4tigen Sie Ihre E-Mail\",\n                otpBody: \"Wir haben einen 6-stelligen Code an <b>{email}<\/b> gesendet. Geben Sie ihn unten ein, um Ihr Konto zu aktivieren.\",\n                otpPlaceholder: \"6-stelliger Code\",\n                otpVerify: \"Best\u00e4tigen &amp; fortfahren\",\n                otpResend: \"Neuen Code senden\",\n                otpResendWait: \"Neuer Code in {s}s m\u00f6glich\",\n                otpSent: \"Ein neuer Code ist unterwegs.\",\n                otpEdit: \"Andere E-Mail-Adresse verwenden\",\n                otpWrong: \"Dieser Code ist falsch. Verbleibende Versuche: {n}.\",\n                otpExpired: \"Der Code ist abgelaufen. Fordern Sie einen neuen an.\",\n                otpTooMany: \"Zu viele Versuche. Fordern Sie einen neuen Code an.\",\n                otpSendFail: \"Der Code konnte nicht gesendet werden. Bitte erneut versuchen.\",\n                otpRate: \"Zu viele Anfragen. Bitte sp\u00e4ter erneut versuchen.\",\n                successTitle: \"Danke f\u00fcr Ihre Registrierung!\",\n                successBody: \"Wir haben soeben einen Best\u00e4tigungslink an <b>{email}<\/b> gesendet. \u00d6ffnen Sie ihn, um Ihre E-Mail-Adresse zu best\u00e4tigen und Ihr Konto zu aktivieren. (Pr\u00fcfen Sie auch Ihren Spam-Ordner.)\",\n                countries: {\n                    \"UK\":  \"Vereinigtes K\u00f6nigreich\",\n                    \"US\":  \"Vereinigte Staaten\",\n                    \"CAN\": \"Kanada\",\n                    \"AUS\": \"Australien\",\n                    \"NOR\": \"Norwegen\",\n                    \"SWE\": \"Schweden\",\n                    \"FIN\": \"Finnland\",\n                    \"ICE\": \"Island\",\n                    \"DEN\": \"D\u00e4nemark\",\n                    \"AT\":  \"\u00d6sterreich\",\n                    \"SWI\": \"Schweiz\",\n                    \"BE\":  \"Belgien\",\n                    \"DE\":  \"Deutschland\",\n                    \"FR\":  \"Frankreich\",\n                    \"NL\":  \"Niederlande\"\n                }\n            }\n        };\n        const DIALCODE_COUNTRY = {\n            \"+32\": \"BE\", \"+31\": \"NL\", \"+49\": \"DE\", \"+33\": \"FR\",\n            \"+352\": \"LU\", \"+44\": \"GB\", \"+41\": \"CH\", \"+43\": \"AT\",\n            \"+353\": \"IE\", \"+354\": \"IS\", \"+1\": \"US\", \"+61\": \"AU\",\n            \"+47\": \"NO\", \"+46\": \"SE\", \"+358\": \"FI\", \"+45\": \"DK\"\n        };\n        \/* Country select value -> phone dial code + flag (kept in sync) *\/\n        const COUNTRY_DIAL = {\n            \"UK\":  { code: \"+44\",  flag: \"\ud83c\uddec\ud83c\udde7\" },\n            \"US\":  { code: \"+1\",   flag: \"\ud83c\uddfa\ud83c\uddf8\" },\n            \"CAN\": { code: \"+1\",   flag: \"\ud83c\udde8\ud83c\udde6\" },\n            \"AUS\": { code: \"+61\",  flag: \"\ud83c\udde6\ud83c\uddfa\" },\n            \"NOR\": { code: \"+47\",  flag: \"\ud83c\uddf3\ud83c\uddf4\" },\n            \"SWE\": { code: \"+46\",  flag: \"\ud83c\uddf8\ud83c\uddea\" },\n            \"FIN\": { code: \"+358\", flag: \"\ud83c\uddeb\ud83c\uddee\" },\n            \"ICE\": { code: \"+354\", flag: \"\ud83c\uddee\ud83c\uddf8\" },\n            \"DEN\": { code: \"+45\",  flag: \"\ud83c\udde9\ud83c\uddf0\" },\n            \"AT\":  { code: \"+43\",  flag: \"\ud83c\udde6\ud83c\uddf9\" },\n            \"SWI\": { code: \"+41\",  flag: \"\ud83c\udde8\ud83c\udded\" },\n            \"BE\":  { code: \"+32\",  flag: \"\ud83c\udde7\ud83c\uddea\" },\n            \"DE\":  { code: \"+49\",  flag: \"\ud83c\udde9\ud83c\uddea\" },\n            \"FR\":  { code: \"+33\",  flag: \"\ud83c\uddeb\ud83c\uddf7\" },\n            \"NL\":  { code: \"+31\",  flag: \"\ud83c\uddf3\ud83c\uddf1\" }\n        };\n        ensureErrorStyles();\n        wirePasswordToggles();\n        applyFormTranslations();\n        wirePhonePrefixDropdown();\n        wireCountryPrefixSync();\n        \/\/ Capture UTM\/gclid from the URL into cookies FIRST (nothing else on\n        \/\/ the site writes these), then read them back for the lead payload.\n        captureTrackingParams();\n        const UTM = getUtmFromCookies();\n        let didCompanyRetry = false;\n        \/* ============================================================\n           FORM SUBMIT HANDLING\n        ============================================================ *\/\n        form.addEventListener(\"submit\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            if (btn && btn.disabled) return;\n            clearErrors();\n            \/* ===== ANTI-SPAM: HONEYPOT =====\n               Humans never see this field; only bots fill it. If it has a\n               value we silently do nothing, so the bot thinks it worked.\n               NOTE: the old \"too fast\" timer was removed - it also blocked\n               real people using browser autofill (silent, no error shown).\n               Spam is now stopped by the honeypot + the e-mail code itself\n               + server-side rate limits in the WordPress plugin. *\/\n            const hpEl = document.getElementById(\"hp_trap\");\n            if (hpEl && hpEl.value !== \"\") {\n                console.log(\"regForm: submission dropped (honeypot)\");\n                if (btn) btn.disabled = true;\n                setTimeout(function () { if (btn) btn.disabled = false; }, 4000);\n                return;\n            }\n            const firstName   = getTrim(\"first_name\");\n            const lastName    = getTrim(\"last_name\");\n            const company     = getTrim(\"company\");\n            const phoneLocal  = getTrim(\"phone_number\");\n            const phoneDial   = getPhoneDialCode();\n            const email       = getTrim(\"email\");\n            const emailVerify = getTrim(\"verify_email\");\n            const pass        = getValue(\"password\");\n            const passVerify  = getValue(\"password_verify\");\n            const countrySel  = getCountry();\n            const consentEls = Array.from(form.querySelectorAll('input[name=\"agree\"]'));\n            const consentChecked = consentEls.some((el) => el.checked);\n            const ownDroneEl = form.querySelector('input[name=\"own_drone\"]');\n            const ownDroneChecked = ownDroneEl ? ownDroneEl.checked : false;\n            let hasError = false;\n            const errors = [];\n            const requiredMap = [\n                { sel: 'input[name=\"first_name\"]',      value: firstName },\n                { sel: 'input[name=\"last_name\"]',       value: lastName },\n                { sel: 'input[name=\"company\"]',         value: company },\n                { sel: 'input[name=\"phone_number\"]',    value: phoneLocal },\n                { sel: 'input[name=\"email\"]',           value: email },\n                { sel: 'input[name=\"verify_email\"]',    value: emailVerify },\n                { sel: 'input[name=\"password\"]',        value: pass },\n                { sel: 'input[name=\"password_verify\"]', value: passVerify }\n            ];\n            requiredMap.forEach((f) => {\n                if (!f.value) {\n                    markFieldErrorBySelector(f.sel);\n                    hasError = true;\n                }\n            });\n            if (hasError) errors.push(t(\"requiredMissing\"));\n            if (email && !\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$\/.test(email)) {\n                markFieldErrorBySelector('input[name=\"email\"]');\n                hasError = true;\n                errors.push(t(\"invalidEmail\"));\n            }\n            if (emailVerify && email !== emailVerify) {\n                markFieldErrorBySelector('input[name=\"verify_email\"]');\n                hasError = true;\n                errors.push(t(\"emailMismatch\"));\n            }\n            let digits = phoneLocal.replace(\/\\D+\/g, \"\");\n            if (digits.startsWith(\"0\")) digits = digits.slice(1);\n            const phoneBackend = phoneDial + digits;\n            if (!\/^\\+[1-9]\\d{7,14}$\/.test(phoneBackend)) {\n                markFieldErrorBySelector('input[name=\"phone_number\"]');\n                hasError = true;\n                errors.push(t(\"invalidPhone\"));\n            }\n            if (pass.length < 8) {\n                markFieldErrorBySelector('input[name=\"password\"]');\n                hasError = true;\n                errors.push(t(\"weakPassword\"));\n            }\n            if (pass !== passVerify) {\n                markFieldErrorBySelector('input[name=\"password_verify\"]');\n                hasError = true;\n                errors.push(t(\"passwordMismatch\"));\n            }\n            if (!consentChecked) {\n                consentEls.forEach(markFieldError);\n                hasError = true;\n                errors.push(t(\"consentRequired\"));\n            }\n            if (hasError) {\n                showBottomError(btn, Array.from(new Set(errors)).join(\" \u2022 \"));\n                return;\n            }\n            \/\/ Country: from select first, then dial-code mapping, then BE as fallback\n            const countryCode =\n                countrySel ||\n                DIALCODE_COUNTRY[phoneDial] ||\n                \"BE\";\n            const registerPayload = {\n                FirstName: firstName,\n                LastName: lastName,\n                Company: company,\n                Industry: \"\",                            \/\/ asked in the in-app onboarding now\n                Phone: phoneBackend,\n                Email: email,\n                Country: countryCode,\n                Drone: ownDroneChecked ? \"Yes\" : \"No\",   \/\/ license backend gets drone ownership info\n                Scans: \"12\",                             \/\/ default; real answer comes from onboarding - confirm with backend team\n                Language: SITE_LANGUAGE_LABEL,\n                Consent: consentChecked,\n                Password: pass,\n                SKU: \"COLLECT_TRIAL_VARIABLE\"\n            };\n            btn.disabled = true;\n            \/* ============================================================\n               STEP 1 - EMAIL VERIFICATION\n               Nothing is created yet: no trial account, no CRM lead.\n               Only after the 6-digit code is confirmed do we register the\n               user and push the lead to Zoho.\n            ============================================================ *\/\n            const leadData = {\n                firstName: firstName,\n                lastName: lastName,\n                company: company,\n                email: email,\n                phone: phoneBackend,\n                countryName: COUNTRY_NAME[countryCode] || countryCode,\n                language: SITE_LANGUAGE_LABEL,\n                drone: ownDroneChecked ? \"Yes\" : \"No\"\n            };\n            \/* STEP 2 - runs once the code is verified *\/\n            function completeRegistration(onFail) {\n                sendLeadToZoho(leadData);\n                fetch(\"https:\/\/collect-license.airobot.eu\/register\", {\n                    method: \"POST\",\n                    headers: { \"Content-Type\": \"application\/json\" },\n                    body: JSON.stringify(registerPayload)\n                })\n                    .then(function (res) {\n                        if (res.status === 200) {\n                            redirectAfterSuccess(email, pass, countryCode);\n                            return;\n                        }\n                        return res.text().then(function (txt) {\n                            handleRegisterError(txt, registerPayload);\n                            if (onFail) onFail();\n                        });\n                    })\n                    .catch(function () {\n                        showBottomError(btn, t(\"networkError\"));\n                        if (onFail) onFail();\n                    });\n            }\n            requestCode(email, function (errMsg) {\n                btn.disabled = false;\n                if (errMsg) {\n                    showBottomError(btn, errMsg);\n                    return;\n                }\n                showOtpScreen(email, completeRegistration);\n            });\n            \/* ========================================================\n               ERROR HANDLING\n            ============================================================ *\/\n            function handleRegisterError(text, payload) {\n                if (typeof text === \"string\") {\n                    if (text.indexOf(\"User already exists\") !== -1) {\n                        redirectToAccountExists();\n                        return;\n                    }\n                    if (text.indexOf(\"Company already exists\") !== -1 && !didCompanyRetry) {\n                        didCompanyRetry = true;\n                        const companyInput = form.querySelector('input[name=\"company\"]');\n                        const baseCompany =\n                            (companyInput && companyInput.value && companyInput.value.trim()) ||\n                            payload.Company ||\n                            \"\";\n                        const rand = Math.floor(Math.random() * 1000);\n                        const suffix = (\"000\" + rand).slice(-3);\n                        const newCompany = baseCompany + \" - \" + suffix;\n                        if (companyInput) {\n                            companyInput.value = newCompany;\n                        }\n                        payload.Company = newCompany;\n                        fetch(\"https:\/\/collect-license.airobot.eu\/register\", {\n                            method: \"POST\",\n                            headers: { \"Content-Type\": \"application\/json\" },\n                            body: JSON.stringify(payload)\n                        })\n                            .then(function (res2) {\n                                if (res2.status === 200) {\n                                    showSignupSuccess(email);\n                                    return;\n                                }\n                                return res2.text().then(function (txt2) {\n                                    if (typeof txt2 === \"string\" && txt2.indexOf(\"User already exists\") !== -1) {\n                                        redirectToAccountExists();\n                                        return;\n                                    }\n                                    console.error(\"Register failed after company retry:\", txt2);\n                                    showBottomError(btn, t(\"registrationFailed\", txt2));\n                                    btn.disabled = false;\n                                });\n                            })\n                            .catch(function () {\n                                showBottomError(btn, t(\"networkError\"));\n                                btn.disabled = false;\n                            });\n                        return;\n                    }\n                }\n                console.error(\"Register failed:\", text);\n                showBottomError(btn, t(\"registrationFailed\", text || \"\"));\n                btn.disabled = false;\n            }\n            \/* Verification already happened on-page, so we can log the\n               user straight into the product as before. *\/\n            function redirectAfterSuccess(email, pass, countryCode) {\n                const url =\n                    \"https:\/\/collect.airobot.eu\/login\" +\n                    \"?username=\" + encodeURIComponent(email) +\n                    \"&password=\" + encodeURIComponent(pass) +\n                    \"&lang=\" + encodeURIComponent(SITE_LANGUAGE_LABEL);\n                window.location.href = url;\n            }\n            function redirectToAccountExists() {\n                const path = (LANG === \"en\")\n                    ? \"\/account-exists\"\n                    : \"\/\" + LANG + \"\/account-exists\";\n                window.location.href = window.location.origin + path;\n            }\n        });\n        if (btn) {\n            btn.addEventListener(\"click\", function (e) {\n                e.preventDefault();\n                form.dispatchEvent(new Event(\"submit\", { bubbles: true, cancelable: true }));\n            });\n        }\n        \/* ============================================================\n           EMAIL VERIFICATION UI + API (WordPress plugin, same domain)\n        ============================================================ *\/\n        let otpFormBackup = null;\n        let otpResendTimer = null;\n        function otpText(key) {\n            const tr = FORM_TEXT[LANG] || FORM_TEXT.en;\n            return tr[key] || FORM_TEXT.en[key] || \"\";\n        }\n        \/* POST \/send-code *\/\n        function requestCode(email, cb) {\n            const hpEl = document.getElementById(\"hp_trap\");\n            fetch(OTP_API + \"\/send-code\", {\n                method: \"POST\",\n                headers: { \"Content-Type\": \"application\/json\" },\n                body: JSON.stringify({\n                    email: email,\n                    lang: LANG,\n                    company_website: hpEl ? hpEl.value : \"\"\n                })\n            })\n                .then(function (res) {\n                    return res.json().then(function (data) {\n                        if (res.ok && data && data.ok) { cb(null); return; }\n                        const err = (data && data.error) || \"send_failed\";\n                        if (err === \"cooldown\") {\n                            cb(otpText(\"otpResendWait\").replace(\"{s}\", (data && data.retry_after) || 60));\n                        } else if (err === \"rate_limited\") {\n                            cb(otpText(\"otpRate\"));\n                        } else if (err === \"invalid_email\") {\n                            cb(t(\"invalidEmail\"));\n                        } else {\n                            cb(otpText(\"otpSendFail\"));\n                        }\n                    });\n                })\n                .catch(function () { cb(t(\"networkError\")); });\n        }\n        \/* Replace the form with the code-entry panel (same page, no redirect) *\/\n        function showOtpScreen(email, onVerified) {\n            if (otpFormBackup === null) otpFormBackup = form.innerHTML;\n            form.innerHTML =\n                '<div class=\"otp-panel\">' +\n                    \"<h2>\" + otpText(\"otpTitle\") + \"<\/h2>\" +\n                    \"<p>\" + otpText(\"otpBody\").replace(\"{email}\", email) + \"<\/p>\" +\n                    '<input type=\"text\" id=\"otp_input\" class=\"otp-input\" inputmode=\"numeric\" ' +\n                        'autocomplete=\"one-time-code\" maxlength=\"6\" placeholder=\"' + otpText(\"otpPlaceholder\") + '\">' +\n                    '<div id=\"otp_error\" class=\"otp-error\"><\/div>' +\n                    '<button type=\"button\" id=\"otp_verify\" class=\"form-button otp-button\">' + otpText(\"otpVerify\") + \"<\/button>\" +\n                    '<div class=\"otp-links\">' +\n                        '<a href=\"#\" id=\"otp_resend\">' + otpText(\"otpResend\") + \"<\/a>\" +\n                        '<a href=\"#\" id=\"otp_edit\">' + otpText(\"otpEdit\") + \"<\/a>\" +\n                    \"<\/div>\" +\n                \"<\/div>\";\n            const input = document.getElementById(\"otp_input\");\n            const errBox = document.getElementById(\"otp_error\");\n            const vBtn = document.getElementById(\"otp_verify\");\n            const resend = document.getElementById(\"otp_resend\");\n            const edit = document.getElementById(\"otp_edit\");\n            if (input) { input.focus(); }\n            function setErr(msg) { if (errBox) errBox.textContent = msg || \"\"; }\n            function digitsOnly() {\n                input.value = (input.value || \"\").replace(\/\\D+\/g, \"\").slice(0, 6);\n            }\n            input.addEventListener(\"input\", function () {\n                digitsOnly();\n                setErr(\"\");\n                if (input.value.length === 6) { doVerify(); }\n            });\n            input.addEventListener(\"keydown\", function (e) {\n                if (e.key === \"Enter\") { e.preventDefault(); doVerify(); }\n            });\n            vBtn.addEventListener(\"click\", doVerify);\n            function doVerify() {\n                const code = (input.value || \"\").replace(\/\\D+\/g, \"\");\n                if (code.length !== 6) { setErr(otpText(\"otpPlaceholder\")); return; }\n                vBtn.disabled = true;\n                setErr(\"\");\n                fetch(OTP_API + \"\/verify-code\", {\n                    method: \"POST\",\n                    headers: { \"Content-Type\": \"application\/json\" },\n                    body: JSON.stringify({ email: email, code: code })\n                })\n                    .then(function (res) {\n                        return res.json().then(function (data) {\n                            if (res.ok && data && data.ok) {\n                                vBtn.textContent = \"...\";\n                                onVerified(function () { vBtn.disabled = false; vBtn.textContent = otpText(\"otpVerify\"); });\n                                return;\n                            }\n                            vBtn.disabled = false;\n                            const err = (data && data.error) || \"wrong_code\";\n                            if (err === \"wrong_code\") {\n                                setErr(otpText(\"otpWrong\").replace(\"{n}\", (data && data.attempts_left) || 0));\n                            } else if (err === \"expired\") {\n                                setErr(otpText(\"otpExpired\"));\n                            } else if (err === \"too_many_attempts\") {\n                                setErr(otpText(\"otpTooMany\"));\n                            } else {\n                                setErr(otpText(\"otpWrong\").replace(\"{n}\", \"-\"));\n                            }\n                        });\n                    })\n                    .catch(function () { vBtn.disabled = false; setErr(t(\"networkError\")); });\n            }\n            resend.addEventListener(\"click\", function (e) {\n                e.preventDefault();\n                if (resend.dataset.wait === \"1\") return;\n                setErr(\"\");\n                requestCode(email, function (errMsg) {\n                    if (errMsg) { setErr(errMsg); return; }\n                    setErr(otpText(\"otpSent\"));\n                    startResendCooldown(resend, 60);\n                });\n            });\n            edit.addEventListener(\"click\", function (e) {\n                e.preventDefault();\n                if (otpResendTimer) { clearInterval(otpResendTimer); otpResendTimer = null; }\n                form.innerHTML = otpFormBackup;\n                otpFormBackup = null;\n                initRegForm();\n            });\n            startResendCooldown(resend, 60);\n        }\n        function startResendCooldown(link, seconds) {\n            let left = seconds;\n            const label = otpText(\"otpResend\");\n            link.dataset.wait = \"1\";\n            link.style.opacity = \"0.5\";\n            link.textContent = otpText(\"otpResendWait\").replace(\"{s}\", left);\n            if (otpResendTimer) clearInterval(otpResendTimer);\n            otpResendTimer = setInterval(function () {\n                left -= 1;\n                if (left <= 0) {\n                    clearInterval(otpResendTimer);\n                    otpResendTimer = null;\n                    link.dataset.wait = \"0\";\n                    link.style.opacity = \"1\";\n                    link.textContent = label;\n                    return;\n                }\n                link.textContent = otpText(\"otpResendWait\").replace(\"{s}\", left);\n            }, 1000);\n        }\n        \/* ============================================================\n           SEND LEAD DIRECTLY TO ZOHO CRM (web-to-lead endpoint)\n        ============================================================ *\/\n        function sendLeadToZoho(d) {\n            try {\n                if (!ZOHO.xnQsjsdp || ZOHO.xnQsjsdp.indexOf(\"PASTE_\") === 0) {\n                    console.warn(\"Zoho web-to-lead not configured - lead NOT sent to CRM\");\n                    return;\n                }\n                const fd = new FormData();\n                \/\/ Zoho technical fields\n                fd.set(\"xnQsjsdp\",  ZOHO.xnQsjsdp);\n                fd.set(\"xmIwtLD\",   ZOHO.xmIwtLD);\n                fd.set(\"actionType\", ZOHO.actionType);\n                fd.set(\"returnURL\",  ZOHO.returnURL);\n                \/\/ Google Ads click id (Zoho picks this up natively)\n                const zcGad = document.getElementById(\"zc_gad\");\n                fd.set(\"zc_gad\", (zcGad && zcGad.value) || getCookie(\"gclid\") || \"\");\n                \/\/ Standard lead fields (names = Zoho field labels)\n                fd.set(\"First Name\",  d.firstName);\n                fd.set(\"Last Name\",   d.lastName);\n                fd.set(\"Company\",     d.company || d.firstName + \" \" + d.lastName);\n                fd.set(\"Email\",       d.email);\n                fd.set(\"Phone\",       d.phone);\n                fd.set(\"Country\",     d.countryName);\n                \/\/ Web-to-lead expects the picklist's DISPLAY label; in this CRM\n                \/\/ the \"Web Form\" value was renamed to \"contact form website\".\n                fd.set(\"Lead Source\", \"contact form website\");\n                \/\/ Custom fields (names come from the generated webform HTML)\n                setCf(\"language\",    d.language);\n                setCf(\"drone\",       d.drone);\n                setCf(\"utmSource\",   UTM.utm_source);\n                setCf(\"utmMedium\",   UTM.utm_medium);\n                setCf(\"utmCampaign\", UTM.utm_campaign);\n                setCf(\"utmContent\",  UTM.utm_content);\n                \/\/ Forward any hidden tracking fields Zoho's analytics script\n                \/\/ injected into the form (submission correlation for the\n                \/\/ webform analytics dashboard).\n                form.querySelectorAll('input[type=\"hidden\"]').forEach(function (inp) {\n                    if (inp.name && inp.name !== \"zc_gad\" && !fd.has(inp.name)) {\n                        fd.set(inp.name, inp.value);\n                    }\n                });\n                function setCf(key, value) {\n                    const name = ZOHO.cf[key];\n                    if (name && name.indexOf(\"PASTE_\") !== 0 && value !== undefined && value !== null && value !== \"\") {\n                        fd.set(name, value);\n                    }\n                }\n                \/\/ Fire and forget; keepalive so the request survives the redirect\n                fetch(ZOHO.actionUrl, {\n                    method: \"POST\",\n                    body: fd,\n                    mode: \"no-cors\",\n                    keepalive: true\n                }).catch(function () {});\n            } catch (err) {\n                console.warn(\"Zoho web-to-lead error:\", err);\n            }\n        }\n        \/* ============================================================\n           HELPERS\n        ============================================================ *\/\n        function getTrim(name) {\n            const el = form.querySelector('input[name=\"' + name + '\"]');\n            return el ? el.value.trim() : \"\";\n        }\n        function getValue(name) {\n            const el = form.querySelector('input[name=\"' + name + '\"]');\n            return el ? el.value : \"\";\n        }\n        function getCountry() {\n            const sel = form.querySelector(\"#country_select\");\n            return sel ? sel.value.trim() : \"\";\n        }\n        function getPhoneDialCode() {\n            const codeSpan = form.querySelector(\".phone-prefix .code\");\n            return codeSpan ? codeSpan.textContent.trim() : \"+32\";\n        }\n        \/* Keep the phone dial code in sync with the selected country,\n           so every submitted number carries the right country code.\n           The user can still manually pick another prefix afterwards. *\/\n        function setPhonePrefix(countryVal) {\n            const dial = COUNTRY_DIAL[countryVal];\n            if (!dial) return;\n            const selected = form.querySelector(\".phone-prefix .dropdown-selected\");\n            if (!selected) return;\n            const flagSpan = selected.querySelector(\".flag\");\n            const codeSpan = selected.querySelector(\".code\");\n            if (flagSpan) flagSpan.textContent = dial.flag;\n            if (codeSpan) codeSpan.textContent = dial.code;\n        }\n        \/* Self-contained open\/close\/select for the phone prefix dropdown\n           (no dependency on any external dropdown script on the page). *\/\n        function wirePhonePrefixDropdown() {\n            const prefix = form.querySelector(\".phone-prefix\");\n            if (!prefix) return;\n            const selected = prefix.querySelector(\".dropdown-selected\");\n            const options = prefix.querySelector(\".dropdown-options\");\n            if (!selected || !options) return;\n            selected.addEventListener(\"click\", function (e) {\n                e.stopPropagation();\n                prefix.classList.toggle(\"active\");\n            });\n            options.querySelectorAll(\"li\").forEach(function (li) {\n                li.addEventListener(\"click\", function (e) {\n                    e.stopPropagation();\n                    const flag = li.getAttribute(\"data-flag\") || \"\";\n                    const code = li.getAttribute(\"data-value\") || \"\";\n                    const flagSpan = selected.querySelector(\".flag\");\n                    const codeSpan = selected.querySelector(\".code\");\n                    if (flagSpan) flagSpan.textContent = flag;\n                    if (codeSpan) codeSpan.textContent = code;\n                    prefix.classList.remove(\"active\");\n                });\n            });\n            document.addEventListener(\"click\", function () {\n                prefix.classList.remove(\"active\");\n            });\n        }\n        function wireCountryPrefixSync() {\n            const countrySelect = form.querySelector(\"#country_select\");\n            if (!countrySelect) return;\n            \/\/ align prefix with the language-based default country on load\n            setPhonePrefix(countrySelect.value);\n            countrySelect.addEventListener(\"change\", function () {\n                setPhonePrefix(countrySelect.value);\n            });\n        }\n        function clearErrors() {\n            form.querySelectorAll(\".airoc-has-error\").forEach(function (el) {\n                el.classList.remove(\"airoc-has-error\");\n            });\n            const old = document.getElementById(\"airoc-bottom-error\");\n            if (old) old.remove();\n        }\n        function markFieldErrorBySelector(sel) {\n            const el = form.querySelector(sel);\n            if (el) markFieldError(el);\n        }\n        function markFieldError(el) {\n            const wrapper =\n                el.closest(\".input-wrap, .phone-wrap, .custom-dropdown, label.custom-check\") ||\n                el;\n            wrapper.classList.add(\"airoc-has-error\");\n        }\n        function showBottomError(btn, msg) {\n            const old = document.getElementById(\"airoc-bottom-error\");\n            if (old) old.remove();\n            const div = document.createElement(\"div\");\n            div.id = \"airoc-bottom-error\";\n            div.textContent = msg;\n            div.style.color = \"red\";\n            div.style.marginTop = \"14px\";\n            div.style.fontSize = \"14px\";\n            const container = btn.closest(\".form-buttom-info\");\n            if (container && container.parentNode) {\n                container.parentNode.insertBefore(div, container.nextSibling);\n            } else {\n                form.appendChild(div);\n            }\n        }\n        function ensureErrorStyles() {\n            if (document.getElementById(\"airoc-inline-error-styles\")) return;\n            const style = document.createElement(\"style\");\n            style.id = \"airoc-inline-error-styles\";\n            style.textContent = [\n                \"#regForm .airoc-has-error input,\",\n                \"#regForm .airoc-has-error select {\",\n                \"  border-color: #e63946 !important;\",\n                \"  box-shadow: 0 0 0 1px #e63946 inset !important;\",\n                \"}\",\n                \"#regForm .airoc-has-error .dropdown-selected {\",\n                \"  border-color: #e63946 !important;\",\n                \"  box-shadow: 0 0 0 1px #e63946 inset !important;\",\n                \"}\",\n                \"#regForm .airoc-has-error label {\",\n                \"  color: #e63946 !important;\",\n                \"}\"\n            ].join(\"\\n\");\n            document.head.appendChild(style);\n        }\n        function getCookie(name) {\n            try {\n                const parts = document.cookie.split(\";\").map(function (c) { return c.trim(); });\n                for (var i = 0; i < parts.length; i++) {\n                    if (parts[i].indexOf(name + \"=\") === 0) {\n                        var v = parts[i].substring(name.length + 1);\n                        try {\n                            return decodeURIComponent(v);\n                        } catch (e) {\n                            return v;\n                        }\n                    }\n                }\n            } catch (e) {}\n            return null;\n        }\n        \/* Persist tracking params from the URL (?utm_...=&gclid=...) into\n           90-day cookies so they survive navigation between pages and are\n           still available when the visitor finally signs up. Last-touch:\n           a newer campaign click overwrites the stored value. *\/\n        function captureTrackingParams() {\n            try {\n                var qs = new URLSearchParams(location.search || \"\");\n                var keys = [\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\",\"gclid\",\"fbclid\"];\n                for (var i = 0; i < keys.length; i++) {\n                    var v = qs.get(keys[i]);\n                    if (v && v.trim()) {\n                        document.cookie = keys[i] + \"=\" + encodeURIComponent(v.trim()) +\n                            \";path=\/;max-age=\" + 60 * 60 * 24 * 90 + \";SameSite=Lax\";\n                    }\n                }\n            } catch (e) {}\n        }\n        function getUtmFromCookies() {\n            var keys = [\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\"];\n            var out = {};\n            keys.forEach(function (k) {\n                var v = getCookie(k);\n                if (v && v.trim()) {\n                    out[k] = v.trim();\n                } else {\n                    out[k] = \"unknown\";\n                }\n            });\n            return out;\n        }\n        \/* ============================================================\n           PASSWORD TOGGLE ONLY\n        ============================================================ *\/\n        function wirePasswordToggles() {\n            form.querySelectorAll(\".pass-wrapper\").forEach(function (wrap) {\n                const input = wrap.querySelector(\".pass-field\");\n                const img   = wrap.querySelector(\".pass-toggle\");\n                if (!input || !img) return;\n                img.addEventListener(\"click\", function () {\n                    const showing = input.type === \"text\";\n                    input.type = showing ? \"password\" : \"text\";\n                    const src = showing ? img.getAttribute(\"data-hide\") : img.getAttribute(\"data-show\");\n                    if (src) img.src = src;\n                });\n            });\n        }\n        \/* ============================================================\n           APPLY FORM TEXT TRANSLATIONS\n        ============================================================ *\/\n        function applyFormTranslations() {\n            const tr = FORM_TEXT[LANG] || FORM_TEXT.en;\n            \/\/ Titles\n            const profileTitle = form.querySelector(\"#profile-title\");\n            if (profileTitle) profileTitle.textContent = tr.profileTitle;\n            const loginTitle = form.querySelector(\"#login-form-title\");\n            if (loginTitle) loginTitle.textContent = tr.loginTitle;\n            \/\/ Floating labels\n            const labelMap = [\n                { sel: 'input[name=\"first_name\"]',      key: \"firstNameLabel\" },\n                { sel: 'input[name=\"last_name\"]',       key: \"lastNameLabel\" },\n                { sel: 'input[name=\"company\"]',         key: \"companyLabel\" },\n                { sel: 'input[name=\"email\"]',           key: \"emailLabel\" },\n                { sel: 'input[name=\"verify_email\"]',    key: \"verifyEmailLabel\" },\n                { sel: 'input[name=\"password\"]',        key: \"passwordLabel\" },\n                { sel: 'input[name=\"password_verify\"]', key: \"verifyPasswordLabel\" }\n            ];\n            labelMap.forEach(function (item) {\n                const input = form.querySelector(item.sel);\n                if (!input) return;\n                const wrap = input.closest(\".input-wrap\");\n                if (!wrap) return;\n                const label = wrap.querySelector(\"label\");\n                if (!label) return;\n                label.textContent = tr[item.key] || label.textContent;\n            });\n            \/\/ Phone placeholder\n            const phoneInput = form.querySelector('input[name=\"phone_number\"]');\n            if (phoneInput && tr.phonePlaceholder) {\n                phoneInput.placeholder = tr.phonePlaceholder;\n            }\n            \/\/ (Industry + projects translation blocks removed - questions moved to in-app onboarding)\n            \/\/ Own-drone checkbox text\n            const ownDroneSpan = form.querySelector(\".consent-text-own-drone\");\n            if (ownDroneSpan && tr.ownDroneText) {\n                ownDroneSpan.textContent = tr.ownDroneText;\n            }\n            \/\/ Legal consent text with HTML links\n            const legalConsentSpan = form.querySelector(\".consent-text-legal\");\n            if (legalConsentSpan && tr.legalConsentHtml) {\n                legalConsentSpan.innerHTML = tr.legalConsentHtml;\n            }\n            \/\/ Country select translations + default per language\n            const countrySelect = form.querySelector(\"#country_select\");\n            if (countrySelect && tr.countries) {\n                Array.from(countrySelect.options).forEach(function (opt) {\n                    const val = opt.value;\n                    const txt = tr.countries[val];\n                    if (txt) opt.textContent = txt;\n                });\n                \/\/ Default selection per language:\n                \/\/ EN -> UK, NL -> BE, FR -> FR, DE -> DE\n                if (LANG === \"nl\") {\n                    countrySelect.value = \"BE\";\n                } else if (LANG === \"fr\") {\n                    countrySelect.value = \"FR\";\n                } else if (LANG === \"de\") {\n                    countrySelect.value = \"DE\";\n                } else {\n                    countrySelect.value = \"UK\";\n                }\n                \/\/ note: wireCountryPrefixSync() (called after this) aligns\n                \/\/ the phone dial code with this default country\n            }\n            \/\/ Button\n            if (btn && tr.submitButton) {\n                btn.textContent = tr.submitButton;\n            }\n        }\n    }\n    if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initRegForm);\n} else {\n    initRegForm();\n}\n})();\n<\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ed1b789 e-con-full e-flex e-con e-child\" data-id=\"ed1b789\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-5d8004f e-con-full e-flex e-con e-child\" data-id=\"5d8004f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c64988e infinite-fly elementor-widget elementor-widget-image\" data-id=\"c64988e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"12\" height=\"12\" src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/Star-1.svg\" class=\"attachment-large size-large wp-image-3276\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-103c511 elementor-widget elementor-widget-heading\" data-id=\"103c511\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Kostenlose Testphase<\/p>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-356575c infinite-fly elementor-widget elementor-widget-image\" data-id=\"356575c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"12\" height=\"12\" src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/Star-1.svg\" class=\"attachment-large size-large wp-image-3276\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a9ad131 elementor-widget elementor-widget-heading\" data-id=\"a9ad131\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Starten Sie noch heute Ihre kostenlose Testphase! <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6f84cf elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"e6f84cf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Starten Sie noch heute mit der vollst\u00e4ndigen L\u00f6sung. Keine Downloads, keine Zahlungen und keine Kreditkarten erforderlich. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dfd3144 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"dfd3144\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"36\" height=\"36\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M24.8848 15L24.4434 15.4424L16.4434 23.4424L16.001 23.8838L15.5586 23.4424L11.5586 19.4424L11.1172 19L12.001 18.1162L12.4434 18.5576L14.5868 20.701C15.3678 21.4821 16.6341 21.4821 17.4152 20.701L23.5586 14.5576L24.001 14.1162L24.8848 15Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_192_9690_clip_path\" transform=\"translate(24 24)\"><rect width=\"36\" height=\"36\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">30 Tage Zugang zu allen Funktionen<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"36\" height=\"36\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M24.8848 15L24.4434 15.4424L16.4434 23.4424L16.001 23.8838L15.5586 23.4424L11.5586 19.4424L11.1172 19L12.001 18.1162L12.4434 18.5576L14.5868 20.701C15.3678 21.4821 16.6341 21.4821 17.4152 20.701L23.5586 14.5576L24.001 14.1162L24.8848 15Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_192_9690_clip_path\" transform=\"translate(24 24)\"><rect width=\"36\" height=\"36\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Bis zu 4 Standortscans<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"36\" height=\"36\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M24.8848 15L24.4434 15.4424L16.4434 23.4424L16.001 23.8838L15.5586 23.4424L11.5586 19.4424L11.1172 19L12.001 18.1162L12.4434 18.5576L14.5868 20.701C15.3678 21.4821 16.6341 21.4821 17.4152 20.701L23.5586 14.5576L24.001 14.1162L24.8848 15Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_192_9690_clip_path\" transform=\"translate(24 24)\"><rect width=\"36\" height=\"36\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Erhalten Sie pr\u00e4zise 3D-Messungen.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"36\" height=\"36\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M24.8848 15L24.4434 15.4424L16.4434 23.4424L16.001 23.8838L15.5586 23.4424L11.5586 19.4424L11.1172 19L12.001 18.1162L12.4434 18.5576L14.5868 20.701C15.3678 21.4821 16.6341 21.4821 17.4152 20.701L23.5586 14.5576L24.001 14.1162L24.8848 15Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_192_9690_clip_path\" transform=\"translate(24 24)\"><rect width=\"36\" height=\"36\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Erstellen Sie Berichte, die ideal f\u00fcr die Arbeitsvorbereitung und Angebote sind<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cf53b25 e-con-full e-flex e-con e-child\" data-id=\"cf53b25\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f9bfcb9 elementor-widget elementor-widget-image\" data-id=\"f9bfcb9\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"74\" height=\"42\" src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/Mask-group.svg\" class=\"attachment-large size-large wp-image-3305\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e02b5a5 elementor-widget elementor-widget-image\" data-id=\"e02b5a5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"109\" height=\"44\" src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/Mask-group-4.svg\" class=\"attachment-large size-large wp-image-3308\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fd8a73b elementor-widget elementor-widget-image\" data-id=\"fd8a73b\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"123\" height=\"46\" src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/Mask-group-3.svg\" class=\"attachment-large size-large wp-image-3307\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-48aab46 e-con-full e-flex e-con e-child\" data-id=\"48aab46\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-fb512c9 e-con-full e-flex e-con e-child\" data-id=\"fb512c9\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-75509b8 home-counter elementor-widget elementor-widget-counter\" data-id=\"75509b8\" data-element_type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Teams already onboarded<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"300\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\">+<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-df7216a e-con-full e-flex e-con e-child\" data-id=\"df7216a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ee16a48 home-counter elementor-widget elementor-widget-counter\" data-id=\"ee16a48\" data-element_type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Sites scanned<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"15000\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\">+<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-52490cc e-con-full e-flex e-con e-child\" data-id=\"52490cc\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-93f8505 home-counter elementor-widget elementor-widget-counter\" data-id=\"93f8505\" data-element_type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Average Google rating<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"4.8\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\">\u2605<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8a00ea8 e-con-full e-flex e-con e-child\" data-id=\"8a00ea8\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-14cdfa8 e-con-full e-flex e-con e-child\" data-id=\"14cdfa8\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-04a8273 e-con-full e-flex e-con e-child\" data-id=\"04a8273\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5deadc9 infinite-fly elementor-widget elementor-widget-image\" data-id=\"5deadc9\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"12\" height=\"12\" src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/Star-1.svg\" class=\"attachment-large size-large wp-image-3276\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-80c3bbb elementor-widget elementor-widget-heading\" data-id=\"80c3bbb\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">FaQ<\/p>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1083c7 infinite-fly elementor-widget elementor-widget-image\" data-id=\"e1083c7\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"12\" height=\"12\" src=\"https:\/\/airocollect.com\/wp-content\/uploads\/2025\/11\/Star-1.svg\" class=\"attachment-large size-large wp-image-3276\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51132c6 elementor-widget elementor-widget-heading\" data-id=\"51132c6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Have Questions?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3dba031 e-con-full e-flex e-con e-child\" data-id=\"3dba031\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-d9bf416 e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"d9bf416\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cb679a5 e-con-full e-flex e-con e-child\" data-id=\"cb679a5\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-e10e09e e-con-full e-flex e-con e-child\" data-id=\"e10e09e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-98b41b6 e-con-full e-flex e-con e-child\" data-id=\"98b41b6\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f832f50 elementor-widget elementor-widget-n-accordion\" data-id=\"f832f50\" data-element_type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;expanded&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2600\" class=\"e-n-accordion-item\" open>\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"e-n-accordion-item-2600\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Can I try AiroCollect for free? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M22.1966 18.6492C21.4546 19.3911 21.4546 20.5947 22.1966 21.3367L25.4525 24.5926L24.6045 25.4406L21.3487 22.1847C20.6067 21.4427 19.4031 21.4427 18.6611 22.1847L15.4052 25.4406L14.5573 24.5926L17.8131 21.3367C18.5551 20.5947 18.5551 19.3911 17.8131 18.6492L14.5642 15.4002L15.4121 14.5522L18.6611 17.8012C19.4031 18.5432 20.6067 18.5432 21.3487 17.8012L24.5976 14.5522L25.4456 15.4002L22.1966 18.6492Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_439_4044_clip_path\" transform=\"translate(24 24)\"><rect width=\"40\" height=\"40\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M20.5996 17.4951C20.5996 18.5445 21.4507 19.3955 22.5 19.3955H27.1045V20.5947H22.5C21.4507 20.5947 20.5996 21.4458 20.5996 22.4951V27.0996H19.4004V22.4951C19.4004 21.4458 18.5493 20.5947 17.5 20.5947H12.9053V19.3955H17.5C18.5493 19.3955 19.4004 18.5445 19.4004 17.4951V12.9004H20.5996V17.4951Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_439_2449_clip_path\" transform=\"translate(24 24)\"><rect width=\"40\" height=\"40\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2600\" class=\"elementor-element elementor-element-1143c0e e-con-full e-flex e-con e-child\" data-id=\"1143c0e\" data-element_type=\"container\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2600\" class=\"elementor-element elementor-element-0539abd e-flex e-con-boxed e-con e-child\" data-id=\"0539abd\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f8bd61d elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"f8bd61d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Yes! First-time clients receive 30 days of free access. To get started, no payment or credit card is required. You can cancel at any time during the first month without any charges.<\/p><p>Why do we work this way?<\/p><p>Because it\u2019s not just the product, but also how we handle the setup and administration that creates value and keeps things simple.<\/p><p>We\u2019ve seen the results our product delivers for existing clients, and we\u2019re confident that if we continue to provide value, you\u2019ll want to stay with us. That\u2019s why we give you plenty of time to experience the benefits and the freedom to choose what works best for you.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2601\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2601\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Can I use my own drone? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M22.1966 18.6492C21.4546 19.3911 21.4546 20.5947 22.1966 21.3367L25.4525 24.5926L24.6045 25.4406L21.3487 22.1847C20.6067 21.4427 19.4031 21.4427 18.6611 22.1847L15.4052 25.4406L14.5573 24.5926L17.8131 21.3367C18.5551 20.5947 18.5551 19.3911 17.8131 18.6492L14.5642 15.4002L15.4121 14.5522L18.6611 17.8012C19.4031 18.5432 20.6067 18.5432 21.3487 17.8012L24.5976 14.5522L25.4456 15.4002L22.1966 18.6492Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_439_4044_clip_path\" transform=\"translate(24 24)\"><rect width=\"40\" height=\"40\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M20.5996 17.4951C20.5996 18.5445 21.4507 19.3955 22.5 19.3955H27.1045V20.5947H22.5C21.4507 20.5947 20.5996 21.4458 20.5996 22.4951V27.0996H19.4004V22.4951C19.4004 21.4458 18.5493 20.5947 17.5 20.5947H12.9053V19.3955H17.5C18.5493 19.3955 19.4004 18.5445 19.4004 17.4951V12.9004H20.5996V17.4951Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_439_2449_clip_path\" transform=\"translate(24 24)\"><rect width=\"40\" height=\"40\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2601\" class=\"elementor-element elementor-element-1effcdc e-con-full e-flex e-con e-child\" data-id=\"1effcdc\" data-element_type=\"container\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2601\" class=\"elementor-element elementor-element-6151d10 e-flex e-con-boxed e-con e-child\" data-id=\"6151d10\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-982cafc elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"982cafc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Yes, you can. AiroCollect is compatible with any drone that can capture images along with GPS data. If your drone uses RTK-GPS, AiroCollect will automatically detect and adapt to its coordinate system.<\/p><p>If you have a DJI MINI 1, MINI 2 (not SE), or MINI 3, you can download the free AiroCollect Android app from our technical specifications page to enable automatic terrain scanning. (Note: iOS is not supported due to DJI restrictions.)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2602\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2602\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> How long is my license valid? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M22.1966 18.6492C21.4546 19.3911 21.4546 20.5947 22.1966 21.3367L25.4525 24.5926L24.6045 25.4406L21.3487 22.1847C20.6067 21.4427 19.4031 21.4427 18.6611 22.1847L15.4052 25.4406L14.5573 24.5926L17.8131 21.3367C18.5551 20.5947 18.5551 19.3911 17.8131 18.6492L14.5642 15.4002L15.4121 14.5522L18.6611 17.8012C19.4031 18.5432 20.6067 18.5432 21.3487 17.8012L24.5976 14.5522L25.4456 15.4002L22.1966 18.6492Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_439_4044_clip_path\" transform=\"translate(24 24)\"><rect width=\"40\" height=\"40\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M20.5996 17.4951C20.5996 18.5445 21.4507 19.3955 22.5 19.3955H27.1045V20.5947H22.5C21.4507 20.5947 20.5996 21.4458 20.5996 22.4951V27.0996H19.4004V22.4951C19.4004 21.4458 18.5493 20.5947 17.5 20.5947H12.9053V19.3955H17.5C18.5493 19.3955 19.4004 18.5445 19.4004 17.4951V12.9004H20.5996V17.4951Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_439_2449_clip_path\" transform=\"translate(24 24)\"><rect width=\"40\" height=\"40\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2602\" class=\"elementor-element elementor-element-63f6c33 e-con-full e-flex e-con e-child\" data-id=\"63f6c33\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2602\" class=\"elementor-element elementor-element-619a473 e-flex e-con-boxed e-con e-child\" data-id=\"619a473\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bb74d17 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"bb74d17\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Your license is valid for the duration of your subscription. If you choose an annual plan, it&#8217;s valid for one year. If you choose a monthly plan, it&#8217;s valid for one month.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2603\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"4\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2603\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What if I want to fly unlimited with more than 2 drones? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M22.1966 18.6492C21.4546 19.3911 21.4546 20.5947 22.1966 21.3367L25.4525 24.5926L24.6045 25.4406L21.3487 22.1847C20.6067 21.4427 19.4031 21.4427 18.6611 22.1847L15.4052 25.4406L14.5573 24.5926L17.8131 21.3367C18.5551 20.5947 18.5551 19.3911 17.8131 18.6492L14.5642 15.4002L15.4121 14.5522L18.6611 17.8012C19.4031 18.5432 20.6067 18.5432 21.3487 17.8012L24.5976 14.5522L25.4456 15.4002L22.1966 18.6492Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_439_4044_clip_path\" transform=\"translate(24 24)\"><rect width=\"40\" height=\"40\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"><g data-figma-bg-blur-radius=\"24\"><rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#255BEA\" fill-opacity=\"0.08\"><\/rect><path d=\"M20.5996 17.4951C20.5996 18.5445 21.4507 19.3955 22.5 19.3955H27.1045V20.5947H22.5C21.4507 20.5947 20.5996 21.4458 20.5996 22.4951V27.0996H19.4004V22.4951C19.4004 21.4458 18.5493 20.5947 17.5 20.5947H12.9053V19.3955H17.5C18.5493 19.3955 19.4004 18.5445 19.4004 17.4951V12.9004H20.5996V17.4951Z\" fill=\"#255BEA\"><\/path><\/g><defs><clipPath id=\"bgblur_0_439_2449_clip_path\" transform=\"translate(24 24)\"><rect width=\"40\" height=\"40\" rx=\"8\"><\/rect><\/clipPath><\/defs><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2603\" class=\"elementor-element elementor-element-9320249 e-flex e-con-boxed e-con e-child\" data-id=\"9320249\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2603\" class=\"elementor-element elementor-element-9cdd956 e-con-full e-flex e-con e-child\" data-id=\"9cdd956\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a1fc675 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"a1fc675\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>To perform unlimited scans with more than two drones, simply purchase multiple Unlimited plans. For example, if you buy two plans, you can use up to four drones.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3fa00be e-con-full e-flex e-con e-child\" data-id=\"3fa00be\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-88d843b e-con-full e-flex e-con e-child\" data-id=\"88d843b\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-cd3328f e-con-full e-flex e-con e-child\" data-id=\"cd3328f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e847215 elementor-widget elementor-widget-heading\" data-id=\"e847215\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Don\u2019t See The Answer You Need?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-abca271 elementor-widget elementor-widget-text-editor\" data-id=\"abca271\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>If you don\u2019t see the answer to your question send us a message and we will answer you as soon as possible, within a few hours.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dfea9d3 e-con-full e-flex e-con e-child\" data-id=\"dfea9d3\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-b78fd58 e-con-full e-flex e-con e-child\" data-id=\"b78fd58\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f217013 backdrop-filter elementor-align-left elementor-widget elementor-widget-button\" data-id=\"f217013\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Contact Us<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-175d2ea e-con-full full-height e-flex e-con e-child\" data-id=\"175d2ea\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1c7951f e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"1c7951f\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e5e81e5 e-con-full e-flex e-con e-child\" data-id=\"e5e81e5\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a346ea8 elementor-mobile-align-justify elementor-widget-mobile__width-inherit elementor-widget elementor-widget-button\" data-id=\"a346ea8\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"\/start-free-trial\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"13\" viewBox=\"0 0 15 13\" fill=\"none\"><path d=\"M14.8623 6.49512L8.36719 12.9902L8.29688 12.9189L7.58984 12.2119L7.51855 12.1416L7.58984 12.0713L9.31738 10.3438C10.515 9.14618 9.66529 7.09795 7.97168 7.09961L0 7.10742V5.9082L0.0996094 5.90723L7.98535 5.89941C9.67689 5.89742 10.5224 3.85245 9.32617 2.65625L7.58984 0.918945L7.51855 0.848633L7.58984 0.77832L8.29688 0.0712891L8.36719 0L14.8623 6.49512Z\" fill=\"white\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Start Free Trial<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Kostenlose Testphase Starten Sie noch heute Ihre kostenlose Testphase! Starten Sie noch heute mit der vollst\u00e4ndigen L\u00f6sung. Keine Downloads, keine Zahlungen und keine Kreditkarten erforderlich. 30 Tage Zugang zu allen Funktionen Bis zu 4 Standortscans Erhalten Sie pr\u00e4zise 3D-Messungen. Erstellen Sie Berichte, die ideal f\u00fcr die Arbeitsvorbereitung und Angebote sind Teams already onboarded 0 + [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2226","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/airocollect.com\/de\/wp-json\/wp\/v2\/pages\/2226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/airocollect.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/airocollect.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/airocollect.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/airocollect.com\/de\/wp-json\/wp\/v2\/comments?post=2226"}],"version-history":[{"count":48,"href":"https:\/\/airocollect.com\/de\/wp-json\/wp\/v2\/pages\/2226\/revisions"}],"predecessor-version":[{"id":5024,"href":"https:\/\/airocollect.com\/de\/wp-json\/wp\/v2\/pages\/2226\/revisions\/5024"}],"wp:attachment":[{"href":"https:\/\/airocollect.com\/de\/wp-json\/wp\/v2\/media?parent=2226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}